FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Carsten K. am 28 September 2021, 13:29:49

Titel: [gelöst] Fehlverhalten von Readings-Syntax?
Beitrag von: Carsten K. am 28 September 2021, 13:29:49
Hallo,
ich verwende in diversen DOIFs die eckigen Klammern, um auf Readings zuzugreifen.
Laut Referenz kann der Status eines Objekts "Switch1" z.B. so verwendet werden
define di_Modul DOIF ([Switch1] eq "on" and [Switch2] eq "on")

Bei der Abfrage von [sc_kueche_fenster] bekomme ich als Ergebnis von msg push TEST [sc_kueche_fenster:state] (über SIGNAL) die Ausgabe "TEST [sc_kueche_fenster]" ==> FALSCH.

Bei der Abfrage von [sc_kueche_fenster] bekomme ich als Ergebnis von msg push TEST [sc_kueche_fenster:state] (über SIGNAL) die Ausgabe "TEST closed" ==> KORREKT.
D.h., wenn ich direkt auf das Reading ":state" gehe, bekomme ich den erwarteten Wert.

Meine FHEM-Version ist "Latest Revision: 23534".

Ich weiß aktuell nicht, wo ich nach der Ursache suchen soll; ansonsten würde ich alle entsprechenden [...] Verwendungen mit ":state" ergänzen (nicht so schön)...

Vielen Dank im Voraus für eure Hinweise,
Carsten
Titel: Antw:Fehlverhalten von Readings-Syntax?
Beitrag von: Nobbynews am 28 September 2021, 13:40:47
Zitat von: Carsten K. am 28 September 2021, 13:29:49
Bei der Abfrage von [sc_kueche_fenster]
Das sollte bei der zweiten vermutlich so heißen:
[sc_kueche_fenster:state]

Den Denkfehler habe ich auch gemacht.
[sc_kueche_fenster] fragt ein Ereignis ab.
[sc_kueche_fenster:state] fragt den Zustand ab.

siehe auch hier: https://forum.fhem.de/index.php/topic,122611.0.html (https://forum.fhem.de/index.php/topic,122611.0.html)

Edit:
Bitte noch in das richtige Unterforum verschieben.
Da es um DOIF geht, also "Automatisierung/DOIF"
Titel: Antw:Fehlverhalten von Readings-Syntax?
Beitrag von: Carsten K. am 28 September 2021, 13:45:26
@Nobbynews, Vielen Dank für die schnelle Antwort  :D
Titel: Antw:Fehlverhalten von Readings-Syntax?
Beitrag von: Damian am 28 September 2021, 13:48:35
Innerhalb eines DOIFs (auch im Ausführungsteil) sollten beide Optionen funktionieren.

Außerhalb von DOIF (set magic) funktioniert es nicht ohne Readingangabe (state) - das gilt aber nur für set und setreading, was msg macht weiß ich nicht.

In der Bedingung reagiert DOIF bei state-Angabe nur auf Events vom State, sonst auf alle Events - das kostet mehr Performance.




Titel: Antw:Fehlverhalten von Readings-Syntax?
Beitrag von: Damian am 28 September 2021, 13:53:26
Zitat von: Nobbynews am 28 September 2021, 13:40:47
[sc_kueche_fenster] fragt ein Ereignis ab.
[sc_kueche_fenster:state] fragt den Zustand ab.

Das ist falsch.

Beides sind Zustandsabfragen mit Trigger. Beim ersten triggern alle Events von sc_kueche_fenster das DOIF (hier wird mit Value der Zustand von STATE abgefragt), beim zweiten triggern nur Änderungen (Events) vom Status, abgefragt wird das Reading "state".
Titel: Antw:Fehlverhalten von Readings-Syntax?
Beitrag von: Nobbynews am 28 September 2021, 14:07:36
Zitat von: Damian am 28 September 2021, 13:53:26
Das ist falsch.
Stimmt. Ich habe nicht beachtet, dass es sich nicht um Bedingungen sondern um Befehle im Sinne von DOIF handelt.