Reading 0 lässt sich nicht auswerten

Begonnen von lichtimc, 30 April 2022, 01:03:42

Vorheriges Thema - Nächstes Thema

lichtimc

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

Gisbert

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.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

lichtimc

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

Damian

DOIF kann nur auf Readings zugreifen, die mit einem Buchstaben anfangen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

lichtimc


Damian

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_\.-)

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

lichtimc

Danke, ich probiers dann und sag Bescheid!  ;D