NEWS
Shelly-Geräte mit MQTT-Adapter steuern
-
@klausstoertebeker und bei denn switches?
-
Ob die Switches an oder aus sind, siehst Du am Attribut "output": "true" = an...
Und ich muss Dir recht geben: Der Status der "input:x" wechselt von "null" auf "true", wenn er gedrückt wird - mea culpa! Vermutlich hat mein damaliges Skript nicht reagirt, weil ich nicht auf einen String sondern auf einen Boolean verglichen habe.Kann man diese Abfrage auch irgendwie in die Alias-read-Funktion packen? Vielleicht in der folgenden Art:
JSON.parse(mqtt.0.shellyplus2pm-d48afc7dbd1c.status.input:0).state === "true" ? JSON.parse(val).params.events[0].event : "null"
-
=== "true"
läßt Du einnfach weg.
Also so:
JSON.parse(mqtt.0.shellyplus2pm-d48afc7dbd1c.status.input:0).state ? JSON.parse(val).params.events[0].event : "null"
-
Habe ich gemacht, und ich erhalte jetzt folgenden Fehler:
javascript.0 2025-03-23 19:17:00.212 error Invalid read function for "alias.0.Wohnzimmer_Esstischlampe_Hw-Schalter.Taster": "JSON.parse(mqtt.0.shellyplus2pm-d48afc7dbd1c.status.input:0).state ? JSON.parse(val).params.events[0].event : "null"" => missing ) after argument list
-
@mickym sagte in Shelly-Geräte mit MQTT-Adapter steuern:
mqtt.0.shellyplus2pm-d48afc7dbd1c.status.input:0
Na ist ja auch ein Fehler. In dem parse muss ja auch val. Solange da bei state null ist, dann hilft Dir das nichts. Also ist der Datenpunkt so ungeeignet - dann musst halt doch mit dem Blockly arbeiten.
-
Puh.... ich trottelt hätte auf die Gen. 3 warten sollen!
Mit der Überzeugung das ich die Shellys PlugPlus S per Shelly Adapter im ioBroker steuern kann, habe ich mir 10 Stück gekauft, die Shellys Gen, 1 die bei mir laufen sind alle mit Tasmota geflasht und sind somit im ioBroker
eingebunden.
Gut, nun versuche ich die per Mqtt in den iob zubekommen, aber hier scheitere ich schon an der Übersetzung:
Keine Ahung wo und wie ich das alles eintragen soll, zum Testen läuft auch noch HA (nutze ich nicht, weil das kein Blockly hat) dort werden die PlugPlus s aber gefunden, ich glaube ich bin langsam zu alt für den sch....
Hat jemand eine "einfache" Anleitung wie ich das so hinbekommen das ist auf die Daten wie Power/Watt usw.. per ioBroker zugreifen kann?
Alternativ würde mir nur dann bleiben die Teile irgendwo im Keller zu verbauen wo sie nur "schalten" und nichts Anzeigen sollen und mit 10 neue Messdosen mit Tasmota drauf zu kaufen
-
@master67
Warum verwendest du nicht den Shelly Adapter?
Shelly Plus Plug S ist voll unterstützt.Oder lebst die die sprichwörtliche Methode "Warum einfach wenns umständlich auch geht?"
Da giubts ne deutsche Anleitung auch gratis dazu:
https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/de/README.md -
@master67 Öhm, laufen deine Shelly Plug S nun mit der Original-Shelly Software? oder mit Tasmota?
-
@mcm1957 sagte in Shelly-Geräte mit MQTT-Adapter steuern:
Warum verwendest du nicht den Shelly Adapter?
Das war der Plan.... nur werden im Shelly Adapter die Geräte der 1. Gen gefunden, keinen einzigen PlugPlus S, was mich ja auch Wundert, weil in HA werden die ja auch im Shelly "Adapter" gefunden,
dachte auch erst ist ein Einstellungsproblem, konnte es aber nicht lösen!@bananajoe sagte in Shelly-Geräte mit MQTT-Adapter steuern:
Öhm, laufen deine Shelly Plug S nun mit der Original-Shelly Software? oder mit Tasmota?
Die PlugPlus S sind neu, die kann man nicht mehr mit Tasmota Flashen, also ist die Original Software drauf, nur die Shellys der 1. Gen, laufen (bis auf zwei) mit Tasmota.
So... nur 1. Gen
-
@master67 sagte in Shelly-Geräte mit MQTT-Adapter steuern:
Die PlugPlus S sind neu, die kann man nicht mehr mit Tasmota Flashen, also ist die Original Software drauf, nur die Shellys der 1. Gen, laufen (bis auf zwei) mit Tasmota.
Ok, die Shellys mit Tasmota sind nun Tasmotageräte - dann müsstest du diese mit dem Sonoff-Adapter einbinden.
Da steht nur noch Shelly drauf, ansonsten haben die nichts mehr mit Shelly zu tun.Die neueren Shellys sollten per MQTT laufen, sprechen darüber aber eine völlig andere Syntax.
Die nutzt du über den Shelly Adapter im MQTT-Modus. Wenn du den Adapter konfigurierst (Adapter! Unter iobroker!), stellst du dort den Port, Benutzernamen und Passwort ein:
Auf den Shellys konfigurierst du dann MQTT mit genau diesen Einstellungen - insbesondere den Port beachten!
-
Wenn du GEN 1 Geräte mit dem Shelly Adapter benutzen willst, dann stellst du den Shelly Adapter (normalerweise) auf COAP ein.
Wenn du GEN2 / 3 / 4 Geräte mit dem Shelly Adapter benutzen willst, dann stellst du den Shelly Adapter auf MQTT ein.
Das bedeutet:
Typisch hast due ZWEI Shelly Instanzen - eine Instanz mit COAP für GEN 1 Geräte und eine mit MQTT für GEN 2+ Geräte.Eine ausführliche Anleitung hab ich dir schon oben verlinkt:
https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/de/README.mdBitte beachte, dass du in den Shellies GEN2+ MQTT explizit einschalten musst. Weiters musst du die IP des IoBroker hosts und den Port des Shelly Adapters (typisch 1882) angeben.
Wenn dann der Shelly noch immer nicht erkannt wird, poste bitte mal
- die Einstellungen des Adapters
- die Einstellungsseite (MQTT) eines Shellies
- allfällige LOGs
-
@mcm1957 sagte in Shelly-Geräte mit MQTT-Adapter steuern:
Das bedeutet:
Typisch hast due ZWEI Shelly Instanzen - eine Instanz mit COAP für GEN 1 Geräte und eine mit MQTT für GEN 2+ Geräte.Mist.... hätte man auch von selbst draufkommen können, so habe ich das z.B. beim Modbus auch, werde ich heute Abend erstellen und dann mal kurz berichten ob die Shellys dann da sind, danke dir für den Tipp
-
@mcm1957 sagte in Shelly-Geräte mit MQTT-Adapter steuern:
Wenn dann der Shelly noch immer nicht erkannt wird, poste bitte mal
ich gebe es auf, die Plug S werden einfach nicht erkannt!
Ich bekomme keine Verbindung hin, egal was für einen Port ich auch immer verwenden, nutze ich aber den MQTT Broker/Client mit den gleichen Einstellungen kommt die Mqtt Verbindung zustande
Mittlerweile stelle ich mir die Frage, habe ich den richtigen Shelly Adapter installiert?
-
@master67
Allgemeine Statusaktualisierung beim Shelly mit anhaken (Also wie im zweiten Bild).
Kontrollieren ob der eingestellt Port am Shelly der vom Shellyadapter (die Instanz mit MQTT) ist
Grundsätzlich beim Shelly im MQTT Fenster das Passwort vor dem speichern erneut eingeben - ansonsten ist es falsch bzw. leer.Im Einstellfenster vom MQTT-Adapter steht eigentlich alles beschrieben.
Edit:
Mittlerweile stelle ich mir die Frage, habe ich den richtigen Shelly Adapter installiert?
Gibt doch nur einen, welche Version hast du denn? Zeig mal einen Screenshot von den MQTT Einstellungen im Adapter.
-
@master67 sagte in Shelly-Geräte mit MQTT-Adapter steuern:
ich gebe es auf, die Plug S werden einfach nicht erkannt!
Bitte lies mal ganz genau die Meldung und was das Problem sein könnte. Da steht doch ganz genau was falsch ist:
DO NOT CHANGE THE CLIENT-ID OF YOUR SHELLY DEVICES (see adapter documentation for details)
Man darf keine eigene Client-ID vergeben, sondern muss sie auf dem Standard belassen. Daran erkennt der Shelly-Adapter den Geräte-Typ. Steht doch alles ganz ausführlich in der Doku...
https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/de/protocol-mqtt.md
-
@ralf-2 said in Shelly-Geräte mit MQTT-Adapter steuern:
@master67
Allgemeine Statusaktualisierung beim Shelly mit anhaken (Also wie im zweiten Bild).
Kontrollieren ob der eingestellt Port am Shelly der vom Shellyadapter (die Instanz mit MQTT) ist
Grundsätzlich beim Shelly im MQTT Fenster das Passwort vor dem speichern erneut eingeben - ansonsten ist es falsch bzw. leer.Im Einstellfenster vom MQTT-Adapter steht eigentlich alles beschrieben.
Edit:
Mittlerweile stelle ich mir die Frage, habe ich den richtigen Shelly Adapter installiert?
Gibt doch nur einen, welche Version hast du denn? Zeig mal einen Screenshot von den MQTT Einstellungen im Adapter.
Version ist irrelevant - @Master67 hat die LIENT-ID geändert. Und die beschreibt den TYP des Gerätes. Einen "Shelly BKW 800W" kann man zumindest derzeit nicht kaufen
-
Du darfst wie @haus-automatisierung geschrieben hat die CLIENT-ID NICHT ändern. Diese identifiziert den Typ des Gerätes. Also entweder trag die wieder so ein wie sie im Fabrikszustand eingetragen war (da muss was wie
shellyplus....#nnnnnn
drinnen stehen) oder mach einen Factory Reset udn schau ob dann der richtige Hwardware Typ dort drinnen steht.Und BITTE lies dir die Anleitung mal durch, Da steht das auch drinnen.
Und noch was:
nutze ich aber den MQTT Broker/Client mit den gleichen Einstellungen kommt die Mqtt Verbindung zustande
Das deutet AUCH drauf hin, dass du den Port nicht richtig eingestellt hast. MQTT Adapter und SHELLY Adapter können NIE denselben Port am selben Host benutzen. Shelly hat daher den Default 1882. (Du hast offenbar 1886 eingestllt ist auch ok solabge am Shelly dann auch 1886 steht). Also SELBE (= idente) Einstellung auch was den Port betrifft geht nicht,
Aber zuerst sanier mal die CLIENT-ID des Shellies (EInstellung am SHELLY). Ohne da dort der Fabrikswert drinnen steht geht da gar nichts.
-
@mcm1957 sagte in Shelly-Geräte mit MQTT-Adapter steuern:
Und BITTE lies dir die Anleitung mal durch, Da steht das auch drinnen.
Ach man.... im ersten Post haben ich euch mal die Übersetzung von der Anleitung gepostet, in Deusch völlig Unverständlich, und EN kann ich nicht, weder Lesen, noch schreiben oder Sprechen!
Das mit der ID habe ich auch so verstanden und einen Plug S in Werkseinstellugen zurückgesetzt, somit hatte er wieder die ID, trotzdem konnte der Shelly keine Mqtt Verbindung herstellen,@mcm1957 sagte in Shelly-Geräte mit MQTT-Adapter steuern:
MQTT Adapter und SHELLY Adapter können NIE denselben Port am selben Host benutzen.
Dachte ich mir, aber den "MQTT Broker/Client" nutze ich nicht, war nur zum Testen ob ich überhaupt eine Verbindung per Mqtt mit den Plug S herstellen kann, bis auf Port 1883 habe ich alle versucht (port 1983 ist Sonoff Mqtt, bzw. Tasmota)
Ich Hampel da jetzt ein paar Stunden mit rum, ich hasse das das man die Shelly Plug Plus S nicht mit Tasmota Flashen kann!
Danke das Ihr mir Versucht habt zu helfen, aber ich verstehe eh die Anleitung nicht und immer und immer wieder die Einstellungen zu ändern und dann klappt es doch nicht ist frustrierend, aber Lehrreich, jetzt werden erst mal ein paar Tasmota Messdosen bestellt, ist nicht die beste Lösung, aber eine die ich hinbekomme
-
Ich kann deinen Frust verstehen. Und es sollte auch absolut kein Problem sein nicht englisch zu sprechen.
Ich hab keine Ahnung welche Anleitung du im ersten Post da auf deutsch übersetzt hast, Diese ist wirklich nicht klar verständlich. Und ide Anleitung hat auch absolut NICHT mit dem Shelly Adapter in ioBroker zu tun.
Also beginnen wir nochmal von Vorne.
Hast du einen Plus Plug S der auf Werkseinstellungen steht?
Wenn nicht resette ihn.-
Bring dann den Shelly in dein Netz /( WLAN. Konfigurier mal nur dass WLAN.
-
Wenn der sehlly wie WEB Interface im WLAN erreichbar ist mach weiter.
-
Öffne die folgende Anleitung: https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/de/protocol-mqtt.md
-
Öffne jene instant des Shelly Adapters die mit den GEN2+ Geräten sprechen soll.
- Kontrolliere die Einstellungen lt. Bild in der Anleitung (https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/de/img/iobroker_general_mqtt.png)
- wechsle auf das Tab MQTT und kontrolliere die EInstellungen lt Bild in der Anleitung (https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/de/img/iobroker_mqtt.png)
- Merke die mqqt Username und passwort das du eingibst
- Stelle den Shelly Adapter port auf 1883 (außer du hast eine andere Instanz auf diesem Port, dann nimm einen enderen freien Port .
- mach einen Screenshot BEIDER Einstellungsseiten/ beider TABs des Adapters und poste sie
- speicher deine Änderungen / Restarte die Adapter Instanz
- kontrolliere den Restart im ioBroker log
- poste den Log das den Adapter Restart zeigt
-
weiter gehts am Shelly, öffne im Webbrowser die Verbindung zum Shell Plus Plg S
- gehe alle Punkte der Anleitung hier https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/de/protocol-mqtt.md#generation-2-geräte-plus-und-pro durch
- trag die Addresse des iobrokerhosts INCLUSIVE des oben eiongetragenen Ports ein
- gib mqqt Username und PASSWORT jedenfalls neu ein
- Speicher die Änderungen
- mach einen Screenshot der Einstellungsseite udn poste ihn
- RESTARTE den Shelly
-
Prüf das Logfile des Adapters un poste es
-
Prüf ob der Shelly nun unter den Objekten aufscheint.
Trag dort die IP des
-
-
@master67 sagte in Shelly-Geräte mit MQTT-Adapter steuern:
EN kann ich nicht, weder Lesen, noch schreiben oder Sprechen!
Brauchst Du ja auch nicht. Die Dokumentation des Shelly-Adapters gibt es auf Deutsch. Genauso gibt es zig Videos von mir (auf Deutsch), wo ich die Integration auch ausführlich erkläre.
Wenn man allerdings alles selbst in die Hand nehmen möchte (und den Shelly-Adapter nicht verwenden will), dann muss man eben Englische Entwickler-Dokumentationen lesen. Darum ging es ja hier in dem Thread ursprünglich. Wer sich das antun möchte: Gerne. Aber das hat dann mit dem Shelly-Adapter halt nichts zu tun.