Guten Morgen… hab da mal was gebastelt für die Meldung wenn ein Fenster zu lange offen steht:
im ‚case 2:‘ wo $value mit dem geöffneten Status gefüllt wird hab ich folgendes hinzugefügt:
(Angepasst gehört noch die Script-ID welches ausgeführt werden soll (bei mir ‚58898 /[Zentrale\Fenster zu lange offen]/‘) und eventuell die Zeit!)
// Holt die ID des Events das zu der Variable gehört
$warn_id = @IPS_GetEventIDByName("Warn".$var['VariableID'], 58898 /*[Zentrale\Fenster zu lange offen]*/);
// Fragt ab, ob es schon besteht, wenn nein, dann erstellen wir eines
if($warn_id === false) {
$warn_event = IPS_CreateEvent(1); // Zyklisches Element erstellen
IPS_SetEventCyclic($warn_event, 0,0,0,0,2,15); // Alle 15 Minuten -> Hier stellt man die Zeit ein, wann eine Meldung erfolgen soll.
IPS_SetEventCyclicTimeBounds($warn_event,mktime(),0); // Startzeit jetzt
IPS_SetParent($warn_event, 58898 /*[Zentrale\Fenster zu lange offen]*/); // ParentID des Scriptes was nach der Zeit ausgeführt werden soll
IPS_SetName($warn_event, "Warn".$var['VariableID']); // Ein Name für das Event
IPS_SetEventActive($warn_event, true); // Event aktivieren
}
im ‚case 0:‘ kommt folgendes dazu:
$warn_id = @IPS_GetEventIDByName("Warn".$var['VariableID'], 58898 /*[Zentrale\Fenster zu lange offen]*/);
if($warn_id) {
IPS_DeleteEvent($warn_id);
}
im Script, lautet bei mir „Zentrale\Fenster zu lange offen“ mit der ID 58898 steht bei mir folgendes:
(Angepasst gehört in dem Script noch die ID des Webfront Configurators!)
if($IPS_EVENT) {
$name = IPS_GetName($IPS_EVENT);
$var_id = substr(IPS_GetName($IPS_EVENT), 4);
$name = IPS_GetObject((int)$var_id);
}
WFC_SendNotification(29424 /*[WebFront Configurator]*/, "Warnung", date("d.m.Y H:i", time())."<br>".IPS_GetName(IPS_GetParent($name['ParentID']))." ".IPS_GetName($name['ParentID'])." steht zu lange offen!",'Warning', 0);
IPS_SetEventActive($IPS_EVENT, false);
Bei mir erscheint da momentan nur eine Notification nach 15 Minuten und das Event wird deaktiviert, damit es nicht mehrfach ausgeführt wird.
bei mir haut´s so ganz gut hin
lg, Christian