Automation "nur" ausführen wenn 2 personen in einer Zone sind oder diese Verlassen

Hallo Community,
komm bei einem Problem nicht weiter. Wir haben indoor Kameras, um den Hund zu überwachen. Diese Tapo Kameras kann man in den privacy mode versetzten. Ich möchten das dieser Mode NUR geschaltet wird, wenn meine Frau und ich beide nicht, bzw. beide zugleich zu Hause sind. In der Automation schaff ich es nicht diese UND Verknüpfung her zu stellen. Derzeit läuft die Automation wenn eine der beiden Personen entitäten die Zone verlassen oder betreten.
Wie bekomme ich das hin?
Danke für eure Hilfe.
Hier meine Automation als YAML:

alias: Indoor Kameras automatisch ein-aus
description: ""
trigger:
  - platform: zone
    entity_id: person.marco_friedel
    zone: zone.home
    event: enter
    id: Marco kommt heim
  - platform: zone
    entity_id: person.tanja_friedel
    zone: zone.home
    event: enter
    id: Tanja kommt heim
  - platform: zone
    entity_id: person.marco_friedel
    zone: zone.home
    event: leave
    id: Marco geht
  - platform: zone
    entity_id: person.tanja_friedel
    zone: zone.home
    event: leave
    id: Tanja geht
condition: []
action:
  - if:
      - condition: trigger
        id:
          - Marco kommt heim
          - Tanja kommt heim
    then:
      - service: switch.turn_on
        target:
          entity_id:
            - switch.esszimmer_privacy
            - switch.wohnzimmer_privacy
        data: {}
    else:
      - if:
          - condition: trigger
            id:
              - Marco geht
              - Tanja geht
        then:
          - service: switch.turn_off
            target:
              entity_id:
                - switch.esszimmer_privacy
                - switch.wohnzimmer_privacy
            data: {}
mode: single

Das aller einfachste wäre, Du erstellst Dir ein Template Sensor. Der den Zustand ON annimmt, wenn beide Zuhause sind und OFF, wenn beide nicht Zuhause sind.

Diesen Sensor dann einfach als Auslöser verwenden.

Wenn nur diese zwei Personne in HA bekannt sind. Wäre es noch einfacher. Die zone.home zeigt die Anzahl der Personen die sich in der Zone befinden. Zone.home == 0 keiner zuhause.
zone.home == 2, beide zuhause.
Gruß
Osorkon

Ich glaube, dass deine if-Bedingung falsch ist. Die Bedingung prüft nicht den Wert, sondern den Trigger. Würde mal kurz zwei Automationen (eine für on und eine für off) machen.
Und dann die condition in die condition ( :slight_smile: ) statt in die actions packen. Dort werden einzelne Zustände auf True abgeprüft. Also

  • Marco kommt ein
  • Tanja kommt ein

mMn sind die IFs falsch, da immer nur ein Trigger auslöst, d.h. beim Trigger kann es kein UND geben. So sollte es gehen:

alias: Indoor Kameras automatisch ein-aus
description: ""
trigger:
  - platform: zone
    entity_id: person.marco_friedel
    zone: zone.home
    event: enter
    id: Marco kommt heim
  - platform: zone
    entity_id: person.tanja_friedel
    zone: zone.home
    event: enter
    id: Tanja kommt heim
  - platform: zone
    entity_id: person.marco_friedel
    zone: zone.home
    event: leave
    id: Marco geht
  - platform: zone
    entity_id: person.tanja_friedel
    zone: zone.home
    event: leave
    id: Tanja geht
condition: []
action:
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: person.marco_friedel
            state: home
          - condition: state
            entity_id: person.tanja_friedel
            state: home
    then:
      - service: switch.turn_on
        target:
          entity_id:
            - switch.esszimmer_privacy
            - switch.wohnzimmer_privacy
        data: {}
    else: []
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: person.marco_friedel
            state: not_home
          - condition: state
            entity_id: person.tanja_friedel
            state: not_home
    then:
      - service: switch.turn_off
        target:
          entity_id:
            - switch.esszimmer_privacy
            - switch.wohnzimmer_privacy
        data: {}
    else: []
mode: single

Die Lösung Anzahl Personen in Zone hört sich interessant an, werde das mal testet, könnte der code so funktionieren?

trigger:
  - platform: numeric_state
    entity_id:
      - zone.home
    attribute: persons
    above: 2
    below: 2.1
    id: Alle zuhause
  - platform: numeric_state
    entity_id:
      - zone.home
    attribute: persons
    above: -0.1
    below: 0.1
    id: Keiner zuhause
condition: []

Einfach nur über 1 für den Zustand beide sind zuhause.
Und unter 1, für den Zustand, keiner ist zuhause

über 1 ist 2 und größer, kommastellen gibt es nicht!

unter 1 ist 0, negative Werte gibt es nicht

Zustand 0 → keiner ist zuhause
Zustand > 0 → mindestens einer ist zuhause
Zustand > 1 → mindestens zwei sind zuhause

Gruß
Osorkon

Wie würde den da der code lauten? Im Visuellen Editor muß ich einen wert für “über” bzw “unter” eingeben,

   attribute: persons
    above: -0.1
    below: 0.1

Du musst nicht beides angeben. Es reicht auch above ODER below. Also entweder

below: 1
ODER
above: 1

Ausgehend davon, dass es im Haushalt nur 2 Personen gibt.


trigger:
  - platform: numeric_state
    entity_id:
      - zone.home
    above: 0
    id: Der erste kommt nach hause
  - platform: numeric_state
    entity_id:
      - zone.home
    id: Das Haus steht leer
    below: 1
  - platform: numeric_state
    entity_id:
      - zone.home
    above: 1
    id: Das Haus ist voll belegt
condition: []
action: []

Gruß
Osorkon

cool danke, teste heute abend

1 „Gefällt mir“

Ich teile hier mal ungefragt für Interessierte, die mglw. eine ähnliche Konstellation haben, meine Gedanken, die ich für uns umgesetzt habe.

Problemstellung: Meine Frau beliebt immer wieder mal, ihr Handy Zuhause zu vergessen. Für HA ist sie also weiter daheim.

Deswegen habe ich einen Zwischenschritt eingebaut mit zwei Helfern für ihre und meine Abwesenheit, die primär automatisch mittels Home Zone - Trigger geschaltet werden. Meine Automationen bauen dann wie oben darauf, ob keiner, eine/r oder beide Zuhause sind, stellen dabei aber auf die Helfer ab.

Liegt das Handy dann mal wieder Zuhause und signalisiert Anwesenheit, setze ich den Helfer für meine Frau im Dashboard manuell auf abwesend und die entsprechenden Automatisierungen laufen wie gewünscht.

Ich muss dann nur bei Rückkehr und Wiedervereinigung von Frau und Handy ihren Helfer wieder manuell zurücksetzen. Wobei… da kommt mir beim Schreiben doch glatt die Idee, nach einem Trigger “Frau hat Handy wieder im Gebrauch” zu schauen, um diesen Schritt zu automatisieren :laughing: