Tasmota/ MQTT: Parse JSON Reading

Begonnen von hkspks, 01 Dezember 2022, 16:26:11

Vorheriges Thema - Nächstes Thema

hkspks

#15
OK, welches Reading würdest Du mithilfe eines DOIF-Readings summieren damit das restliche Skript noch funktioniert?

Meine Idee wäre:


defmod EnergieMonitor.df DOIF subs {\
##                     Device        Reading          hier die push-Zeilen löschen bzw. durch eigene Readings ersetzen\
  push (@{$_counter},["Lampe1","ENERGY_Total"]);; ## Wasserzähler\
  push (@{$_counter},["Lampe2","ENERGY_Total"]);; ## Wasserzähler\
  push (@{$_counter},["EnergieMonitor.df,"SUMMEÜBERALLELAMPEN"]);; ## Wasserzähler\

... }\

attr EnergieMonitor.df DOIF_Readings SUMMEÜBERALLELAMPEN:($SELF:e_Lampe1_ENERGY_Total+$SELF:e_Lampe2_ENERGY_Total)


Also ich packe quasi das DOIF selbst mit dem kalkulierten Reading für die Gerätegruppe in den "Abarbeitungsstack".

Macht das Sinn? Andernfalls wüsste ich zumindest nicht, wie sonst die Funktionen im Skript zur Historisierung der Werte noch funktionieren.

Damian

Was ist das für eine Syntax:

SUMMEÜBERALLELAMPEN:($SELF:e_Lampe1_ENERGY_Total+$SELF:e_Lampe2_ENERGY_Total)

Readings werden immer in eckige Klammern gesetzt: [device:reading]
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hkspks

Noch eine Frage zum uitable: gibt es eine Möglichkeit, eine Grafik/ card wieder zurückzusetzen? Ich hatte das .col reading mit setreading wieder genullt, allerdings hat das nur Einfluss auf den weiteren Verlauf und nicht auf die vergangenen Werte. Wo werden denn diese gecached und komme ich da irgendwie ran? :-)

setreading .col_72_[...]_Total.last_month_8760_values ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Damian

Zitat von: hkspks am 24 Januar 2023, 11:54:47
Noch eine Frage zum uitable: gibt es eine Möglichkeit, eine Grafik/ card wieder zurückzusetzen? Ich hatte das .col reading mit setreading wieder genullt, allerdings hat das nur Einfluss auf den weiteren Verlauf und nicht auf die vergangenen Werte. Wo werden denn diese gecached und komme ich da irgendwie ran? :-)

setreading .col_72_[...]_Total.last_month_8760_values ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
z. Zt. geht es so nicht zur Laufzeit.

Entweder du kommentierst die card aus, dann das System zwei mal durchstarten, damit das .col-Reading verschwindet und dann die card wieder aktivieren.

Oder du stoppst das System und löschst das .col-Reading in der cfg-Datei.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hkspks

Danke - hat geklappt. Wäre ich nie drauf gekommen ;-)

Damian

Ich werde zukünftig eine Funktion zum Löschen und zum Übernehmen von Werten aus dem Log zur Verfügung stellen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF