shelly - neu dabei und verständnisfragen habe ...

Begonnen von the ratman, 07 Februar 2026, 16:18:14

Vorheriges Thema - Nächstes Thema

the ratman

generelle frage wäre eigentlich: kann shelly.pm auch an wlangeräte angeschlossene blu devices?
ich bin recht neu in sachen shelly und ein wenig überfragt, was nun hier alles aktuell, veraltet oder nur test von leuten ist.

somit ganz einfach:
ich habe eine 4-fachsteckdose von shelly, an der ein blu ht eingebunden ist.
o) derzeit läuft unter shelly.pm die 4-fachsteckdose + schalten der einzelnen dosen.  es fehlt also das gesamte blu device mit den werten + der button action des blu devices.
o) parallel dazu test ich gerade mqtt. da fehlt wohl noch ein template, aber ich erkenne alle werte für die dose und das device. da fehlt mir allerdings noch generell das wissen, wie ich schalten kann.

die bitte:
so ein wenig aufklärung - ein stoß in die richtige richtung - über shelly, und was nun wie generell oder am besten funzt. ich denke nämlich, ich hab' mich da geistig ein klein wenig verrant ...
→do↑p!dnʇs↓shit←

the ratman

→do↑p!dnʇs↓shit←

ergerd

Kannst du deine Geräte etwas genauer beschreiben?
4-fach Steckdose wird vermutlich die Shelly Power Strip 4 Gen4  sein?
Was genau ist blu ht? Shelly BLU H&T ?
FHEM auf RasPi 4, ZigBee, 1Wire2WLAN, DS2423, EMS-ESP, Button+, LaCrosseGateway, PCA301, ConBee III, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

the ratman

#3
ganz genau

die steckdose:
model_ID   S4PL-00416EU
firmware_ID   20250819-150404/ga0def2d
firmware_current   v1.7.99-powerstripg4prod1

bluetooth senosr:
name: Shelly BLU H&T Ivory Temperatursensor und Luftfeuchtesensor Bluetooth
firmware v1.0.16

aktueller stand ist auch unverändert ...
o) shelyy.pm hat die dose, bis auf die bluetooth-werte.
die 4 extra channels zum schalten der einzelnen steckdosen sind angelegt und funzen ebenfalls.
hier fehlen also die 4 werte des bt-sensors: battery, temp. und luftfeuchte und eine info zum schaltzustand des buttons.
o) mqtt liefert alle werte, inkl. bluetooth sensor, aber da bin ich zu blöd für template und wie man die dose zum schalten kriegt.

wenn irgendwelche infos verlangt sind - ich liefere die gerne. man darf mich auch gerne als tester mißbrauchen.
man muss mir nur genau sagen, was gefragt ist - bin nicht gerade der große computer-flüsterer *g*.
→do↑p!dnʇs↓shit←

ergerd

Wenn ich das richtig verstehe hast du das Shelly Device der Steckdosenleiste als 36_Shelly.pm angelegt.
Dann müsstest du auch in dem Device die Steckdosen schalten können und entspr. Info "off" oder "on" bekommen.
Da braucht man weiter kein MQTT dazu.

Das Bluetooth Device würde ich als MQTT2_DEVICE anlegen (alles in <> must du entspr. anpassen,
ein Template dafür scheint es nicht zu geben):
defmod shelly_bt MQTT2_DEVICE
attr shelly_bt IODev <DeinMQTT_IODevice>

attr shelly_bt devicetopic <DeinTopicDesShellyB&T>
attr shelly_bt event-on-change-reading .*
attr shelly_bt getList in_mode:noArg in_mode $DEVICETOPIC/rpc {"id": 1,"src":"$DEVICETOPIC", "method": "Switch.GetConfig", "params": {"id": 0}}
attr shelly_bt model <DeinModel>
attr shelly_bt shelly_bt $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:.* {}
FHEM auf RasPi 4, ZigBee, 1Wire2WLAN, DS2423, EMS-ESP, Button+, LaCrosseGateway, PCA301, ConBee III, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

the ratman

#5
erst mal danke für die hilfe! muss ich probieren, sobald ich wieder am pc sitze.

ich schließe zusätzlich daraus: das shelly modul bietet generell keine unterstützung für blu devices?

fangen wir ganz am anfang zur vermeidung vom missverständnisden an *g*

ich versuche nur grade herauszufinden, was für mich künftig die bessere lösung ist. shelly modul, mqtt, oder eine mischung daraus.
und da ich shelly sensoren über bt als recht nette idee empfinde, ist mir ein einfaches einbinden der sensoren in fhem durchaus wichtig.
generell will ich - wenn mit shelly meine tests klappen - meine alten homematic- und philips-hue devices damit ersetzen.

das schalten der 4 steckdosen per shelly modul funzt problemlos. das ist auch angenehm einfach zu lösen mit dem modul.
allerdings fehlen halt alle daten vom bt-device.

als "gegentest" hab ich eben die steckdose auch per mqtt in fhem eingebunden. hauptsächlich um zu sehen, was da an daten kommt. da wäre eben der sensor mit seinen daten auch sichtbar.
aufgrund leichter überforderung fehlt mir unter mqtt noch das wissen, wie ich die 4 steckdosen nicht nur lesen, sondern auch schalten kann.


ja, mein wissen:
wo krieg ich den <DeinTopicDesShellyB&T> her?
und die genaue model bezeichnung ist mir auch ein rätsel.
bisher erfolglos:
defmod shelly_bt MQTT2_DEVICE
attr shelly_bt IODev ratBroker
attr shelly_bt devicetopic tempsensor_01
attr shelly_bt event-on-change-reading .*
attr shelly_bt getList in_mode:noArg in_mode $DEVICETOPIC/rpc {"id": 1,"src":"$DEVICETOPIC", "method": "Switch.GetConfig", "params": {"id": 0}}
attr shelly_bt model Shelly BLU HT
attr shelly_bt room mqtt

die bezeichnung des bt-devices im shelly eigenen webserver wäre:
Zitattempsensor_01
Shelly BLU HT - 7c:c6:b6:75:1c:73
bthomedevice:200
→do↑p!dnʇs↓shit←

rabehd

Du hast 2 Shelly, warum das in einem Thema? Für mich 2 eigene Dinge.

Zitat von: the ratman am 10 Februar 2026, 12:56:40wo krieg ich den <DeinTopicDesShellyB&T> her?
Aus der Web-GUI des Shelly.
Auch funktionierende Lösungen kann man hinterfragen.

the ratman

#7
und was is da was? ich hab wirklich keinen dunst von mqtt ...

in der webgui unter components hab ich den bt sensor mit obigen werten stehen, also:

tempsensor_01
Shelly BLU HT - 7c:c6:b6:75:1c:73
bthomedevice:200 <-- das ist wohl das topic?

was is das model?

ein problem ist auch
attr shelly_bt shelly_bt $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:.* {}
das will er mir ned nehmen, wegen unknown device
→do↑p!dnʇs↓shit←

rabehd

Unter http://<ip-des-shelly>/#/settings/mqtt sehe ich bei meinen Shelly die Mqtt-Einstellungen.
Client-ID ist das Topic
Über den prefix baue ich die Struktur der Nachrichten auf, da finde ich mich im MQTT-Explorer besser zurecht.
Auch funktionierende Lösungen kann man hinterfragen.

the ratman

versteh ich das richtig?
das topic ist die client id der steckdose? da kann ich lang beim sensor selber suchen *g*
den letzten satz verstehe ich nicht. der prefix ist also quasi das selbe wie das topic? zumindest steht bei mir in beiden fällen das selbe drinnen

und da:
attr shelly_bt shelly_bt $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:.* {}
ist wohl was falsch - ich kriege also obigen defmod nicht vollständig zusammen
→do↑p!dnʇs↓shit←

the ratman

#10
und nur zur sicherheit, bevor wir hier sachen machen, die ich eventuell gar nicht brauche:

es ging mir hier nur mal darum überhaupt zu wissen, was das shelly modul kann und dass ich alternativ auch mqtt nehmen würde, weil das die daten des bt-devices schon mit abbildet, ich aber nicht weiß, wie man bei mqtt die einzelnen steckdosen und den button des bt-devices von fhem aus schalten kann.

ich brauch also das bt-device nicht extra, ich brauche entweder
o) eine info, wie man im shelly modul das bt-device rein kriegt
oder
o) wie ich in mqtt die 4 steckdosen und den button des bt-devices schalten kann
→do↑p!dnʇs↓shit←

rabehd

Ich nutze MQTT für fast alle meine Shelly. BT-Shelly habe ich nicht. " Device gehen über shelly.pm, aber die dienen nur zur Anzeige.
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}}}}
Das ist von einem shellyplus1pm, mit diesem Setlist werden die Befehle definiert (MQTT).
Auch funktionierende Lösungen kann man hinterfragen.

the ratman

ok. dann muss i mir was anderes suchen ... das kapier ich ned im ansatz
→do↑p!dnʇs↓shit←

passibe

Das hier mal sehr aufmerksam lesen:
https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_für_Schritt

Wenn man MQTT einmal kapiert hat, ist es sehr sehr nützlich!

Ich empfehle, wie rabehd schon gesagt hat, zur besseren Übersicht beim Einbinden/Debuggen der Geräte ebenfalls den MQTT-Explorer: https://mqtt-explorer.com

Mit dem MQTT-Explorer und mit der Anleitung im Wiki solltest du zumindest schon einmal Daten vom Shelly lesen können und per autocreate dürfte sich dann auch schon automatisch ein FHEM-Device erstellen.

the ratman

ich hab doch das device schon in mqtt.

ich brauch doch nur noch eine info, wie ich auch aktionen auslösen kann.
mir fehlt einfach das dumme on/off, wie es jeder schalter mit jedem modul hat ...
→do↑p!dnʇs↓shit←