Seite 2 von 2

Re: Bei Abfrage in Rule DSL Variable nicht vorhanden

Verfasst: 25. Apr 2023 21:20
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

Re: Bei Abfrage in Rule DSL Variable nicht vorhanden

Verfasst: 25. Apr 2023 23:53
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.

Re: Bei Abfrage in Rule DSL Variable nicht vorhanden

Verfasst: 26. Apr 2023 00:54
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ß

Re: Bei Abfrage in Rule DSL Variable nicht vorhanden

Verfasst: 26. Apr 2023 02:18
von udo1toni
Immer gerne :)