Also das Script ist etwas länger, hab nur einen Teil rauskopiert. Es wird zum einen eben auch Morgens um 8 Uhr aufgerufen zum aufschliessen, deshalb die Zeitprüfung.
Das ganze Script sieht so aus:
PHP-Code:
<?
$ID_KEYMATIC = 11226 /*[Geräte\KEYMATIC]*/; // Keymatic Instanz ID
$ID_KEYMATIC_STATE =29252 /*[Geräte\KEYMATIC\STATE]*/; // STATE Variable der Keymatic Instanz
$ID_VAR_ACTION = 10000 /*[Geräte\KEYMATIC\Status]*/; // Integer Variable für Schalt und Darstellungszustände
IPS_LogMessage($_IPS['SELF'], "KEYMATIC CALL FROM " . $_IPS['VARIABLE']);
$time = date("H:i");
IPS_LogMessage($_IPS['SELF'], "ZEIT: " . $time);
if($_IPS['SENDER'] == "TimerEvent")
{
if ($time >= "12:00") {
HM_WriteValueBoolean($ID_KEYMATIC, "STATE" , false);
}
else if ($time >= "07:00" && $time < "08:00") {
HM_WriteValueBoolean($ID_KEYMATIC, "STATE" , true);
}
}
else if($_IPS['VARIABLE']==39401 /*[Geräte\eKey\INSTALL_TEST]*/ || $_IPS['VARIABLE'] == 19558 /*[Geräte\Telefonsummer\INSTALL_TEST]*/) {
HM_WriteValueBoolean($ID_KEYMATIC, "OPEN" , true);
}
else if($_IPS['VARIABLE'] == 16427 /*[Geräte\Tür - Haustür\Zustand]*/) {
$doorstate = GetValueBoolean(22649 /*[Geräte\Tür - Haustür\Offen (Real)]*/);
if($doorstate == false) {
if ($time >= "22:00") {
HM_WriteValueBoolean($ID_KEYMATIC, "STATE" , false);
}
}
}
else if($_IPS['VARIABLE']==28089 /*[Geräte\KEYMATIC\MAINTENANCE\LOWBAT]*/) {
SMTP_SendMail(55431 /*[E-Mail senden (SMTP)]*/, 'Batterie Alarm', 'Die Batterie des Gerätes: "KEYMATIC" ist leer!');
}
else
{
if (getValue($ID_KEYMATIC_STATE)==true)
{
SetValue($ID_VAR_ACTION,2);
}
if (getValue($ID_KEYMATIC_STATE)==false)
{
SetValue($ID_VAR_ACTION,1);
}
}
?>
Sollte das mit der Variable $_IPS['VARIABLE'] denn ein Problem darstellen?
Dachte dann ist die Ausgabe an der Stelle einfach leer, wenn das Script vom Timer aufgerufen wird.
Also ich hab auch vers. Timer ausprobiert mit +1h und -1h wegen UTC Problem oder so. Hab jetzt nicht immer auf 22 Uhr gewartet 
Wenn ich das Script so manuell aufrufe wird auch die richtige Uhrzeit ausgegeben.
Ich denke das irgendwie die zyklischen Ereignisse gar nicht gehen, denke nicht das es am Script liegt.
Kann man das irgendwie testen oder kann ich da in irgend ein Log schauen um das zu testen?