Projekt: Shelly in allen Systemen integrieren

Mit ** gekennzeichne Links auf dieser Seite sind Affiliatelinks.

Was passiert hier eigentlich gerade? Sonoff war ja schon ein großes Thema, welches durch alle Kanäle gerollt ist und die Smart-Home-Welt revolutionieren wollte. Mittlerweile wird es ein wenig ruhiger um das Ganze. Als nächstes kommt jetzt scheinbar mit genauso viel Schwung Shelly auf den Plan. Überall reden die Leute davon, jeder möchte ein paar bestellen, es wird heiß diskutiert und entwickelt. Warum eigentlich? Weil die Teile so super klein und praktisch sind, dass man vieles realisieren kann, was vorher gar nicht ging. So spart man sich zum Beispiel die teuren (selbstgelöteten) Koppelrelais für Sonoff Basics - das ist praktisch schon mit drin. Und dabei kostet der ganze Shelly weniger, als ein einzelnes Koppelrelais. Und dann hat man noch keinen Sonoff-Basic gekauft, muss noch löten und braucht das vierfache an Platz für das Ergebnis. Mit Shelly erobert man sogar die flachen Unterputzdosen und kann seine alten Schalter behalten. Und vieles mehr. Wirklich ein gelungenes Produkt.

Daher möchte ich dazu auch noch ein Anschlussvideo machen. Shelly ist ja nun schon sehr verbreitet. Tausende Geräte fanden in kurzer Zeit Einzug in unsere Smart-Home-Systeme. Jetzt ist seit Version 1.3.0 auch noch MQTT direkt in der Standard-Firmware verfügbar. Also muss ich nicht einmal mehr neue Firmware flashen. Auspacken und loslegen! Einfacher geht es kaum. Hier noch einmal die Vorteile gegenüber Sonoff:

  • Um ein vielfaches kleiner als ein Sonoff Basic
  • Günstiger (als die Kombination Sonoff Basic + Koppelrelais)
  • Kein flashen der Firmware notwendig (direkter MQTT-Support ab Version 1.3.0)
  • Gehäuse muss nicht geöffnet werden / kein Garantieverlust
  • Hersteller aus der EU
  • Cloud optional kostenlos verfügbar
  • Plug and Play
  • Längst nicht so flexibel wie ein Sonoff mit Tasmota
  • Sensoren können nicht angeschlossen werden

Natürlich könnte man auch auf einen Shelly einfach Tasmota flashen. Mittlerweile werden die Komponenten sogar direkt von Tasmota unterstützt. Wie genau das geht, habe ich bereits in einem anderen Video gezeigt. Aber: Dank der aktuellen Firmware ist das aus meiner Sicht gar nicht mehr notwendig. Warum sollte man sich die Arbeit überhaupt noch machen, wenn man gar keinen Vorteil davon hat?

Daher möchte ich Dir im folgenden Video einmal zeigen, wie man die Shellies ganz einfach in alle möglichen Systeme integrieren kann, ohne dafür mit

Was Du brauchst?

  • Einen Shelly 1
  • Ein beliebiges Smart-Home-System (FHEM, ioBroker, NodeRed, ...)

Video

Arduino-Kurs

FHEM

Entweder kann in FHEM einfach das MQTT-Device genutzt werden, welches das entsprechende Topic bedient und den Status anpasst. Das wäre auf jeden Fall meine bevorzugte Variante, da ich die Nachrichten dann überall nutzen kann (und nicht nur in fhem). Außerdem ist mir dann egal, welche IP der Shelly bekommen hat und ich kann den DHCP in Ruhe seine Arbeit machen lassen.

Die Seriennummer in den Topics muss natürlich angepasst werden

define WZ_DeckenLichtShelly MQTT_DEVICE
attr WZ_DeckenLichtShelly userattr subscribeReading_state
attr WZ_DeckenLichtShelly IODev Mosquitto
attr WZ_DeckenLichtShelly event-on-change-reading .*
attr WZ_DeckenLichtShelly icon light_ceiling
attr WZ_DeckenLichtShelly publishSet on off shellies/shelly1-9F5BF7/relay/0/command
attr WZ_DeckenLichtShelly subscribeReading_state shellies/shelly1-9F5BF7/relay/0

Die zweite Möglichkeit läuft über die REST-API des Shelly (also HTTP). Dazu ist sicherzustellen, dass sich die IP des Shelly nicht ändert. Also im Router dafür sorgen, dass der Shelly immer die gleiche IP erhält. Wenn dann noch das model gesetzt wird ist man eigentlich schon fertig - der Rest funktioniert wie gehabt.

Die IP in der Definition muss natürlich angepasst werden

define WZ_DeckenLicht Shelly 192.168.178.90
attr WZ_DeckenLicht event-on-change-reading .*
attr WZ_DeckenLicht icon light_ceiling
attr WZ_DeckenLicht model shelly1

ioBroker

Hier ist die Integration wirklich gelungen. Die Shellies werden einfach ganz automatisch gefunden und tauchen dann in den Objekten auf. Adapter installieren und fertig! Einfacher geht es wirklich nicht.

Node-Red

Auch hier ist eine Integration dank MQTT denkbar einfach. Topics in den MQTT-Nodes konfigurieren und schon ist man fertig. Möchte man noch einen Switch dazwischen packen (für das Dashboard), sollte der Payload einfach auf "on" und "off" geändert werden. Das wars. Einen Beispielworkflow zum importieren findest Du unter diesem Text.

Die Seriennummer in den Topics muss natürlich angepasst werden

[
    {
        "id": "625cb9f0.49f2c8",
        "type": "tab",
        "label": "Shelly",
        "disabled": false,
        "info": ""
    },
    {
        "id": "e626d94c.cb1328",
        "type": "mqtt in",
        "z": "625cb9f0.49f2c8",
        "name": "",
        "topic": "shellies/shelly1-9F5BF7/relay/0",
        "qos": "2",
        "broker": "afa97030.18184",
        "x": 230,
        "y": 240,
        "wires": [
            [
                "ebe74de1.c175f"
            ]
        ]
    },
    {
        "id": "6475169b.000308",
        "type": "mqtt out",
        "z": "625cb9f0.49f2c8",
        "name": "",
        "topic": "shellies/shelly1-9F5BF7/relay/0/command",
        "qos": "",
        "retain": "",
        "broker": "afa97030.18184",
        "x": 780,
        "y": 240,
        "wires": []
    },
    {
        "id": "ebe74de1.c175f",
        "type": "ui_switch",
        "z": "625cb9f0.49f2c8",
        "name": "",
        "label": "Shelly",
        "group": "6355428c.da675c",
        "order": 0,
        "width": 0,
        "height": 0,
        "passthru": false,
        "decouple": "true",
        "topic": "",
        "style": "",
        "onvalue": "on",
        "onvalueType": "str",
        "onicon": "",
        "oncolor": "",
        "offvalue": "off",
        "offvalueType": "str",
        "officon": "",
        "offcolor": "",
        "x": 490,
        "y": 240,
        "wires": [
            [
                "6475169b.000308"
            ]
        ]
    },
    {
        "id": "afa97030.18184",
        "type": "mqtt-broker",
        "z": "",
        "name": "",
        "broker": "mqtt",
        "port": "1883",
        "clientid": "nodered",
        "usetls": false,
        "compatmode": true,
        "keepalive": "60",
        "cleansession": true,
        "willTopic": "/Service/nodered/status",
        "willQos": "0",
        "willPayload": "crashed",
        "birthTopic": "/Service/nodered/status",
        "birthQos": "0",
        "birthPayload": "started"
    },
    {
        "id": "6355428c.da675c",
        "type": "ui_group",
        "z": "",
        "name": "Wohnzimmer",
        "tab": "9b122a06.019fd8",
        "order": 2,
        "disp": true,
        "width": "6"
    },
    {
        "id": "9b122a06.019fd8",
        "type": "ui_tab",
        "z": "",
        "name": "Wohnung",
        "icon": "dashboard",
        "order": 2
    }
]

Newsletter

Trage Dich jetzt in den Newsletter ein und genieße dadurch viele Vorteile:

  • 5€-Gutschein als Dankeschön
  • Zugang zu exklusiven Inhalten
  • Rabattaktionen für Kurse
  • Angebote für Produkte

* Durch Angabe meiner E-Mail-Adresse erkläre ich mich damit einverstanden, dass mir regelmäßig Informationen und Produktempfehlungen aus dem Fachgebiet Smart Home zugesendet werden. Mit dem Eintrag akzeptieren Sie unsere Datenschutzbestimmungen. Meine Einwilligung kann ich jederzeit widerrufen.

Matthias Kleine

Matthias Kleine

Großer Fan und Anhänger von OpenSource-Projekten und erweiterbaren Haus-Automatisierungskomponenten. Je offener und flexibler das System, desto besser. Ich lege mich ungern auf einzelne Protokolle oder Standards fest, sondern probiere aus allen Welten das Beste zu verheiraten. Unterwegs als Softwareentwickler, Trainer und Blogger im Bereich Smart Home.

Auf YouTube und hier im Blog gibt es bereits unzählige kostenlose Videos, Informationen und Tutorials. Wenn Dir das noch nicht reicht, ist ein Training genau das richtige für Dich! Die folgenden Trainings haben den Vorteil, dass immer von Anfang an gestartet wird und Du ohne Vorwissen teilnehmen kannst.