ich bin noch ziemlich neu und habe mich leider bisher erfolglos an folgender Automation versucht. Ich habe auch nicht wirklich etwas zu dem Usecase bei google finden können bzw. suche falsch danach:
ich habe 2 Zonen (home, Kindergarten)
ich möchte das Garagentor automatisch öffnen lassen, wenn:
es morgens zwischen 07:30 und 09:00 ist
ich innerhalb der letzten 15 Minuten in der Zone Kindergarten war
ich mich meiner Zone home auf 50m nähere
Kann mir jemand von euch ein paar Denkanstöße geben?
Ich könnte den 2. Punkt “innerhalb der letzten 15 Minuten in Zone Kindergarten gewesen” zwar einfach weglassen und es nicht overengineeren, aber damit würde ich falsche Triggerungen vermeiden.
Vielen lieben Dank schonmal vorab an alle die mich in die richtige Richtung schubsen! Falls weitere Infos fehlen, reiche ich die natürlich gerne nach
Das sollte so alles machbar sein. Du legst eine Automation an State → device_tracker.dein_geraet Entity id deines Smartphones. Bei der Bedingung das es Zwischen 7:30 und 9:00 Uhr ist, eine 2 Bedingung Template ob du in den letzten 15min in der Zone Kindergarten warst dies sollte so aussehen (nicht Getestet):
value_template: >
{% set kindergarten = 'zone.kindergarten' %}
{% set device_tracker = 'device_tracker.dein_geraet' %}
{% set last_seen = states[device_tracker].last_changed %}
{{ last_seen and (now() - last_seen).total_seconds() < 900 and is_state(device_tracker, kindergarten) }}
und dann noch die 3 Bedingung wenn du dich 50m näherst wieder ein Template (nicht getestet)
value_template: >
{% set home = states.zone.home %}
{% set device_tracker = states.device_tracker.dein_geraet %}
{% if home and device_tracker %}
{{ distance(device_tracker.state, home.state) < 50 }}
{% else %}
false
{% endif %}
Und unter Action dann das was er machen soll.
und hier der Komplette Code der aber
Noch Angepast werden muss
Und dann getestet werden muss (da ich so eine Automation nicht Testen kann)
automation:
- alias: "Garagentor öffnen bei Annäherung"
trigger:
- platform: state
entity_id: device_tracker.dein_geraet # Ersetze dies mit deinem Gerätetracker
condition:
- condition: time
after: "07:30:00"
before: "09:00:00"
- condition: template
value_template: >
{% set kindergarten = 'zone.kindergarten' %}
{% set device_tracker = 'device_tracker.dein_geraet' %}
{% set last_seen = states[device_tracker].last_changed %}
{{ last_seen and (now() - last_seen).total_seconds() < 900 and is_state(device_tracker, kindergarten) }}
- condition: template
value_template: >
{% set home = states.zone.home %}
{% set device_tracker = states.device_tracker.dein_geraet %}
{% if home and device_tracker %}
{{ distance(device_tracker.state, home.state) < 50 }}
{% else %}
false
{% endif %}
action:
- service: cover.open_cover
target:
entity_id: cover.garagentor # Ersetze dies mit der Entität deines Garagentors
Sooo, dank Kind und Job habe ich erst jetzt ausreichend Zeit gefunden die Antwort zu testen.
Ich bin auf jeden Fall so weit gekommen, dass der Code eine Automation erzeugt hat. Konnte auch alle ids belegen, aber ich habe das Problem, dass die Automation nicht auslöst.
Ich habe viel mit dem setzen von Zuständen gespielt und irgendwie ist die condition “letzte 15 Minuten im Kindergarten gewesen” nur true wenn ich device_tracker.dein_geraet manuell auf zone.kindergarten setze. wenn ich es danach auf away oder home setze ist die Bedingung der Automation false, obwohl ich ja im Zeitraum letzte 15 Minuten bin.
Ich würde immer mit person. und nicht mit device_tracker. arbeiten. Wenn Du Deiner Person einen oder mehrere Tracker in den Einstellungen zuordnest, wird Dein Personenstatus darüber bestimmt. Wenn Du dann mal das Gerät wechselst, musst Du nur an einem Ort das Gerät austauschen und nicht die Automatisierungen bearbeiten.
Ist jetzt eben aus dem Ärmel geschüttelt. Sollte funktionieren und muss, meiner Meinung nach, auch nicht komplizierter sein.
Und weil ich ursprünglich die Wochentage mit drin hatte, mir dann aber auffiel, dass das vermutlich unsinnig ist. Du möchtest immer, wenn Du vom Kindergarten nach Hause kommst, dass die Garage aufgeht, oder? Denn in dem Fall kannst Du die Zeiten auch weglassen.
Oder würdest Du, wenn du nachmittags kommst, woanders parken?
Vielen Dank für deinen neuen Denkanstoß!
über die Person zu gehen macht wirklich Sinn - Danke!
Hab ich eigentlich auch schon von Simon in einem Video beigebracht bekommen
Also ich würde die Uhrzeiten drin lassen, da der Kindergarten sehr zentral bei uns im Ort liegt und ich uU auch in der Nähe bin, ohne dass ich bei Heimkehr dann die Garage öffnen lassen möchte.
Dies nur explizit, wenn ich um diese Uhrzeiten morgens dort war.
Ich baue jetzt auch deine Automation nach, aber ich habe Bedenken, ob sie richitg getriggert wird:
ich habe mal im Zonenverlauf von Kindergarten nachgesehen, und da ist immer der Wert 0 drin, auch an Tagen an denen ich definitiv im Kindergarten war und das Handy dabei hatte.
Die Kindergartenzone stand bis gerade auf passiv, das habe ich jetzt mal abgestellt und aktiv geschalten. Vielleicht funktioniert das “einchecken” in die Zone dann korrekt.
vielleicht liegt die inkorrekte Standortbehandlung bei mir aber auch an einem generellen Problem. Ich habe bspw. auch die Proximity Erweiterung, und da stimmen die Bewegungsrichtungen auch nicht:
nach angekommen (blau)
kommt stationär (rot)
dann entfernt sich (gelb)
dann nähert sich (grün)
dann wieder angekommen (blau)
das müsste definitiv andersrum sein, also:
angekommen > entfernt sich > stationär > nähert sich > angekommen
Man sieht das gut in dem Screenshot v.a. beim zweiten Block rechts. der große gelbe Balken müsste stationär sein, da habe ich mich nicht bewegt.
Grundsätzlich passen die Start und Zielzeiten, aber dazwischen geschieht irgendwie Unsinn bei Proximity (und evtl. könnte das damit zusammenhängen, dass ich nicht in der zone.Kindergarten beim Betreten ankomme.)
Die Sache mit annähren und entfernen bezieht sich auf die Luftlinie. Je nach Fahrtrichtung kann dies (kurzzeitig) auch falsch sein. Deswegen würde ich mir keine Gedanken machen.
Grundsätzlich scheint die Ortung ja auch zu funktionieren. Nur Deine Zone Kindergarten ist offensichtlich falsch eingestellt (gewesen).
Okay, dann beobachte ich es auf jeden Fall einfach weiter…
Beim rechten Block ist es aber definitiv falsch. Ich bin 13:13 von zuhause weggefahren. Auch Luftlinie konsequent weiter weg. Nach ein Paar Monuten dann eine knappe Stunde dort gewesen, was dann ja eigentlich stationär sein müsste aber hier als entfernt sich angegeben wird. und danach heimgefahren.
Woow, das ist ja einerseits erschreckend welche Daten da gespeichert werden
Aber andererseits hat mir das gezeigt, dass die Kindergartenzone wohl ein, zwei Meter zu klein bemessen war, denn der Pin war genau am Rand.
Ich habe die Zone eigentlich ohnehin schon extra groß mit Puffer bemessen, etwa 25 Meter über das Grundstück hinausragend aber dann war es vielleicht genau das.
Ich danke dir tausendfach und melde mich am Dienstag (nach dem Kind abgeben!) nochmal, ob sich jetzt alles wie gewünscht verhält!
Um so besser zu wissen, dass die Daten auf dem Gerät liegen und Home Assistant eben ohne fremde Clouds arbeiten.
25m sind für GPS nicht unbedingt viel, wenn die Toleranzen teilweise bis zu 100m gehen können. Gerade im Gebäude, wenn das Handy noch in der Tasche ist…
Würde im Zweifelsfall ein paar Meter mehr mit in die Zone reinnehmen. Ich bin sehr gespannt, was Du Dienstag zu berichten hast.
Also, ich sag mal so:
Eine Garage, die sich automatisch öffnet, wenn ich mit dem Fahrrad zuhause ankomme versetzt einem schon ein riesen Grinsen ins Gesicht
Das ist wahrscheinlich der selbe Effekt, wie wenn ein Hund gutgelaunt wartet, dass man die Haustüre öffnet!
Es hat alles total super geklappt und durch die deutliche Übergröße der Zone, wurde ich dort auch richtig eingecheckt.
Vielen lieben Dank nochmals für die geduldige Hilfestellung