FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: lichtimc am 30 April 2022, 01:03:42

Titel: Reading 0 lässt sich nicht auswerten
Beitrag von: lichtimc am 30 April 2022, 01:03:42
Hallo,

ich hab ein Gerät mit dem Reading "0" (ohne Anführungszeichen). Wenn ich versuche, das Reading anzusprechen erscheint immer das Internal "STATE" anstatt des Readings "0":
[device:0]

Jemand eine Idee, wie ich das DOIF dazu kriege, wirklich auf das Reading "0" zuzugreifen?

Danke, lg
Titel: Antw:Reading 0 lässt sich nicht auswerten
Beitrag von: Gisbert am 30 April 2022, 08:18:25
Hallo lichtime,

welches Device liefert denn ein Reading mit dem Namen 0? Und selbst wenn, warum machst du dir die Sache schwerer als nötig?
Versuche ein userReadings zu erstellen, dass du für deine weiteren Anwendungsfälle nutzt:
attr device userReadings null {ReadingsVal($name,'0','')

Viele​ Grüße​ Gisbert​

PS: ein list deines Devices oder zumindest die raw-Definition sind hilfreich, falls dir jemand kompetent Hilfe geben will.
Titel: Antw:Reading 0 lässt sich nicht auswerten
Beitrag von: lichtimc am 03 Mai 2022, 17:22:52
Hi Gisbert,

danke für die Antwort. Ja klar, dass die Möglichkeit mit dem Userreading existiert, war mir klar. Es gäbe auch noch mehrere weitere Workarounds.
Aber sollte es nicht als Fehler im DOIF-Modul behandelt werden, wenn das mit der lt. Doku korrekten Ansprechweise von Readings nicht funktioniert?

Das Gerät ist ein HTTPMOD, welches per JSON das Reading 0 zurückliefert. (Ja, ich weiß, dass ich auch hier manuell die Readings definieren könnte, aber das ist nicht das Thema.)

lg David
Titel: Antw:Reading 0 lässt sich nicht auswerten
Beitrag von: Damian am 03 Mai 2022, 17:34:06
DOIF kann nur auf Readings zugreifen, die mit einem Buchstaben anfangen.
Titel: Antw:Reading 0 lässt sich nicht auswerten
Beitrag von: lichtimc am 03 Mai 2022, 17:34:54
Nein, ab 1 funktionierts.
Titel: Antw:Reading 0 lässt sich nicht auswerten
Beitrag von: Damian am 03 Mai 2022, 18:30:44
Zitat von: lichtimc am 03 Mai 2022, 17:34:54
Nein, ab 1 funktionierts.

OK. Dann geht mehr als ich wollte. Ich habe jetzt auch die 0 erlaubt (neue DOIF-Version eingecheckt). Allerdings scheitert das Testen bereits an:

setreading test 0 123

mit der Fehlermeldung:

Zitattest: bad reading name '0' (allowed chars: A-Za-z/\d_\.-)

;)
Titel: Antw:Reading 0 lässt sich nicht auswerten
Beitrag von: lichtimc am 03 Mai 2022, 18:34:48
Danke, ich probiers dann und sag Bescheid!  ;D