Stromstoßschaltung dimmen

Seit Samstag haben wir zwei Ikea Leuchten, die über ZigBee gesteuert werden können. Steuern heißt ein-/ausschalten und dimmen. Die Challange war jetzt diese erstens in die Heimautomatisierung zu integrieren und zweitens das Dimmen halbwegs familenfreundlich umzusetzen. Im Fernsehzimmer war das einfach, weil es genau einen Schalter für die eine Lampe gibt, im Esszimmer haben wir dagegen 4 Taster, die über ein eine Stromstoßschaltung die eine Lampe schalten.

Wie man ZigBee Geräte ins eigene Netz integriert ist auf der Seite von ZigBee2MQTT bechrieben. Dann müssen die zwei Lampen „gruppiert“ werden – das bedeutet man macht aus den zwei Lampen eine virtuelle Lampe, die dann gesteuert wird, das geht direkt in ioBroker. Ein-/ausgeschalten wird über die vorhandenen Taster. Fürs Dimmen habe ich einen alten Ikea STYRBAR Schalter genommen, der kommt an die Eckbank. Drückt man auf das kleine Lämpchen soll es dunkler werden und beim großen Lämpchen heller.

Wie das Hellermachen funktioniert sieht man im Bild oben: Man überprüft ob „Heller“ gedrückt wurde, wenn das Ereignis eintritt, wird der aktuelle Brightness-Wert der Leuchte um 10 % erhöht. Blockly bietet da einen Komfortbaustein, dem man Grenzen mitgeben kann, das heißt bei mir der Wert wird nicht größer als 100 % und nicht kleiner als 20 %. Das war es schon. Den Baustein kann man dann kopieren und fürs Verdunkeln anpassen. Fertig. Die Lösung funktionert und kommt gut an. Tatsächlich wurde ich sogar gelobt, damit hatte ich gar nicht gerechnet!

Shelly Plus 2PM + ioBroker + Shelly Adapter

Es war ja nicht anders zu erwarten: das Pimpen von dem Lichtschalter ist ein ganz krasser Erfolg gewesen und ich bin dementsprechend motiviert noch eines drauf zu setzen. Nächstes Ziel, die Hauptbeleuchtung soll auch smart werden. Wenn man auf dem Sofa sitzt und möchte dass die Hauptbeleuchtung aus geht, dann soll nicht mehr extra ein Kind angerufen werden müssen, das dann antreten muss um auf dem Lichtschalter zu drücken, nein es soll vom Sofa aus möglich sein.

Deshalb habe ich einen Shelly Plus 2PM erstanden, der macht das gleiche wie der Shelly, den ich letzte Woche verbaut habe, aber zwei kanalig, der sollte dieses Wochenende hinter den neuen Lichtschalter montiert werden und unser Fernsehzimmer noch smarter machen. Da hatte ich allerdings die Rechnung ohne Shelly gemacht.

Der Shelly Plus 2PM gehört nämlich zur zweiten Generation Shellys und die haben eine andere Firmware, einfach via OTA eine alternative Firmware drauf zu installieren ging nicht. Dann habe ich wagemutig das Teil geöffnet und wollte das Update kabelgebunden machen, bin dann Minianschlüssen gescheitert, weil ich nicht gesehen habe wo ich mit dem Lötkolben hin muss. Gut, dann halt mit der originalen Firmware und dem ioBroker Shelly Adapter.

Nicht gut, denn es kam das was kommen musste, der Shelly Adapter fordert eine höhere Version von Node.js, Node.js kann man aber nicht einfach über eine neuere Version von einem Docker-Image bekommen, sondern muss dazu ein Update in der ioBroker Instanz (!!!) selbst machen. Das habe ich auch gemacht. Dann ging gar nix mehr. Nachdem ich den Samstag Nachmittag investiert und auf den Nachmittagsschlaf verzichtet hatte, lief abends alles bis auf das Zigbee Interface. Und für das Zigbee Interface musste ich die Ubuntu-Installation im Docker-Image updaten. So sollte man Docker nicht verwenden.

Naja, jetzt geht wieder alles und der neue Shelly wartet auf den Einbau. Der Shelly Adapter für ioBroker und die originale Shelly Firmware sind übrigens ziemlich gut. Jetzt überlege ich schon welchen Schalter ich als nächstes versmarthome.

Amerikanisch soll es werden!

Kennt ihr diese Szene in amerikanischen Filmen wo ein Polizist einen dunklen Raum im betritt, nicht das Licht am Lichtschalter einschaltet, sondern mit seiner Taschenlampe nach dem Übeltäter sucht? Höchst wahrscheinlich haben 99,9 Prozent aller amerikanischen Polizisten immer Taschenlampen dabei und es gibt ein extra Fach am Holster, wo die drinnen steckt. Noch nie drüber nachgedacht, muss aber so sein. Dann gibt es noch das 0,01 Prozent wo der Polizist tatsächlich die Lampe einschaltet, dann aber die Wohnung dann explodiert, weil die Lampe manipuliert war.

Darum geht es mir heute aber gar nicht, sondern um die andere Standardszene in amerikanischen Filmen, wo jemand einen dunklen Raum betritt, das Licht einschaltet – nicht explodiert – und irgendwo eine Stehlampe oder eine Lampe auf ein schönen Kommode an geht. Jedenfalls keine Deckenlampe. Sowas gibt es in unseren Breiten ganz selten, fast gar nicht. Das will ich haben! Deshalb habe ich mir überlegt den Lichtschalter im frisch gestrichenen Fernsehzimmer zu heimautomatisieren.

Gestartet habe ich meine Planung mit einem Schalter der SONOFF M5 Serie, die sind formschön, haben einen mechanischen Schalter, d.h. man kann den Schalter „ertasten“, sind aber anthrazit. Ein anthraziter Schalter würde zwar zur neuen Wandfarbe passen, sich aber mit dem Alpinweiss der Steckdosen beißen.

Im Keller habe ich einen Shelly 1 gefunden, den habe ich mir wohl mal gekauft ihn aber nie ausgepackt, wahrscheinlich hatte ich die amerikanische Szene schon mal auf dem Radar. Ausgepackt habe ich ihn jetzt und auch schon einen Plan wie ich die originale Firmware mit Tasmota austausche, jetzt muss ich nur noch den richtigen Moment abwarten. Das Aufspielen alternativer Firmware ist was emotionales, da muss ich in Stimmung sein.

Shelly UNI

So ein Shelly UNI könnte eine gute Basis für die Temperaturüberwachung im Gartenhaus sein. Man kann drei DS18B20 oder einen DHT22 anschließen und hätte sogar noch zwei Ausgänge mit denen man Relais schalten könnte. Ich würde die drei DS18B20 anschließen, einen im Gartenhaus 1 verbauen, einen im #GartenhausZwei und einen außen. Mal so als grundlegende Idee.

Die DS18B20 werden ja über 1-Wire-Bus angeschlossen, das heißt man könnte auch die Kabelstrecken recht einfach realisieren. Meine liebste Lösung wäre allerdings wenn man einen Sonoff CH4 so pimpen könnte, dass man statt Relais zu schalten die GPIOs umfunktionieren könnte. Dann hätte man gleich ein schönes Gehäuse sammt Spannungsversorgung. Das ist ein schönes Projekt!

ioBroker – die neue Zentrale

Dieser ioBroker ist ein geiles Tool. Donnerwetter! Über die letzten Jahre wurden ja viele Sachen umgesetzt, manches in Fhem direkt, manches versteckt in Perl-Modulen und anderes in Node Red – mehr oder weniger ohne Konzept, sondern eher aus der jeweiligen Laune heraus. Als aller erstes habe ich jetzt diese unseeligen DoIFs aus Fhem nach ioBroker umgezogen und weil das so gut geklappt hat, dann auch noch gleich alle Workflows aus Node Red.

Seit gestern Nacht ist Node Red komplett ausgeschalt und Fhem dient eigentlich nur noch als Adapter zu Homematic und zu ein paar MQTT Geräten. Alle Sonoff/Tasmota Geräte werden direkt über den Sonoff Adapter in ioBroker angebunden, für alle Workflows wurden Skripte in ioBroker angelegt, von der Auswertung der Taster und Schalter, über Zeitsteuerungen, bis hin zur den Telegram Benachrichtigungen. Wenn möglich wurden die Abläufe mit Blocky graphisch erstellt, nur für ein paar Ausnahmen hat es direkt Javascript gebraucht. Schaut gut aus und funktioniert. Top!

ioBroker – alles neu macht der Mai

Neulich hab ich mal was gelesen, dass es in Eclipse eine Unterstützung für openHAB gibt. Wollte ich unbedingt ausprobieren, habe ich ausprobiert, hat aber irgendwie nicht getaugt. Nach etwas hin und her läuft jetzt ioBroker und ioBroker berührt emotional!

Im Gegensatz zu Fhem ist ioBroker richtig benutzerfreundlich. Man muss keine komplizierten Config-Dateien manuell zähmen, wobei man sich vertippen kann und dann stundenlang Fehler suchen muss, sondern hat eine recht ansprechende Oberfläche, in der man alles schön im Blick hat.

In ioBroker kann man über sogenannte Adapter ungefähr alles integrieren was man sich vorstellen kann, von einer Bring-Einkaufsliste bis zur komplett laufenden Fhem Instanz – Sonoff Unterstützung, Zigbee, alles da – und das alles mit ein paar Klicks. Und nach der Installation sind die Adapter auch gleich in der Oberfläche integriert und können verwendet werden, einfach so, so viel Luxus ist ein Fhem-geschundenes Heimautomatisierer-Herz nicht gewohnt. Heimautomatisierungsgötterdämmerung im Hause Hack.

Status Heimautomatisierung

Wenn man sich diese ganze Heimautomatisierungskiste mal so anschaut, die hier in den letzten Jahren abgezogen wurde, dann gibt es gerade mal eine Hand voll Features, die tatsächlich den Sprung ins Sinnvolle geschafft haben:

  1. Platz: Der Klingel-Hack, damit man eine Nachricht samt Bild bekommt wenn geklingelt wird. Da lobt sogar die Chefin.
  2. Platz: Nachricht per Telegram wenn Waschmaschine und Trockner fertig sind.
  3. Platz: Zeitschaltuhr samt Bewegungsmelder für die Küchenbeleuchtung am Tresen. Das findet nur gut wer früh als erstes aufsteht und nachts als letztes zu Bett geht.
  4. Platz: die Aquariumsteuerung mit SONOFF-4. Hätte man schon viel früher machen sollen.
  5. Platz: elektronischer Türöffner per Telegram. Benutze nur ich, ist geil. Braucht man keinen Schlüssel mehr.

Der ganze Quatsch mit Fenster überwachen und so, ist komplett im Sand verlaufen. Das Schalten der ganzen Lampen ist ok, aber man könnte auch gut ohne leben.

Kaffee-Monitoring

Diese Woche fängt schon mal gut an, der Strommesser an der Kaffeemaschine ist anscheinend seit gestern Vormittag kaputt. Erste Auswirkung ist, dass die Kaffeemaschine nicht mehr funktioniert hat. Das kriegt man wieder hin wenn man die Kaffeemaschine einfach direkt in die Steckdose steckt. Zweite Auswirkung ist dass wir keinerlei Monitoring mehr über den häuslichen Kaffeekonsum mehr haben.

Mini-Webserver mit systemd

Manchmal rächen sich ja Kleinigkeiten erst nach einer gewissen Zeit. So ist mir jetzt mit einem Skript aus dem Dezember gegangen. Kurz vor dem Urlaub gab es einen Reboot vom Smarthome-Server  und dabei wurde ein Systemd-Diesnst für WOL nicht sauber gestartet. Ende vom Lied: eine Woche lang in Österreich und keine Möglichkeit ein Backup zu machen.
Dieses Skript startet einen kleinen Web-Server der darauf wartet dass eine bestimmte Seite aufgerufen wird und schickt dann ein WOL-Befehl, damit der Backup-Rechner im Netz hochfährt. So weit, so gut, so simpel.

#!/usr/bin/python
import os
from bottle import route, run, template
@route('/startServer')
def startServer():
    return os.system("/usr/bin/wakeonlan 00:11:22:33:44:55")
@route('/')
def hello():
    return ':-)'
run(host='0.0.0.0', port=8080)

Im Dezember hatte ich noch als host in Zeile 14 explizit eine bestimmte IP-Adresse angegeben, das hat irgendwie nicht hin gehauen und den automatischen Start verhindert. Mit „0.0.0.0“ funktioniert das jetzt. Hier noch die systemd-Datei:

[Unit]
Description=Remote Start Waffe
After=network.target
[Service]
Type=simple
ExecStart=/home/christian/docker/smarthome/remote_start/remote_start.py
[Install]
WantedBy=multi-user.target

Kaum macht man es richtig und überprüft es, dann klappt das auch.

Was zusammen gehört

Der 3D-Druck alleine ist ja schon cool, genauso wie die Hausautomatisierung – da liegt es doch auf der Hand dass man diese beiden Themen irgendwie zusammenbringt. Richtige Freaks lassen sich den Status des Drucks irgendwie vom Haus anzeigen, mir reicht Octoprint samt Octoprint-App.
Bei Octoprint gibt es ein Plugin namens MQTT Publish und mit dem kann man recht einfach in die Oberfläche Buttons einbauen und wenn man dann so einen Button drückt, dann sendet Octoprint den hinterlegten MQTT-Befehl. Was kann man damit machen? Z.B. das Licht einschalten wenn man den Druck per Web-Cam kontrollieren will. Eine feine Sache.
[Update] Drucker ein- und ausschalten, spart Energie.