Seite 1 von 1
Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 6. Apr 2026 09:07
von mike285
Hallo zusammen,
ich suche nun schon seit Wochen im Internet nach Lösungsansätze. Ich habe folgendes Verhalten:
Mehrere Shelly 2 PM gen 4 als BLU Gateway im Einsatz. Werden die Tastendrücke meines 4-fach Wallswitches (SBBT-004CEU) immer nur kurz nach der Reinstallation des Shelly Bindings oder manchmal nach einem Neustart des Shellys. Die Logs im Shelly zeigen, dass der Tastendruck dort ankommt und auch vom Script wohl bearbeitet wird, jedoch nicht an das Openhab übertragen wird.
Das Openhab läuft auf einem Raspberry PI mit Openhabian auf bookworm Basis und ich verwende Openhab 5.1.3 mit dem offiziellen Shelly Binding und die Shellys verwenden die Firmwareversion 1.7.4 bzw. seit 2 Tagen auch teilweise die 1.7.5.
Kennt jemand das Problem und kann mir weiterhelfen oder hat mir eine Idee, wie ich das Thema angehen könnte?
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 6. Apr 2026 12:48
von nw378
Ich weiß nicht, wie stabil das Skript auf den Shellys inzwischen läuft. Als ich die ersten BLU Geräte installiert hatte (ist schon ein paar Jahre her), hatte ich immer mal wieder Ausfälle durch das Skript. Weil es aus unterschiedlichen Gründen immer mal wieder gestoppt wurde.
Ich habe dann alles auf MQTT umgestellt, und seither läuft es unglaublich zuverlässig.
Vielleicht wäre das für Dich auch ein Lösungsweg.
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 6. Apr 2026 20:53
von mike285
Nur für mich zum Verständnis, nur die BLU über MQTT oder alles von Shelly über MQTT?
Und gibt es da eine gute Anleitung oder ähnliches?
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 7. Apr 2026 16:18
von nw378
Letztendlich kannst Du alles über MQTT machen, allerdings ist der Aufwand nicht ohne.
Ich lasse nur die BLU Geräte über MQTT laufen, den Rest der Shellys über das Binding.
Zur Anleitung: ich gehe davon aus, dass Du einen MQTT Broker laufen hast.
Diesen gibst Du unter Einstellungen/MQTT in der Shelly App für das Gerät ein, dass als Schnittstelle zum BLU Gerät fungiert (roter Kasten):
WhatsApp Image 2026-04-07 at 15.58.09.jpeg
Dann suchst Du ebenfalls in der Shelly App die MAC Adresse des BLU Geräts:
WhatsApp Image 2026-04-07 at 15.59.01.jpeg
Ob Shelly ordnungsgemäß MQTT Nachrichten sendet, kannst Du bspw. mit dem MQTT Explorer
https://mqtt-explorer.com/ prüfen.
In openHAB bindest Du das BLU Gerät dann so ein:
mqtt.things
Code: Alles auswählen
Thing mqtt:topic:mosquitto:mqtt_Shelly "MQTT Shelly" (mqtt:broker:mosquitto) {
Channels:
Type contact : cTerrasse "Terrassentür" [ stateTopic="shelly/events/rpc", transformationPattern="REGEX:(.*d8:7a:XX:XX:72:c0.*)∩JSONPATH:$.params.events[0].data.Window", off="0" , on="1" ]
}
wobei d8:...:c0 die MAC Adresse des BLUs ist.
shelly.items
Code: Alles auswählen
Contact Fkontakt_Erker_links "Erker Tür links {channel="mqtt:topic:mosquitto:mqtt_Shelly:cTerrasse"}
Das Beispiel ist ein Fensterkontakt. Andere Geräte gehen entsprechend:
Code: Alles auswählen
Type number : HWR_Temp "Shelly HWR Temp" [ stateTopic="shelly/events/rpc", transformationPattern="REGEX:(.*7c:c6:xx:xx:86:a0.*)∩JSONPATH:$.params.events[0].data.Temperature" ]
Type number : HWR_Humidity "Shelly HWR Feuchte" [ stateTopic="shelly/events/rpc", transformationPattern="REGEX:(.*7c:c6:xx:xx:86:a0.*)∩JSONPATH:$.params.events[0].data.Humidity" ]
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 17. Apr 2026 20:05
von mike285
Hi,
also nach langem hin uns her und einem Werksreset der für BLU verwendeten Shellys habe ich es nun seit 4 Tagen über MQTT am laufen.
Für den Wallswitch 4 ist das Thing möglichst nah an dem Aufbau des Shelly-Bindings so:
Code: Alles auswählen
Thing mqtt:topic:MYBROKER:SHELLY_BLU_GATEWAY_OH_ID "NAMENAME" (mqtt:broker:MYBROKER) {
Channels:
// ----------------------------------------------------
// DEVICE GROUP
// ----------------------------------------------------
Type trigger : device#alarm "Alarm" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.method",
event="NotifyEvent=ALARM"
]
Type number : device#wifiSignal "Signalstärke" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.rssi"
]
Type string : device#firmware "Gerätefirmware" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.src"
]
Type string : device#gatewayDevice "Gateway Gerät" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.dst"
]
Type string : device#heartBeat "Letzte Aktivität" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.ts"
]
// ----------------------------------------------------
// BATTERY GROUP
// ----------------------------------------------------
Type number : battery#batteryLevel "Batterie" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Battery"
]
Type switch : battery#lowBattery "Low Battery" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Battery",
on="0..19",
off="20..100"
]
// ----------------------------------------------------
// SENSORS GROUP
// ----------------------------------------------------
Type string : sensors#lastUpdate "Letzte Aktualisierung" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.ts"
]
// ----------------------------------------------------
// BUTTON 1 GROUP
// ----------------------------------------------------
Type trigger : status1#button "Ereignisauslöser 1" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Button[0]∩MAP:wall_switch.map"
]
Type string : status1#lastEvent "Letztes Ereignis 1" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Button[0]∩MAP:wall_switch.map"
]
Type number : status1#eventCount "Ereignis-Anzahl 1"
// ----------------------------------------------------
// BUTTON 2 GROUP
// ----------------------------------------------------
Type trigger : status2#button "Ereignisauslöser 2" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Button[1]∩MAP:wall_switch.map"
]
Type string : status2#lastEvent "Letztes Ereignis 2" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Button[1]∩MAP:wall_switch.map"
]
Type number : status2#eventCount "Ereignis-Anzahl 2"
// ----------------------------------------------------
// BUTTON 3 GROUP
// ----------------------------------------------------
Type trigger : status3#button "Ereignisauslöser 3" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Button[2]∩MAP:wall_switch.map"
]
Type string : status3#lastEvent "Letztes Ereignis 3" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Button[2]∩MAP:wall_switch.map"
]
Type number : status3#eventCount "Ereignis-Anzahl 3"
// ----------------------------------------------------
// BUTTON 4 GROUP
// ----------------------------------------------------
Type trigger : status4#button "Ereignisauslöser 4" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Button[3]∩MAP:wall_switch.map"
]
Type string : status4#lastEvent "Letztes Ereignis 4" [
stateTopic="SHELLY_BLU_GATEWAY_MQTT_NAME/events/rpc",
transformationPattern="REGEX:(.*\"addr\":\"aa:bb:cc:dd:11:22\".*)∩JSONPATH:$.params.events[0].data.Button[3]∩MAP:wall_switch.map"
]
Type number : status4#eventCount "Ereignis-Anzahl 4"
}
Dazu braucht es noch das MAP-File "wall_switch.map":
Code: Alles auswählen
1=SHORT_PRESSED
2=DOUBLE_PRESSED
3=TRIPLE_PRESSED
4=LONG_PRESSED
128=HOLD
Ich habe die BLU Geräte nun alle trotzdem über das Binding registriert, k.A. ob das nötig war oder nicht.
Überlege mir noch ein eigenes "Binding" zu schreiben, indem ich die ganzen Shelly BLU Devices so integrieren kann, noch fehlt mir aber der Einstig ins Bindingprogrammieren.
Danke @nw378 für den Einstieg!
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 18. Apr 2026 08:14
von nw378
Schön, dass es klappt und dass du hier ein Feedback gibst.
Hinweis: die Registrierung über das eigentliche Shelly Binding ist nicht notwendig.
Viel Erfolg mit dem eigenen Binding!
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 19. Apr 2026 10:40
von mike285
Hi,
jetzt muss ich doch nochmals nachfragen.
Ich habe das von dir oben beschriebene vorgehen nun mit eine BLU Button 1 probiert, also ohne das BLU Script von OH auf dem Shelly Plus Plug S und nur mit der Verknüpfung über die Shelly App. Dann sendet er die MQTT-Daten bei mir gar nicht.
Also der MQTT-Explorer zeigt nicht einmal die Nachrichten. Habe ich da was vergessen?
Gemacht habe ich:
1. Verbunden über die Shelly APP
2. Im Stecker:
a. Bluetootheinstellungen: Enable + Enable RPC
b. MQTT: Enable RPC over MQTT + RPC status notifications over MQTT + Serverdaten und Client ID
So wich ich dich verstanden habe, sollte nun ein Tastendruck über das topic "CLIENT_ID/events/rpc" perr MQTT gepublisht werden oder fehlt da doch was?
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 19. Apr 2026 13:28
von Harka
Moin,
möglicherweise musst Du noch auf der Website des Shellys (über IP - nicht per App) noch unter
Components ein
Bluetooth (BTHome) devices hinzufügen.
Hier läuft ein Shelly BluH&T, bei dem lauscht ein MQTT-Trigger Channel für den Button auf
Code: Alles auswählen
JSONPATH:$.params.events[?(@.component=='bthomedevice:200')].event
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 19. Apr 2026 13:31
von mike285
Dann wechselt das Protokoll mit dem die Daten übertragen werden und ist nicht mehr so richtig auszulesen...
Re: Shelly Binding BLU - Kommunikationsprobleme
Verfasst: 19. Apr 2026 14:22
von nw378
mike285 hat geschrieben: 19. Apr 2026 10:40
Gemacht habe ich:
1. Verbunden über die Shelly APP
2. Im Stecker:
a. Bluetootheinstellungen: Enable + Enable RPC
b. MQTT: Enable RPC over MQTT + RPC status notifications over MQTT + Serverdaten und Client ID
Genauso habe ich das auch eingestellt. Und natürlich bei der Installation in der Shelly App ein WLAN-Gerät als Gateway ausgewählt.
Bildschirmfoto_19-4-2026_142515_192.168.178.83.jpeg
Evtl. nochmal das BLU Gerät aus der App löschen und neu verbinden?