Staubsauger laufen lassen wenn alle das Haus verlassen haben (über Apple Homekit)
Die Idee ist, dass der Staubsauger nur laufen soll, wenn keiner zu Hause ist. Da ich immer wieder Probleme mit der Anwesenheitserkennung hatte und eigentlich nur Apple richtig funktioniert, musste ich hier einen Umweg gehen.
Als erstes habe ich mir 4 Helferschalter angelegt
Einstellungen -> Geräte & Dienste -> Helfer -> "Helfer erstellen"
Wir wählen "Schalter" und benennen ihn nach der Person die wir markieren wollen "Anwesenheit Kind1", "Anwesenheit Kind2" usw.
Diese Schalter lasse ich über die Integration "Homekit Bridge" zu Apple-Home spiegeln. In Apple Home habe ich für jeden im Haushalt lebenden Menschen eine Automation erstellt. Eine Super Erklärung zur Homekit Bridge Integration findet Ihr bei Simon42 (https://www.simon42.com/home-assistant-homekit/)

Die Vergangenheit hat gezeigt, dass Apple hier am zuverlässigsten den Standort mitteilt.
Wenn also jemand nach Hause kommt wird der Anwesenheitsschalter der Person eingeschaltet, bzw. wenn er/sie das Haus verlässt, ausgeschaltet.
Das machen wir uns zu nutze.
Dafür habe ich die drei anderen Personen (bzw. deren Schalter) hier im Haushalt, in eine Helfergruppe gepackt (Helfer Ersteller -> Template -> Binärsensor (der name bei mir "Familie alle weg")
Diesen füllen wir mit dem folgenden Template:
{% set ents = [
'input_boolean.frau',
'input_boolean.kind1',
'input_boolean.kind2'
] %}
{{ expand(ents) | selectattr('state','eq','on') | list | count == 0 }}Das bewirkt, dass der Sensor/Schalter auf "ON" gestellt wird, sobald alle drei aus dem Haus sind. Das machen wir uns in der folgenden Automation zu nutze:
alias: "Staubsauger: Saugroboter aktivieren bei Abwesenheit Familie"
description: >-
Dieser Automation startet den Saugroboter, wenn alle Familienmitglieder weg
sind und die Zeit zwischen 07:00 und 16:00 Uhr liegt.
triggers:
- trigger: state
entity_id:
- binary_sensor.familie_alle_weg
from: "off"
to: "on"
conditions:
- condition: time
after: "07:00:00"
before: "16:00:00"
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: state
entity_id: input_boolean.sauger_heute_gelaufen
state: "off"
actions:
- action: vacuum.start
data: {}
target:
device_id: de0494315db9ba0b4815f6309a63ddd8
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.sauger_heute_gelaufen
mode: single
Wenn nun alle drei den Haushalt verlassen haben und die Zeit zwischen 07:00 und 16:00 Uhr und zusätzlich ein Werktag ist, startet der Sauger seinen Dienst. Der aufmerksame Leser wird festgestellt haben, dass hier noch ein Helfer verbaut ist, dieser ist optional und sorgt nur dafür, dass der Sauger nicht zweimal am Tag eingeschaltet wird. Den Status setze ich nachts in einer anderen Automation zurück.