Lokla
11. August 2015 um 15:48
1
Hallo,
ich bau mir gerade ein Skript für meine Bewegungsmelder. Dabei ist mir aufgefallen, dass generierte einmalige Events einen falschen Ausführungszeitpunkt bekommen:
$eid = IPS_CreateEvent(1); //Zyklisches Ereignis
IPS_SetEventCyclicTimeFrom($eid, 13, 26, 0); //Von 15:00
IPS_SetParent($eid, $_IPS['SELF']); //Eregnis zuordnen
IPS_SetEventActive($eid, true); //Ereignis aktivieren
Das Beispiel ist mehr oder weniger aus der IPS Doku.
Wenn man das Ereignis jetzt ansieht stimmt alles, schaut man im Skript Editor allerdings den nächsten Ausführungszeitpunkt an, dann sind hier 2 Stunden Differenz.
Liegts an meinem Raspi oder is da noch grundsätzlich was falsch?
VG
Michael
Bayaro
11. August 2015 um 15:51
2
Hi!
Da scheint was nicht zu stimmen…welche IPS-Version und welche Build hast du im Einsatz?
Damit z.B. erstelle ich meine Timer:
<?
SetTimerByName_InSekunden($_IPS['SELF'], "TEST-EVENT", 120); // erstellt ein Event, welches das Skript 2 Minuten später ausführt
function SetTimerByName_InSekunden($parentID, $name, $Sekunden) {
Global ${$_IPS['SELF']};
$eid = @IPS_GetEventIDByName($name, $parentID);
if($eid === false) {
$eid = IPS_CreateEvent(1);
IPS_SetParent($eid, $parentID);
IPS_SetName($eid, $name);
IPS_SetInfo($eid, "this timer was created by script #".$_IPS['SELF']);
}
if ($Sekunden === false) {
IPS_SetEventActive($eid, false);
return $eid;
}
else {
IPS_SetEventCyclicTimeFrom($eid, intval(date("H", time() + $Sekunden)), intval(date("i", time() + $Sekunden)), intval(date("s", time() + $Sekunden)));
IPS_SetEventActive($eid, true);
return $eid;
}
}
?>
Grüße,
Chris
paresy
11. August 2015 um 15:52
3
Zeitzone vergessen zu setzen?
paresy
Lokla
14. August 2015 um 06:52
4
Ja. Das war’s Danke. Hatte das zwar vor 4 Tagen schon mal gemacht, aber hat wohl irgendwie nicht genommen.
VG
Michael