Dienstag, 7. Juni 2016

Herbert Update

Es geht weiter mit meinem kleinen Hausautomation-System Herbert. Es sind im Moment einige 220V Schalter eingebunden und einige Szenen festgelegt. Die Schalter sind hauptsächlich für Lichter verwendet. Im Arbeitszimmer habe ich die 3D Drucker und den PC angeschlossen. Uhrzeit kommt vom Raspberry Pi, der auch das Display betreibt. Das Wetter kommt von der OpenWeatherMap


Die Sonoff Geräte mit einer bearbeiteten Firmware sind die Schalter für die Netzspannung. Ich habe mich für die Hardware entschieden, da sie bereits ein Netzteil mitbringt und daher komplett autark vor die Lampe, oder in die Stromleitung angeschlossen werden kann. Zu empfehlen ist das allerdings nur bei Geräten der Schutzklasse II, also solche, die mit einem Flachen Eurostecker bedient werden. Die Sonoff-Schaltung hat keine Anschlüsse für den Schutzleiter!


Für Geräte mit Schutzleiter (alles was berührbare leitende Flächen hat) muss der Schutzleiter separat um den Schalter geführt werden.

Was ich als nächstes gerne machen möchte ist ein kleineres Gerät mit Display und Touchscreen bauen, dass über WLAN mit dem PiDome Server von Herbert sprechen kann und so etwas ähnliches wie die Hauptkonsole darstellen kann.


Montag, 9. Mai 2016

RGB LED Uhr

Als ich über diese RGB-LED Ringe bei AliExpress gestolpert bin habe ich mir gedacht, dass die 60 LEDs eine hervorragende Uhr abgeben würden. Angesteuert werden die LEDs von einem Arduino Nano. Angesteuert werden die LEDs mit der Adafruit NeoPixel Bibliothek. Die Uhrzeit speichert eine DS1302 Echtzeituhr.

Alles schön verpackt in einem 3D gedruckten Gehäuse habe ich ein schöne Uhr für die Wand. Energiesparend ist das ganze nicht, daher das Netzteil und keine Batterie.


Arduino Sketch | Thingiverse Modelle

Sonntag, 17. April 2016

Review of Sonoff Smart Home Schalter mit Wifi

Ich habe vor ein paar Tagen ein Sonoff Schalter bestellt. Dieser ist im Grunde ein ESP8266 Modul mit einem Relais. Zusätzlich bringt es alles mit, was man benötigt, um an Netzspannung betrieben zu werden. Es eignet sich also um direkt vor ein Gerät geschaltet zu werden.



Im Lieferumfang des Sonoff befindet sich auch eine App mit der man den Schaltzustand des Relais über das Internet auslesen und ändern kann. Die Konfiguration ist denkbar einfach. Das Sonoff mit Netzspannung versorgen, dann den Knopf am Gehäuse für ca. 3 Sekunden drücken und die LED blinkt schnell. Gleichzeittig öffnet das Sonoff einen WLAN Access Point. Mit der App wird dann der Accesspoint gefunden und sich damit verbunden. In der App kann dann konfiguriert werden, welches WLAN Netzwerk als Zugang zum Internet verwendet werden soll. Dazu wird die SSID ausgewählt oder eingegeben, Der Zugangsschlüssel, sowie die Einstellung ob feste IP oder DHCP verwendet werden soll, werden ebenfalls vorgenommen. Anschließend verbindet sich das Sonoff mit dem angegebenen Netzwerk und kann über die App im Netzwerk gefunden werden. Über einen Webdienst kann dann der Schalter betätigt werden.

Das ganze für 8€ ist natürlich ein Angebot, dass es vertretbar macht. Vergleichbare schaltbare Steckdosen sind wesentlich teuerer. Allerdings wäre es eine Verbesserung, wenn das Schalten auch über das lokale Netz funktioniert und nicht unbedingt eine Verbindung in das Internet voraussetzt. Hier kommt Herbert Mk3 ins Spiel. Darauf läuft ein MQTT Server. Dieser kann Nachrichten an MQTT Clients verteilen. Dazu muss das Sonoff allerdings auch MQTT sprechen können. Das ist allerdings in der aktuellen Firmware nicht vorgesehen.

Für den Einsatz mit MQTT muss also eine andere Firmware auf das Sonoff programmiert werden. Mit Hilfe des ESP8266 Arduino Projekts ist die Software kein Problem. Die Schaltung des ESP8266 auf dem Sonoff wurde von Peter Scargill veröffentlicht.

Mit einem handelsüblichen FTDI 3V3 Seriellen Kabels habe ich mich an die Pins gehängt und konnte so den Inhalt des SPI-Flash auslesen (Backup der originalen Firmware) und anschließend eine eigene Firmware aufspielen.

Für die Sonoff Plattform gibt es bereits verschiedene Firmwares. Hier zeige ich euch zwei Alternativen zur ITead Firmware und der eWeLink App. Außerdem die Firmware, die ich weiterentwickelt habe.

Sonoff-MQTT-OTA von arendst

Auf Basis der ESP Entwicklungsumgebund oder der Arduino Bibliothek für den ESP8266 kann mit dieser Firmware das Sonoff mit vielen neuen Features ausgestattet werden.

Kommunikation wird über das MQTT Protokoll abgewickelt. Dabei gibt es folgende Befehle:

  • Relais ein-, aus- oder umschalten
  • MQTT Topic ändern
  • OTA Firmwareupdate URL ändern
  • OTA Firmwareupdate ausführen
  • Status anzeigen

Der Knopf am Gerät wird verwendet für

  • Relais umschalten
  • Wifi Smartconfig
  • OTA Update durchführen
  • Gerät zurücksetzen

Da ich mal wieder Lust hatte in einer anderen Sprache als C zu programmieren, habe ich noch eine weitere Firmware herausgesucht.

nodeMCU Sonoff von Frederic HARS

Diese Firmware bietet auf Basis des LUA-Interpreters von NodeMCU den Schlatzustand über ein Webinterface oder MQTT zu ändern. Die Verbindung zum MQTT Server wir in einer globalen Konfigurationsdatei eingetragen und dann von NodeMCU hergestellt.

Der MQTT Broker kann mit dieser Firmware lediglich den Schaltzuusand zusenden. Das Sonoff kann den Knopf nicht auslesen, also auch nicht vor Ort betätigt werden.
Die LED zeigt den Schaltzustand an.

Die MQTT Verbindung unterstützt keine Passwortgesicherte Verbindung, es sollte also nur im privaten Netzwerk eingesetzt werden. die Konfigurationsdatei kann über das Webinterface können die LUA Skripte geupdated werden. Die NodeMCU Firmware bleibt allerdings fix und muss über eine Kabelverbindung geupdatet werden.

Aus Basis dieser Firmware habe ich Anpassungen gemacht, die meine Sonoffs für mein Hausautomationsprojekt funktionsfähig machen. Der Fork von mir beinhaltet nicht nur kleine Änderungen für die Funktionsweise des MQTT, sondern auch die Funktion des Knopfes zum Umschalten des Relais.

Diese weitern Funktionen werden noch kommen:

  • Wifi Smartconfig
  • Wifi Autoconfig für Herbert/PiDome
  • Konfiguration über MQTT
  • Speichern des letzten Schattzustands
  • OTA Script
  • OTA Verwaltung für Herbert/PiDome