FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: dirk.k am 07 Mai 2024, 22:43:33

Titel: serteading mit Berechnung
Beitrag von: dirk.k am 07 Mai 2024, 22:43:33
Hallo zusammen,
ich versuche per "at" einen Wert in ein reading zu schreiben, welcher die Differenz von 2 anderen readings ist:
([00:01] and  $mday==1 ) (
setreading MQTT2_new_tasmota_ORBIS my_PVS_generated_kwh_Month (ReadingsNum("MQTT2_new_tasmota_ORBIS","my_PVS_generated_kwh_total",0) - ReadingsNum("MQTT2_new_tasmota_ORBIS","tmp_PVS_generated_kwh_lastMonth",0)),
setreading MQTT2_new_tasmota_ORBIS tmp_PVS_generated_kwh_lastMonth [MQTT2_new_tasmota_ORBIS:my_PVS_generated_kwh_total],
)


heraus bekomme ich aber als Wert im Reading:
(ReadingsNum("MQTT2_new_tasmota_ORBIS","my_PVS_generated_kwh_total",0) - ReadingsNum("MQTT2_new_tasmota_ORBIS","tmp_PVS_generated_kwh_lastMonth",0))

oder bestenfalls bei einem anderen Versuch:
(174.14-166.54)

... aber nie das errechnete Ergebnis.

Wie müsste das aussehen, damit ein errechnetes Ergebnis als Wert im Reading landet?

Danke,
Dirk
Titel: Aw: serteading mit Berechnung
Beitrag von: Beta-User am 07 Mai 2024, 22:49:29
Das sieht zwar nicht nach "at"-Code aus, aber da "list" bzw. "copy for forum" aus der Mode gekommen zu sein scheinen, als ungeprüfte Trockenübungsanmerkung: "set magic" mit Perl-Code muss man mit zusätzlichen geschweiften Klammern um den "normal geklammerten" (Ironie) Code versehen, wenn ich das richig im Kopf habe. Also diesen Teil so:
setreading MQTT2_new_tasmota_ORBIS my_PVS_generated_kwh_Month {(ReadingsNum("MQTT2_new_tasmota_ORBIS","my_PVS_generated_kwh_total",0) - ReadingsNum("MQTT2_new_tasmota_ORBIS","tmp_PVS_generated_kwh_lastMonth",0))},