Letzte Person gegangen - erste P gekommen

Im immerwährenden Geplänkel zwischen mir und dem Sohnemann, wer denn nun die bessere Smart Home Lösung hat, fehlen mir immer dann die Argumente, wenn er mir in Apple Home die Trigger “Wenn die letzte Person das Zuhause verlässt.” oder “Wenn die erste Person zu Hause ankommt“ vorführt. Auch mit viel KI und RTFM, kriege ich keine hstabile Lösung hin.

Habt ihr’n Tipp?

Am Start wären HA Mobile auf den Smartphones meiner Frau und mir, alternativ die iCloud3 v3 Integration.

Danke euch. LG Paul

Nachtrag:

Sieh mal an. Nach dem Veröffentlichen meines Threads wurde mir der hier vorgeschlagen: Zuhause Erkennung - #2 von sirector . Den probiere ich mal aus, gerne dennoch her mit euren Vorschlägen.

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

1 „Gefällt mir“

So ein Zufall. Genau das hab ich heute es fertig bekommen. :laughing:

Ist noch nicht komplett ausgetestet, aber dann hast Du immerhin schonmal einen Anfang. :wink:

alias: Der erste kommt
description: >-
  Bei Ankunft der ersten Person (home > 0) wird eine Benachrichtigung geschickt,
  wenn etwas die Aufmerksamkeit erfordert, z.B. Waschmaschine wurde fertig, die
  Post war da, ...
triggers:
  - trigger: state
    entity_id:
      - device_tracker.claudias_iphone
    to: home
    id: claudia_kommt_nach_hause
  - trigger: state
    entity_id:
      - device_tracker.orns_imer
    to: home
    id: oern_kommt_nach_hause
conditions:
  - condition: state
    entity_id: zone.home
    state: "1"

alias: Der letzte geht
description: ""
triggers:
  - trigger: state
    entity_id:
      - device_tracker.claudias_iphone
    to: not_home
    id: claudia_geht
  - trigger: state
    entity_id:
      - device_tracker.orns_imer
    to: not_home
    id: oern_geht

1 „Gefällt mir“

Danke, wird ebenfalls probiert.
Eines noch: das sieht mir nicht nach Helfern aus. An welcher Stelle verwendest du das?

Das sind die Anfänge von Automationen.

1 „Gefällt mir“

Mit zone.home kannst Du dies doch problemlos feststellen. Auch wie viele Personen anwesend sind usw.

Ist ja im verlinkten Beitrag bereits erwähnt. Oder, weil ich gerade zu faul bin es auszuführen.

2 „Gefällt mir“

Hmm, das hat so noch Schwächen.

Wenn die letzte Person das Haus verlässt, ist der zone.home Wert gerade noch bei 1. Damit wird die Bedingung “false” und die Automation wird beendet. Machst du ähnliche Erfahrungen?

Was hat denn da noch schwächen? Zeig doch mal deine Automation.

Wie gesagt:

Aktuell schraube ich an mehrereren Stellen gleichzeitig und lasse diese Automation erstmal ein paar Tage mitlaufen, damit ich genügend Daten habe es zu beurteilen. Ich guck mir dazu den Verlauf alter Entitäten an, die involviert sind.

Aus dem Stegreif würde ich sagen, dass Du z.B. eine Verzögerung einsetzen könntest. Verzögerungen sind allerdings recht unzuverlässig.

Stattdessen nimmst Du vielleicht, wie Tarag vorgeschlagen hat, direkt bzw. nur die Zone:

Du prüfst also so:

alias: Der letzte geht (zonenbasiert)
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - zone.home
    below: 1
conditions: []
actions: []
mode: single

Das ist, eingedenk Deiner Erfahrung, ebenfalls verzögert, nähme ich an. Es hängt halt davon ab, wie schnell die zone.home aktualisiert wird. :thinking:

Ich hab auf jeden Fall jetzt mal beide Automationen laufen und guck mir in ein paar Tagen an, welche davon besser funktioniert. :wink:

2 „Gefällt mir“

Sehr gerne:

Das ist zunächst mal genau das, was Oern vorgeschlagen hat. Theoretisch sieht das gut und sogar echt pfiffig aus, weil man erkennt, wer als Letztes das Haus verlassen hat - und darauf gesondert reagieren kann.

Es führt aber dazu:

Hier hat meine Holde das Haus verlassen:

Um exakt 13:41:30 Uhr hatte zone.home aber noch den Wert 1:

Daher wird

image

nicht erfüllt und die Automation bricht ab.

Was ich darüberhinaus bemerke ist das hier. Ich soll vor 32 Minuten gegangen sein, da war ich allerdings schon 20 Minuten weg.

Was ist da los? Erklärung: Das Haus war leer, also zone.home = 0, ich selbst war in einer definierten Zone, habe die verlassen und damit das

image

wieder erfüllt. Das ließ die Automation ein weiteres Mal anspringen. Erster Lösungsversuch sieht so aus:

Das meine ich mit Schwächen. :slight_smile:

1 „Gefällt mir“

Schau dir mal den Verlauf von zone.home an. Oder dein device_tracker

Das tue ich, es geht genau um diese Sekunde, in der der letzte das Haus verlässt und zone.home noch nicht 0 ist.

Wenn es ein und der gleiche Device Tracker ist, den Du als Auslöser verwenden tust und der gleiche und kein zweiter der Person zugeordnet wurde. Dann darf das nicht passieren!

Ansonsten verwende als Auslöser nicht den Device Tracker sondern die Person.

trigger: state
entity_id:
  - person.xyz
from: home
to: not_home

Gruß Osorkon

In der Sekunde wo der letzte tracker außerhalb geortet wird ist es 0

Die Frage bleibt, wieviele Geräte in der zone.home sind, die relevant sind?!

Ok, dann also 3 5 Automationen zum Testen. Irgendeine davon muss ja ordentlich funktionieren. Hoffentlich. :laughing:

Wobei ich davon ausgehe, dass die beiden zone numeric und zone person äquivalent sind. Aber wer weiß schon, wie genau es unter der Haube von HA funktioniert? :thinking:

Ich jedenfalls noch nicht. :man_shrugging:

alias: Der letzte geht (device_tracker)
description: ""
triggers:
  - trigger: state
    entity_id:
      - device_tracker.claudias_iphone
    to: not_home
    id: claudia_geht
  - trigger: state
    entity_id:
      - device_tracker.orns_imer
    to: not_home
    id: oern_geht
conditions:
  - condition: template
    value_template: "{{trigger.from_state.state != 'unavailable'}}"
  - condition: template
    value_template: "{{trigger.from_state.state != 'unknown'}}"
  - condition: state
    entity_id: zone.home
    state: "0"
actions:
  - action: notify.mobile_app_orns_imer
    metadata: {}
    data:
      message: Der letzte ist gegangen (device_tracker)
      title: "{{now().strftime('%d.%m. %H:%M')}}"
mode: single

alias: Der letzte geht (person)
description: ""
triggers:
  - trigger: state
    entity_id:
      - person.claudia
    to: not_home
    id: claudia_geht
  - trigger: state
    entity_id:
      - person.orn
    to: not_home
    id: oern_geht
conditions:
  - condition: template
    value_template: "{{trigger.from_state.state != 'unavailable'}}"
  - condition: template
    value_template: "{{trigger.from_state.state != 'unknown'}}"
  - condition: state
    entity_id: zone.home
    state: "0"
actions:
  - action: notify.mobile_app_orns_imer
    metadata: {}
    data:
      message: Der letzte ist gegangen (person)
      title: "{{now().strftime('%d.%m. %H:%M')}}"
mode: single

alias: Der letzte geht (zone numeric)
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - zone.home
    below: 1
conditions:
  - condition: template
    value_template: "{{trigger.from_state.state != 'unavailable'}}"
  - condition: template
    value_template: "{{trigger.from_state.state != 'unknown'}}"
actions:
  - action: notify.mobile_app_orns_imer
    metadata: {}
    data:
      message: Der letzte ist gegangen (zone numeric)
      title: "{{now().strftime('%d.%m. %H:%M')}}"
mode: single

alias: Der letzte geht (zone persons)
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - zone.home
    attribute: persons
    below: 1
conditions:
  - condition: template
    value_template: "{{trigger.from_state.state != 'unavailable'}}"
  - condition: template
    value_template: "{{trigger.from_state.state != 'unknown'}}"
actions:
  - action: notify.mobile_app_orns_imer
    metadata: {}
    data:
      message: Der letzte ist gegangen (zone persons)
      title: "{{now().strftime('%d.%m. %H:%M')}}"
mode: single

alias: Der letzte geht (device)
description: ""
triggers:
  - device_id: e9abdb641c66736ba7eaae1fc8e76faf
    domain: device_tracker
    entity_id: 54381306f2be06c2c37779a04abf29ef
    type: leaves
    trigger: device
    zone: zone.home
  - device_id: b3cad5b43ba638512d189aefd9b415f5
    domain: device_tracker
    entity_id: c2f0c88dfa75ec79ff79c2dcaff7c56f
    type: leaves
    trigger: device
    zone: zone.home
conditions:
  - condition: template
    value_template: "{{trigger.from_state.state != 'unavailable'}}"
  - condition: template
    value_template: "{{trigger.from_state.state != 'unknown'}}"
  - condition: state
    entity_id: zone.home
    state: "0"
actions:
  - action: notify.mobile_app_orns_imer
    metadata: {}
    data:
      message: Der letzte ist gegangen (device)
      title: "{{now().strftime('%d.%m. %H:%M')}}"
mode: single

Die Sache eskaliert :joy: Herrlich.

Hör bloß auf. Ich hab inzwischen noch einen weiteren möglichen zwei weitere mögliche Trigger gefunden. :zany_face:

Hab die beiden oben in dem Post nachgetragen, damit das nicht so zerpflückt aussieht.

Eigentlich ist es ganz einfach. Die device_tracker die getriggert werden müssen auch den Personen zugeordnet sein. Es dürfen keine weiteren Devices den Personen zugeordnet sein, da sich die zone.home evtl. nicht auf 0 ändert.

Ich würde vermutlich eh mit diesem Trigger arbeiten

  - trigger: state
    entity_id:
      - person.maxe
    from: home
    to: not_home
1 „Gefällt mir“

Das ist klar. Sonst kann es ja nicht funktionieren.

Aber wie werden die verschiedenen Entitäten oder Attribute unter der Haube ver- oder bearbeitet? Wenn das alles in ein- und derselben Routine gemacht wird und gleichzeitig die verschiedenen Entitäten und Attribute geschrieben werden, dann ist es im Prinzip wurscht, welche man nutzt. Dazu kommt noch, dass die Signale ja auch erstmal vom Endgerät zu HA gemeldet werden müssen.

Ich hab auf jeden Fall 5 verschiedene Automation laufen und guck mal, ob sich da was unterscheidet und ob vielleicht eine der Methoden anders (besser / schlechter) läuft. :wink:

Der (halbe) Physiker und verrückte Professor läuft schon wieder zur Hochform auf. :laughing:

Nachtrag #1

Hm, laden darf man sein Endgerät also scheinbar nicht. :thinking:

Mal schauen was morgen passiert, wenn sie tatsächlich geht.

Nachtrag #2

Auch nicht viel besser.

Ich kontrolliere auf jeden Fall mal die Einstellungen im iPhone. Vielleicht hab ich da irgendwo noch einen Haken oder eine Einstellung Immer erlauben vergessen. Falls dem nicht so ist, muss ich mal tief(er) graben. So ist das jedenfalls zu unzuverlässig.

Ein Wechsel im Status sensor.claudias_iphone_battery_state scheint HA auch nicht zu gefallen. Die Zeiten passen perfekt zusammen. :thinking:

1 „Gefällt mir“

Ich bin seit gestern 18:00 Uhr vorerst zufrieden und habe eine hoffnungsvolle Lösung.

Dir @Oern wünsche ich, dass du die ID-gesteuerte Unterscheidung “wer als letzter geht” oder “als erster kommt” noch hinkriegst. Hänge übrigens noch an deinem “halben Physiker und verrückten Prof. Ich dachte, ich kenne die alle. :slight_smile: