Sunset Sunrise im Timer

Hallo,

ich bastell gearde an meinem Rollo Timer auf mysql Basis und da ist mir etwas aufgefallen.

Kann es sein das sunset und sunrise im Timer richtig berechnet werden, aber Sommer und Winterzeit ist nicht berücksichtigt. Auf Wetter DE gibt es da auch Unterschiede zu den berechneten Zeiten, oder ist das so ?

Gruß

Oliver

In der aktuellsten Version sollte eigentlich alle die Probleme mit dem Zeitumstellungen berücksichtigt werden.

Du kannst ja mal gucken, was im TimerEvent Script steht und diesen dann per

echo date(„H:i“, $timestamp) ausgeben lassen.

Die Abweichung sollte dann nur wenige Minuten betragen.

paresy

Hallo Paresy,

ich bekomme dann 22:29, wenn Du das aber mit folgender Berechnung oder mit Wetter.de vergleichst ist da rund 1 Stunde Differenz.

Wnn ich folgendes Script benutze:

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Sunrise-Sunset.ips.php
Trigger  : 
Interval : 
*/
$longitude = "51.55";   // Longitude for Location
$latitude = "6.60";     // Latitude for Location

$sunrise = date(date_sunrise(time(), SUNFUNCS_RET_STRING, $longitude, $latitude, 90, 1));
$sunset = date(date_sunset(time(), SUNFUNCS_RET_STRING, $longitude, $latitude, 90, 1));

// Write to IPS Variables
SetValueString("Time_Sunrise", $sunrise);
SetValueString("Time_Sunset", $sunset);
?>

Komme ich auf 20:36

Hm was stimmt nun ?

Gruß

Oliver

Hi Oli,
und wenn ich meine geografischen Daten auf den diversen Wetterseiten im Internet eingebe erhalte ich eine ungefähre Differenz von ca 68 Minuten.
Also irgendwie kann da was mit der Berechnung nicht stimmen. Aufgrund dessen das wir Sommerzeit haben, wäre ja schon mal u.U die 60 Minuten erklärbar, aber sonst. Ich habe mir mal händisch ein Delay von -68 Minuten in meine Timer eingebaut. Wenn ich nun „echo date(„H:i“, $timestamp)“ eingebe, sehen die Daten ganz gut aus. Ist nur doof, wenn die Sommerzeit zu ende ist. Da darf ich dann nicht vergessen die 60 Minuten wieder rauszunehmen. :smiley:

MfG

Alex

mit date(„I“) kann man die Sommer/Winterzeitanpassung machen.

siehe auch z.B. hier:

http://www.ipsymcon.de/forum/showthread.php?p=13141#post13141

im o.g. Script sind übrigens die Longitude u. Latitude vertauscht, vielleicht habe ihr deshalb auch so viel Abweichung

Gruß,

Doc

Hallo Doc,

ich möchte das ja nicht in meinem Script anpassen, da dies ja mit Wetter.de und Yahoo nahezu übereinstimmt. Es geht hier ja um den Timer. :confused:
Übrigens sind longi und lati auch im verlauf des Scriptes wieder vertauscht worden, so das es wieder passt. :smiley:

Gruß

Oliver

Hallo Olli,

ich wollte damit auch nur sagen, das du dein oben gepostetes Script nicht zum Vergleich mit Wetter.de nehmen kannst, da es weder die Sommerzeit berücksichtigt und auch LON/LAT vertauscht sind. Nicht das einige Mitglieder das so verbauen und sich dann wundern, das es nicht richtig funktioniert :stuck_out_tongue:

Funktioniert das mit deiner DS2408/Rollosteuerung den jetzt richtig oder gibt es noch die Probleme beim Starten von IPS mit den Ausgängen?

Gruß,

Doc

Also bei mir klappts per TimerWizard prima.

Hier der generierte Code:


$offset=(int)date("Z") / 3600;$timestamp=strtotime(date("Y-m-d ").date_sunset(time(), SUNFUNCS_RET_STRING, 54.00, 10.67, 90, $offset))+0;$days=Array(0,1,2,3,4,5,6);
echo date("H:i", $timestamp);

Ergibt für heute => 21:32
Laut Wetter.com => 21:41

Ich denke, dass der Fehler bei dir wo anderes liegen muss. Vielleicht sind die Gradzahlen irgendwie nicht ganz korrekt?

paresy

Hallo paresy,

hattest Du eigentlich schon den Bug behoben mit der Positionsangabe? Vielleicht ist dies die Ursache?

Gruss Torro

Hallo Doc,

jep habe jetzt einmal den Kondensator eingebaut, nur IPS bringt die Dinger durcheinander beim Start. Somit habe ich nun ein Startup Script gebaut mit dem ich diese beim IPS Start resette. Habe nun alles über MYSQL mit meinen Instanzen gelöst, somit ist es ein einfaches das zu machen.

Gruß

Oliver

Hier meine generiertes !!!

$offset=(int)date("Z") / 3600;$timestamp=strtotime(date("Y-m-d ").date_sunset(time(), SUNFUNCS_RET_STRING, 51.55, -6.60, 90, $offset))+0;$days=Array(0,1,2,3,4,5,6);
if(in_array(date("w"), $days) && ($timestamp > $lasttimer) && (time() >= $timestamp)) {
 echo "Timer [Rollo zu EG] Triggered";
 IPS_RunScriptEx("Rollo_EG_auto_zu", Array("TWZ_LASTTIMER"=>$lasttimer));

22:29

Längen und Breitengrad sind aus deinem Generator. Übrigens wenn heavens-above.com nicht erreichbar ist so wie jetzt, stirbt IPS leider ab. Rechner reboot notwendig. :mad: Vermultich kommt es von den -6.60 kann es nur nicht im Iet finden was richtig ist.

Gruß Oliver

OK also ist liegt an den -6.6, es muessen 6.6 sein. Der Generator vom Timer hat es mit East angegeben. Konnte es jetzt aber nich mehr nachvolziehen. Wie gesagt heavens-above ist down.

Gruß

Oliver