Seite 1 von 1

Automatisierte Abfrage der zuvor geschalteten Schaltausgänge

Verfasst: 20. Nov 2019 06:45
von freeman121083
Moin,

ich hab mehrer rules die mir Telegram Nachrichten schicken wenn automatisierte Aufgaben erledigt sind. Z.b. wenn um X Uhrzeit diverse Steckdosen ausgeschaltet werden sollen. Das hat zur Folge das ich jeden Tag sehr viele Telegramm Nachrichten bekomme.
Wäre es möglich die rules (oder eine neue?) so zu schreiben das ich nur entsprechende Telegramm Nachrichten bekommen, wenn etwas nicht automatisch ausgeführt werden konnte?
Ich denke ich lasse meine rules ohne Telegramm Nachricht weiter laufen und ca. 1min. nach Ausführung der rules überprüfe ich den Status der zuvor geschalteten Steckdose (KNX Schaltaktor) mit einer neuen rules, oder?

Auch die Frage ob das Sinn macht oder habt Ihr dafür eine bessere Lösung? Oder gibt es dafür evtl. ein Binding mit dem man das grafisch besser konfigurieren kann?

Danke und Gruß
Dennis

Re: Automatisierte Abfrage der zuvor geschalteten Schaltausgänge

Verfasst: 20. Nov 2019 08:44
von seppy
Hi,
ich denke was Du suchst müsste über Exception Handling zu lösen sein:

Code: Alles auswählen

try {
      // do some stuff
} 
catch(Throwable t) {
      logError("Error", "Some bad stuff happened in my rule: " + T.toString)
}
finally {
      // always runs even if there was an error, good place for cleanup
   }
Grüße,
Seppy

Re: Automatisierte Abfrage der zuvor geschalteten Schaltausgänge

Verfasst: 21. Nov 2019 04:36
von freeman121083
Hi,

Danke für deine schnelle Antwort. Könntest Du das ein bisschen erklären? und wie genau bau ich das mit ein?

Danke

Re: Automatisierte Abfrage der zuvor geschalteten Schaltausgänge

Verfasst: 21. Nov 2019 11:19
von seppy
Hi,

naja Du hast drei Blöcke ... den try Block, in dem - wie das Wort sagt - versucht wird die gwünschte Logik auszuführen. Wird im try Block eine Exception geworfen, so kannst Du im catch Block versuchen den Fehler aufzufangen, oder aber auch einfach eine Meldung ausgeben. In Deinem Fall würdest Du Dich hier informieren lassen, da Du nur informiert werden willst wenn etwas schief gelaufen ist.
Den finally Block kannst Du nutzen um beispielweise Aufräumarbeiten zu machen. Er wird immer ausgeführt, auch wenn eine Exception geworfen wurde. Ich denke den brauchst Du wohl nicht.

Grüße,
Seppy