ZitatNur das die Readings nach dem lesen nicht sofort aktualisiert werdenlangsame Hardware ? könnte am BlockingCall liegen. Ist dann aber richtig so.
define zaehler_orno516 ModbusAttr 1 60
attr zaehler_orno516 dev-h-defLen 4
attr zaehler_orno516 dev-h-defPoll 1
attr zaehler_orno516 disable 0
attr zaehler_orno516 enableControlSet 1
attr zaehler_orno516 event-min-interval .*:900
attr zaehler_orno516 event-on-change-reading .*
attr zaehler_orno516 obj-h0-reading Serialnbr
attr zaehler_orno516 obj-h13-len 1
attr zaehler_orno516 obj-h13-reading CycleTime
attr zaehler_orno516 obj-h14-format %.1f
attr zaehler_orno516 obj-h14-reading Volt_L1
attr zaehler_orno516 obj-h14-unpack f>
attr zaehler_orno516 obj-h16-format %.1f
attr zaehler_orno516 obj-h16-reading Volt_L2
attr zaehler_orno516 obj-h16-unpack f>
attr zaehler_orno516 obj-h18-format %.1f
attr zaehler_orno516 obj-h18-reading Volt_L3
attr zaehler_orno516 obj-h18-unpack f>
attr zaehler_orno516 obj-h20-format %.1f
attr zaehler_orno516 obj-h20-reading Frequenz_Hz
attr zaehler_orno516 obj-h20-unpack f>
attr zaehler_orno516 obj-h22-format %.2f
attr zaehler_orno516 obj-h22-reading Leistung_L1
attr zaehler_orno516 obj-h22-unpack f>
attr zaehler_orno516 obj-h24-format %.2f
attr zaehler_orno516 obj-h24-reading Leistung_L2
attr zaehler_orno516 obj-h24-unpack f>
attr zaehler_orno516 obj-h256-format %.2f
attr zaehler_orno516 obj-h256-reading kWh_Gesamt
attr zaehler_orno516 obj-h256-unpack f>
attr zaehler_orno516 obj-h258-format %.2f
attr zaehler_orno516 obj-h258-reading kWh_L1
attr zaehler_orno516 obj-h258-unpack f>
attr zaehler_orno516 obj-h26-format %.2f
attr zaehler_orno516 obj-h26-reading Leistung_L3
attr zaehler_orno516 obj-h26-unpack f>
attr zaehler_orno516 obj-h260-format %.2f
attr zaehler_orno516 obj-h260-reading kWh_L2
attr zaehler_orno516 obj-h260-unpack f>
attr zaehler_orno516 obj-h262-format %.2f
attr zaehler_orno516 obj-h262-reading kWh_L3
attr zaehler_orno516 obj-h262-unpack f>
attr zaehler_orno516 obj-h28-format %.3f
attr zaehler_orno516 obj-h28-reading kW_Gesamt
attr zaehler_orno516 obj-h28-unpack f>
attr zaehler_orno516 obj-h30-format %.3f
attr zaehler_orno516 obj-h30-reading kW_L1
attr zaehler_orno516 obj-h30-unpack f>
attr zaehler_orno516 obj-h32-format %.3f
attr zaehler_orno516 obj-h32-reading kW_L2
attr zaehler_orno516 obj-h32-unpack f>
attr zaehler_orno516 obj-h34-format %.3f
attr zaehler_orno516 obj-h34-reading kW_L3
attr zaehler_orno516 obj-h34-unpack f>
attr zaehler_orno516 obj-h54-format %.3f
attr zaehler_orno516 obj-h54-reading Faktor_L1
attr zaehler_orno516 obj-h54-unpack f>
attr zaehler_orno516 obj-h56-format %.3f
attr zaehler_orno516 obj-h56-reading Faktor_L2
attr zaehler_orno516 obj-h56-unpack f>
attr zaehler_orno516 obj-h58-format %.3f
attr zaehler_orno516 obj-h58-reading Faktor_L3
attr zaehler_orno516 obj-h58-unpack f>
attr zaehler_orno516 room ORNO
define filelog_watt FileLog ./Watt-%Y-%W.log zaehler_orno516
attr filelog_watt logtype text
attr filelog_watt room ORNO
define modbus_line Modbus /dev/ttyUSB0@9600,8,E,1
attr modbus_line room ORNO
$ContentType=$ContentType.";UTF-8"; Geändert in :$ContentType=$ContentType.";charset=UTF-8"; 2026.03.03 10:44:19 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax: $model = STREAM MAX
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax: $model = STREAM MAX
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): cmd = relay2Onoff
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): EcoFlowMax has GetCmdCodes
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): $key = params.quotas
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Get(): $str_value =
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): Method = POST
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $nonce=958137 $timestamp=1772531088118
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"sn": "BK41Zxxxxxxxxxxx", "params": {"quotas":["relay2Onoff"]}}
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $request_str = params.quotas[0]=relay2Onoff&sn=BK41Zxxxxxxxxxxx
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $query_str = params.quotas[0]=relay2Onoff&sn=BK41Zxxxxxxxxxxx&accessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&nonce=958137×tamp=1772531088118
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $url = /iot-open/sign/device/quota $query_str = params.quotas[0]=relay2Onoff&sn=BK41Zxxxxxxxxxxx&accessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&nonce=958137×tamp=1772531088118
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $sign = c10141ab3d40c8900a8963b548616c0afd58d82d97a86b04e3ac832e34f6b3d7
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"sn": "BK41Zxxxxxxxxxx", "params": {"quotas":["relay2Onoff"]}}
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $url = https://api-e.ecoflow.com/iot-open/sign/device/quota
2026.03.03 10:44:48 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $data = {"code":"0","message":"Success","data":{"relay2Onoff":false},"eagleEyeTraceId":"","tid":""}
2026.03.03 10:44:48 4: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): Setting Reading Vars2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Set(): $key = needAck
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Set(): $key = cmdFunc
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Set(): $key = dirSrc
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Set(): $key = cmdId
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Set(): $key = params.cfgRelay2Onoff
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Set(): $str_value = a[2]
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Set(): $key = dirDest
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Set(): $key = dest
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): Method = PUT
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $nonce=416540 $timestamp=1772531500698
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"cmdFunc": "254","cmdId": "17","dest": "2","dirDest": "1","dirSrc": "1","needAck": "true","sn": "BK41Zxxxxxxxxxx", "params": {"cfgRelay2Onoff": "true"}}
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $request_str = cmdFunc=254&cmdId=17&dest=2&dirDest=1&dirSrc=1&needAck=true¶ms.cfgRelay2Onoff=true&sn=BK41Zxxxxxxxxx
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $query_str = cmdFunc=254&cmdId=17&dest=2&dirDest=1&dirSrc=1&needAck=true¶ms.cfgRelay2Onoff=true&sn=BK41Zxxxxxxxxx&accessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&nonce=416540×tamp=1772531500698
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $url = /iot-open/sign/device/quota $query_str = cmdFunc=254&cmdId=17&dest=2&dirDest=1&dirSrc=1&needAck=true¶ms.cfgRelay2Onoff=true&sn=BK41Zxxxxxxxxxxxxxx&accessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&nonce=416540×tamp=1772531500698
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $sign = 19a3010cff2ed1b4c3eddea2a790f88a9b2a29b4a1564a59a652cd62875f8d96
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Request(): $json = {"cmdFunc": "254","cmdId": "17","dest": "2","dirDest": "1","dirSrc": "1","needAck": "true","sn": "BK41Zxxxxxxxxxxxx", "params": {"cfgRelay2Onoff": "true"}}
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $url = https://api-e.ecoflow.com/iot-open/sign/device/quota
2026.03.03 10:51:40 5: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): $data = {"code":"8524","message":"Validation failed, Please check your param: cfgRelay2Onoff","eagleEyeTraceId":"","tid":""}
2026.03.03 10:51:40 0: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): ERROR! {"code":"8524","message":"Validation failed, Please check your param: cfgRelay2Onoff","eagleEyeTraceId":"","tid":""}
2026.03.03 10:51:40 4: EcoFlowMax(Ecoflow 0.3.9.0): Ecoflow_Response(): Setting Reading Vars
(Params und Timestamp hier verbessert da es sonnst die irrefürende Anzeige aus dem Browser gäbe)Zitat von: betateilchen am 02 März 2026, 21:11:28Dass Devel::Size unter Umständen temporär sehr viel Speicher verbrauchen kann, ist Dir bekannt?
Zitat von: grappa24 am 03 März 2026, 00:12:46wo find ich denn das bitte, im drop-down Menü isses nicht?Vielleicht könnte "jemand" das Ding mal umbenennen, aber auf meinem Testsystem ist das auch bei zigbee2mqtt-M2D-Devices unter dem Namen "shellyPlus_1" gelistet.