Wenn item = ein dann nach 1h Stunde ausschalten

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Kito
Beiträge: 19
Registriert: 7. Jul 2019 15:30

Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von Kito »

Hallo zusammen, ich benötige mal eure Hilfe. Ich friemel mir hier so meine Sachen zusammen, die ich für meine Steuerung benötige. Bei mir wurde Knx verbaut, was auch soweit funktioniert für meine Zwecke.

Da kommt jetzt meine Frage: Ich habe einen Lüfter im Bad, den ich manuell einschalte über einen Taster, wenn ich duschen gehe. Wenn ich Ihn manuell ausschalte läuft er noch 15 Min nach. Der Zeitraum ist aber meist zu kurz und es ist noch nicht alles getrocknet. Daher meine Überlegung eine rule zu erstellen, die prüfen soll ob der Lüfter an ist und ihn dann erst nach 1h Stunde auszuschalten. So muss ich es auch nicht mehr manuell machen.

Könnt ihr mir hier bitte weiter helfen, wie die Rule dazu aussehen muss? Vielen Dank

Edit: Ich hoffe das ich im richtigen Forum gelandet bin?!

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von sihui »

Kito hat geschrieben: 7. Jul 2019 23:16 ob der Lüfter an ist
Hierzu musst du den Lüfter als Item in openHAB anlegen und dann in der Rule den Status https://www.openhab.org/docs/configurat ... html#state abfragen.
Kito hat geschrieben: 7. Jul 2019 23:16 und ihn dann erst nach 1h Stunde auszuschalten
Entweder per Timer https://www.openhab.org/docs/configurat ... tml#timers oder Expire https://www.openhab.org/addons/bindings ... re-binding Binding.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Kito
Beiträge: 19
Registriert: 7. Jul 2019 15:30

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von Kito »

Kannst du mir hier vielleicht ein Beispiel geben, wie es aussehen muss? So kann ich es dann für meine Zwecke anpassen. Item für den Lüfter ist angelegt (luefter_bad). Es gibt einmal die Adresse ein/aus und auch eine für den Status. 0/0/40 und 0/0/41.

Kito
Beiträge: 19
Registriert: 7. Jul 2019 15:30

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von Kito »

Hab mich mal probiert. Sollte es in etwa so aussehen? (ohne Timer mit 1h)

Code: Alles auswählen

 rule "Lüfter Dusche Switch"
when
    Item statusbadluefter received command
then
    if(badluefter == ON)
        badluefter.sendCommand(OFF)
end
oder

Code: Alles auswählen

 rule "Lüfter Dusche Switch"
when
    Item statusbadluefter changed
then
    if(badluefter == ON)
        badluefter.sendCommand(OFF)
end
item Datei:

Code: Alles auswählen

Switch badluefter       "Badlüfter" (gBad) [ "Lighting" ] {knx="<0/0/40"}
Switch statusbadluefter "Status Badlüfter" <light>  {knx="<0/0/41"}

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von sihui »

Kito hat geschrieben: 8. Jul 2019 20:06 Hab mich mal probiert. Sollte es in etwa so aussehen?
Nein, du musst den Status des Items abfragen:

https://www.openhab.org/docs/configurat ... s-in-rules

Code: Alles auswählen

MyItem.state
In deinem Fall also

Code: Alles auswählen

badluefter.state == ON
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Kito
Beiträge: 19
Registriert: 7. Jul 2019 15:30

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von Kito »

Hey, habe ich auch schon probiert. Geht auch nicht.

Code: Alles auswählen

 rule "Lüfter Dusche Switch"
when
    Item badluefter changed to ON
then
    if(badluefter.state == ON)
        badluefter.sendCommand(OFF)
end
Kommando zurück, damit funktioniert es. Jetzt kann ich den Lüfter nicht mehr einschalten, da er ja gleich wieder ausgeschaltet wird. Also brauche ich den Status von dem Lüfter jetzt garnicht, den es ja als Adresse gibt?

Nun muss ich bloß den Timer noch versuchen darum setzen oder?

EDIT 2: So funktioniert es mit einem Timer, testweise hier mit 1 probiert:

Code: Alles auswählen

 rule "Lüfter Dusche Switch"
when
    Item badluefter changed to ON
then
    if(badluefter.state == ON)
        {
        createTimer(now.plusMinutes(1)) [| sendCommand(badluefter, OFF) ]
    }
end
Was ich nur nicht verstehe, wozu ich dann den Status vom Lüfter überhaupt brauche, wenn ich doch nur den Status von ein/aus abfrage...

Danke dir für deine Mühen!

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von sihui »

Kito hat geschrieben: 8. Jul 2019 21:11 Was ich nur nicht verstehe, wozu ich dann den Status vom Lüfter überhaupt brauche
Weil du danach gefragt hast:
Kito hat geschrieben: 7. Jul 2019 23:16 Daher meine Überlegung eine rule zu erstellen, die prüfen soll ob der Lüfter an ist
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Kito
Beiträge: 19
Registriert: 7. Jul 2019 15:30

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von Kito »

Na das macht doch der Lüfterstatus?!

Edit. Und dann habe ich noch diese beiden Rules erstellt, die aber nicht so recht funktionieren wollen. Kannst du hier einen Fehler erkennen?

Code: Alles auswählen

rule "Rollos zur Straße aus bei SUG"
 
when
Channel 'astro:sun:xxx:set#event' triggered START
then
createTimer(now.plusMinutes(55)) [|   gSUG.allMembers.forEach(item | { item.sendCommand(ON) } ) ]
end
oder

Code: Alles auswählen

rule "Aussenbeleuchtung Zeitschaltuhr-EIN"
 
when
Channel 'astro:sun:xxx:set#event' triggered START
then
createTimer(now.plusMinutes(55)) 
        [|
            sendCommand(gAussenbel, ON)
        ]
end

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von sihui »

Kito hat geschrieben: 8. Jul 2019 21:58 Kannst du hier einen Fehler erkennen?
Syntax Fehler in Rules werden in der openhab.log angezeigt.
Für deine Beispiele bietet sich aber eher ein Offset im Range Event des Astro Bindings an.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Kito
Beiträge: 19
Registriert: 7. Jul 2019 15:30

Re: Wenn item = ein dann nach 1h Stunde ausschalten

Beitrag von Kito »

Aha, also muss ich mich alleine weiter durchkämpfen. Offset gibt es nicht im Astro Binding.

Antworten