NEWS
[Adapter] Shelly Adapter mit MQTT
-
Moin,
Ich bin gerade dabei den aktuellen Shelly Adapter so umzubauen, dass man zwischen CoAP (so funktioniert der Adapter momentan) und dem MQTT Protokoll wählen kann.
Ein großer Vorteil von MQTT ist, dass ioBroker in einem anderen Subnetz als die Shelly Geräte betrieben werden können. Das ist z.B. der Fall wenn ioBroker im Docker Container im Bridge Modus läuft. Auch wenn man immer wieder Probleme mit Multicast hat, lohnt der Wechsel.Was ist jetzt der Vorteil des "Shelly MQTT Adapters" gegenüber dem reinem MQTT Adapter? Leider werden nicht alle Werte der Shelly Geräte per MQTT geliefert. Genauso wenig können alle Werte per MQTT geändert werden. Um auch andere Werte zu erhalten und zu setzen wird parallel zu MQTT auf diese Felder per http zugegriffen. D.h. der Funktionsumfang ist deutlich höher als beim MQTT Adapter.
Momentan befindet sich der Umbau in einem Beta Status. Es werden auch nur Shelly 1, Shelly 1pm, Shelly 2 und Shelly 2.5 unterstützt.
Wer möchte kann aber gerne testen (freue ich mich über feedback!!)Die Installation geht wie folgt:
Adapter Tab auswählen. Oben auf die GitHub Katze klicken und dann im Pop-up Fenster "Beliebig" auswählen. hier folgenden Link eingeben: https://api.github.com/repos/schmupu/ioBroker.shelly/tarball/mqttVG
StübiAnbei ein paar Screenshots:
Installation der Beta Version
Shelly MQTT Einstellungen. Hier Username/Passwort, IP vom ioBroker und Passwort aus der Shelly Adapter Konfiguration eintragen.
Shelly Objekte
-
Es werden in der neusten Version 3.0.0 nun folgende Geräte in MQTT und CoAP (wie es bisher funktionierte) unterstützt:
- Shelly1 (SHSW-1, verified)
- Shelly2 (SHSW-21/SHSW-22, verified)
- ShellyBulb (SHBLB, verified)
- Shelly H&T (SHHT-1, verified)
- Shelly Smoke (SHSM-01, verified)
- Shelly 1 1PM (SHSW-PM, verified)
- Shelly 2.5 (SHSW-25, verified)
- ShellyRGBW (SHRGBWW-01, verified)
- ShellyRGBW2 (SHRGBW2, verified)
- Shelly2LED (SH2LED, verified)
- ShellyPlug (SHPLG-1, verified)
Noch handelt es sich um eine Beta Version. Über Tester würde ich mich freuen!!!
Installation über den Reiter Adapter, dann GitHub Katze und bei beliebig folgenden Link eintragen: https://api.github.com/repos/schmupu/ioBroker.shelly/tarball/mqtt
Die Devices und Objekte heißen gleich. Also im besten Fall sollte man keine Änderung feststellen können.
-
Der Link https://api.github.com/repos/schmupu/ioBroker.shelly/tarball/mqtt ist nicht mehr aktuell, da ich die Versionen jetzt zusammenführe.
Bitte die neue Version (immer noch 3.0.0) über Adapter und dann Github Katze und dort den Shelly Adapter aus der Liste auswählen installieren. -
Hallo Stübi,
Aber leider kann ich den zustand noch nicht auslesen wie bei MQTT adapter "Input" bei deinem Shelly Adapter wenn er auf MQTT gestellt ist.
Dieses "Input" benutze ich an meinem Garagentor als eigang für die Zu Überwachung.
Der Input ist der SW Eingang unabhängig vom Relay programmiert.. -
@Shepherd , das habe ich noch nicht verstanden was input genau tut. Kannst Du das etwas detaillierter beschreiben ?
-
@Shepherd , und noch eine Frage. Kann man den input State nur über MQTT sehen oder auch in der Shelly App? Und wenn ja, wo in der App.
Ich werden den Input state mit anbieten. Geht dann aber nur im MQTT Modus solange ich nicht weiß wo ich den Wert in der App finde.
-
Der Input schaut nur ob auf SW Eingang geschaltet ist oder nicht.
Habe ich die Auswertung ob z.B. der Lichtschalter eingeschalten ist oder nicht anzeige 1 oder 0 für an oder aus.Diesen Eingang kann ich unabhängig zum Relais auswerten als state und Relais schaltet nicht.
Mein Garagentor schaltet diesen SW eingang auf null wenns in der Endlage zu ist. Shelly lüft mit 24V.
Somit weiss ich dass Garagentor zu ist aber das Relais schaltet unabhängig von diesem State.
Diese Auswertung gibt es nicht über die App nur über MQTT glaube ich.
So wurde es damals als Shelly dies eingebunden hat komuniziert.Diese einstellung fehlt halt noch in deinem Adapter dann könnte ich den MQTT broker Adapter abschalten.
-
Longpush fehlt auch noch, so kann man lang drauf drücken und passiert was anderes wenn man den state in einem script mit abfrägt und benutzt.
-
@Shepherd , wie ist denn longpush im MQTT Adapter abgebildet?
-
@Shepherd sagte in [Adapter] Shelly Adapter mit MQTT:
Hallo Stübi,
Aber leider kann ich den zustand noch nicht auslesen wie bei MQTT adapter "Input" bei deinem Shelly Adapter wenn er auf MQTT gestellt ist.
Dieses "Input" benutze ich an meinem Garagentor als eigang für die Zu Überwachung.
Der Input ist der SW Eingang unabhängig vom Relay programmiert..kannst jetzt testen. Du musst nochmals die Version 3.0.0 über die GitHub Katze installieren. Du wirst unter Relay einen State Input finden. Dieser ist entweder true oder false.
Passt das? -
Teste ich morgen, kann dir dann Bescheid geben.
Das mit Longpush schaue ich morgen nochmals nach.
Habe es bisher nur mal unter MQTT getestet als das implementiert wurde.
Momentan nicht im Einsatz bei mir.
Ich überlege mir da mal ein Anwendungsfall.
Vielleicht mit longpush nachts nur ein kleines Licht mit schalten anstatt das Ganglicht, mit nem Script verschaltet.Danke für deine Tolle Arbeit mit dem Adapter.
Hast mit dem RGBW2 Einbindung damals schon toll gemacht. -
Hallo Zusammen,
erstmal danke für den Shelly Adapter.
Leider habe ich ein Problem und hoffe hier Hilfe zu finden. Ich habe aktuell 1x den Shelly 1 und mehrmals den Shelly 1 PM im Netzwerk integriert. Der Shelly 1 wird auch inklusive der Relais erkannt, die Shelly 1 PM werden jedoch nur als "online" angezeigt, das Relais fehlt jedoch.Als weitere Information: Ich habe ioBroker mit folgender Konstellation:
(1 X Rock64 als Master, 2 Mal Raspberry PI als Slave)...
Der Shelly Adapter läuft auch nur auf einem der Raspberry welcher noch eine ander IP Adressbereich hat (192.168.2.112). Alle anderen Geräte bei mir haben feste IP im Bereich 192.168.2.50-192.168.2.70... ich vermute die Ursache im Subnetz?Aus purer Verzweiflung habe ich nun auf die Testversion vom Shellyadapter 3.0 installiert und einen Shelly 1 PM auf MQTT umgestellt (nach Anleitung)... jedoch selbes Thema. Der Shelly wird gefunden und als Online angezeigt, jedoch fehlt das Relais und die Strommessung...--> jemand einen Tipp für mich :(.
Viele Grüße Sebastian
-
@Stuebi
Der Input Wert ist da, aber er ändert den Wert nicht, bleibt dauerhaft auf false.
Habe ich gerade getestet mit meinem Garagen Shelly V3.
Mit MQTT Adapter geht es.Mit MQTT Adapter:
Bei 24 Volt DC Betriebsspannung lege ich meinen Shelly SW Eingang bei Tor zu auf GND.
Input ist 1Bei Tor Auf ist am SW Eingang unterbrochen.
Input ist 0Bei 230 V AC Betriebsspannung ist es glaube ich
Bei SW auf 230 Input =1
Bei SW nix input =0Longpush:
Mit MQTT Adapter
Langes drücken mit edge switch schaltet Input auf 1 kurzes drücken schaltet Input auf 0. -
@Shepherd sagte in [Adapter] Shelly Adapter mit MQTT:
put auf 1 kurzes drücken schalt
Hallo @Shepherd ,
ich habe den Fehler mit input gefunden. Das sollte jetzt hoffentlich gehen. Auch der Longpush sollte jetzt in input richtig abgebildet werden.
Bitte Version nochmals laden (weiterhin Version 3.0.0) und Instanz neu starten.
Ich bin gespannt!VG
Stübi -
@robbsen , hmm der Screenshot scheint aber nicht die Version 3.0.0 zu sein. Also wenn Du es mit der 3.0.0 testen möchtest. Bitte nochmals laden (Adapter Reiter -> Github Katze und dort in dem Menü Shelly auswählen).
Anschließend in den Experten Modus auf dem Adapter Reiter klicken. Anschließend Shelly Adapter auswählen und dort Upload (Pfeil nach oben) drücken. Bist Du damit durch, dann auf den Instanz Reiter gehen und Shelly Konfigurieren. Da sollte CoAP als Protokoll stehen. Speicher u. Schließen. Shelly Instanz bitte neu starten.
Wenn es nicht geht, bitte Screenshot schicken.VG
Stübi -
Input funktioniert
Longpush teste ich auch gleich.Longpush gibt es keinen state
Longpush state und Input stat sind jeweils getrennt von einander im MQTT Adapter.
So sieht es unterm MQTT Adapter aus:
Übernimmst du auch die 3 Auswahlmöglichkeiten bei
Default QoS:
At most once (0)
At least once (1)
Exactly once (2). -
doofer Anfängerfehler (Upload). Danke für den Tipp! Konnte die Shelly PM nun über MQTT einbinden, werde weiter testen!
Danke für den tollen Adapter -
@robbsen sagte in [Adapter] Shelly Adapter mit MQTT:
doofer Anfängerfehler (Upload). Danke für den Tipp! Konnte die Shelly PM nun über MQTT einbinden, werde weiter testen!
Danke für den tollen AdapterUpload ist nur notwendig wenn Du per GitHub installierst.
-
Morgen ist die Version 3.0.1 im Latest Repository und als Update in ioBroker sichtbar.
-
Guten Abend zusammen.
Ich habe heute Vers. 3.0.1 installiert. Folgendes ist mir aufgefallen generell jetzt mit meinen 3 Versionen, 2.2.0, 3.0.0 und 3.0.1.
Bei den "neuen" Shellys (in meinem Fall 2x 1PM und 1 2.5) wird in den Objekten die Switchstellung nicht geändert. Bei allen anderen schon (Shelly1, Shelly2 RGBW2). Diese steht immer auf false, was das Anzeigen in der vis nicht möglich macht. Ich nutze die OE FW und alle Shellys seit heute mit V1.5.0. Ist dies tatsächlich noch ein Fehler in dieser Adapterversion oder übersehe ich was? Der Punkt Power wird mir bei 1PM und 2.5 angezeigt, daher nutze ich diese Anzeige um festzustellen ob das Licht an oder aus ist.
Grüße aus dem Schwabenland