Summenbildung mehrere Readings eines Devices

Begonnen von ThomasFh, 18 Mai 2022, 11:15:09

Vorheriges Thema - Nächstes Thema

ThomasFh

Hallo,

ich nutze fhem schon seit vielen Jahren in diversen Szenarien, stelle aber immer wieder fest, das ich eigentlich nichts verstanden habe.
Die Suchfunktion und die cmdref habe ich genutzt, bin aber schlicht weg nicht in der Lage alles zu erfassen.

Komme noch bis zum Aggregieren von Werten und #sum Summe
aber mangels Beispiel fehlt es mir an Grips ..

[<function>:<format>:"<regex device>:<regex event>":<reading>|"<regex reading>":<condition>,<default>]




Ich lese momentan per Modbus TCP vier Microinverter (später sind es 6 Stück) mit je 4 Ports aus und möchte die Readings jedes einzelnen Ports in einer Summe zusammenfassen.

D.h., ich möchte lediglich meine momentan 16 Readings in einer Summe zusammenfassen und finde keine Funktion die das macht.




Readings
PowerMi1Port1_Watt 241.1 18.05.2022 11:11
PowerMi1Port2_Watt 238.9 18.05.2022 11:11
PowerMi1Port3_Watt 240.6 18.05.2022 11:11
PowerMi1Port4_Watt 189.9 18.05.2022 11:11
PowerMi2Port1_Watt 228.7 18.05.2022 11:11
PowerMi2Port2_Watt 228.6 18.05.2022 11:11
PowerMi2Port3_Watt 158.6 18.05.2022 11:11
PowerMi2Port4_Watt 183.1 18.05.2022 11:11
PowerMi3Port1_Watt 247.8 18.05.2022 11:11
PowerMi3Port2_Watt 243.2 18.05.2022 11:11
PowerMi3Port3_Watt 242.3 18.05.2022 11:11
PowerMi3Port4_Watt 245.1 18.05.2022 11:11
PowerMi4Port1_Watt 197.3 18.05.2022 11:11
PowerMi4Port2_Watt 160.2 18.05.2022 11:11
PowerMi4Port3_Watt 179.5 18.05.2022 11:11
PowerMi4Port4_Watt 160.2 18.05.2022 11:11



Und ich hätte gerne die Summe über alles

Hier die Bildung der Readings für für einen der vier Microinverter


#1.er MI
#Lese die Register
#PV-Power
#0x1010 muss in dezimal umrechnen: 4112
attr Hoymiles obj-h4112-reading PowerMi1Port1_Watt
attr Hoymiles obj-h4112-expr $val / 10

#0x1038 next PV-Power (delta 28hex == 40dez
attr Hoymiles obj-h4152-reading PowerMi1Port2_Watt
attr Hoymiles obj-h4152-expr $val / 10

#next PV-Power
attr Hoymiles obj-h4192-reading PowerMi1Port3_Watt
attr Hoymiles obj-h4192-expr $val / 10

#next PV-Power
attr Hoymiles obj-h4232-reading PowerMi1Port4_Watt
attr Hoymiles obj-h4232-expr $val / 10


PS: im moment summiere ich stumpf in einem userReading



Danke vorab
EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C

Damian

Zitat von: ThomasFh am 18 Mai 2022, 11:15:09
Hallo,

ich nutze fhem schon seit vielen Jahren in diversen Szenarien, stelle aber immer wieder fest, das ich eigentlich nichts verstanden habe.
Die Suchfunktion und die cmdref habe ich genutzt, bin aber schlicht weg nicht in der Lage alles zu erfassen.

Komme noch bis zum Aggregieren von Werten und #sum Summe
aber mangels Beispiel fehlt es mir an Grips ..

[<function>:<format>:"<regex device>:<regex event>":<reading>|"<regex reading>":<condition>,<default>]




Ich lese momentan per Modbus TCP vier Microinverter (später sind es 6 Stück) mit je 4 Ports aus und möchte die Readings jedes einzelnen Ports in einer Summe zusammenfassen.

D.h., ich möchte lediglich meine momentan 16 Readings in einer Summe zusammenfassen und finde keine Funktion die das macht.




Readings
PowerMi1Port1_Watt 241.1 18.05.2022 11:11
PowerMi1Port2_Watt 238.9 18.05.2022 11:11
PowerMi1Port3_Watt 240.6 18.05.2022 11:11
PowerMi1Port4_Watt 189.9 18.05.2022 11:11
PowerMi2Port1_Watt 228.7 18.05.2022 11:11
PowerMi2Port2_Watt 228.6 18.05.2022 11:11
PowerMi2Port3_Watt 158.6 18.05.2022 11:11
PowerMi2Port4_Watt 183.1 18.05.2022 11:11
PowerMi3Port1_Watt 247.8 18.05.2022 11:11
PowerMi3Port2_Watt 243.2 18.05.2022 11:11
PowerMi3Port3_Watt 242.3 18.05.2022 11:11
PowerMi3Port4_Watt 245.1 18.05.2022 11:11
PowerMi4Port1_Watt 197.3 18.05.2022 11:11
PowerMi4Port2_Watt 160.2 18.05.2022 11:11
PowerMi4Port3_Watt 179.5 18.05.2022 11:11
PowerMi4Port4_Watt 160.2 18.05.2022 11:11



Und ich hätte gerne die Summe über alles

Hier die Bildung der Readings für für einen der vier Microinverter


#1.er MI
#Lese die Register
#PV-Power
#0x1010 muss in dezimal umrechnen: 4112
attr Hoymiles obj-h4112-reading PowerMi1Port1_Watt
attr Hoymiles obj-h4112-expr $val / 10

#0x1038 next PV-Power (delta 28hex == 40dez
attr Hoymiles obj-h4152-reading PowerMi1Port2_Watt
attr Hoymiles obj-h4152-expr $val / 10

#next PV-Power
attr Hoymiles obj-h4192-reading PowerMi1Port3_Watt
attr Hoymiles obj-h4192-expr $val / 10

#next PV-Power
attr Hoymiles obj-h4232-reading PowerMi1Port4_Watt
attr Hoymiles obj-h4232-expr $val / 10


PS: im moment summiere ich stumpf in einem userReading



Danke vorab

Du solltest immer benennen, auf welches Modul du dich beziehst - die Commandref ist inzwischen recht lang ;)

Beim DOIF gibt es ein Beispiel, welches zu deinem Problem passt:


ZitatDurchschnitt von Readings aller Devices, die mit "T_" beginnen, in deren Reading-Namen "temp" vorkommt:

[#average:"^T_":"temp"]

Das musst du nur für deine Bedürfnisse anpassen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF