habs vielleicht ein bissl unverständlich beschrieben.
Wenn ich die Variable $von_time mit einem mktime erzeuge kommt ja auch bei mir 09.00 Uhr heraus. Nur wenn ich mein Ereignis auslese, kommt 08:59 Uhr heruas, obwohl der Timestamp der gleiche ist?!?
Im IpSymcon wird das Ereignis auch mit 09.00 Uhr angzeigt.
Mein Problem ist, das der erzeugte TimeStamp (1334473200) sich unterschiedlich ausgibt, von wo aus er erzeugt wird.
Wie du in den 2 Beispieln im Letzten Beitrag von mir siehst, sind die TimeStamp absulut identisch, der Befehl date… macht aber 2 Unterschiedliche Uhrzeiten daraus.
Witzig ist, wenn ich das Ereignis auf 08:59 stelle, erzeugt mein Code ein TimeStamp von 1334473140, was dann 08:59 ausgegeben wird. Funktioniert also richtig. Ändere ich im IPS das Ereignis wieder aif 09.00 Uhr, macht er wieder den Fehler (TimeStamp 1334473200 08:59)
?!?!
Darf ich jetzt meine Aktoren nicht zur vollen Stunde einschalten
Warum auch immer, die beiden identischen TimeStamps von dem date Befehl unterschiedlich convertiert werden, rechne ich einfach 1 Sekunde drauf, was für meine Stunde / Minuten ausgabe egal ist.
Verstehn tu ich es trotzdem nicht, die Tolle Lösung funktionert aber.
Hab mal ein paar Uhrzeiten getestet. Bei einigen gehts bei anderen nicht.
Es ist auch keine Minute Unterschied sondern 1 Sekunde.
Hab alle probiert von 0 - 12 Uhr . Bei denen die ohne Rest durch 3 teilbar sind
tritt der Fehler auf. 3Uhr - 6Uhr - 9Uhr - 12Uhr
Warum auch immer
$text1 = „09“; / $text2 = „00“; => IPS_SetEventCyclicTimeBounds($EreignisID, mktime($text1, $text2, 0), 0);
mktime verlangt Integer, keinen String, wobei das der PHP Interpreter hier sicherlich richtig umsetzt.
@paresy: Mich würde interessieren warum in IPS_SetEventCyclicTimeBounds der Unixtimestamp als float Wert übergeben wird, das kenne ich nur wenn ms verwendet werden sollen/können?