Rules, Haustürlicht schalten

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Cruise
Beiträge: 5
Registriert: 25. Feb 2022 19:36
Answers: 0

Rules, Haustürlicht schalten

Beitrag von Cruise »

Hallo, ich möchte eine Rule erstellen, die es mir ermöglicht, das Haustürlicht für 2 Minuten ein zu schalten wenn ich nach Hause komme und mein Handy sich im Netzwerk einloggt.

Ich habe schon ein Item über das Network-Binding erstellt (Handy) welches den Onlinestatus sendet.

Geplant habe ich folgendes:

Wenn "Handy" = ON und Uhrzeit zwischen 20 und 06 Uhr dann "HTLicht" an, warte 2 Minuten, "HTLicht" aus.

Ich bekomme das auch soweit eingebunden, jedoch leider nicht die Verzögerung.
Da ich keine Ahnung von Javascript habe, habe ich den itemchange-trigger genutzt.

Kann mir da jemand ein passendes script erstellen?

Gruß Flo

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

Re: Rules, Haustürlicht schalten

Beitrag von udo1toni »

Das Einfachste ist es, dem Licht-Item über die Metadaten eine Ausschaltzeit mitzugeben. Das ist aber natürlich nur sinnvoll, wenn das Licht nicht unter anderen Umständen dauerhaft eingeschaltet sein soll.
Ansonsten reicht es aber, ein weiteres Item anzulegen, welches nur die Aufgabe hat, über Deine Rule mit eingeschaltet zu werden. Dieses versiehst Du dann mit dem Delay und lässt eine zweite Rule auf das Ausschalten dieses Items reagieren. Diese zweite Rule kümmert sich dann darum, das eigentliche Item auszuschalten.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Rules, Haustürlicht schalten

Beitrag von int5749 »

Hallo Flo,

poste doch mal Deinen bisherigen Versuch und welche Items Dir zur Verfügung stehen. Mit so wenig Informationen ist es mehr raten und Glaskugel schauen. btw: wie schnell wird Dein Handy erkannt? Bei meinen iPhones und dem Fritzbox TR Binding dauert dies schon mal 2-3 Minuten, da habe ich das Licht schneller selber eingeschaltet ;-)

VG int5749
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Cruise
Beiträge: 5
Registriert: 25. Feb 2022 19:36
Answers: 0

Re: Rules, Haustürlicht schalten

Beitrag von Cruise »

Danke für die Antworten,
das Handy wird fast in Echtzeit erkannt. Abfrage ist minütlich.

Anbei mein bisheriger Versuch:

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: CATS42_Online
      state: ON
      previousState: OFF
    type: core.ItemStateChangeTrigger
conditions:
  - id: "2"
    configuration:
      startTime: 20:00
      endTime: 06:00
    type: core.TimeOfDayCondition
actions:
  - inputs: {}
    id: "3"
    configuration:
      itemName: swHaustuer_swHTPWR
      command: ON
    type: core.ItemCommandAction
  - inputs: {}
    id: "4"
    configuration:
      type: application/javascript
      script: wait 120000
    type: script.ScriptAction
  - inputs: {}
    id: "5"
    configuration:
      itemName: swHaustuer_swHTPWR
      command: OFF
    type: core.ItemCommandAction

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

Re: Rules, Haustürlicht schalten

Beitrag von int5749 »

Ohh, OK. Dann bin ich raus. Ich erstelle ausschließlich Rules Dateien ;-) Die neue Main UI nutze ich nur für ein paar pages.
Aber es gibt ja einige hier, welche auch schon die Main UI für Rules nutzen :-)
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

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

Re: Rules, Haustürlicht schalten

Beitrag von udo1toni »

So wie es aussieht, hast Du einfach drei Actions erzeugt, die erste und dritte schaltet das Item, die zweite führt den javaScript Befehl wait aus.

So funktioniert openHAB aber nicht.
Die drei Actions laufen unabhängig voneinander.
Das heißt, sie werden zeitgleich ausgeführt.
was Du haben möchtest, ist eine Ausführung nacheinander in einer bestimmten Reihenfolge, dazu müssen alle Befehle innerhalb des selben Scripts stehen.

Tipp am Rande: Selbst wenn Du Dich mit JavaScript auskennst: JavaScript ist nicht die erste Wahl bei der Programmierung von openHAB Regeln.
Hintergrund hierzu ist ist die Tatsache, dass man aus der DSL heraus direkt mit Items arbeiten kann, während alle anderen Sprachen den Umweg über die Registry gehen müssen.
Item einschalten und nach einer fixen Zeit ausschalten:

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: CATS42_Online
      state: ON
      previousState: OFF
    type: core.ItemStateChangeTrigger
conditions:
  - inputs: {}
    id: "2"
    configuration:
      startTime: 20:00
      endTime: 06:00
    type: core.TimeOfDayCondition
actions:
  - inputs: {}
    id: "3"
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: |-
        swHaustuer_swHTPWR.sendCommand(ON)
        createTimer(now.plusMinutes(2),[|
            swHaustuer_swHTPWR.sendCommand(OFF)
        ])
    type: script.ScriptAction
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Cruise
Beiträge: 5
Registriert: 25. Feb 2022 19:36
Answers: 0

Re: Rules, Haustürlicht schalten

Beitrag von Cruise »

Vielen Dank!
jetzt funktioniert es.

Antworten