Regel mit Timer in OH3
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Regel mit Timer in OH3
Hallo liebe Forenmitglieder,
ich habe eine Frage: ich möchte in einer Regel einen Timer starten, dass ich 30 Minuten nach Öffnen eines Fensters eine Whatsapp bekomme und so nicht vergesse das Fenster wieder zu schließen. Also habe ich einen Fensterkontakt, der mir offen und geschlossen signalisiert und das Skript, dass ich eine Whatsapp bekomme funktioniert auch schon. Nur der Teil mit dem Timer fehlt mir noch. Kann mir da bitte jemand helfen, wie dieses Skript aussehen muss, damit ich nach 30 Minuten meine Meldung bekomme ?
Danke
SG
Rudi
ich habe eine Frage: ich möchte in einer Regel einen Timer starten, dass ich 30 Minuten nach Öffnen eines Fensters eine Whatsapp bekomme und so nicht vergesse das Fenster wieder zu schließen. Also habe ich einen Fensterkontakt, der mir offen und geschlossen signalisiert und das Skript, dass ich eine Whatsapp bekomme funktioniert auch schon. Nur der Teil mit dem Timer fehlt mir noch. Kann mir da bitte jemand helfen, wie dieses Skript aussehen muss, damit ich nach 30 Minuten meine Meldung bekomme ?
Danke
SG
Rudi
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Re: Regel mit Timer in OH3
noch zur Info: so sieht meine Regel derzeit aus, der Teil in conditions fehlt mir noch
triggers:
- id: "1"
configuration:
itemName: BadOGFensterkontakt_Kontakt
state: OPEN
previousState: CLOSED
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/javascript
script: >-
var HttpUtil = Java.type("org.openhab.core.io.net.http.HttpUtil")
var urlmessage = encodeURI("Fenster ist nun 30 Minuten offen, bitte schließen")
HttpUtil.executeUrl("GET", "https://api.callmebot.com/whatsapp.php? ... yyyy&text=" +urlmessage , 2000)
type: script.ScriptAction
EDIT: Datenschutzrelevante Infos gelöscht... (vom Moderator)
triggers:
- id: "1"
configuration:
itemName: BadOGFensterkontakt_Kontakt
state: OPEN
previousState: CLOSED
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/javascript
script: >-
var HttpUtil = Java.type("org.openhab.core.io.net.http.HttpUtil")
var urlmessage = encodeURI("Fenster ist nun 30 Minuten offen, bitte schließen")
HttpUtil.executeUrl("GET", "https://api.callmebot.com/whatsapp.php? ... yyyy&text=" +urlmessage , 2000)
type: script.ScriptAction
EDIT: Datenschutzrelevante Infos gelöscht... (vom Moderator)
-
- Beiträge: 15
- Registriert: 5. Jan 2021 15:37
Re: Regel mit Timer in OH3
Habe leider keine Antwort auf deine Frage aber du solltest mal prüfen, ob du wirklich die komplette URL samt Telefonnummer und apikey hier veröffentlichen wolltest.
- udo1toni
- Beiträge: 15271
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Regel mit Timer in OH3
Die einfachste Möglichkeit: Du legst ein Proxy Item vom Typ Switch an. Deine Rule setzt das Item z.B. auf ON, wenn das Fenster geöffnet wird und OFF, wenn das Fenster geschlossen wird (per postUpdate()!, das ist essenziell).
In dem Proxy Item stellst Du in den Metadaten "Expire" ein, 30 Minuten und sendCommand(OFF).
Dann legst Du eine zweite Rule an, die auf das sendCommand(OFF) triggert (Proxy Item received command OFF)
In dieser Rule trägst Du den Aufruf für callmebot ein.
Der Punkt ist, die erste Rule setzt nur den Status des Items. Die zweite Rule wird nur getriggert, wenn der Status des Proxy Items mehr als eine halbe Stunde nicht OFF ist, denn nur dann sendet Expire das OFF als Kommando.
Oder Du lernst, wie man Timer aus Java Script heraus in openHAB nutzt.
In dem Proxy Item stellst Du in den Metadaten "Expire" ein, 30 Minuten und sendCommand(OFF).
Dann legst Du eine zweite Rule an, die auf das sendCommand(OFF) triggert (Proxy Item received command OFF)
In dieser Rule trägst Du den Aufruf für callmebot ein.
Der Punkt ist, die erste Rule setzt nur den Status des Items. Die zweite Rule wird nur getriggert, wenn der Status des Proxy Items mehr als eine halbe Stunde nicht OFF ist, denn nur dann sendet Expire das OFF als Kommando.
Oder Du lernst, wie man Timer aus Java Script heraus in openHAB nutzt.

openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 14
- Registriert: 11. Jan 2021 22:04
Re: Regel mit Timer in OH3
hi ruab01,
es ist zwar keine Antwort auf deine Frage, aber falls du noch einen intelligenten Rolladen hast, ist es auch sehr praktisch diesen herunterfahren zu lassen. dann kühlt das Zimmer nicht zu stark aus.
hab ich bei uns so installiert, weil wir auch sehr gerne vergessen das Fenster rechtzeitig wieder zu schließen. und im Winter hat es sich sehr bewährt
und wenn das Fenster wieder geschlossen wird, fährt es wieder hoch.
ein automatischen Fensterschließer wäre zwar noch die perfekte Lösung, aber da ist mir leider noch nichts vernünftiges über den Weg gelaufen.
es ist zwar keine Antwort auf deine Frage, aber falls du noch einen intelligenten Rolladen hast, ist es auch sehr praktisch diesen herunterfahren zu lassen. dann kühlt das Zimmer nicht zu stark aus.
hab ich bei uns so installiert, weil wir auch sehr gerne vergessen das Fenster rechtzeitig wieder zu schließen. und im Winter hat es sich sehr bewährt

und wenn das Fenster wieder geschlossen wird, fährt es wieder hoch.
ein automatischen Fensterschließer wäre zwar noch die perfekte Lösung, aber da ist mir leider noch nichts vernünftiges über den Weg gelaufen.
- udo1toni
- Beiträge: 15271
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Regel mit Timer in OH3

openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 21
- Registriert: 13. Apr 2021 13:20
Re: Regel mit Timer in OH3
Ich habe folgenden timer in der Rules Datei im conf/rules ordner abgelegt welche mir zu einer gewissen uhrzeit den timer nach 10 minuten aktiviert:
rule "Kontaktitem ist länger als 10 Minuten geöffnet (20:00-07:00)"
when
Time cron "0 0/10 20-7 * * ?"
then
if (Kontaktitem.state == CLOSED && Kontaktitem.changedSince(now.minusMinutes(10))){
Switchitem.sendCommand(ON)
}
end
Beim Switchitem musst du dann deinen Befehl für die Whatsapp integrieren.
Vielleicht nützt dir das was.
rule "Kontaktitem ist länger als 10 Minuten geöffnet (20:00-07:00)"
when
Time cron "0 0/10 20-7 * * ?"
then
if (Kontaktitem.state == CLOSED && Kontaktitem.changedSince(now.minusMinutes(10))){
Switchitem.sendCommand(ON)
}
end
Beim Switchitem musst du dann deinen Befehl für die Whatsapp integrieren.
Vielleicht nützt dir das was.
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Re: Regel mit Timer in OH3
Danke für die Antworten.
@retai: das ist javascript, oder , und das kann ich in der UI nicht so eintragen. Wie ich sowas ins openhab bringe, weiß ich noch nicht.
@udo1toni: ich werde mal das mit den 2 Regeln probieren, wobei ich nicht ganz sicher bin, was du mit "Proxy" Item meinst. Aber lege einfach mal ein Item (Switch) an mit irgendeinen sprechenden Namen mit den Metadaten, wie beschrieben und schalte diesen über die erste Rule und frag den Status mit der zweiten Rule ab, um mein Whatsapp zu verschicken. Das sollte ich auch als Anfänger hoffentlich schaffen. Wenn ich es getestet habe, wird ich mich wieder melden, ob es funktioniert.
@retai: das ist javascript, oder , und das kann ich in der UI nicht so eintragen. Wie ich sowas ins openhab bringe, weiß ich noch nicht.
@udo1toni: ich werde mal das mit den 2 Regeln probieren, wobei ich nicht ganz sicher bin, was du mit "Proxy" Item meinst. Aber lege einfach mal ein Item (Switch) an mit irgendeinen sprechenden Namen mit den Metadaten, wie beschrieben und schalte diesen über die erste Rule und frag den Status mit der zweiten Rule ab, um mein Whatsapp zu verschicken. Das sollte ich auch als Anfänger hoffentlich schaffen. Wenn ich es getestet habe, wird ich mich wieder melden, ob es funktioniert.
-
- Beiträge: 19
- Registriert: 8. Mär 2021 15:48
Re: Regel mit Timer in OH3
So, jetzt habe ich folgende Rules gemacht:
Rule1:
triggers:
- id: "1"
configuration:
itemName: BadOGFensterkontakt_Kontakt
state: OPEN
previousState: CLOSED
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "4"
configuration:
itemName: BadOGFensterSchalter
command: ON
type: core.ItemCommandAction
BadOGFensterSchalter ist der Switch mit Metadaten Expiration Timer send command=OFF
Rule2:
triggers:
- id: "1"
configuration:
itemName: BadOGFensterSchalter
state: OFF
previousState: ON
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/javascript
script: >-
var HttpUtil = Java.type("org.openhab.core.io.net.http.HttpUtil")
var urlmessage = encodeURI("Fenster ist nun 30 Minuten offen, bitte schließen")
HttpUtil.executeUrl("GET", "https://api.callmebot.com/whatsapp.php? ... xxxx&text=" +urlmessage , 2000)
type: script.ScriptAction
Sollte hoffentlich so funktionieren.
Rule1:
triggers:
- id: "1"
configuration:
itemName: BadOGFensterkontakt_Kontakt
state: OPEN
previousState: CLOSED
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "4"
configuration:
itemName: BadOGFensterSchalter
command: ON
type: core.ItemCommandAction
BadOGFensterSchalter ist der Switch mit Metadaten Expiration Timer send command=OFF
Rule2:
triggers:
- id: "1"
configuration:
itemName: BadOGFensterSchalter
state: OFF
previousState: ON
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/javascript
script: >-
var HttpUtil = Java.type("org.openhab.core.io.net.http.HttpUtil")
var urlmessage = encodeURI("Fenster ist nun 30 Minuten offen, bitte schließen")
HttpUtil.executeUrl("GET", "https://api.callmebot.com/whatsapp.php? ... xxxx&text=" +urlmessage , 2000)
type: script.ScriptAction
Sollte hoffentlich so funktionieren.
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Regel mit Timer in OH3
Wie stabil läuft dieser Call-me bot für WhatsApp?? Ich suche noch nach einem Ersatz für Prowl. was in OH3 leider nicht mehr unterstützt wird und das senden von Mails an Prowl schlägt in letzter Zeit öfter mal fehl, speziell wenn zu viele in kurzer Zeit gesendet werden.
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3