Autor Thema: [gelöst] Fehlverhalten von Readings-Syntax?  (Gelesen 257 mal)

Offline Carsten K.

  • Full Member
  • ***
  • Beiträge: 160
[gelöst] Fehlverhalten von Readings-Syntax?
« 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
« Letzte Änderung: 28 September 2021, 13:45:47 von Carsten K. »
NUC FHEM, CC1101-USB-Lite 868MHz; RPi B+ FHEM; RPi B Sandbox
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Offline Nobbynews

  • Full Member
  • ***
  • Beiträge: 373
Antw:Fehlverhalten von Readings-Syntax?
« Antwort #1 am: 28 September 2021, 13:40:47 »
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

Edit:
Bitte noch in das richtige Unterforum verschieben.
Da es um DOIF geht, also "Automatisierung/DOIF"
« Letzte Änderung: 28 September 2021, 13:44:55 von Nobbynews »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Carsten K.

  • Full Member
  • ***
  • Beiträge: 160
Antw:Fehlverhalten von Readings-Syntax?
« Antwort #2 am: 28 September 2021, 13:45:26 »
@Nobbynews, Vielen Dank für die schnelle Antwort  :D
NUC FHEM, CC1101-USB-Lite 868MHz; RPi B+ FHEM; RPi B Sandbox
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 9062
Antw:Fehlverhalten von Readings-Syntax?
« Antwort #3 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.




Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 9062
Antw:Fehlverhalten von Readings-Syntax?
« Antwort #4 am: 28 September 2021, 13:53:26 »
[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".
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Nobbynews

  • Full Member
  • ***
  • Beiträge: 373
Antw:Fehlverhalten von Readings-Syntax?
« Antwort #5 am: 28 September 2021, 14:07:36 »
Das ist falsch.
Stimmt. Ich habe nicht beachtet, dass es sich nicht um Bedingungen sondern um Befehle im Sinne von DOIF handelt.