Der eigentliche Sinn einer Heimautomation liegt im Erledigen von Aufgaben ohne Zutun des Benutzers. Bisher war Home Assistant hier ja nur eine zugegebenermaßen hübsche Visualisierung verschiedener Teilnehmer. Das ändert sich jetzt.
YAML ist eine recht einfach zu erlernende Markup Language. Alle Konfigurationsdateien von HA sind in yaml gehalten. Ich hatte bisher relativ wenig Berührungspunkte, aber die Konfiguration fühlt sich rasch intuitiv an. Nach den ersten zwei, drei mal Einrückregeln missachten wird man vorsichtiger und achtet gewissenhaft auf solche Dinge.
Was will man also automatisieren? Alles, was unter normalen Umständen lästig ist. Also erst mal was einfaches. Abends Licht an. Man will ja nicht immer die Fernbedienung mit sich herumtragen. Da tut sich die Frage auf: Ab wann braucht man Licht? Logischerweise wenn die Sonne untergeht. Es ist ja aber schon vorher dunkel! Macht nix, dazu kann man einen negativen Offset einbauen. Praktisch!
automations.yaml
- alias: "Regel 1 - Licht an abends"
hide_entity: True
trigger:
- platform: sun
event: sunset
offset: '-00:30:00'
30 Minuten scheinen mir da ganz in Ordnung zu sein. Was aber, wenn niemand daheim ist? Oha, das hatte ich nicht bedacht. Bewegungsmelder? Müsste man dann ja in jeden Raum einbauen. Blöde Geschichte. Man müsste sowas wie ein Gerät dabei haben, das sich meldet, wenn man daheim ist. Vielleicht mit bluetooth, nfc oder so… oder wifi…
Ja, kein Scheiß. Das waren wirklich meine Gedanken. Auf die naheliegende Lösung, dass heute jeder ein Handy in der Tasche hat, bin ich erst nach mehreren Minuten gekommen. Aber da waren wir beim nächsten Problem. Router unterstützt HA zwar viele, aber da ich Tomato als Router OS verwende, habe ich da nicht wirklich mit Unterstützung gerechnet. Weit gefehlt. HA kann das. Also los!
configuration.yaml device_tracker: - platform: tomato host: 192.168.1.1 username: '******' password: '*********' http_id: (im Quelltext des Routerinterface nach "http_id" suchen)
automations.yaml condition: condition: and conditions: - condition: time after: '17:00' before: '23:00' - condition: or conditions: - condition: state entity_id: device_tracker.thuhuongsiPhone state: 'home' - condition: state entity_id: device_tracker.galaxynote8 state: 'home'
Edit: Hier hat sich ein Fehler eingeschlichen. In der vorherigen Version waren die Konditionen nicht passend verknüpft. Richtig ist natürlich „Zeit und eines der beiden Telefone“.
Aber moment mal! Sollte jetzt niemand daheim sein, aber später dann heim kommen, wäre der Trigger ’sunset -30′ ja verstrichen und es würde sich nichts tun. Das ist unschön. Also wird das Heimkommen der beiden Telefone noch als zweiter Trigger angehängt.
automations.yaml - platform: state entity_id: device_tracker.thuhuongsiPhone entity_id: device_tracker.galaxynote8 to: 'home'
Dann muss HA noch der Schaltbefehl, also die „action“ mitgeteilt werden.
automations.yaml action: service: homeassistant.turn_on entity_id: light.Wohnzimmer_Decke
Läuft. Klasse! Die nächste Automatisierung sollte etwas anspruchsvoller sein.