Smart Home mit Home Assistant
Kurz vorab: Dieser Artikel erhebt keinen Anspruch auf 100%ige Korrektheit, Aktualität oder Vollständigkeit. Er dient in erster Linie als Dokumentation für mich -- über all die Dinge, die ich mir im Laufe meiner Einrichtung von Home Assistant erst zusammen suchen musste. Zudem freue ich mich natürlich, wenn ich damit noch anderen Neulingen den Einstieg in das Thema "Smart Home mit Home Assistant" etwas erleichtern kann.
:: INSTALLATION & GRUNDEINRICHTUNG ::
Zur ersten Installation der Anleitung folgen.
Nachdem das Image auf der Speicherkarte ist, die Datei /CONFIG/network/my-network
erstellen, mit folgendem Inhalt:
my-network
[connection] id=my-network uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3 type=802-11-wireless [802-11-wireless] mode=infrastructure ssid=MY_SSID <----------------------------------------------------------- # Uncomment below if your SSID is not broadcasted #hidden=true [802-11-wireless-security] auth-alg=open key-mgmt=wpa-psk psk=MY_WLAN_SECRET_KEY <----------------------------------------------------------- [ipv4] method=auto #method=manual #address=192.168.1.111/24;192.168.1.1 #dns=8.8.8.8;8.8.4.4; [ipv6] addr-gen-mode=stable-privacy method=auto
Ab in den Pi damit und ~20 min warten, bis er sich alle Updates und Dependencies gezogen hat. (So lange ist das Web-UI nicht erreichbar)
Das Web-UI wird danach unter http://hassio.local:8123 verfügbar sein.
Beim ersten Start wird ein Einrichtungsassistent durchlaufen.
Es empfiehlt sich dem Pi eine statische IP-Adresse zuzuweisen, damit die Steuerung immer an der gleichen Stelle zu erreichen ist. Das ist außerdem zwingend notwendig, wenn man Home Assistant von außerhalb des Heimnetzwerks via DynDns+PortForwarding erreichen will. (Die statische IP-Adresse, sowie das PortForwarding lassen sich am Heimrouter einstellen.)
Wichtige Dienste gleich installieren
Diese Dienste können direkt in Hass.io aus dem Addon-Store installiert werden. Die nötigen Konfigurationen sind in der jeweiligen Addon-Beschreibung zu finden.
- DuckDns + Let's Encrypt
- Configurator
- Samba*
- FTP(s)*
- SSH*
* = Sehr nützlich, wenn das UI von HassOS mal nicht erreichbar ist. Kann man dann auf keinen dieser Dienste zurückgreifen, steht oft eine Neuinstallation als einzige Lösung ins Haus.
:: EINRICHTUNG GERÄTE & DIENSTE ::
Damit Änderungen an den Config-Dateien auch übernommen werden, muss HassOS (bzw der Pi) neu gestartet werden. VORHER sollte zwingend unter Einstellungen -> Serversteuerung "Konfiguration prüfen" ausgeführt werden. Sollten dort Fehler auftreten, diese erst beheben. Sonst läuft man Gefahr, dass das OS nicht mehr lauffähig ist.
(Ansätze für Fehlerbehebungen in einem solchen Fall per Samba oder SSH möglich)
Thermostate
Mit dem "Configurator" eine neue Datei heating.yaml
erstellen mit folgendem Inhalt:
heating.yaml
- platform: eq3btsmart devices: Heizung Wohnzimmer: mac: '00:1A:22:FF:57:01' Heizung Bad: mac: '00:1A:22:FF:54:02' Heizung Küche: mac: '00:1A:22:FF:57:03'
Die MAC-Adressen müssen natürlich für die einzelnen Geräte erst rausgesucht werden.
Das geht zB mit BluetoothCL (Windows), oder out-of-the-box mit Linux (Beispiel Pi).
In der Datei configuration.yaml
Folgendes einfügen:
configuration.yaml
# heating climate: !include heating.yaml
Config checken! und dann Pi neu starten. Danach sind die Geräte da.
Heizungsverbünde
Für Thermostate können mit diesem Addon "Gruppen" erstellt werden. Damit werden mehrere Thermostate/Heizungen als eine dargestellt und gesteuert. (Räume mit mehreren Heizungen)
Yeelight Birnen
Ich binde meine Yeelight-Birnen direkt ohne Gateway/Hub an Home Assistant an. Hierfür müssen die Birnen vorab eine statische IP zugewiesen bekommen. Das kann am Heimrouter eingerichtet werden. Außerdem müssen die Birnen einmalig mit der Yeelight-App konfiguriert werden um den "Entwickler-Modus"/"LAN-Access" zu aktivieren. Danach können die Lampen ohne die Xiaomi-Cloud gesteuert werden.
Mit dem "Configurator" eine neue Datei yeelight.yaml
erstellen mit folgendem Inhalt:
yeelight.yaml
devices: 192.168.164.200: name: Schreibtischlicht Sebi 192.168.164.201: name: Schreibtischlicht Naemi 192.168.164.202: name: Nachtlicht
In der Datei configuration.yaml
Folgendes einfügen:
configuration.yaml
# yeelights yeelight: !include yeelight.yaml
Config checken! und dann Pi neu starten. Danach sind die Geräte da.
QUELLEN:
Smart Sockets
Ich besitze Smart Steckdosen, welche über die Smart Life App (Tuya) gesteuert werden können. Diese lassen sich direkt über die tuya-integration in Home Assistant einbinden.
Hierfür einfach folgende Config in configuration.yaml
eintragen:
configuration.yaml
tuya: platform: smart_life username: 'PHONENR' # Telefonnr ohne CountryCode oder 0 password: 'PASSWORD' country_code: 49
Nach einem Check der Config und einem Neustart tauchen die Geräte dann alle automatisch auf.
Logitech Harmony
coming soon
Notification via Telegram
coming soon
Let's Encrypt
Das hat sich als etwas schwieriger erwiesen, als in der Addon-Beschreibung dargestellt. Problematisch war, dass für die Zertifikats-Ausstellung der Port 80 auf den Pi weitergeleitet werden muss. Der ist in meinem Heimnetzwerk allerdings bereits auf die Synology NAS umgeleitet. Da über DuckDns keine Challenge per DNS möglich ist, hat kein Weg daran vorbei geführt, den Port kurzzeitig auf den Pi umzuleiten. Das muss dann leider alle 3 Monate zur Zertifikatserneuerung wiederholt werden.
Außerdem muss nachdem das Zertifikat vorhanden ist,
- im DuckDns-Addon das Setting
accept_terms
auftrue
gesetzt werden - und in der
configuration.yaml
folgendes hinzugefügt werden:
configuration.yaml
http: base_url: https://<mydomain>.duckdns.org:8123 ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem
- Einmal neu starten, dann ist Home Assistant über SSL erreichbar.
:: WEITERE EINSTELLUNGEN ::
System Monitoring
Um das Home Assistant System etwas besser im Blick zu haben, kann man nativ in der Übersicht auch System-Informationen mit anzeigen lassen. Hier ist meine Konfiguration dazu:
configuration.yaml
# SYSTEM MONITOR # sensor: - platform: systemmonitor resources: - type: disk_use_percent arg: /home - type: memory_use_percent - type: disk_free - type: ipv4_address - type: processor_use - type: last_boot
groups.yaml
grpMonitoring: name: SysMon control: hidden entities: - sensor.ipv4_address - sensor.processor_use - sensor.memory_use_percent - sensor.disk_use_percent_home - sensor.last_boot
Gruppen
Geräte, Personen, etc lassen sich in der "Übersicht" zusammenfassen. Dies geht über Gruppen. Eingestellt wird das über die groups.yaml
-Datei (welche in der configuration.yaml
-Datei natürlich eingebunden sein muss) nach folgendem Muster:
groups.yaml
heizungen: name: Heizungen entities: - climate.heizung_kuche - climate.heizung_bad - climate.heizung_wohnzimmer personen: name: Personen control: hidden entities: - person.sebastian - person.naemi grpheizungbad: name: Strg Heizung Bad entities: - automation.heizung_bad_05_30_weekdays - automation.heizung_bad_09_00_weekdays - automation.heizung_bad_15_00_weekdays - automation.heizung_bad_23_00_weekdays - automation.heizung_bad_08_00_weekends - automation.heizung_bad_23_00_weekends grpheizungwohnzimmer: name: Strg Heizung Wohnzimmer entities: - automation.heizung_wohnzimmer_05_30_weekdays - automation.heizung_wohnzimmer_09_00_weekdays - automation.heizung_wohnzimmer_15_00_weekdays - automation.heizung_wohnzimmer_19_00_weekdays - automation.heizung_wohnzimmer_23_00_weekdays - automation.heizung_wohnzimmer_08_00_weekends - automation.heizung_wohnzimmer_23_00_weekends
Presence Detection / Zonen
coming soon
QUELLEN:
Automationen
coming soon