Helfer für Anwesenheit

Hallo,

ich wollte mir heute zwei Helfer anlegen, aber habe leider keine Lösung gefunden.

1. Anwesenheit: Alle Personen, wenn der letzte das haus verlassen hat, geht Anwesenheit auf OFF. Nur leider geht es bei den Helfern nicht mit device_tracker.xxx oder person.xxx

2. PCs: Wenn PCa oder PCb an ist, dann soll auch der Drucker eingeschaltet werden, auch hier konnte ich keinen Helfer mit device_tracker.pca, device_tracker.pcb erstellen.

Mache ich das etwas falsch oder habe ich ein Verständnis Problem?

Grüße aus Hamburg

1. Ich habe mir eine Gruppe dafür (in der groups.yaml) angelegt:

somebody_home:
  name: Somebody
  entities:
    - person.xxx
    - person.yyy
  all: false

everybody_home:
  name: Everybody
  entities:
    - person.xxx
    - person.yyy
  all: true

Den Zustand kannst du dann mit home / not_home triggern.

2. Dafür brauchst du keinen Helfer, nimm als Trigger einfach PCa und PCb.

2 „Gefällt mir“

@maxe

Hi, habe ich nun so umgesetzt, funktioniert. Mir gefällt allerdings das zusammenklicken über die Helfer besser, da muss ich nicht immer in den Ganzen Dateien danach suchen.

Grüße aus Hamburg

Gibt es mMn nicht.

Aber du kannst dir ja mal die Entität zone.home anschauen.

Hi,

das habe ich in meiner groups.yaml stehen.
Damit wird die Entität groups.anwesenheit_family bei Anwesenheit von min einer der Personen von not_home auf home gesetzt.

anwesenheit_family:
  name: Anwesenheit Familie
  entities:
    - person.basti
    - person.janie
    - person.skadi

@basti242 das hatte ich ja schon in Helfer für Anwesenheit - #2 von maxe beschrieben. Mit dem Parameter “all” kannst du ja sogar “everybody” bestimmen, z.B. bei Heizungen will man ja, dass ALLE not_home sind.

alles klar
Das mit dem all ist natürlich super, bau ich mal bei mir mit ein. Danke

Hallo

Wie binde ich die groups.yaml ein? Hab die erstellt mit den Werten finde dann aber keine etentitie mit der Gruppe? Ich will eine Automatition auslösen sobald keiner zuhause ist.

lg
Flo

Du musst in die Configuration.yaml folgende Zeile einfügen: group: !include groups.yaml
Du kannst die Gruppe aber auch gleich in die Configuration.yaml setzen. So hab ich es gemacht. Mit dem Beispiel von @basti242 würde das dann so aussehen:

group:
  anwesenheit_family:
    name: Anwesenheit Familie
    entities:
      - person.basti
      - person.janie
      - person.skadi

Diese Gruppe wird abwesend, wenn keiner mehr da ist, und anwesend, wenn mindestens ein Gruppenmitglied zu Hause ist. Danach neu starten, aber vorher unbedingt in den Entwicklerwerkzeugen die Konfiguration prüfen.

1 „Gefällt mir“

Wenn es dir nur um den Trigger einer Automation geht, geht das auch einfacher

trigger:
  - platform: state
    entity_id:
      - zone.home
    to: "0"

3 „Gefällt mir“

@maxe gute Idee. Hab ich so ausprobiert. Funktioniert leider nicht bei alle. Gerade hat 1 Person die Homezone verlassen und es wurde ausgelöst obwohl ich angegeben habe dass nur ausgelöst werden soll wenn ALLE nicht Anwesend sind. Ich gehe mal davon aus, dass der Unterschied in “all: true” bzw. false liegt. Denn sonst ist es ja gleich? Habe alles nochmals durchgesehen und eigentlich sollte es so gehen. Es wird aber beim Entitätszustand Abwesend angezeigt. Habe bei all: true stehen. Hatte es erst mit Bedingung, dass wenn Person xy Zone verläßt auslösen aber nur wenn yz nicht in Zone ist. So dann halt bei jeder Person extra eine Automatisierung. Dachte mit Gruppe wäre schöner und sauberer. Aber scheint nicht zu klappen. Was mache ich falsch?

Ich würde es mittlerweile nicht mehr über die Gruppe machen, sondern über die zone.home.
@tarag hat hier mal eine gute Anleitung geschrieben:

2 „Gefällt mir“

Ok super, danke für die schnelle Rückantwort. Ja das macht mehr Sinn und einfacher. Das Problem an der Gruppe Alle Zuhause setzt den Status auf Abwesend sobald 1 Person nicht da ist. Ist zwar gut wenn man was automatisieren will wo alle “anwesend” sind aber ich suchte eigentlich was wo alle “abwesend” und nur alle abwesend sind. So hatte ich dann eine Bedingung hinzugefügt dass nur ausgelöst werden soll wenn “nicht” jemand Zuhause ist. Also etwas kompliziert. In dem Fall ist das mit dem tracken 0 denke ich das beste und einfachste. Hab ich mal so gemacht und mal sehen ob es so klappt.

Dafür war ja die Gruppe “somebody home” (also es ist noch jemand zu Hause).

Das wäre ja mit “erverybody home”.

Dazu habe ich ja den “everybody” genommen und wie bereits erwähnt wird bei Verwendung von everybody der Zustand auf “Abwesend” gestellt wenn NICHT ALLE Zuhause sind. Eigentlich logisch da ja nur ALLE ANWESEND sein sollen. Ich suchte aber das Gegenteil da ich eine Automation brauche in der ALLE ABWESEND sein sollen. Da aber bei everybody home auch Abwesend gesetzt wird wenn einer noch Zuhause ist war das doof.

Darum musste ich mit Zusatzbedingung auf “nicht” setzen was etwas komplizierter war. Aber so mit dem Tip und der Trackeranzahl klappt jetzt und ist viel einfacher. Also alles gut.

guten tag sry für die dume frage aber ich ahbe keine groups.yamlwie macht man sowas ?

Hey maxe,
sorry dass ich hier etwas spät referenziere. Ich habe meinen home assistant bisher nur im Heimnetz und keine Verbindung von außen.
Jetzt möchte ich (möglichst über Smartphones) irgendwie erkennen ob jemand oder niemand zuhause ist (so wie du schreibst).

Funktioniert das so einfach über die GPS Ortserkennung? Ich meine wenn unsere Smartphones nicht mehr im Heimnetz sind, können die dem Home Assistant doch gar keinen neuen Standort mitteilen und er behält den letzten Standort bei, oder?

Besten Gruß

Nutz dafür die Ping Integration. Die legt gleichzeitig auch device_tracker an, die du dann verwenden kannst. So erkennst du zumindest, wenn die Geräte nicht mehr im eigenen Netz sind.

1 „Gefällt mir“

Richtig. Für GPS brauchst Du einen Fernzugriff. Ortung via WLAN oder auch Bluetooth funktioniert dagegen ohne Fernzugriff. Dabei ist der Zustand jedoch binär. Sobald das Gerät über die gewählte Art (für X Sekunden) nicht mehr verfügbar ist, ist es away.

1 „Gefällt mir“