Rule mit timer erstellen in OH3

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
ODB
Beiträge: 13
Registriert: 7. Jan 2021 19:15
Answers: 0

Rule mit timer erstellen in OH3

Beitrag von ODB »

Moin,

kurz vorweg ich befasse mich noch nicht allzu lange mit OpenHAB
bzw nun wieder da ich unter OH2 irgendwann das Handtuch geworfen habe weil ich nicht weiter gekommen bin.

Jetzt habe ich meinen Raspi mit OH3 und Conbee Stick eingerichtet und die Things, items etc ebenfalls.
Als Anfänger ist OH3 da schon etwas zugänglicher 🙂

Jetzt wollte ich mich an eine Rule machen und zwar soll
eine hue Birne angehen wenn die eingangstür geöffnet wird
und dann nach 2 Minuten wieder aus.

Ich habe bislang geschafft eine funktionierende Rule über die design Funktion in OH3 zu erstellen die zumindest die Birne beim öffnen der Tür einschaltet.
Leider finde ich dort aber keine Möglichkeit einen Timer zu setzen.

Nach etwas Recherche hatte ich schon herausgefunden das es mal ein expire binding gab das gibt es aber wohl bei OH3 nicht mehr.

Dann habe ich hier schon oft gesehen das man in den Code eine Zeile schreiben kann createTimer aber das bekomme ich nicht hin

Gibt es eine Möglichkeit das über die Design Oberfläche umzusetzen?
Und wenn ja wie?

Ich wäre echt dankbar für Hilfe
von ThomasW » 9. Jan 2021 18:16
über die Oberfläche kannst du das meiste machen aber du kommst nicht dran vorbei den timer in einem kleinen script zu schreiben
am einfachsten gehst du innerhalb deiner rule wie vor:
- Add action
- run script
- Rule DSL

Code: Alles auswählen

createTimer(now.plusMinutes(2), [|              
		item.sendCommand(Comand)
])            
            
du musst hier nur noch item und comand entsprechend ersetzen dann sollte es funktionieren
Gehe zur vollständigen Antwort

ThomasW
Beiträge: 33
Registriert: 9. Jan 2021 16:12
Answers: 1

Re: Rule mit timer erstellen in OH3

Beitrag von ThomasW »

über die Oberfläche kannst du das meiste machen aber du kommst nicht dran vorbei den timer in einem kleinen script zu schreiben
am einfachsten gehst du innerhalb deiner rule wie vor:
- Add action
- run script
- Rule DSL

Code: Alles auswählen

createTimer(now.plusMinutes(2), [|              
		item.sendCommand(Comand)
])            
            
du musst hier nur noch item und comand entsprechend ersetzen dann sollte es funktionieren
OH3 auf RPI4,
Heizungssteuerung: Fritz DECT,
Zigbee: Conbee2 über Phoscon-GW: Aqara Opple Schalter, Aqara Temperatursensoren, Aqara Fenstersensoren, Aqara Aktoren, IKEA Lichter
Astro Binding
DWDUnwetter Binding
OpenWeatherMap Binding
FritzBox TR 064 Binding
iRobot Binding
Telegramm Binding für Benachrichtigungen und Steuerung von unterwegs
Rolladensteuerung: Rademacher DuoFern über HTTP Binding

ODB
Beiträge: 13
Registriert: 7. Jan 2021 19:15
Answers: 0

Re: Rule mit timer erstellen in OH3

Beitrag von ODB »

Vielen vielen Dank Thomas 🙏
Es hat auf Anhieb geklappt und ich habe wieder was dazu gelernt.

Benutzeravatar
lukh
Beiträge: 99
Registriert: 5. Dez 2019 20:15
Answers: 2

Re: Rule mit timer erstellen in OH3

Beitrag von lukh »

Oder in den Metadata des Items einen Expiration Timer einstellen.

viewtopic.php?p=28297#p28297

SeppK1984
Beiträge: 2
Registriert: 20. Jan 2023 17:21
Answers: 0

Re: Rule mit timer erstellen in OH3

Beitrag von SeppK1984 »

Hallo zusammen,
ich bin neu hier und auch meine OH3-Kenntnisse stehen noch ganz am Anfang. Ich habe diesen Thread gefunden und eine Frage zu den Timern via Script. Wie muss die exakte Syntax für nachfolgenden Befehl im ECMA-Script aussehen??? :roll:

createTimer(now.plusSeconds(305)) [| ItemName.sendCommand(ON) ]

Ich meine folgender Code

ItemName.sendCommand(ON)

lautet ja in ECMA auch so

events.sendCommand('1851JBewaesserungSprinklerMauerHintenSchalten', 'ON');

Zumindest zeigt mir das OH3 im ECMA-Script das so an und die Rule funktioniert mit diesem Code auch.
Also wie sähe denn dann die Syntax für folgenden Code aus?:

createTimer(now.plusSeconds(305)) [| ItemName.sendCommand(ON) ]

:roll:

Sorry, ist wahrscheinlich eine doofe Frage und offenbart meine vollständige Unkenntnis, aber Ihr würdet mir extrem weiterhelfen.
Danke schon einmal.
LG, SeppK1984

Antworten