Loxone - Teil 3 - Sonoff-Integration

Mit ** gekennzeichne Links auf dieser Seite sind Affiliatelinks.

Endlich geht es weiter mit Loxone. Nachdem nun der LoxKurs entstanden ist, fühle ich mich selbst so sicher, dass ich weitere Inhalte zum Thema vorstellen kann. Anders, als in den anderen Video-Reihen hier, möchte ich auf dem Blog speziellere Themen behandeln. Sei es zm Beispiel die Integration von Sonoff, Shelly oder auch der Xiaomi-Komponenten. Und mit Sonoff wird heute auch gestartet. Das Video ist in zwei Teile unterteilt: Als erstes zeige ich Dir, wie Du bestehende Sonoffs mit Tasmota über Loxone schalten kannst. Das ist möglich, aber nicht unbedingt optimal. Daher folgt direkt im Anschluss in diesem Video in die Firmware HMLox, welche extra für Loxone zugeschnitten wurde und somit nahtlos integriert werden kann.

Was Du brauchst?

  • Ein Loxone-System
  • Ein Sonoff POW (oder auch eine andere Komponente)
  • Einen FTDI oder CP2102 zum flashen der Firmware
  • und etwas Zeit

Video

LoxKurs

Tasmota

Tasmota ist eine OpenSource-Software, welche von der Community ursprünglich für die Sonoff-Komponenten entwickelt wurde. Da in einem Sonoff aber auch nur ein ganz normaler ESP8266 oder ein ESP8285 steckt, kann diese Firmware natürlich auch für viele andere Geräte oder komplett eigene Projekte benutzt werden. Daher erfreut sich diese Firmware großer Beliebtheit. Wie genau man die Tasmota-Firmware auf verschiedene Geräte flasht, habe ich in der Sonoff-Tutorial-Reihe in vielen Videos bereits ausführlich erklärt.

Solltest Du schon einen Sonoff mit Tasmota im Einsatz haben, kannst Du diesen natürlich über einen virtuellen Ausgang per HTTP direkt über Loxone schalten. Leider bekommen wir so kein Feedback und können Verbrauchswerte (wie vom Sonoff POW) nicht auswerten. Eine Lösung schafft eine Firmware namens HMLox (siehe nächster Abschnitt).

Um den Sonoff mit Tasmota anzusprechen, muss nur (wie im Video gezeigt) ein virtueller Ausgang erstellt werden, welcher einen Power-Befehl an den Mikrocontroller übermittelt. Natürlich können generell alle Befehle aus dem Tasmota-Wiki an den Sonoff übermittelt werden. Wahrscheinlich macht Power (also das Schalten des Relais) nur einfach am meisten Sinn. Ein Sonoff Basic oder Sonoff S20 lässt sich so wunderbar integrieren.

  • Befehl AN: /cm?cmnd=Power%20On
  • Befehl AUS: /cm?cmnd=Power%20Off

HMLox

Da die Tasmota-Geräte keine Rückmeldungen an Loxone senden können, ist es eine Einbahnstraße. Werden die Geräte von extern geschaltet, bekommt man kein Statusupdate in der App. Das ist natürlich extrem schade. Aber auch genau dafür gibt es bereits eine Lösung: Die Firmware HMLox von Jérôme Pech. Das HM steht dabei für HomeMatic, welches er selbst im Einsatz hat. Für einen Freund wurde dann in diese Firmware außerdem die Funktionalität für Loxone übernommen, sodass sich die Geräte auch in diese Welt integrieren lassen. Für uns natürlich extrem praktisch!

Um die Firmware zu flashen, brauchst Du entweder einen FTDI oder einen CP2102. Beides sind kleine "USB-Sticks", welche über USB eine serielle Schnittstelle bereitstellen. Im Falle des CP2102 wird ein Treiber benötigt, welcher hier für Windows, Mac OS X und Linux heruntergeladen werden kann.

Zum flashen kann unter Windows das ESPLoader genutzt werden, welches bereits als EXE-Datei im Repository von Jérôme zu finden ist. Unter Mac OS X flashe ich bin-Dateien gerne mit dem Python-Tool esptool. Dieses wird wie im Video gezeigt verwendet.

Dazu als erstes die letzte bin-Datei aus den Releases von Jérôme herunterladen (in meinem Fall 1.0.27) und mit dem Tool der Wahl auf den ESP/Sonoff flashen. Für das esptool nutze ich den folgenden Befehl im Terminal. Der Pfad zur bin-Datei ist natürlich anzupassen. Bei mir lag sie ein Verzeichnis höher unter Downloads.

esptool.py --port /dev/cu.SLAB_USBtoUART write_flash 0x00000 ../SonoffHMLOX.ino.generic.bin 

Vor der Ausführung wird der ESP mit dem CP2102/FTDI verbunden:

  • VCC auf 3,3V
  • RX auf TX
  • TX auf RX
  • GND auf GND

Bitte auf jeden Fall darauf achten, dass mit 3,3V gearbeitet wird. Sollten 5V angeschlossen werden, kann der ESP beschädigt werden und ist danach eventuell nicht mehr verwendbar. Nicht jeder CP2102 liefert 3,3V - bitte beim Kauf darauf achten.

Nachdem die neue Firmware aufgespielt wurde, kann der Sonoff einmal vom Strom getrennt werden und wird dann wieder verbunden (entweder weiterhin per 3,3V oder per 230V).

Danach öffnet er als erstes ein eigenes WLAN (Sonoff-....). In dieses treten wir natürlich bei.

Auf der Konfigurationsseite müssen die Felder für Dein WLAN inkl. Schlüssel ausgefüllt werden, damit der Sonoff in Zukunft auch Teilnehmer Deines Netzwerkes wird und der Loxone Miniserver auch mit diesem sprechen kann.

Als nächstes wird das Backend auf "Loxone" umgestellt. Dann ändert sich die Konfiguration darüber (die Reihenfolge ist etwas unglücklich). Nach Eingabe der Miniserver-IP-Adresse und einem beliebigen UDP-Port muss noch ein Name für den Sonoff vergeben werden. Dieser sollte eindeutig sein, falls Du weitere solche Geräte im Einsatz hast.

Das war es eigentlich auch schon. Es muss noch dafür gesorgt werden, dass der Sonoff immer die gleiche IP-Adresse im Netzwerk bekommt (da diese vom Miniserver angefragt wird). Also entweder direkt eine statische IP vergeben, oder im Router festlegen, dass das Gerät immer die gleiche IP vom DHCP-Server erhalten soll.

Dann können die Änderungen gespeichert werden und die Konfiguration ist fürs erste abgeschlossen.

In Loxone sieht der erste Teil fast genauso aus wie bei der Tasmota-Variante. Dafür wird ebenfalls ein virtueller Ausgang angelegt, welcher genauso wie bei Tasmota einen Ein- und einen Aus-Befehl an den Sonoff übermittelt. Nur sind dieses Mal die Aufrufe sehr viel kürzer und auch leichter zu merken.

  • Befehl AN: /1
  • Befehl AUS: /0

Ist dies fertig, geht es weiter mit der Rückmeldung. Sollte der POW von extern geschaltet werden (z.B. über den Button auf dem Gerät), sollte ja trotzdem der Zustand in Loxone geändert werden. Dies ist so vorgesehen, dass über UDP eine Nachricht an den Miniserver übermittelt wird, sodass dieser auf die Zustandsänderung reagieren kann. Der Port kann dabei frei gewählt werden, er muss nur mit der Konfiguration im Sonoff übereinstimmen.

Hier muss für jeden der beiden Zustände (ein und aus) jeweils ein virtueller UDP-Eingangs-Befehl genutzt werden. Natürlich können alle HMLox-Komponenten über diese einen Port ihre Zustände kommunizieren. Dank den eindeutigen Namen in der Befehlserkennung kann der Miniserver die Geräte identifizieren. Man muss also nicht für jedes Gerät einen eigenen Port öffnen!

Die Befehle müssen dabei als Digitaleingang definiert werden. Als Befehlserkennung wird der Name der Komponente hinterlegt und auf 1 oder 0 geprüft. Das funktioniert wie folgt:

  • Befehlserkennung: Waschmaschine=1
  • bzw: Waschmaschine=0

Waschmaschine ist natürlich der Name von meinem Sonoff POW

Damit wäre der Teil auch schon abgeschlossen. Über einen 2 Taster-Baustein kann nun alles miteinander verbunden werden (siehe Video). Bitte vergiss nicht, den Remanenzeingang für diesen Baustein zu aktivieren. Was jetzt noch fehlt? Die Daten der Verbrauchsmessung in Loxone natürlich.

Das funktioniert auch einfacher als Du glaubst. Im Video siehst Du, wie dafür ein virtueller HTTP-Eingang genutzt wird. Dann muss man nur noch die URL hinterlegen. Diese lautet:

http://Sonoff-IP/getPower

Dadurch wird in den dort definierten Abständen der Inhalt der Seite geholt. Jetzt fehlt noch die Auswertung der Rückgabe. Da XML zurückgegeben wird, können die einzelnen Werte ganz einfach extrahiert werden. Dies funktioniert über einen "Virtuellen Eingang HTTP-Befehl" (super Name). Dort wird bei der Befehlserkennung einfach das Element komplett eingefügt, welches Du haben möchtest. Am besten machst Du die Seite im Browser auf und kopierst die Inhalte. Dann vertippst Du Dich auch nicht. Der Wert in der Mitte muss dann durch \v ersetzt werden (v = Value/Wert). So weiß Loxone automatisch, an welcher Stelle dieser Wert steht und kann diesen suchen und extrahieren.

Dieser Vorgang wird so lange wiederholt, bis Du alle Werte zusammen hast, welche Dich interessieren. Optional kann dann noch alles an einen Verbrauchszähler gehängt werden.

Fertig ist die komplette Integration von A bis Z von deinem Sonoff POW.

Produkte


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.