Projekt: Shelly in allen Systemen integrieren

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Projekt: Shelly in allen Systemen integrieren
Projekt: Shelly in allen Systemen integrieren
  • 22.10.2018
  • Projekt

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, Node-RED, …)

Video

ioBroker-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
    }
]
Du willst mehr?

Smart-Home-Trainings von A-Z

Steig' noch tiefer in die Themen ein und meistere Deine Projekte! Über 14.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
Node-RED-Master-Kurs

Node-RED-Master-Kurs

Mehr Infos