Bei Abfrage in Rule DSL Variable nicht vorhanden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Proton
Beiträge: 93
Registriert: 10. Okt 2022 12:13
Answers: 4
Wohnort: Oberbergisches

Re: Bei Abfrage in Rule DSL Variable nicht vorhanden

Beitrag von Proton »

udo1toni hat geschrieben: 24. Apr 2023 21:58 Was das Thema betrifft, so kannst Du das halten wie ein Dachdecker :)
Gut zu wissen :D
udo1toni hat geschrieben: 24. Apr 2023 21:58 Hast Du eine Rule, die Du zeigen kannst?

Im Zweifel musst Du halt prüfen, ob ein Laden bereits geschlossen ist, bevor Du den Befehl zum Schließen schickst.
Die Regel sieht so aus
Wie man sieht, bin ich auch auf die Idee den Rollladen abzufragen gekommen, aber aus einem für mich unerfindlichen Grund schalten die Relays trotzdem alle 30 Sekunden. :?
Eine Idee woran das liegen könnte?
Schöne Grüße

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

Re: Bei Abfrage in Rule DSL Variable nicht vorhanden

Beitrag von udo1toni »

Ah. Rules bitte immer in Textform. Im Fall von UI-Rules gibt es dafür die Code-Ansicht. Den Text bitte immer als Code einfügen (im vollständigen Foren-Editor die Schaltfläche mit </> drauf), weil speziell bei yaml (das ist die Code-Ansicht in der UI) auch die Einrückungen wichtig sind. Außerdem wird Code so einfach markier- und kopierbar.

In der vorliegenden Rule testest Du auf DOWN. Rollershutter Items können keinen Status DOWN annehmen, DOWN ist ein Command.

Der Unterschied ist eigentlich schon im Namen erkennbar :) wird aber gerne vermischt, eventuell auch, weil es verschiedene Itemtypen gibt, bei denen die Mengen der Status und Commands deckungsgleich sind (z.B. Number, String, Switch)

Code: Alles auswählen

Itemtyp       |  Command  | Status  
------------------------------------
Switch        | ON, OFF   | ON, OFF 
------------------------------------
              | UP,DOWN,  |
Rollershutter | STOP,     | 0 - 100
              | 0 - 100   |
------------------------------------
              | ON, OFF,  |
Dimmer        | INCREASE, | 0 - 100
              | DECREASE, |
              | 0 - 100   |
Das Command wird als Trigger für Rules verwendet. Das Command wird an verlinkte Channel gesendet.
Der Status kommt im Idealfall direkt vom Channel, als Antwort auf einen Schaltbefehl. Dabei kann Dimmer und Rollershutter als Status aber lediglich die Position anzeigen, also beim Dimmer die Helligkeit und beim Rollershutter der Grad der Abdunklung (jeweils in Prozent).

Falls Deine Rollläden die Position nicht zurückmelden, macht das nichts, denn openHAB wird (als Default Verhalten, um "schneller" zu sein) den vermutlich "demnächst" gültigen Status "erraten" und "schon mal" ins Item schreiben. (Das schlägt sich im event.log nieder: "... prediceted to become ...")
Das bedeutet: Wenn Du das Command DOWN sendest, sollte der Status des Items anschließend 100 sein.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Proton
Beiträge: 93
Registriert: 10. Okt 2022 12:13
Answers: 4
Wohnort: Oberbergisches

Re: Bei Abfrage in Rule DSL Variable nicht vorhanden

Beitrag von Proton »

Ja, das war's :D
Beim nächsten Mal werde ich dann auch den Code kopieren. :!:
Ich habe noch mehr Fragen, aber dafür mache ich dann neue Threads auf :)
Nochmals vielen Dank!
Schönen Gruß

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

Re: Bei Abfrage in Rule DSL Variable nicht vorhanden

Beitrag von udo1toni »

Immer gerne :)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten