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.
Zitat von: mcfly71 am 02 Oktober 2025, 08:25:40Hallo Gemeinde.Guten Morgen,
Ich besitze seit neustem einen Shelly 1PM Gen4, bei dem ich es am Ende geschafft habe, ihn auf die ZigBee Firmware umzustellen.
Ich benutze diesen dann aber auch nur als eine Art Repeater für andere ZigBee Devices, und steuer den Shelly selbst noch mit
der 36_shelly.pm .
In dieser Konstellation kommen bei verbose = 2 alle ca 6 Minuten die folgende Fehlermeldung:(Shelly_HttpResponse:code) Device PUMPE has Error '404: No handler for BLE.CloudRelay.List', state is set to 'Error: No Handler'
Vielleicht weiß jamend wieso, oder ist das wegen des Wechselns zur anderen ZigBee Firmware (1.71)
Zitat von: Beta-User am 02 März 2026, 18:35:50Ziemlich sicher passt das Basis-attrTemplate für die Shelly der API V2 (das sollte nicht per "filter" ausgeblendet sein),wo find ich denn das bitte, im drop-down Menü isses nicht?