[Gelöst] Shelly Plus2PM über MQTT2 - Kein State

Begonnen von DokHasenbein, 05 Dezember 2024, 19:43:02

Vorheriges Thema - Nächstes Thema

DokHasenbein

Hallo,

ich habe mehrere Shellies über MQTT2 in FHEM eingebunden. Nachdem alles über Monate problemlos funktioniert hat, ist es jetzt so, dass mein (einziger) Shelly Plus2PM zwar noch schaltet, aber den State nicht mehr aktualisiert. Der State bleibt mit "set_toggle" stehen.
Der Shelly läuft mit Firmware 1.4.4. In den Shelly Settings sind die Optionen Enable "MQTT control", Enable RPC over MQTT, RPC status notifications over MQTT und Generic status update over MQTT eingeschaltet. Mein Shelly Plus1PM, der problemlos den State in FHEM aktualisiert hat die gleichen Einstellungen.

Hier das Listing zum Shelly Plus2PM:
Internals:
   CID        shellyplus2pm_kitchen
   DEF        shellyplus2pm_kitchen
   FUUID      6750b119-f33f-00c3-97e7-14e87a20a5dee207
   IODev      MQTT2
   LASTInputDev MQTT2
   MQTT2_CONN MQTT2_192.168.178.141_49890
   MQTT2_MSGCNT 149
   MQTT2_TIME 2024-12-05 19:30:00
   MSGCNT     149
   NAME       kt_Deckenlicht
   NR         590
   STATE      set_on
   TYPE       MQTT2_DEVICE
   eventCount 101
   JSONMAP:
     params_switch_0_aenergy_total aenergy_total
     params_switch_0_apower apower
     params_switch_0_state state
     params_switch_0_temperature_tC temperature
     params_switch_0_temperature_tF 0
     params_wifi_sta_ip ip
     temperature_tC temperature
     temperature_tF 0
   READINGS:
     2024-12-05 18:53:47   IODev           MQTT2
     2024-12-05 19:30:00   aenergy_by_minute_1 0.000
     2024-12-05 19:30:00   aenergy_by_minute_2 0.000
     2024-12-05 19:30:00   aenergy_by_minute_3 0.000
     2024-12-05 19:30:00   aenergy_minute_ts 1733423400
     2024-12-05 19:30:00   aenergy_total   49.000
     2024-12-05 19:30:00   apower          0.0
     2024-12-04 20:52:39   associatedWith  kt_Esstischlicht
     2024-12-04 20:47:14   attrTemplateVersion 20230927
     2024-12-05 19:13:30   ble             {}
     2024-12-05 19:13:32   cloud_connected true
     2024-12-05 19:13:31   connected       true
     2024-12-05 19:30:00   current         0.000
     2024-12-05 19:30:00   dst             shellyplus2pm-kitchen/events
     2024-12-05 19:30:00   freq            50.0
     2024-12-05 19:30:00   id              0
     2024-12-05 19:13:30   input_0_id      0
     2024-12-05 19:13:30   input_0_state   false
     2024-12-05 19:13:30   input_1_id      1
     2024-12-05 19:13:30   input_1_state   false
     2024-12-05 05:06:48   ip              192.168.178.141
     2024-12-05 19:30:00   method          NotifyStatus
     2024-12-05 19:13:30   online          true
     2024-12-05 19:30:00   output          false
     2024-12-05 19:13:32   params_cloud_connected true
     2024-12-05 05:06:47   params_events_1_component wifi
     2024-12-05 05:06:47   params_events_1_event sta_disconnected
     2024-12-05 05:06:47   params_events_1_reason 3
     2024-12-04 20:47:14   params_events_1_time_ms 994
     2024-12-05 05:06:47   params_events_1_ts 1733371598.43
     2024-12-05 19:13:31   params_mqtt_connected true
     2024-12-05 19:30:00   params_switch_0_aenergy_by_minute_1 0.000
     2024-12-05 19:30:00   params_switch_0_aenergy_by_minute_2 0.000
     2024-12-05 19:30:00   params_switch_0_aenergy_by_minute_3 0.000
     2024-12-05 19:30:00   params_switch_0_aenergy_minute_ts 1733423400
     2024-12-05 19:30:00   params_switch_0_aenergy_total 49.000
     2024-12-05 16:52:46   params_switch_0_apower 17.6
     2024-12-05 16:42:28   params_switch_0_current 0.135
     2024-12-05 19:30:00   params_switch_0_id 0
     2024-12-04 20:55:56   params_switch_0_pf 0
     2024-12-05 19:30:00   params_switch_0_ret_aenergy_by_minute_1 0.000
     2024-12-05 19:30:00   params_switch_0_ret_aenergy_by_minute_2 0.000
     2024-12-05 19:30:00   params_switch_0_ret_aenergy_by_minute_3 0.000
     2024-12-05 19:30:00   params_switch_0_ret_aenergy_minute_ts 1733423400
     2024-12-05 19:30:00   params_switch_0_ret_aenergy_total 0.000
     2024-12-05 16:42:23   params_switch_0_source MQTT
     2024-12-05 16:42:23   params_switch_0_state on
     2024-12-05 18:16:38   params_switch_0_temperature_tC 57.93
     2024-12-05 18:16:38   params_switch_0_temperature_tF 136.27
     2024-12-04 21:01:55   params_switch_0_voltage 237.1
     2024-12-05 19:30:00   params_ts       1733423400.00
     2024-12-05 05:06:48   params_wifi_rssi 0
     2024-12-05 05:06:48   params_wifi_status connecting
     2024-12-05 19:30:00   pf              0.00
     2024-12-05 19:30:00   ret_aenergy_by_minute_1 0.000
     2024-12-05 19:30:00   ret_aenergy_by_minute_2 0.000
     2024-12-05 19:30:00   ret_aenergy_by_minute_3 0.000
     2024-12-05 19:30:00   ret_aenergy_minute_ts 1733423400
     2024-12-05 19:30:00   ret_aenergy_total 0.000
     2024-12-05 19:30:00   source          init
     2024-12-05 19:30:00   src             shellyplus2pm-5443b23cb368
     2024-12-05 19:12:00   state           set_on
     2024-12-05 19:13:30   sys_cfg_rev     34
     2024-12-05 19:13:30   sys_fs_free     102400
     2024-12-05 19:13:30   sys_fs_size     393216
     2024-12-05 19:13:30   sys_kvs_rev     0
     2024-12-05 19:13:30   sys_mac         5443B23CB368
     2024-12-05 19:13:30   sys_ram_free    134224
     2024-12-05 19:13:30   sys_ram_size    252364
     2024-12-05 19:13:30   sys_reset_reason 1
     2024-12-05 19:13:30   sys_restart_required false
     2024-12-05 19:13:30   sys_schedule_rev 0
     2024-12-05 18:54:04   sys_time        18:54
     2024-12-05 18:54:04   sys_unixtime    1733421243
     2024-12-05 19:13:30   sys_uptime      13
     2024-12-05 19:13:30   sys_webhook_rev 0
     2024-12-05 19:30:00   temperature     53.9
     2024-12-05 19:30:00   voltage         237.3
     2024-12-05 19:13:31   wifi_rssi       -47
     2024-12-05 19:13:31   wifi_ssid       NinaNinaNinaNeu
     2024-12-05 19:13:31   wifi_sta_ip     192.168.178.141
     2024-12-05 19:13:31   wifi_status     got ip
     2024-12-05 19:13:31   ws_connected    false
     2024-12-04 20:47:13   x_reboot        set
Attributes:
   alexaName  Deckenlicht Küche
   alias      Deckenlicht Küche
   comment    Channel 1 for shellyplus2pm_kitchen, see also shellyplus2pm_kitchen_CH2
   devStateIcon {my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot': ReadingsVal($name,'new_fw','false') eq 'true' ? '10px-kreis-gelb' : '10px-kreis-gruen'; $onl = FW_makeImage($onl); my $light = FW_makeImage(ReadingsVal($name,'state','off')); my $cons = ReadingsNum($name,'apower',0); my $total = round(ReadingsNum($name,'aenergy_total',0)/1000,1); my $temp = ReadingsVal($name,'temperature','-100'); my $ip = ReadingsVal($name,'ip','none'); qq(<a href="http://$ip" target="_blank">${onl}</a><a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a><div>Verbrauch: $cons W / Total: $total kwh / Temp: $temp °C</div>)}
   devicetopic shellyplus2pm-kitchen
   genericDeviceType light
   getList    in_mode:noArg in_mode $DEVICETOPIC/rpc {"id": 1,"src":"$DEVICETOPIC", "method": "Switch.GetConfig", "params": {"id": 0}}
   group      Lampen
   jsonMap    params_switch_0_state:state params_switch_0_aenergy_total:aenergy_total params_switch_0_apower:apower params_switch_0_temperature_tC:temperature params_switch_0_temperature_tF:0 params_wifi_sta_ip:ip temperature_tC:temperature temperature_tF:0
   model      shellyPlus_2pm_split
   readingList $DEVICETOPIC/online:.* online
  $DEVICETOPIC/events/rpc:.* { return if $EVENT =~ m{switch:[1-3]}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
  $DEVICETOPIC/status/switch.0:.* { json2nameValue($EVENT, '', $JSONMAP) }
  $DEVICETOPIC/status/mqtt:.* { json2nameValue($EVENT, '', $JSONMAP) }
  fhem2shelly/rpc:.* {}
shellyplus2pm_kitchen:shellyplus2pm-kitchen/status/ble:.* ble
shellyplus2pm_kitchen:shellyplus2pm-kitchen/status/cloud:.* { json2nameValue($EVENT, 'cloud_', $JSONMAP) }
shellyplus2pm_kitchen:shellyplus2pm-kitchen/status/input_0:.* { json2nameValue($EVENT, 'input_0_', $JSONMAP) }
shellyplus2pm_kitchen:shellyplus2pm-kitchen/status/input_1:.* { json2nameValue($EVENT, 'input_1_', $JSONMAP) }
shellyplus2pm_kitchen:shellyplus2pm-kitchen/status/sys:.* { json2nameValue($EVENT, 'sys_', $JSONMAP) }
shellyplus2pm_kitchen:shellyplus2pm-kitchen/status/wifi:.* { json2nameValue($EVENT, 'wifi_', $JSONMAP) }
shellyplus2pm_kitchen:shellyplus2pm-kitchen/status/ws:.* { json2nameValue($EVENT, 'ws_', $JSONMAP) }
   room       Kitchen
   setList    toggle:noArg $DEVICETOPIC/rpc {"id":1,"src":"fhem2shelly","method":"Switch.Toggle","params": {"id":0}}
  off:noArg $DEVICETOPIC/rpc {"id":1,"src":"fhem2shelly","method":"Switch.Set","params": {"id":0,"on":false}}
  on:noArg $DEVICETOPIC/rpc {"id":1,"src":"fhem2shelly","method":"Switch.Set","params": {"id":0,"on":true}}
  on-for-timer $DEVICETOPIC/rpc {"id":1,"src":"fhem2shelly","method":"Switch.Set","params": {"id":0,"on":true,"toggle_after":$EVTPART1}}
  off-for-timer $DEVICETOPIC/rpc {"id":1,"src":"fhem2shelly","method":"Switch.Set","params": {"id":0,"on":false,"toggle_after":$EVTPART1}}
  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"}
   setStateList on off toggle on-for-timer off-for-timer
   siriName   Deckenlicht Küche
   webCmd     :

Hier mal ein Ausschnitt aus dem MQTT traffic, bei dem für mich alles fein aussieht.
19:32:35.372
shellyplus2pm_kitchen
shellyplus2pm-kitchen/events/rpc
{"src":"shellyplus2pm-5443b23cb368","dst":"shellyplus2pm-kitchen/events","method":"NotifyStatus","params":{"ts":1733423555.36,"switch:1":{"id":1,"output":true,"source":"WS_in"}}}
19:32:35.412
shellyplus2pm_kitchen
shellyplus2pm-kitchen/status/switch_1
{"id":1, "source":"WS_in", "output":true, "apower":0.0, "voltage":238.2, "freq":50.0, "current":0.000, "pf":0.00, "aenergy":{"total":132.345,"by_minute":[58.552,0.000,0.000],"minute_ts":1733423520}, "ret_aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1733423520},"temperature":{"tC":53.5, "tF":128.4}}
19:32:40.825
shellyplus2pm_kitchen
shellyplus2pm-kitchen/events/rpc
{"src":"shellyplus2pm-5443b23cb368","dst":"shellyplus2pm-kitchen/events","method":"NotifyStatus","params":{"ts":1733423555.93,"switch:1":{"id":1,"apower":0,"current":0,"output":false,"pf":0,"source":"WS_in"}}}
19:32:40.859
shellyplus2pm_kitchen
shellyplus2pm-kitchen/status/switch_1
{"id":1, "source":"WS_in", "output":false, "apower":0.0, "voltage":237.3, "freq":50.0, "current":0.000, "pf":0.00, "aenergy":{"total":132.441,"by_minute":[58.552,0.000,0.000],"minute_ts":1733423520}, "ret_aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1733423520},"temperature":{"tC":53.4, "tF":128.1}}

Ich vermute, dass das Problem mit dem 'attrTemplate' zusammenhängt. Ich blicke da aber leider nicht durch.

Ich hoffe, mir kann da jemand helfen!


Grüße, David

rudolfkoenig

Wann war das letzte FHEM Update?
Samstag Abend ist ein Bug in fhem.pl reingeschlichen, was ich vorhin entfernt habe.
Der Fix ist per SVN ab sofort verfuegbar, per FHEM Update erst morgen ab 8.

DokHasenbein

Update hatte ich vor dem Post gemacht. Mit dem heutigen Update ist das Problem gelöst. Vielen Dank!