serteading mit Berechnung

Begonnen von dirk.k, 07 Mai 2024, 22:43:33

Vorheriges Thema - Nächstes Thema

dirk.k

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

Beta-User

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))},
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files