NEWS
[Adapter] Shelly Adapter mit MQTT
-
Hallo zusammen,
ich habe vor kurzem mein Mesh im Heimnetz und einen Powerline Adapter erweitert, leider scheint dieser Coap Nachrichten nicht weiterzuleiten, so dass alle Shellys die sich damit verbinden nur noch über die Weboberfläche funktionieren, jedoch nicht über iobroker.
Nun habe ich gelesen, dass man die Shellys alternativ über mqtt oder http betreiben kann. Kann mir jemand kurz und knapp die Vorteile jeweils erklären? Was sollte ich nutzen?
-
@dominik-f Nun ich betreibe meine Shellies über mqtt. Soweit ich weiß, kann das der Adapter auch - aber ich verwende keine Adapter, sondern einen Standard MQTT-Broker. Der Vorteil ist halt, dass Du eben nicht für jeden Endgerätetyp einen eigenen Adapter brauchst und dieser auch nicht dann jedesmal auf einen anderen Port konfiguriert werden muss. Über meinen mqtt Broker laufen neben Shellies, Tasmota auch noch owntracks - jeweils ohne einen Adapter.
Die HTTP API ist bei den Shellies eingebaut. Damit habe ich dann die Funktionen realisiert, die das Standard MQTT der Shellies nicht anbietet, die aber auch der Adapter mitbringt (z. Bsp. Firmware-Updates). Ich habe das allerdings alles über Node Red "gemanaget" - geht aber sich er auch mit Blocklies und HTTP - aber da müssen ggf. Blockly Spezialisten helfen.
-
Das mit den Adaptern stört mich nicht muss ich sagen. Was ich rauslese bei deinem Post ist, dass http mehr Funktionen mit sich bringt, ähnlich wie coap, jedoch keine Nachteile?
-
@dominik-f Nun coap und mqtt sind bidirectional - d.h. darüber wirst Du informiert. Über http kannst Du aus meiner Sicht nur Kommandos verschicken - deshalb muss man http meines Erachtens in Kombination mit dem anderen Protokollen sehen.
Einen Überblick über die Schnittstellen der 3 APIs findest Du ja hier: https://shelly-api-docs.shelly.cloud/#shelly-family-overview
-
@dominik-f Auch im Coap modus werden http Kommandos genutzt, da coap bei Shelly quasi nur "State change push" ist - es werden also keine Kommandos ausgeführt. Das geschieht per http. Alternativ gibst Du den mqtt Server des Shelly adapters im mqtt Modus bei den Geräten an dann geht das auch so. Lies doch mal die Readme des Adapters
-
Hab mir die Readme jetzt mal durchgelesen.
Also ist es prinzipiell egal ob ich coap oder mqtt nutze, ich habe die gleichen Möglichkeiten?
Könnte da auch das Problem mit dem Powerline Adapter auftreten? -
@dominik-f Die Powerline-Adapter haben damit zumindest von dem Protokoll her nichts damit zu tun. Wenn die im gleichen IP Netz sind. Die oben genannten Protokolle nutzen TCP-IP also laufen auf Ebene 3 - also ist egal was auf Ebene 1 und 2 läuft. Ggf. sind die Protokolle unterschiedlich empfindlich gegenüber Timeouts oder nutzen unterschiedliche Retries - aber da kann ich nichts zu sagen. Jedenfalls wird sich nach meinem Verständnis falls Du Probleme mit Deinen Powerlines hast, sich überhaupt nichts ändern egal welches Protokoll Du einsetzt.
-
@dominik-f said in [Adapter] Shelly Adapter mit MQTT:
jedoch nicht über iobroker.
meinst du das du den switchDP nicht ändern kannst? oder daß der shelly nicht reagiert?
-
Okay, dann muss ich wohl irgendwie das Problem mit dem Powerline lösen.
Ich habe momentan einen Repater und einen Powerline Adapter im Mesh und damit funktioniert alles. Sobald ich einen 2ten Powerline Adapter ins Mesh integriere findet keine Kommunikation mehr zwischen den Shellys und Iobroker statt. ich kann über die Weboberfläche oder über die Shelly App alles steuern, nur über Iobroker kann ich zwar die Datenpunkte ändern, aber die werden nicht an die Shellys übertragen. Als ob es die für Iobroker nicht mehr gibt. Hatte z.B. mal die Objekte alle von Shelly gelöscht und den Adapter neu gestartet, es wurden nur die Shellys gefunden die mit dem Repeater oder der Fritzbox verbunden sind, die über Powerline wurden nicht mehr gefunden. -
@dominik-f ich hab heute nach wochenlanger suche feststellen müssen, daß meine 2 managed netgear-switches, an denen ich nie etwas geändert habe, IGMP snooping aktiv war. das will CoAP und die shellys nicht. der switch_state wurd nach einigen minuten nicht mehr aktualisiert...
-
nur warum funktioniert alles mit einem powerline adapter, aber nicht mit einem zweiten.
-
@dominik-f andere FW version?
-
bei beiden ist die aktuellste FW verbaut. Der eine, der funktioniert ist der Fritzpowerline 1240e, der andere 1260e. Irgendwie scheinen die sich zu behindern was die Übertragung mit coap angeht
-
@dominik-f einzeln funktionieren beide, oder nur einer?
-
der 1240e funktioniert einzelnd, den anderen hab ich bisher noch nicht getestet. Mache ich morgen mal wenn nichts wichtiges geschaltet werden muss
-
@dominik-f ok, das wollte ich wissen. bis morgen dann...
-
@dominik-f sagte in [Adapter] Shelly Adapter mit MQTT:
die Weboberfläche oder über die Shelly App
Das kannst Du nicht vergleichen. Damit machst Du eine Verbindung auf. Du hast aber das Problem, dass sich Deine Geräte nicht selbstständig melden. Im Moment verstehe ich Deine Netzkonfig eh nicht. Ein Powerline Adapter alleine macht doch keinen Sinn - Du brauchst doch immer ein Paar - schließlich willst Du ja ein Brücke aufbauen. Ich kann das nur nicht nachstellen, weil bei mir dahinter keine Shellies sind.
Ich könnte höchstens mal meinen iobroker mal dahinter stellen und mal schauen, ob ich ein Problem habe.
Edit: Also habe zwar kein Coap und nicht den Adapter - aber habe meinen iobroker nun an meinen unteren Powerline gesteckt und die Shellies melden sich ganz normal im Minutentakt.
Vielleicht ist Deine Stromleitung einfach zu sehr gestört - das hatte ich auch bei einer bestimmten Steckdose.
-
Da hab ich mich etwas zu ungenau ausgedrückt, hatte nur von den "Endadaptern" gesprochen. Der FRITZ!Powerline 1000E ist über Lan mit der Fitzbox verbunden und der 1240e ist das Ende für das Wlan.
Diese Konfig funktioniert.
Packe ich nun den 1260e dazu in den gleichen Stromkreis, passiert das oben beschriebene mit den Shellys. Selbst die, die weiterhin über den 1240e verbunden sind, funktionieren dann nicht mehr über iobroker. -
Im Prinzip kann ich da nichts richtig dazu sagen - aber sowie ich das verstehe willst Du Deine Powerline Boxen ja als Repeater einsetzen - ggf- muss man die deshalb anders konfigurieren - aber da kann ich nicht helfen. In den Abbildungen zur 1240e und zur 1260e sind ja immer nur 2 Powerline Geräte drin - ich weiß nicht, ob man das einfach beliebig erweitern kann. Jedenfalls würde ich erst mal an dieser Front suchen.
Ggf. sind da nicht eindeutige Routen das Problem - also Hin- und Rückwege laufen über unterschiedliche Geräte. Ob das Mesh das wirklich so regelt - kann ein Problem sein. Ggf. kannst ja mal mit mehreren WLANs versuchen Dein Netz zu erweitern.
-
Das Wlan brauche ich ja, weil ich damit meine Shellys für die Hühnerklappe, Stalllicht etc betreibe.
Ich habe im Keller momentan 1 Shelly verbaut, der leider weder von der Fritzbox, noch vom Powerline oder Repeater genug empfang hat, damit der stabil läuft. Momentan verliert der dauernd die Verbindung. Da noch mehrere Shellys in den Keller sollen, wollte ich dort den 1260er installieren, damit die Shellys dort eine stabile Verbindung haben und damit die letzten Wlan Löcher im Haus und Garten Geschichte sind.
"Glücklicherweise" hab ich dort auch den gleichen Stromkreis, der auch in den Garten führt. Daher meine Idee. Theoretisch hat auch alles funktioniert, alle Shellys haben Empfang, keine Wlanlöcher mehr, halt das Problem mit iobroker bzw dem adapter.
Ich werde morgen mal den 1260er alleine Testen und den 1240er entfernen und schauen ob es dann noch funktioniert.Laut AVM soll man 16 Powerline Adapter verwenden können:
ICh danke euch schon mal für die Hilfe, ich werde mich morgen wieder melden