Shelly MQTT Problem set Problem

Begonnen von Holger S, 14 Oktober 2025, 12:11:03

Vorheriges Thema - Nächstes Thema

Holger S

Hallo,
ich habe mehrere Shelly 1 Plus und dies mit dem entsprechenden Template eingerichtet. Läuft über MQTT_Server von FHEM. Funktioniert auch.
Habe aber folgendes Problem:
Wenn das Shelly ausgeschaltet ist (off) und ich set ... off ausführe, geht state in den Zustand "set_off". Zeigt dann also nicht den aktuellen Zustand des Shelly. Das Gleiche ist, wenn Shelly on ist und ich set on sende.
Ich prüfe Abends, ob verschiedener Geräte alle off sind. Das funktioniert dann aber nicht. Wie kann man das lösen?

Vielen Dank

rudolfkoenig

Zitatgeht state in den Zustand "set_off". Zeigt dann also nicht den aktuellen Zustand des Shelly.
Liegt daran, dass das Geraet nach dem Schalten den aktuellen Zustand entweder nicht gemeldet hat, oder nicht so, dass FHEM das zuordnen konnte.

passibe


Holger S

#3
Sorry für die verspätete Antwort. Hier die Daten:
Internals:
   CID        shellyplus1_Kueche
   DEF        shellyplus1_Kueche
   FUUID      6474fe62-f33f-4151-b963-6a4ece9cfabd7a6e
   FVERSION   10_MQTT2_DEVICE.pm:0.302520/2025-09-04
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_192.168.178.81_50341
   MQTT2_FHEM_Server_MSGCNT 3321
   MQTT2_FHEM_Server_TIME 2025-10-17 20:38:01
   MSGCNT     3321
   NAME       Deckenlicht_Kueche
   NR         1215
   STATE      off
   TYPE       MQTT2_DEVICE
   eventCount 322
   JSONMAP:
     params_switch_0_temperature_tC temperature
     params_switch_0_temperature_tF 0
     params_wifi_sta_ip ip
     req_result_in_mode in_mode
     switch_state state
     switch_temperature_tC temperature
     switch_temperature_tF 0
   OLDREADINGS:
   READINGS:
     2025-10-04 17:38:15   IODev           MQTT2_FHEM_Server
     2025-10-14 11:18:20   attrTemplateVersion 20240627
     2025-10-17 20:38:01   dst             shellyplus1-Kueche/events
     2025-10-14 11:20:01   in_mode         flip
     2025-10-17 20:18:33   input_id        0
     2025-10-17 20:18:33   input_state     true
     2025-10-17 20:38:01   method          NotifyStatus
     2025-10-14 11:18:27   mqtt_connected  true
     2025-10-14 11:18:27   online          true
     2025-10-14 11:25:27   params_events_1_cfg_rev 34
     2025-10-14 11:25:27   params_events_1_component switch:0
     2025-10-14 11:25:27   params_events_1_event config_changed
     2025-10-14 11:25:27   params_events_1_id 0
     2025-10-14 11:25:27   params_events_1_restart_required false
     2025-10-14 11:18:20   params_events_1_time_ms 997
     2025-10-14 11:25:27   params_events_1_ts 1760433928.13
     2025-10-17 20:18:33   params_input_0_state true
     2025-10-14 11:18:27   params_mqtt_connected true
     2025-10-17 20:24:16   params_switch_0_output false
     2025-10-17 20:24:16   params_switch_0_source MQTT
     2025-10-14 11:25:27   params_sys_cfg_rev 34
     2025-10-17 20:22:50   params_sys_last_sync_ts 1760725370
     2025-10-17 20:22:50   params_sys_time 20:22
     2025-10-17 20:22:50   params_sys_unixtime 1760725370
     2025-10-17 20:38:01   params_ts       1760726282.22
     2025-10-17 20:38:01   src             shellyplus1-7c87ce6377ec
     2025-10-17 20:38:01   state           off
     2025-10-17 20:38:01   switch_id       0
     2025-10-17 20:38:01   switch_source   MQTT
     2025-10-17 20:22:50   sys_btrelay_rev 0
     2025-10-17 20:22:50   sys_cfg_rev     34
     2025-10-17 20:22:50   sys_fs_free     131072
     2025-10-17 20:22:50   sys_fs_size     393216
     2025-10-17 20:22:50   sys_kvs_rev     0
     2025-10-17 20:22:50   sys_last_sync_ts 1760725370
     2025-10-17 20:22:50   sys_mac         7C87CE6377EC
     2025-10-17 20:22:50   sys_ram_free    143288
     2025-10-17 20:22:50   sys_ram_min_free 124112
     2025-10-17 20:22:50   sys_ram_size    251332
     2025-10-17 20:22:50   sys_reset_reason 3
     2025-10-17 20:22:50   sys_restart_required false
     2025-10-17 20:22:50   sys_schedule_rev 0
     2025-10-17 20:22:50   sys_time        20:22
     2025-10-17 20:22:50   sys_unixtime    1760725370
     2025-10-17 20:22:50   sys_uptime      292200
     2025-10-17 20:22:50   sys_utc_offset  7200
     2025-10-17 20:22:50   sys_webhook_rev 0
     2025-10-17 20:38:01   temperature     33.2
     2025-10-14 11:18:20   x_reboot        set
Attributes:
   alexaName  Deckenlicht Küche
   alias      Deckenlicht Küche
   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>)}
   devicetopic shellyplus1-Kueche
   event-on-change-reading online,state,temperature,mqtt_connected
   genericDeviceType switch
   getList    in_mode:noArg in_mode $DEVICETOPIC/rpc {"id": 1,"src":"$DEVICETOPIC", "method": "Switch.GetConfig", "params": {"id": 0}}
   group      Alexa,Schalten
   icon       message_socket
   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
   model      shellyPlus_1
   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:.* {}
   room       Küche
   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}}}}
   setStateList on off toggle on-for-timer off-for-timer
   webCmd     :