[fhem.pl] Doku genauer beschreiben

Begonnen von betateilchen, 12 November 2022, 10:47:43

Vorheriges Thema - Nächstes Thema

betateilchen

Hallo Rudi,

in der commandref steht

Zitat
To access the device states/attributes, use the following functions:
Value(<devicename>)
Returns the state of the device (the string you see in parenthesis in the output of the list command).

Hier könnte man meiner Meinung nach klarstellen


  • dass STATE und state nicht das Gleiche ist
  • dass mit Value() ein internal abgefragt wird, und nicht ein reading des device
  • dass im internal STATE durchaus unerwartete Werte auftauchen können, z.B. weil der user mit stateformat arbeitet oder weil das Modul selbst das internal beschreibt
  • dass es in den allermeisten Fällen besser ist, mit ReadingsVal(<device>,'state',<value>) zu arbeiten, um das reading abzufragen.

Das fehlende Verständnis zur Unterscheidung zwischen internal und reading führt hier im Forum - nicht nur bei Anfängern! - immer wieder zu Problemen und eigentlich überflüssigen Threads.
Aber solange in der commandref steht, dass man mit Value() tatsächlich den Status eines device abfragen kann/soll, wird sich dieser Zustand vermutlich nicht bessern.


--
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Habe die Doku angepasst zu:
ZitatReturns the STATE of the device (the string you see in parenthesis in the output of the list command). Note: STATE is meant for display purposes, and can be customized by the user via the stateFormat attribute. Use ReadingsVal(<devicename>, 'state', '') instead for computational purposes.