userreadings werden nicht aktualisiert, warum?

Begonnen von Jackie, 11 Juli 2022, 21:30:53

Vorheriges Thema - Nächstes Thema

Jackie

Hallo,

ich versuche, bei meinem Wechselrichter bestimmte Werte in Watt in Kilowatt umzurechnen. Dazu verwende ich folgende Userreadings:


attr Wechselrichter userReadings PowerFlow_Site_E_Day_KW {ReadingsVal("Wechselrichter","PowerFlow_Site_E_Day","???")/1000}
attr Wechselrichter userReadings PowerFlow_Site_P_PV_KW {ReadingsVal("Wechselrichter","PowerFlow_Site_P_PV","???")/1000}


Mein Problem ist nun, dass die neuen Werte (*_KW) nicht aktualisiert werden, sie wurden einmal beim Anlegen der Userreadings korrekt gesetzt. Ich habe es so verstanden, dass Userreadings immer geöndert werden, wenn die Ursprungsreadings sich ändern, das tun sie bei mir aber nicht. Was übersehe ich? Vielen Dank!
Raspi 3 mit FHEM, LWZ 304 Trend, Fronius Symo 10.0-3-M, Conbee II Stick, Optokoppler (USB, FTDI), diverse Ikea Tradfri Komponenten,...

frank

ausführung bei jedem event vom device.
siehst du events im eventmonitor?
gibt es fehlermeldungen in fhem.log?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

OdfFhem

@Jackie

Das Attribut userReadings gibt es nur einmal pro FHEM-Device ... die zweite Definition überschreibt die erste, usw.

Um Deinen Anwendungsfall besser beurteilen zu können, solltest Du ein list vom FHEM-Device Wechselrichter einstellen.

Desweiteren wird bei userreadings gerne auf event-on-change-reading vom FHEM-Device sowie die trigger-Angabe von userReadings zurückgegriffen - ein Wert müsste dann nur neu berechnet werden, wenn sich sein Ausgangswert auch tatsächlich geändert hat.

Jackie

Hallo OdfFhem,

Dein Tipp hat definitiv weitergeholfen, ich ging naiv davon aus, dass ich die Userreadings auch einzeln definieren kann. Jetzt habe ich sie wie folgt definiert, und die Updates kommen, also vielen Dank!

attr Wechselrichter userReadings PowerFlow_Site_E_Day_KW {ReadingsVal("Wechselrichter","PowerFlow_Site_E_Day","???")/1000}, PowerFlow_Site_P_PV_KW {ReadingsVal("Wechselrichter","PowerFlow_Site_P_PV","???")/1000}, statPowerFlow_Site_P_PVDayMax_KW {ReadingsVal("Wechselrichter","statPowerFlow_Site_P_PVDayMax","???")/1000}


Hier noch der gewünschte List des Wechselrichters, falls du eine bessere Idee hast wie ich die Werte von Watt nach Kilowatt umrechnen kann (für die Darstellung in FHEM und in TabletUI), sehr gerne :-)


Internals:
   DEF        192.168.178.105
   FUUID      62c69bb3-f33f-6bf2-9d60-fe8d69a463d6e8a7
   NAME       Wechselrichter
   NR         201
   STATE      connected
   TYPE       fronius
   eventCount 1845
   READINGS:
     2022-07-12 06:28:46   API_APIVersion  1
     2022-07-12 06:28:46   API_BaseURL     /solar_api/v1/
     2022-07-12 06:28:46   API_CompatibilityRange 1.8-1
     2022-07-12 06:06:50   API_data        nodata
     2022-07-08 05:31:35   DeviceInfo_APIVersion 1
     2022-07-08 05:31:35   DeviceInfo_BaseURL /solar_api/v1/
     2022-07-08 05:31:35   DeviceInfo_CompatibilityRange 1.8-1
     2022-07-12 06:28:49   DeviceInfo_Inverter_1_DT 232
     2022-07-12 06:28:49   DeviceInfo_Inverter_1_Serial 31136294
     2022-07-12 09:01:03   Inverter_3P_IAC_L1_Unit A
     2022-07-12 09:01:03   Inverter_3P_IAC_L1_Value 6.37
     2022-07-12 09:01:03   Inverter_3P_IAC_L2_Unit A
     2022-07-12 09:01:03   Inverter_3P_IAC_L2_Value 6.47
     2022-07-12 09:01:03   Inverter_3P_IAC_L3_Unit A
     2022-07-12 09:01:03   Inverter_3P_IAC_L3_Value 6.38
     2022-07-12 09:01:03   Inverter_3P_UAC_L1_Unit V
     2022-07-12 09:01:03   Inverter_3P_UAC_L1_Value 236.9
     2022-07-12 09:01:03   Inverter_3P_UAC_L2_Unit V
     2022-07-12 09:01:03   Inverter_3P_UAC_L2_Value 243.9
     2022-07-12 09:01:03   Inverter_3P_UAC_L3_Unit V
     2022-07-12 09:01:03   Inverter_3P_UAC_L3_Value 243.4
     2022-07-12 09:01:03   Inverter_Common_DAY_ENERGY_Unit Wh
     2022-07-12 09:01:03   Inverter_Common_DAY_ENERGY_Value 8182
     2022-07-12 09:01:03   Inverter_Common_DeviceStatus_ErrorCode 0
     2022-07-12 09:01:03   Inverter_Common_DeviceStatus_LEDColor 2
     2022-07-12 09:01:03   Inverter_Common_DeviceStatus_LEDState 0
     2022-07-12 09:01:03   Inverter_Common_DeviceStatus_MgmtTimerRemainingTime -1
     2022-07-12 09:01:03   Inverter_Common_DeviceStatus_StateToReset false
     2022-07-12 09:01:03   Inverter_Common_DeviceStatus_StatusCode 7
     2022-07-12 09:01:03   Inverter_Common_FAC_Unit Hz
     2022-07-12 09:01:03   Inverter_Common_FAC_Value 50.02
     2022-07-12 09:01:03   Inverter_Common_IAC_Unit A
     2022-07-12 09:01:03   Inverter_Common_IAC_Value 19.22
     2022-07-12 09:01:03   Inverter_Common_IDC_Unit A
     2022-07-12 09:01:03   Inverter_Common_IDC_Value 10.24
     2022-07-12 09:01:03   Inverter_Common_PAC_Unit W
     2022-07-12 09:01:03   Inverter_Common_PAC_Value 4639
     2022-07-12 09:01:03   Inverter_Common_TOTAL_ENERGY_Unit Wh
     2022-07-12 09:01:03   Inverter_Common_TOTAL_ENERGY_Value 535290
     2022-07-12 09:01:03   Inverter_Common_UAC_Unit V
     2022-07-12 09:01:03   Inverter_Common_UAC_Value 236.9
     2022-07-12 09:01:03   Inverter_Common_UDC_Unit V
     2022-07-12 09:01:03   Inverter_Common_UDC_Value 520.6
     2022-07-12 09:01:03   Inverter_Common_YEAR_ENERGY_Unit Wh
     2022-07-12 09:01:03   Inverter_Common_YEAR_ENERGY_Value 535290.69
     2022-07-12 09:01:03   Inverter_Cumulation_DAY_ENERGY_Unit Wh
     2022-07-12 09:01:03   Inverter_Cumulation_DAY_ENERGY_Value 8182
     2022-07-12 09:01:03   Inverter_Cumulation_DeviceStatus_ErrorCode 0
     2022-07-12 09:01:03   Inverter_Cumulation_DeviceStatus_LEDColor 2
     2022-07-12 09:01:03   Inverter_Cumulation_DeviceStatus_LEDState 0
     2022-07-12 09:01:03   Inverter_Cumulation_DeviceStatus_MgmtTimerRemainingTime -1
     2022-07-12 09:01:03   Inverter_Cumulation_DeviceStatus_StateToReset false
     2022-07-12 09:01:03   Inverter_Cumulation_DeviceStatus_StatusCode 7
     2022-07-12 09:01:03   Inverter_Cumulation_PAC_Unit W
     2022-07-12 09:01:03   Inverter_Cumulation_PAC_Value 4639
     2022-07-12 09:01:03   Inverter_Cumulation_TOTAL_ENERGY_Unit Wh
     2022-07-12 09:01:03   Inverter_Cumulation_TOTAL_ENERGY_Value 535290
     2022-07-12 09:01:03   Inverter_Cumulation_YEAR_ENERGY_Unit Wh
     2022-07-12 09:01:03   Inverter_Cumulation_YEAR_ENERGY_Value 535290.69
     2022-07-12 07:51:01   Inverter_System_DAY_ENERGY_Unit Wh
     2022-07-12 07:51:01   Inverter_System_DAY_ENERGY_Values_1 3143
     2022-07-12 07:51:01   Inverter_System_PAC_Unit W
     2022-07-12 07:51:01   Inverter_System_PAC_Values_1 3658
     2022-07-12 07:51:01   Inverter_System_TOTAL_ENERGY_Unit Wh
     2022-07-12 07:51:01   Inverter_System_TOTAL_ENERGY_Values_1 530250
     2022-07-12 07:51:01   Inverter_System_YEAR_ENERGY_Unit Wh
     2022-07-12 07:51:01   Inverter_System_YEAR_ENERGY_Values_1 530250
     2022-07-12 09:01:03   Inverter_System_data nodata
     2022-07-08 05:31:53   PowerFlow_Inverter_1_DT 232
     2022-07-08 05:31:53   PowerFlow_Inverter_1_Serial 31136294
     2022-07-12 09:01:55   PowerFlow_Inverters_1_DT 232
     2022-07-12 09:01:55   PowerFlow_Inverters_1_E_Day 8248
     2022-07-12 09:01:55   PowerFlow_Inverters_1_E_Total 535356
     2022-07-12 09:01:55   PowerFlow_Inverters_1_E_Year 535356.5
     2022-07-12 09:01:55   PowerFlow_Inverters_1_P 4757
     2022-07-12 09:01:55   PowerFlow_Site_E_Day 8248
     2022-07-12 09:01:55   PowerFlow_Site_E_Day_KW 8.248
     2022-07-12 09:01:55   PowerFlow_Site_E_Total 535356
     2022-07-12 09:01:55   PowerFlow_Site_E_Year 535356.5
     2022-07-12 09:01:55   PowerFlow_Site_Meter_Location unknown
     2022-07-12 09:01:55   PowerFlow_Site_Mode produce-only
     2022-07-12 09:01:55   PowerFlow_Site_P_Akku 0
     2022-07-12 09:01:55   PowerFlow_Site_P_Grid 0
     2022-07-12 09:01:55   PowerFlow_Site_P_Load 0
     2022-07-12 09:01:55   PowerFlow_Site_P_PV 4757
     2022-07-12 09:01:55   PowerFlow_Site_P_PV_KW 4.757
     2022-07-12 09:01:55   PowerFlow_Site_rel_Autonomy 0
     2022-07-12 09:01:55   PowerFlow_Site_rel_SelfConsumption 0
     2022-07-12 09:01:55   PowerFlow_Version 12
     2022-07-12 09:01:55   PowerFlow_data  nodata
     2022-07-12 09:01:55   statPowerFlow_Site_P_PVDay Min: 0 Avg: 910 Max: 5217
     2022-07-11 23:59:55   statPowerFlow_Site_P_PVDayLast Min: 0 Avg: 3192 Max: 10087
     2022-07-12 09:01:55   statPowerFlow_Site_P_PVDayMax 5217
     2022-07-11 23:59:55   statPowerFlow_Site_P_PVDayMaxLast 10087
     2022-07-12 09:01:55   statPowerFlow_Site_P_PVDayMax_KW 5.217
     2022-07-12 09:01:55   statPowerFlow_Site_P_PVDayMin 0
     2022-07-11 23:59:55   statPowerFlow_Site_P_PVDayMinLast 0
     2022-07-12 09:01:55   statPowerFlow_Site_P_PVHour Min: 4522 Avg: 4763 Max: 4806
     2022-07-12 08:59:55   statPowerFlow_Site_P_PVHourLast Min: 3793 Avg: 4397 Max: 5217
     2022-07-12 09:01:55   statPowerFlow_Site_P_PVMonth Min: 0 Avg: 3058 Max: 10092 (since: 2022-07-07_13:19:09 )
     2022-07-12 09:01:55   statPowerFlow_Site_P_PVYear Min: 0 Avg: 3058 Max: 10092 (since: 2022-07-07_13:19:09 )
     2022-07-12 06:28:46   state           connected
   helper:
     RUNNING_REQUEST 0
     _98_statistics WechselrichterStatDevice
     CMD_QUEUE:
Attributes:
   room       Hauswirtschaftsraum
   userReadings PowerFlow_Site_E_Day_KW {ReadingsVal("Wechselrichter","PowerFlow_Site_E_Day","???")/1000}, PowerFlow_Site_P_PV_KW {ReadingsVal("Wechselrichter","PowerFlow_Site_P_PV","???")/1000}, statPowerFlow_Site_P_PVDayMax_KW {ReadingsVal("Wechselrichter","statPowerFlow_Site_P_PVDayMax","???")/1000}
   verbose    2
Raspi 3 mit FHEM, LWZ 304 Trend, Fronius Symo 10.0-3-M, Conbee II Stick, Optokoppler (USB, FTDI), diverse Ikea Tradfri Komponenten,...

yersinia

#4
Drei Anmerkungen:
1. wenn du rechnen willst nimm ReadingsNum()
2. nutze sprintf um die Anzeige auf drei Nachkommastellen zu begrenzen (just in case)
3. setz' einen Trigger (dann wird das userReading nur dann aktualisiert wenn das zugrunde liegende Reading aktualisiert wird)
attr Wechselrichter userReadings PowerFlow_Site_E_Day_KW:PowerFlow_Site_E_Day { return sprintf("%.3f", (ReadingsNum($name,"PowerFlow_Site_E_Day",0)/1000));; }, PowerFlow_Site_P_PV_KW:PowerFlow_Site_P_PV { return sprintf("%.3f", (ReadingsNum($name,"PowerFlow_Site_P_PV",0)/1000));; }, statPowerFlow_Site_P_PVDayMax_KW:statPowerFlow_Site_P_PVDayMax { return sprintf("%.3f", ReadingsNum($name,"statPowerFlow_Site_P_PVDayMax",0)/1000));; }
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl