Seite 1 von 1

Automatisches Ab- und Anschalten von Things bei Störungsmeldung

Verfasst: 16. Jan 2024 12:11
von Pete_hab
Hallo zusammen,

ich habe folgendes Problem mit dem inoffiziellen LG Ess Enervu Binding.

Grundsätzlich funktioniert es gut, allerdings hat das entsprechende Thing sporadische Aussetzer mit der Fehlermeldung "Communication with service failed :( "

Dies kann ich recht leicht beheben indem ich das Thing kurz disable und dann wieder enable. Dann funktioniert es wieder bis es sich in ein paar Tagen wieder aufhängt.

Meine Frage: Kennt Ihr eine Möglichkeit, welche Things automatisch zu überwachen und bei einer Fehlermeldung einmal zu disabeln und dann wieder zu enabeln?

Ich nutze openHAB 4.1.0 auf einem Raspberry Pi 3.

Bei Rückfragen gerne melden, vielen Dank vorab!

Re: Automatisches Ab- und Anschalten von Things bei Störungsmeldung

Verfasst: 16. Jan 2024 14:35
von udo1toni
Eventuell erscheinen in events.log Meldungen der Form Thing foo:bas changed to COMMUNICATION_ERROR (oder was in der Richtung), falls Du solche Meldungen hast, kannst Du eine Rule darauf triggern lassen, Thing Events sind als Quelle vorhanden. Innerhalb der Rule kannst Du (per Code) auch darauf reagieren, welcher Trigger genau kam, denn z.B. ONLINE wäre jetzt nicht gut, um dadurch das Thing neu starten zu lassen ;)
Der Stopp des Things an sich geht dann über die API, dazu musst Du einen http Request senden. Wie der aussehen muss, kannst Du über den API Explorer (Main UI - Entwicklertools) ermitteln. :)

Re: Automatisches Ab- und Anschalten von Things bei Störungsmeldung

Verfasst: 16. Jan 2024 16:55
von PeterA
Nur als Codebeispiel wie ich das Thing meines Denon AVR "resetten" kann:

Code: Alles auswählen

rule "Denon Thing Reset"
    when
        Item Reset_DenonThing received command
    then
        switch(receivedCommand) {
            case ON :  sendHttpPutRequest("http://192.168.2.106:8080/rest/things/denonmarantz:avr:0005cd3a0e8e/enable", "application/json", 'enabled') //Disable Thing
            case OFF : sendHttpPutRequest("http://192.168.2.106:8080/rest/things/denonmarantz:avr:0005cd3a0e8e/enable", "application/json", 'true')    //Enable Thing
		}
end

Re: Automatisches Ab- und Anschalten von Things bei Störungsmeldung

Verfasst: 16. Jan 2024 18:12
von Harka
Moin,
Wenn Du Javascript (ECMAScript 262 Edition 11) installiert hast kannst Du auch folgenden Code testen, nachdem Du mqtt:...:Philips_02 durch die UID deines Things ersetzt hast. Als Trigger Things_statusChanged...

Code: Alles auswählen

var thread = Java.type('java.lang.Thread')
things.getThing('mqtt:topic:cdabf5f31f:Philips_02').setEnabled(false);
thread.sleep(1000);
things.getThing('mqtt:topic:cdabf5f31f:Philips_02').setEnabled(true);

Re: Automatisches Ab- und Anschalten von Things bei Störungsmeldung

Verfasst: 11. Mär 2024 16:38
von Pete_hab
Vielen Dank für die schnellen Antworten! Ich muss mich da nur noch um die Umstzung kümmern, ich hoffe ich habe bald Zeit dafür. Ich werde hier aber Bericht erstatten!