Shelly im Smarthome mit MQTT & IP-Symcon

15. Mär
2020
geschrieben von Roland Meier

Wohl kaum jemand, der sich mit Smarthome befasst, hat noch nichts von "Shelly" gehört.

Die bulgarische Firma entwickelt Geräte fürs Smarthome, die vor allem auch ohne Cloud-Anbindung mit gängiger Software lauffähig ist.

 

Anzeige

Vor allem die Shelly 1 und Shelly 2 Geräte habe ich mir etwas näher angeschaut, würden Sie auf Grund ihrer kleinen Maße perfekt in bestehende Schalterdosen unserer Lichter passen.

 

Innenleben der Shelly Geräte

Da ich eh bereits mit diversen anderen Geräten wie dem NodeMCU, Sonoff S20 und vor allem dem ESP8266 gebastelt hatte, MUSSTE ich natürlich auch einen Blick ins Innere der Shellies werfen.

Die Gehäuse sind lediglich aneinander gechippt, insofern ist das Öffnen nicht wirklich tragisch.

Nicht verwunderlich, auch hier kam ein ESP hervor, die Programmierpins lassen auch ahnen, dass er vermutlich genauso einfach per Arduino IDE programmierbar ist.

Auch sonst liest man im Netz sehr oft Shelly in Verbindung mit Tasmota, welches letztendlich eine alternative, cloud-freie Firmware für Geräte mit dem ESP8266 ist. Das ist inzwischen aber gar nicht mehr nötig.

 

Anzeige

Einbau der Shelly Geräte in bestehende Schalter

Ich habe mir also ein Doppelpack der Shelly 1 und einen Shelly 2.5PM geholt.

Letzterer sollte in unseren Doppelschalter in der Küche, welcher Küche- sowie Esszimmerlicht schaltet.

 

Als Erstes hatte ich mich durch Öffnen der Schalter vergewissert, dass wir auch tiefe Hohlwanddosen verbaut hatten. Anders hätte ich wohl gar nicht erst beginnen brauchen.

Da dies überall der Fall war, auch bereits der N mit Wago-Klemmen vorhanden waren, stand dem eigentlichen Umbau nichts mehr im Weg.

 

Den Shelly hatte ich zuerst mit ca. 6-8cm langen Drähten aufgebaut. Auf Seiten des Shellies hatte ich ca. 5mm Abisoliert, auf Seiten der Wago-Klemmen um 1cm herum.

shelly verdrahtet

 

shelly 25 schaltbildAls Anschlussplan habe ich nebenstehenden verwendet, welcher auch als Zettel dabei ist.

 

Es versteht sich an dieser Stelle von selbst, dass vorher entsichert wurde und auch die Spannungsfreiheit festgestellt wurde (5 Sicherheitsregeln)!

Hinweis! Wer das nicht gelernt hat bzw. nicht genau weiß was er tut, lasst bitte die Finger davon! Keine Haftung für jegliche Schäden beim Versuch meine Schritte nachzumachen!

 

Die beiden Drähte vom jeweiligen Schalter, welche zu den Lampen gehen habe ich vom Schalter gelöst. Wie im Schaltbild habe ich diese Lampendrähte auf Q1 bzw. Q2 gelegt. Die waren vom vorherigen Bild auch noch frei.

SW1 und SW2 habe ich dann jeweils an den Schalter anstelle des Lampendrahts angeschlossen.

Zusätzlich habe ich die beiden L Drähte auf die Wago-Klemme meines L1 gelegt und den N auf N.

Das wars auch schon. Die Drähte habe ich dann sauber als Rundung wieder in die Dose eingebogen, den Shelly darüber gelegt und dann mit dem eigentlichen Schalter wieder geschlossen.
Zugegeben, die Dose ist nun rappelvoll, aber geht, zumindest bei uns...

 

Erste Schritte mit dem Shelly und WLAN Anbindung

Sobald alles verschlossen und eingesichert wurde, fährt der Shelly mit einem eigenen WLAN als Access Point hoch. Die Standard IP ist 192.168.33.1 welche über jeden Browser im Netzwerk erreicht werden kann.

Unter Internet & Security → WIFI Mode Client kann eine Verbindung zum Heimnetz hergestellt werden, auch habe ich gleich eine statische IP vergeben inkl. Gateway und DNS-Server.

shelly in wlan einbinden

 

Beim Speichern kommt nochmal ein Hinweis, dass unter der aktuellen Adresse das Gerät nicht mehr erreichbar sein wird.

Kurze Zeit später ist der Shelly mit der gewünschten IP-Adresse online und kann genauso mit jedem Browser im Netzwerk angesteuert und verwaltet werden.

 

Als Nächstes habe ich dann unter Internet & Security → Restrict Login jedem Shelly einen Benutzer mit Passwort gegeben, auch wenn ich im eigenen Heimnetz hoffentlich keine ungebetenen Gäste erwarte.

Unter Settings kann man u.a. die Firmware aktualisieren, was bestimmt ab und an nicht schadet.

Noch einen Punkt möchte ich gleich hier nennen, unter Internet & Security → Cloud kann man explizit die Cloud-Remote-Funktionen aktivieren, sofern man diese wünscht.

Vor wenigen Monaten war die eigene Cloud noch Standard, deswegen wurden viele Geräte auch mit der Tasmota Firmware aktualisiert. Dies ist heute quasi nicht mehr nötig, die Shellies bringen alles von Haus aus mit, was man benötigt, auch wenn man keine Cloudanbindung möchte.

 

MQTT auf dem Shelly aktivieren

In den letzten Monaten hatte ich gerade in Gesprächen mit OpenHab und ioBroker Benutzern immer wieder von einem MQTT Server gehört. Sie erklärten mir stets, dass er die Informationen der IoT-Geräte zusammenfasst in ein Protokoll und zentral weiterverarbeitet.

Vorteile vor allem bei HTTP-basierten Geräten wie eigentlich fast alles bei mir, zumindest die ganzen LED-Leisten, der WIFFI-WZ im Bad, die Sonoff Steckdosen wie nun auch die Shellies.

Ich sah nicht wirklich DEN Vorteil, dass ich mir nun wieder nen eigenen Serverdienst dafür aufsetze, zumal ich bisher eh alles via eigenen Skripten und Symcon angesteuert hab.

 

Und genau da liegt schonmal eine tolle Sache des Brokers. Ich habe bisher die Geräte NUR angesteuert, ohne zu wissen, wie deren Status davor oder danach ist.

 

Die Shelly Geräte haben eine Sache sehr schön gelöst, egal ob per Tablet oder Wandschalter geschaltet, es aktualisiert stets seinen Status. Wäre also ganz toll, wenn ich diesen später auch im Symcon habe.

Und hier setzt eigentlich auch schon MQTT an.

 

Also Schritt 1, den Shelly für MQTT "aufbohren".

Unter Internet & Security → Advanced Developer Settings kann man den MQTT Server eintragen:

shelly developer aktivieren

 

Da ich noch keinen Server habe, gebe ich als Benutzer mit Passwort die "geplanten" Zugangsdaten ein.

Als Serveradresse diejenige Adresse im Heimnetz, auf welchem der Server laufen wird inkl. den Port, den ich für MQTT einplane.

In meinem Fall werde ich auf den Symcon eigenen Server setzen.

Nach dem Speichern ist der Shelly schonmal dafür vorbereitet.

 

MQTT Broker im Symcon installieren und Shelly einbinden

Symcon hat seit einigen Versionen bereits einen MQTT Broker an Bord, welcher einfach als Instanz hinzugefügt werden kann.

Grundsätzlich bin ich der Anleitung unter https://www.symcon.de/service/dokumentation/modulreferenz/mqtt/ (Anzeige) gefolgt.

 

In der Symcon Konsole einfach auf das große + rechts unten und dann Instanz hinzufügen → Typ Konfigurator mit Schnellfilter MQTT.

Als Benutzername & Passwort habe ich die gleichen verwendet, wie zuvor schon am Shelly (Client). Gleiches gilt für den Port. Anschließend die Instanz noch aktivieren und speichern.

 

Da in meinem Fall Symcon in einem Docker Container läuft, muss ich diesen mit der Durchgabe des neuen Ports neu erstellen, ansonsten empfängt der Broker nichts.

shelly mqtt server symcon

 

Sobald die Shellies Aktionen durchführen wie z.B. über die Browser oder Schalter, landen hier auch schon die Informationen dazu.

Nun können im Objektbaum innerhalb gewünschter Kategorien direkt die Shelly Instanzen angelegt werden, welche automatisch die entsprechenden Variablen beinhalten.
Die Instanzen benötigen einen MQTT Topic, welcher quasi dem Thema des vorherigen Screenshots entspricht, z.B. shellyswitch25-ID.
Anschließend wird das Gerät sowie Gerätetyp noch ausgewählt und den Status kann man dann auch schon ausprobieren.

 

Ein entsprechendes Aktion-Skript könnte dann wie folgt aussehen:

SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

if ($_IPS['VALUE'] == true) {
    Shelly_SwitchMode(ID, 0, true); //Einschalten
} else {
    Shelly_SwitchMode(ID, 0, false); //Ausschalten
}

 

Das wars dann auch schon.

 

Fazit zu den Shelly Geräte

Tolle Sache, für wenig Geld und Aufwand.

Final möchte ich noch meine Leistungsmessungen zusammenfassen:
Der Shelly 1 benötigt im normalen WLAN Modus ohne angezogenen Relais 0,5W, mit geschaltetem Relais 0,7W.
Beim Shelly 2 sind es 0,9W ohne Relais und je Relais nochmal 0,3W.

Finde ich für eine Nachrüstlösung OK.

 

PS. Im Einleitungsbild ist euch im linken Shelly evtl. die grüne Leiste aufgefallen. Ursache war, dass in der ursprünglichen Leiste 1 Kontakt defekt war. Ich habe kurzerhand die Kontaktleiste getauscht.

Wer auch einen Shelly mit defekter Kontaktleiste hat, aber keine Möglichkeit diese zu tauschen, kann sich gerne melden.

Gelesen 22212 mal Letzte Änderung am Freitag, 01 Januar 2021
Artikel bewerten
(1 Stimme)

1 Kommentar

  • KaiS 28. Mai 2020
    gepostet von KaiS

    Es gibt auch ein Modul von mir für die Shellys.
    Schau dazu einfach mal auf meiner Internetseite: https://deinsmarthome.info

    Grüße,
    Kai

Bitte anmelden, um einen Kommentar zu posten
Anzeige

Anzeige

123RF.com - For all your creative needs!

Kalender

« April 2024 »
Mo Di Mi Do Fr Sa So
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Newsletter

Euch interessieren meine Themen hier? Dann tragt euch einfach in den Newsletter ein und ihr werden bei neuen Beiträgen informiert.

Anzeige