Entwicklungs-Thread Modul 36_Shelly.pm

Begonnen von Starkstrombastler, 24 Februar 2024, 12:15:05

Vorheriges Thema - Nächstes Thema

Jojo11

Nach dem neuesten Update scheint Ruhe zu sein  :)  Vielen Dank!

roadrunnner

Hallo zusammen,

ich habe hier einen Ecoflow x Shelly Pro3EM (model_ID EFPEM-003CEBEU120). Ist ein leicht abgewandelter Shelly Pro3EM. Hier der Output des Shelly:

/rpc/Shelly.GetStatus
{"ble":{},"bthome":{"errors":["bluetooth_disabled"]},"cloud":{"connected":false},"em:0":{"id":0,"a_current":4.348,"a_voltage":229.1,"a_act_power":-857.9,"a_aprt_power":995.6,"a_pf":0.86,"a_freq":50.0,"b_current":7.582,"b_voltage":229.3,"b_act_power":-1679.7,"b_aprt_power":1738.1,"b_pf":0.96,"b_freq":50.0,"c_current":5.542,"c_voltage":229.4,"c_act_power":-1247.7,"c_aprt_power":1269.1,"c_pf":0.98,"c_freq":50.0,"n_current":null,"total_current":17.472,"total_act_power":-3785.287,"total_aprt_power":4002.803, "user_calibrated_phase":[]},"emdata:0":{"id":0,"a_total_act_energy":1852.60,"a_total_act_ret_energy":4846.79,"b_total_act_energy":2241.51,"b_total_act_ret_energy":5661.36,"c_total_act_energy":4484.88,"c_total_act_ret_energy":6581.45,"total_act":8579.00, "total_act_ret":17089.60},"eth":{"ip":null,"ip6":null},"modbus":{},"mqtt":{"connected":true},"script:1":{"id":1,"running":true,"mem_used":224,"mem_peak":3738,"mem_free":24962,"cpu":1},"sys":{"mac":"XXXXXXXXXXXX","restart_required":false,"time":"13:23","unixtime":1776425013,"last_sync_ts":1776423932,"uptime":67950,"ram_size":244348,"ram_free":113324,"ram_min_free":85356,"fs_size":524288,"fs_free":184320,"cfg_rev":10,"kvs_rev":0,"schedule_rev":0,"webhook_rev":0,"btrelay_rev":0,"available_updates":{},"reset_reason":3,"utc_offset":7200},"temperature:0":{"id": 0,"tC":54.6, "tF":130.4},"wifi":{"sta_ip":"192.168.xxx.xxx","status":"got ip","ssid":"XXXXXXXXXX","bssid":"f0:b0:14:9b:74:33","rssi":-51,"sta_ip6":["fe80::eee3:34ff:feeb:fec","2003:c2:df1b:b00:eee3:34ff:feeb:fec","fde0:a89b:ec81:0:eee3:34ff:feeb:fec"]},"ws":{"connected":false}}/rpc/Shelly.GetConfig
{"ble":{"enable":false,"rpc":{"enable":false}},"bthome":{},"cloud":{"enable":false,"server":"iot.shelly.cloud:6012/jrpc"},"em:0":{"id":0,"name":null,"blink_mode_selector":"active_energy","phase_selector":"all","monitor_phase_sequence":false,"ct_type":"120A","reverse":{}},"emdata:0":{},"eth":{"enable":false,"server_mode":false,"ipv4mode":"dhcp","ip":null,"netmask":null,"gw":null,"nameserver":null},"modbus":{"enable":true},"mqtt":{"enable":true,"server":"mqtt-e.ecoflow.com:8883","client_id":"SM3Axxxxxxxxxxxx","user":"device-xxxxxxxxxxxxxxxxxx","ssl_ca":"*","topic_prefix":"/shelly/thing/property/post/SM3Axxxxxxxxxxxx","rpc_ntf":true,"status_ntf":false,"use_client_cert":false,"enable_rpc":true,"enable_control":true},"script:1":{"id":1, "name":"3", "enable":false},"sys":{"device":{"name":null,"mac":"xxxxxxxxxxxx","fw_id":"20260311-095918/1.7.5-g9979d16","discoverable":true,"eco_mode":false,"profile":"triphase","addon_type":null,"sys_btn_toggle":true},"location":{"tz":"Europe/Berlin","lat":x,"lon":x},"debug":{"level":2,"file_level":null,"mqtt":{"enable":false},"websocket":{"enable":false},"udp":{"addr":null}},"ui_data":{},"rpc_udp":{"dst_addr":null,"listen_port":7890},"sntp":{"server":"time.cloudflare.com"},"cfg_rev":10},"temperature:0":{"id":0, "name":null, "report_thr_C": 5.0, "offset_C": 0.0},"wifi":{"ap":{"ssid":"EcoFlowPro3EM-xxxxxxxxxxxx","is_open":true, "enable":false, "range_extender": {"enable":false}},"sta":{"ssid":"xxxxxxxxx","is_open":false, "enable":true, "ipv4mode":"dhcp","ip":null,"netmask":null,"gw":null,"nameserver":null},"sta1":{"ssid":null,"is_open":true, "enable":false, "ipv4mode":"dhcp","ip":null,"netmask":null,"gw":null,"nameserver":null},"roam":{"rssi_thr":-80,"interval":60}},"ws":{"enable":false,"server":null,"ssl_ca":"vendor0.pem,ca.pem"}}/rpc/Shelly.GetDeviceInfo
{"name":null,"id":"ecoflowpro3em-xxxxxxxxxxxx","mac":"xxxxxxxxxxxx","slot":0,"model":"EFPEM-003CEBEU120","gen":2,"fw_id":"20260311-095918/1.7.5-g9979d16","ver":"1.7.5","app":"Pro3EMEF","auth_en":false,"auth_domain":null,"profile":"triphase","provision":"complete"}
Wenn noch weitere Daten nötig sind, kurze Nachricht reicht.  ;)

Gruss roadrunnner

Starkstrombastler

Zitat von: roadrunnner am 17 April 2026, 13:41:02ich habe hier einen Ecoflow x Shelly Pro3EM (model_ID EFPEM-003CEBEU120). Ist ein leicht abgewandelter Shelly Pro3EM.
Was ist denn bei diesem Shelly außer der model_ID noch anders?

Die Einbindung mit dem Shelly-Modul sollte im Grundsatz mit
attr <name> model shellypro3em via FHEM Kommandozeile gelingen.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

roadrunnner

#183
Ich hatte den Shelly bereits mit dem Attribut "shellypro3em" versehen, leider liefert das Modul trotzdem einen Fehler: "404: No handler for EM1.GetStatus". Über die Webadresse des Shelly liefert er jedoch über "/rpc/em.getstatus?id=0" Daten.
Nach meinem Kenntnisstand werden bei der Ersteinrichtung per Script MQTT-Serverdaten hinterlegt. Was darüber hinaus noch anders ist kann ich derzeit noch nicht beurteilen. Der Vorteil der Ecoflow-Variante ist, dass er lokal kommuniziert, während sich die normalen Shellys nur per Cloud anbinden lassen.

Gruss roadrunnner

Update: Ich habe heute das Modul per FHEM-Update aktualisiert. Anschließend habe ich den Shelly neu erstellt. Es wurde alles korrekt erkannt:
model_ID EFPEM-003CEBEU120 2026-04-20 15:40:50
model_family EcoFlow Gen2 2026-04-20 15:40:50
model_function energy meter 2026-04-20 15:40:50
model_name Shelly Pro 3EM 2026-04-20 15:40:50

Er liefert jedoch weiterhin keine Daten, dafür folgende Log-Einträge:
2026-04-20 15:46:33 Shelly Pro3EMxEcoflow error: 404: No handler for EM1.GetStatus
2026-04-20 15:47:01 Shelly Pro3EMxEcoflow error: 404: No handler for EM1Data.GetStatus

Laut der technischen Dokumentation von Shelly stellt jedoch nur der ShellyProEM Daten über EM1.GetStatus zur Verfügung, beim ShellyPro3EM läuft dies über EM.GetStatus. Liegt hier möglicherweise der Fehler?

Starkstrombastler

Zitat von: roadrunnner am 19 April 2026, 13:55:48Laut der technischen Dokumentation von Shelly stellt jedoch nur der ShellyProEM Daten über EM1.GetStatus zur Verfügung, beim ShellyPro3EM läuft dies über EM.GetStatus.
Das stimmt so nicht ganz. Der ShellyPro3EM kann in monophase und triphase Mode betrieben werden, entsprechend erfolgen die Abfragen mit EM* bzw EM1*.

Zitat von: roadrunnner am 19 April 2026, 13:55:48Liegt hier möglicherweise der Fehler?
Im Modul habe ich noch eine weitere Stelle an den EcoFlow-Shelly angepasst, sollte damit laufen.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200