shelly 1pm gen4 schaltet nicht

Begonnen von Damian, 21 März 2026, 07:04:06

Vorheriges Thema - Nächstes Thema

Damian

Ich habe einen neuen Shelly 1pm gen4 bei mir eingebunden. Dieser lässt sich über App bedienen. Nach der Aktivierung von MQTT wurde dieser automatsch in FHEM angelegt. Ich habe das Template Shelly plus 1pm laufen lassen. Es werden alle relevanten Daten angezeigt, allerdings lässt sich der Shelly 1pm nicht schalten. Gibt es hier evtl. eine Inkompatibilität mit gen4. Hier meine Konfiguration:

defmod shelly1pmg4_7c2c67695bd0 MQTT2_DEVICE shelly1pmg4_7c2c67695bd0
attr shelly1pmg4_7c2c67695bd0 devStateIcon {my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot':'10px-kreis-gruen';; $onl = FW_makeImage($onl);; my $light = FW_makeImage(ReadingsVal($name,'state','off'));; my $temp = ReadingsVal($name,'temperature','-100');; my $ip = ReadingsVal($name,'ip','none');; my $reb = ReadingsVal($name,'sys_restart_required','false') eq 'true'?'<a href="/fhem?cmd.dummy=set '.$name.' x_reboot&XHR=1"> ... Notwendigen Reboot durchführen</a>':'';; qq(<a href="http://$ip" target="_blank">${onl}</a><a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a>$reb<div>Temp: $temp °C</div>)}
attr shelly1pmg4_7c2c67695bd0 devicetopic pm1_1
attr shelly1pmg4_7c2c67695bd0 genericDeviceType switch
attr shelly1pmg4_7c2c67695bd0 getList in_mode:noArg in_mode $DEVICETOPIC/rpc {"id": 1,"src":"$DEVICETOPIC", "method": "Switch.GetConfig", "params": {"id": 0}}
attr shelly1pmg4_7c2c67695bd0 icon message_socket
attr shelly1pmg4_7c2c67695bd0 jsonMap switch_state:state switch_temperature_tC:temperature switch_temperature_tF:0 params_wifi_sta_ip:ip params_switch_0_temperature_tC:temperature params_switch_0_temperature_tF:0 req_result_in_mode:in_mode
attr shelly1pmg4_7c2c67695bd0 model shellyPlus_1
attr shelly1pmg4_7c2c67695bd0 readingList $DEVICETOPIC/online:.* online\
  $DEVICETOPIC/events/rpc:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  $DEVICETOPIC/status/mqtt:.* { json2nameValue($EVENT, 'mqtt_', $JSONMAP) }\
  $DEVICETOPIC/status/sys:.* { json2nameValue($EVENT, 'sys_', $JSONMAP) }\
  $DEVICETOPIC/status/switch_0:.* { $EVENT =~ s/"output":true/"state":"on"/g;; $EVENT =~ s/"output":false/"state":"off"/g;; json2nameValue($EVENT, 'switch_', $JSONMAP) }\
  $DEVICETOPIC/status/cloud:.* {}\
  $DEVICETOPIC/rpc:.* { json2nameValue($EVENT, 'req_', $JSONMAP, 'in_mode')}\
  $DEVICETOPIC/status/input_0:.* { json2nameValue($EVENT, 'input_', $JSONMAP) }\
  fhem2shelly/rpc:.* {}\
shelly1pmg4_7c2c67695bd0:shelly1pmg4-7c2c67695bd0/events/rpc:.* { json2nameValue($EVENT) }\
shelly1pmg4_7c2c67695bd0:shelly1pmg4-7c2c67695bd0/online:.* online
attr shelly1pmg4_7c2c67695bd0 room MQTT2_DEVICE
attr shelly1pmg4_7c2c67695bd0 setList toggle:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Toggle","params": {"id":0}}\
  off:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Set","params": {"id":0,"on":false}}\
  on:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Set","params": {"id":0,"on":true}}\
  on-for-timer $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Set","params": {"id":0,"on":true,"toggle_after":$EVTPART1}}\
  off-for-timer $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Set","params": {"id":0,"on":false,"toggle_after":$EVTPART1}}\
  in_mode:toggle,flip,detached {fhem("sleep 0.2;; get $NAME in_mode");; my $val = $EVTPART1 ne 'toggle' ? $EVTPART1 : ReadingsVal($NAME,'in_mode','flip') eq 'flip' ? 'detached':'flip';; qq($DEVICETOPIC/rpc {"id":1,"src":"fhem2shelly","method":"Switch.SetConfig","params": {"id":0, "config": {"in_mode": "$val"}}})}\
  x_update:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Shelly.Update","params": {"stage":"stable"}}\
  x_reboot:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Shelly.Reboot"}\
  x_eco:true,false $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Sys.SetConfig","params": {"config": {"device": {"eco_mode": $EVTPART1}}}}
attr shelly1pmg4_7c2c67695bd0 setStateList on off toggle on-for-timer off-for-timer
attr shelly1pmg4_7c2c67695bd0 webCmd :

setstate shelly1pmg4_7c2c67695bd0 set_toggle
setstate shelly1pmg4_7c2c67695bd0 2026-03-20 22:29:07 IODev MQTT2_FHEM_Server
setstate shelly1pmg4_7c2c67695bd0 2026-03-20 23:11:14 attrTemplateVersion 20240627
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 dst shelly1pmg4-7c2c67695bd0/events
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 method NotifyStatus
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:51:42 online true
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:51:42 params_cloud_connected true
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:10 params_events_1_cfg_rev 23
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:10 params_events_1_component switch:0
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:10 params_events_1_event config_changed
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:10 params_events_1_id 0
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:10 params_events_1_restart_required false
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:10 params_events_1_ts 1774072390.73
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:51:42 params_mqtt_connected true
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_aenergy_by_minute_1 0.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_aenergy_by_minute_2 0.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_aenergy_by_minute_3 0.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_aenergy_minute_ts 1774072920
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_aenergy_total 73.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_apower 0.0
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_current 0.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_freq 49.97
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:32 params_switch_0_output false
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_ret_aenergy_by_minute_1 0.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_ret_aenergy_by_minute_2 0.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_ret_aenergy_by_minute_3 0.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_ret_aenergy_minute_ts 1774072920
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_ret_aenergy_total 70.000
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:32 params_switch_0_source HTTP_in
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:00:58 params_switch_0_temperature_tC 35.85
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:00:58 params_switch_0_temperature_tF 96.53
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_switch_0_voltage 234.7
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:51:55 params_sys_available_updates_beta_version 1.7.5-beta1
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:53:10 params_sys_cfg_rev 23
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:51:43 params_sys_last_sync_ts 1774072303
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:51:43 params_sys_time 01:51
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:51:43 params_sys_unixtime 1774072303
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 params_ts 1774072920.00
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 07:02:00 src shelly1pmg4-7c2c67695bd0
setstate shelly1pmg4_7c2c67695bd0 2026-03-21 06:59:00 state set_toggle
setstate shelly1pmg4_7c2c67695bd0 2026-03-20 23:11:14 x_reboot set
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Beta-User

devicetopic sollte hier
shelly1pmg4-7c2c67695bd0Sein
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Damian

Zitat von: Beta-User am 21 März 2026, 07:22:45devicetopic sollte hier
shelly1pmg4-7c2c67695bd0Sein

Danke das war es. Das Angeben des Topics beim Setzen des Templates suggeriert zumindest, dass man es selbst bestimmen kann.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Beta-User

Das mit dem "selbst setzen" ist in Prinzip ja auch nicht falsch. Man "müßte" es dann aber auf beiden Enden machen, also auch auf dem Shelly selbst anpassen, was ich aber aus diversen Gründen nicht empfehle.

Tastächlich ist es so, dass Rückfragen aus dem attrTemplate-Satz in der Regel bedeuten, dass irgendwas mit der Automatik schief gegangen ist, einzige Ausnahme sind die wirklich frei wählbaren Angaben zu "Alexaname" &Co.

Falls du in die Shelly-Welt einsteigen willst und mehr passende Hardware hast: Der Satz für die gen2-API ist m.E. überarbeitungswürdig, und ich bin definitiv nicht bereit, mir das in der Form anzutun, dass ich Hardware kaufe und die dann auch noch mit dieser "be..." Firmware laufen lasse. Jedenfalls hat sich bisher kaum jemand mit den Optionen wirklich so befasst, dass klar ist, was geht, und was eben nicht, (fast*) alle waren trotz meiner kritischen Rückfragen froh, das irgendwie ans Laufen bekommen zu haben.

Patches nehme ich gerne entgegen und mache auch den Coach bzgl. der attrTemplate-Spezifika.

*In diesem Sinne ist das hier eine ausgesprochen positiv gemeinte Antwort auf
Zitat von: betateilchen am 02 September 2025, 18:52:30Auch auf die Gefahr hin, jetzt auch eine harsche Antwort zu bekommen, muss ich doch mal doof fragen: Dieses RPC-Gedöns muss doch nicht zwingend verwendet werden, man kann doch auch einfach die simple MQTT Konfiguration aktivieren?
Da findet sich die einzige mir bekannte Ausnahme zum "üblichen Userverhalten"...
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Damian

Im Prinzip sind alle meine neuen Aktoren zigbee-Geräte. Den Shelly habe ich nur angeschafft, um bidirektional Leistung (Einspeisung/Bezug) vom Solarspeicher zu messen. Als nächstes werde ich ihn mal im Zigbee-Modus testen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF