FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Space_Teddy am 24 September 2021, 08:09:33

Titel: wie Reading im DOIF erstellen
Beitrag von: Space_Teddy am 24 September 2021, 08:09:33
Hallo und guten Morgen,

ich habe ein mehr oder weniger komplexes DOIF in dem ich ein paar Werte berechne und je nach Zustand eines Devices (Gaszähler) ein tmp value sicher.

Zitat
Beispiel: Heizung geht in WarmWasser Mode -> Zählerstand sichern (tmp); Heizung ist mit WW fertig -> Berechnung Aktueller_Zählerstand minus tmp-value.

Ich habe jetzt das tmp-reading mit einem userReading eintrag erstellt und dann den Eintrag wieder gelöscht, damit ich das reading habe, aber das ist natürlich total umständlich wenn man mal das system neu aufsetzen will. Schöner wäre es, wenn ich das reading im DOIF erstellen kann und auch prüfen, ob es schon vorhanden ist, damit man es nicht ständig neu erstellen muss.

Geht sowas?

dank euch
Chris

Titel: Antw:wie Reading im DOIF erstellen
Beitrag von: rabehd am 24 September 2021, 10:49:57
Irgendwie verstehe ich Deinen Prozess nicht.
Warum löscht Du das Userreading wieder?

Zitatwenn ich das reading im DOIF erstellen kann
Klar kann man das.
Titel: Antw:wie Reading im DOIF erstellen
Beitrag von: Space_Teddy am 24 September 2021, 10:57:01
Hi,

ich lösche das spezielle userreading nur im Eintrag "Attribut" userReadings. Das Reading selber bleibt natürlich bestehen, damit ich dort Werte abspeichern kann.

lg,
Christian
Titel: Antw:wie Reading im DOIF erstellen
Beitrag von: Christoph Morrison am 24 September 2021, 11:17:06
Setzen: setreading $SELF reading-name reading-value
Löschen: deletereading $SELF reading-name
Titel: Antw:wie Reading im DOIF erstellen
Beitrag von: Space_Teddy am 24 September 2021, 12:39:09
ja ok, danke. Das war einfach.  ;D :o
Kann man auch überprüfen, ob das reading vorhanden ist und man kommt eine definierte Antwort vom system? Also keine große Fehlermeldung wenn das reading nicht existiert. Dachte da so an 0 oder 1.

danke
Titel: Antw:wie Reading im DOIF erstellen
Beitrag von: Christoph Morrison am 24 September 2021, 12:44:55
Du kannst beim Zugriff auf ein Reading einen Default-Wert angeben, der zurückgeliefert wird, wenn das Reading nicht existiert. Wie du das machst, kommt drauf an, was zu nutzt. ReadingsVal() (https://wiki.fhem.de/wiki/DevelopmentModuleAPI#ReadingsVal) funktioniert immer. In DOIF geht das über einen Default-Wert [device:reading,default-wert].
Titel: Antw:wie Reading im DOIF erstellen
Beitrag von: Space_Teddy am 24 September 2021, 14:12:04
alright, das ich werde ich so mal probieren.
Dank dir und schönes WE

-> Funzt! Danke :)