Regel mit Timer in OH3

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

ruab01
Beiträge: 19
Registriert: 8. Mär 2021 15:48
Answers: 0

Regel mit Timer in OH3

Beitrag von ruab01 »

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

ruab01
Beiträge: 19
Registriert: 8. Mär 2021 15:48
Answers: 0

Re: Regel mit Timer in OH3

Beitrag von ruab01 »

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)

geos
Beiträge: 15
Registriert: 5. Jan 2021 15:37
Answers: 1

Re: Regel mit Timer in OH3

Beitrag von geos »

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.

Benutzeravatar
udo1toni
Beiträge: 15271
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Regel mit Timer in OH3

Beitrag von udo1toni »

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. :)
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

canstar
Beiträge: 14
Registriert: 11. Jan 2021 22:04
Answers: 0

Re: Regel mit Timer in OH3

Beitrag von canstar »

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.

Benutzeravatar
udo1toni
Beiträge: 15271
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Regel mit Timer in OH3

Beitrag von udo1toni »

:) Wir haben tatsächlich ein Oberlicht, welches im Giebelbereich eingebaut ist. Und da diese mechanischen Griffe nicht nur arg 20. Jahrhundert (erse Hälfte...), sondern auch störungsanfällig sind, haben wir gleich einen Motor einbauen lassen. Der tut nun schon seit 15 Jahren zuverlässig seinen Dienst und öffnet das Fenster täglich für eine Stunde. Sehr angenehm (und der Motor hat nur wenig mehr gekostet als das Gestänge... ich glaube, der Aufpreis lag so um 50 €).
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

retai
Beiträge: 21
Registriert: 13. Apr 2021 13:20
Answers: 0

Re: Regel mit Timer in OH3

Beitrag von retai »

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.

ruab01
Beiträge: 19
Registriert: 8. Mär 2021 15:48
Answers: 0

Re: Regel mit Timer in OH3

Beitrag von ruab01 »

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.

ruab01
Beiträge: 19
Registriert: 8. Mär 2021 15:48
Answers: 0

Re: Regel mit Timer in OH3

Beitrag von ruab01 »

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.

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Regel mit Timer in OH3

Beitrag von int5749 »

ruab01 hat geschrieben: 22. Apr 2021 09:31 So, jetzt habe ich folgende Rules gemacht:
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

Antworten