Ich habe versucht meinen saugrobotter dazu zu bringen, bei Abwesenheit aller Personen ein mal pro Tag zu Saugen. Wenn alle abwesind sind, will das Ding aber nicht losfahren. Was läuft da schief?
Du kannst ja mal testweise die Condition weglassen, dann sollte der Robi starten. Problem könnte sein, dass last triggered keine Zeit liefert sondern den Wert none. Wenn eine Automatisierung noch nie ausgelöst wurde, hat last_triggered keinen Zeitstempel, sondern den Wert None.
Du kannst es ja mal mit diesem Template testen. Falls last_triggered fehlt, wird es durch den 1. Januar 2000 ersetzt und von dort aus, sind dann in jedem Fall 24h vergangen.
Allgemein sind die 24h auch ziemlich hochgesetzt, würde da eher mit 16-18h Arbeiten. Könnte ja auch mal sein, dass ihr schon vor der 24 Stunde aus dem Hause seit und dann würde die Automatisierung auch nicht auslösen.
Hat leider immer noch nicht funktioniert. Ich verstehe nicht warum alle abwesend und das roborock Ding will einfach nicht losfahren…
Leider bin ich auch nicht der yaml Experte, ich kann das kopieren und ein bisschen abändern, aber dann hört es auch auf.
Brauche ich dafür einen Helfer?
Ich dachte, wenn in HA die Personen, als anwesend oder abwesend ekannt werden, geht das so.
Warum gibt es im visuellem Editor nicht "Alle Personen abwesend "?
Wäre doch viel einfacher…
Nein einen Helfer brauchst du nicht zwingend, du kannst auch die Personen einzeln in der Automatisierung aufführen.
Das input_select.anybody_home lässt aktuell aber darauf schließen, dass eine Gruppe erstellt wurde, oder wo hast du die Automatisierung her? Wie sieht der Zustand unter Zustände in den Entwicklertools aus?
Hier mal ein Beispiel für eine Automatisierung mit einzelnen Personen:
Da muss man in Bedingungen noch prüfen, dass keine der beiden Personen zu Hause ist.
alias: Autostart Roborock
description: Keiner Zuhause > Reinigung starten
mode: single
triggers:
- entity_id: device_tracker.person_a
to: not_home
for:
minutes: 15
trigger: state
- entity_id: device_tracker.person_b
to: not_home
for:
minutes: 15
trigger: state
conditions:
- condition: template
value_template: >-
{{ now() - state_attr('automation.autostart_roborock', 'last_triggered') >
timedelta(hours=24) }}
- condition: state
entity_id:
- device_tracker.person_a
- device_tracker.person_b
state: not_home
actions:
- target:
entity_id: vacuum.s7
action: vacuum.start
data: {}
Der einfachste Weg für mich, war die Lösung von maxe. Danke für eure Bemühungen, es funktioniert. Im gleichen Zug hab ich mir mal node red angeschaut. Das ist ja schlimmer als Yaml Code. Wenn ich Yaml lese, kann ich das noch fast verstehen was da steht. Bei node red fummelt man jeden Baustein zurecht, was doch sehr umständlich ist.
Ich hab jetzt das Temlate auf 15 Stunden geändert und mit minimalem Aufwand dem S7 gesagt er soll nur Saugen.
Ich bin begeistert…