Intro
Ist man ein Roboter oder ist Groundhog Day ?
Jeden Tag geht man zum Lichtschalter sobald es dunkel ist und drückt drauf. Dazu sind viele Lichtschalter, die über die normale Denkenlampe hinausgehen nicht immer praktisch montiert.
Wollen wir uns selbst darauf konditionieren immer bei Sonnenuntergang an einen versteckten Lichtschalter für eine Außenbeleuchtung zu denken oder können wir das automatisieren ?
Natürlich können wir.
Wie’s geht steht hier.
Material
- Sonoff Basic
- vollständige Home Assistant Installation
- RaspberryPI oder anderes Gerät, das als MQTT Broker fungieren kann.
- USB-TTL-Converter
- Schraubenzieher
- Stromkabel
- Smartphone oder anderes WLAN-fähiges Gerät
Sonoff Basic flashen
Tasmotizer scheint hier wirklich die einfachste Variante zu sein.
Am Besten unter Ubuntu per Kommandozeile starten, so lassen sich eventuelle Fehler einfacher beheben, da die Fehlermeldungen im Fenster sehr dürftig sind.
Hier ist die Reihenfolge wichtig:
- Sicherstellen, dass Sonoff Basic vom Strom getrennt ist
- Adapter an Sonoff Basic anschließen (Siehe Bild)
- GND, 3V3 direkt verbinden. RX, TX vertauscht verbinden.
- Schwarzen Taster am Sonoff Basic gedrückt halten bis zum Ende des gesamten Vorgangs
- USB Adapter an den PC anstecken
- Tasmotizer aktualisieren.
- Release auswählen
- “Tasmotize!”
Das direkte Senden der Konfiguration hat im Test trotz Erfolgsmeldung nicht funktioniert.
Sollten Fehler auftreten, lohnt sich ein Blick in die Ausgabe von Tasmotizer.
Tasmota ins eigene Netzwerk integrieren
Wichtig:
Zuerst den USB-Adapter abstecken und den Schalter soweit möglich wieder in das Gehäuse einbauen.
Dann können wir den Schalter auf der Input-Seite an ein Stromkabel anschließen und anschließend einstecken.
Nach ein paar Sekunden blinkt die grüne LED am Schalter langsam und wir können uns über das Smartphone mit dem neuen WLAN, wie im Bild, verbinden.
Unter http://192.168.4.1 oder in der WLAN-Anmeldemaske finden wie die Einstellungen des Schalters.
Hier kann man die richte SSID + Paswort eintragen. Die weiteren Einstellungen bleiben erstmal gleich.
Nach ewinem Neustart sollte der Schalter sich mit unserem Netzwerk verbinden und im Router zu sehen sein.
Hier können wir der Übersicht halber den Schalter umbenennen und eine feste IP-Adresse eintragen.
MQTT Broker aufsetzen
MQTT ist ein einfaches Nachrichtenprotokoll, worauf viele Smart-Home Anwendungen basieren.
Man unterscheidet zwischen Brokern und zwei verschiedenen Arten Clients (“zuhören” und senden)Alle Nachrichten laufen über den Broker, der diese verteilt.
Dazu eignet sich am Besten ein Gerät, dass 24/7 läuft. Der Broker belegt nicht viele Ressourcen.
Auf einem RaspberryPi mit fester IP im Heimnetzwerk ist eine Installation schnell erledigt.
sudo apt install mosquitto mosquitto-clients
Die Clients werden nur zu Testzwecken benötigt.
sudo systemctl enable mosquitto
Hiermit starten wir den Broker und lassen ihn automatisch bei Neustart des PIs ausführen.
Mit folgendem Befehl können wir bestätigen, dass der Broker läuft:
sudo systemctl status mosquitto
Wichtig ist die IP des Broker-PIs, diese wird im folgenden verwendet.
In Home-Assistant einbinden
Zuerst rufen wir im Browser die IP auf, die wir dem schalter zugewiesen haben und öffnen die Einstellungen beziehungsweise daraufhin die MQTT Einstellungen.
- Host – IP des MQTT-Brokers
- Port – 1883 ist der Default-Port
- client – Name des Geräts
- Benutzer, Passwort – zur Anmeldung am MQTT Broker
- topic – sollte einmalig unter den MQTT-fähigen Geräten im Netzwerk sein
- full topic – Am Besten als %prefix%/%topic%/ lassen
Nach Neustart des Schalters geht es im Home Assistant weiter.
Die einfachste Option die configuration.yaml von Home-Assistant zu bearbeiten ist wahrscheinlich dieses Plugin. Damit können wir direkt im Browser bleiben. Alternativ kann jeder SSH Client (Putty, etc.) verwendet werden.
nano config/configuration.yaml
switch: - platform: mqtt name: "tasmota-1" state_topic: "stat/tasmota-1/RESULT" value_template: "{{ value_json.POWER }}" command_topic: "cmnd/tasmota-1/POWER" payload_on: "ON" payload_off: "OFF" availability_topic: "tele/tasmota-1/LWT" payload_available: "Online" payload_not_available: "Offline" qos: 1 retain: false
Damit die Configuration auch übernommen wird sollte Home-Assistant einmal neu gestartet werden.
„tasmota-1“ kann hier durch das angegebene Topic ersetzt werden.
Name: ist frei wählbar und der in der UI angezeigte Name.
Zum Schluss nur noch in der Lovelace UI einen Schalter hinzufügen und den entsprechenden Schalter dranhängen.
Zum Testen sind dann die Farben des Schalters in der UI wichtig.
- Grau – nicht erreichbar, kein Strom
- Blau – erreichbar aber aus
- Gelb – an
NiceToKnow
Um Zeitpläne und Automatisierungen an Wochenenden zu unterscheiden, kann man hierfür sehr einfach einen Sensor in HomeAssistant integrieren: