Rückblick – Freitag 21.07.2017

Sonoff

An diesem Freitag wurden im eLAB u.a. ein paar Sonoff Geräte mit alternativer Firmware bestückt. Damit steht eine Fernsteuerung per Alexa oder MQTT bzw. die Einbindung in diverse Heimautomations-Systeme nichts mehr im Wege.

Worum geht es?

Sonoff Geräte sind über WiFi steuerbare Steckdosen und Relais Schalter für Wechselstrom Verbraucher. Die Geräte sind sehr günstig und werden mit ESP8266 Controller angesteuert. Damit sind die Geräte sehr Hacker-freundlich, da ESP8266 Chips ganz einfach wie jedes Arduino Board über die Arduino IDE programmiert werden können. Zudem lassen sich solche Geräte im Selbstbau kaum günstiger herstellen.

Die Original Software des Herstellers ist im Gegnsatz zur Hardware nicht Open Source, und lässt sich nur über die eWeLink App vom Smartphone aus steuern. Ebenso gibt es einen Alexa Skill von eWeLink. Allerdings läuft alles über die China Cloud des Herstellers. Genug Gründe sich nach Alternativen umzusehen die ohne Cloud auskommen und die man selber erweitern kann, z.B. um MQTT. Diese Möglichkeit erschließt sich mit der Sonoff Tasmota Software.

Was wird benötigt?

Wir haben es mit einem Sonoff POW, einem Sonoh TH10/16 und einem Sonoff S20 ausprobiert.
Neben des Sonoff Geräten wird noch folgendes benötigt:

  • Werkzeug Lötkolben, Kreuzschlitz Schraubendreher, Schlitz Schraubendreher oder iFixit Öffnungswerkzeug (zum Öffnen des Gehäuses)
  • 4-polige Stiftleiste 2,54mm Raster
  • USB UART Adapter 3,3V (z.B FTDI Basic)
  • 3,3V Stromversorgung
  • Jumperkabel m/m und m/w
  • Sonoff Tasmota Software
  • Arduino IDE mit ESP82xx Boardunterstützung oder Platformio

Wie wird es gemacht?

Die einzelnen Arbeitsschritte sind im Sonoff Tasmoto Wiki ausführlich erklärt. Die wichtigsten Schritte sind hier noch mal zusammengefasst.

Warnhinweise:

  • Alle Arbeiten an den Geräten dürfen nur durchgeführt werden, wenn die Geräte vom Stromnetz getrennt sind. Ansonsten besteht akute Lebensgefahr und die Zerstörung der angeschlossenen Geräte
  • Durch das Öffnen der Geräte erlischt die Herstellergarantie.
  • Nach dem Überschreiben der Original Firmware kann diese nicht wieder hergestellt werden

Hardware vorbereiten

Zunächst muss das Sonoff Gerät geöffnet werden. Bis auf die S20 Steckdose geht das einfach durch Aufhebeln des Gehäuses mit einem Schraubenzieher oder dem Öffnungswerkzeug. Beim S20 muss zuerst noch die versteckte Schraube unter dem Garantielabel entfernt werden.

Mit einem Kreuzschlitzschraubendreher werden alle Schrauben gelöst, mit denen die Leiterplatte am Gehäuse befestigt ist. Auf die Leiterplatte wird dann die 4-polige Stiftleiste an entsprechender Steller auf der Sonoff Leiterplatte aufgelötet.

Dann geht es weiter mit der Anschluss des USB Serial Adapters an das Sonoff Gerät. Unbedingt darauf achten, das der USB Serial Adapter mit 3,3V arbeitet, nicht mit 5V. Zudem wird eine separate 3,3V Stromversorgung empfohlen. Der USB Serial Adapter kann zwar auch 3,3V liefern. Allerdings zieht ein Sonoff 70..100mA, während z.B. ein FTDI Adapter nur 50mA bei 3,3V liefern kann. Eine Steckbrett Stromversorgung , die auf 3,3V umgestellt werden kann, funktioniert hier ganz prima.

benötigte Software

Die Sonoff Tasmota Software befindet sich auf Github. Am einfachsten funktioniert die Installation mit Platformio. Mit der Arduino IDE geht es zwar auch, allerdings sind viele einzelne Schritte notwendig, die leicht zu Fehlern führen können. Deshalb möchte ich mich hier auf die Installation mit Platformio beschränken.

Platformio setzt Python 2.7 voraus und kann einfach über
pip install -U platformio installiert werden. Bevor die Sonoff Software verwendet werden kann, sind einige wenige Anpassungen notwendig. Dazu wird lediglich die Datei ‘sonoff/user_vonfig_override.h’ geändert. Dort trägt man sein WiFI SSID und Passwort ein. CFG_HOLDER kann auf einen beliebigen Wert geändert werden.


#ifdef CFG_HOLDER
#undef CFG_HOLDER
#endif
#define CFG_HOLDER 0x20170721


#ifdef STA_SSID1
#undef STA_SSID1
#endif
#define STA_SSID1 "yourssid1"


#ifdef STA_PASS1
#undef STA_PASS1
#endif
#define STA_PASS1 "yourpassword1"

Anschließend ändert man noch die Datei ‘platformio.ini’ und ändert dort das default Environment auf:

env_default = sonoff

Danach kann die Firmware übersetzt werden. Beim ersten mal lädt Platformio dabei automatisch alle benötigten Bibliotheken.

platformio run

Zum Imstallieren auf die Zielplatform muss das Sonoff Gerät zunächst in den Flash Mode gebracht werden. Das geschieht durch folgende Schritte:

  1. VCC Verbindung zum Sonoff Board trennen
  2. Taste auf dem Sonoff Board drücken
  3. VCC Verbindung zum Sonoff Board wieder herstellen
  4. Taste auf dem Sonoff Board loslassen

Jetzt kann die neue Firmware mit folgendem Befehl auf das Sonoff Gerät geladen werden:

platformio run --target upload

Mit einem seriellen Terminal Programm (Arduino IDE serial Monitor 115200Baud) erhält man nach einem Neustart der Sonoff die IP Adresse, bzw. den Hostnamen (sonoff-xxxx.local) des Sonoff Gerätes. Im Browser kann nun das Gerät ausgewählt werden und weitere Einstellungen vorgenommen werden.

Zu den wichtigsten Einstellungen zählen zum einen die Konfiguration des Sonoff Geräts, sprich welches Sonoff Gerät vorliegt. Einfach unter ‘Configuration | Configure Module’ den Modul Type und ggfs den angeschlossenen Sensor auswählen und mit Save speichern.

Ein weiterer wichtiger Punkt befindet sich unter ‘Configure | Configure Other’. Dort kann als Option MQTT und eine Geräte Simulation (Wemo oder Hue) ausgewähkt werden. Die Geräte Simulation ermöglicht es das Sonoff Gerät über die Alexa Sprachsteuerung fernzusteuern.

Was kann man damit anfagen?

Neben der direkten Steuerung über den Web Browser gibt es noch eine Reihe weiterer Möglichkeiten die Sonoff fernzusteuern

Alexa

Sprachsteuerung über Alexa ist möglich, wenn man über eine Alexa Dot oder Echo verfügt. Mit der Geräte Simulation ‘Wemo’ lässt sich die Sonoff direkt über Alexa Smart Home steuern, ohne extra Skills. Einfach nach Geräten suchen lassen und das Sonoff Gerät zu einer Gruppe ‘Licht’ hinzufügen. Schon schaltet der Befehl ‘Alexa, schalte Licht an’ die Sonoff ein.

Mit der Hue Simulation funktionierte es leider nicht.

MQTT

Etwas komplizierter wird die Sache bei MQTT: Hier wird zunächst noch ein MQTT Broker benötigt, z.B. Mosquitto. Die Einrichtung erfolgt erfolgt ebenfalls im Browser über das Konfigurations-Menü der Sonoff. Getestet wurde das noch nicht. Das wird in einem späteren Beitrag beschrieben.

Wie geht es weiter?

Es bieten sich viele Anwendungsmöglichkeiten für die Sonoff Geräte, gerade im Bereich Hausautomation und IoT. Spannend wäre es sicher auch, eigene Geräte mit ESP8266 Modulen zu kreieren, indem man andere Sensoren anschließt oder z.B. eine Neopixel Anzeige darüber ansteuert.

Hinterlassen Sie eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht.