Homematic Script: Nach Zeit in Status benachrichtigen

Die Aufgabe war eine Push Nachricht zu senden, wenn die Haustüre für eine längere Zeit aufstand. Wir haben einen Reed Kontakt im Rahmen, der an einem Wired 12er Schließerkontakt hängt.

Nach etwas ausprobieren haben sich zwei Ansätze ergeben:

Ein Programm mit Script

Das Programm führt nach Öffnen der Haustüre verzögert ein Script aus (auch wenn diese inzwischen wieder geschlossen wurde):

Homematic Programm Info nach Status in Zeit

Hier das Script, in dem noch mal geprüft wird, ob die Haustüre noch geöffnet ist, bevor die Nachricht gesendet wird. Dadurch werden die normalen Fälle ausgeschlossen, in denen die Türe zwischenzeitlich wieder geschlossen wurde.

object tfk = dom.GetObject('BidCos-Wired.JEQxxxxxx:8.SENSOR').State();

if (tfk) {
  dom.GetObject("Notification_Category").State("Verschluss");
  dom.GetObject("Notification_Message").State("Haustüre noch geöffnet!");
  dom.GetObject("Notification_Prio").State("6");
}

Zwei Programme + Systemvariable

Das erste Programm setzt verzögert eine Systemvariable sobald die Türe geöffnet wird und setzt diese direkt zurück, sobald die Türe wieder geschlossen wird:

 

 

Homematic Programm Info nach Status in Zeit IIa

 

Das zweite Progrmm senden die Nachricht, sobald die Systemvariable gesetzt wird:

 

Homematic Programm Info nach Status in Zeit IIb

Offensichtlich wird im ersten Programm die Wenn Aktion durch die Sonst-Wenn Aktion zurückgesetzt – vermutlich, weil es die selbe Variable ist.

Schreibe einen Kommentar