Heizungssteuerung bei Abwesenheit

Liebes Forum, könntet ihr euch vielleicht mal folgenden Code anschauen? Ich habe zwei iPhones im Haushalt und würde die Automation gerne so steuern, dass die Heizung nur dann ausschaltet, wenn wirklich beide Smartphones die Zone Home verlassen. Aktuell ist es so, dass die Automation auch dann ausgelöst wird, wenn nur ein iPhone die Zone verlässt.

Dankeschön.

alias: Heizung auf Abwesend bei Verlassen
description: >-
  Schaltet die Heizung auf Abwesenheitsmodus, wenn eines der iPhones die Zone
  'Home' verlässt
trigger:
  - platform: state
    entity_id:
      - device_tracker.2
      - device_tracker.1
    from: home
    to: not_home
action:
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc 
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: abc
    domain: climate
    entity_id: abc
    type: set_preset_mode
    preset_mode: away
  - device_id: abc
    domain: climate
    entity_id: abc
    type: set_preset_mode
    preset_mode: away
  - action: notify.mobile_app_iphone
    metadata: {}
    data:
      message: Heizung wird heruntergefahren
      title: 🥶
mode: single

Verwende als Trigger den state von zone.home. Wenn der auf 0 fällt, ist keiner mehr in der Zone Home

2 „Gefällt mir“

Du könntest folgende Bedingung hinzufügen:

condition: and
conditions:
  - condition: not
    conditions:
      - condition: state
        entity_id: person.a
        state: home
  - condition: not
    conditions:
      - condition: state
        entity_id: person.b
        state: home

Alles klar, ich verstehe den Ansatz. Leider weiß ich nicht genau, wo die Condition in die Automation rein muss. Bin leider kein Programmierprofi.

Im Bearbeitungsmodus der Automation oben rechts auf die drei Punkte. Dann auf Als YAML bearbeiten. Dort steht dann im Text condition: []. Dieses mit dem obigen code ersetzen. In der GUI kannst du dir das natürlich auch nachbauen. Die beiden Tracker natürlich durch deine ersetzen.

1 „Gefällt mir“

Lieber Günther,
vorkam Dank für deine Antwort.
Ich meinte, an welcher Stelle im Code es rein muss und was ggf. raus fliegen sollte.

Liebe Grüße

Sorry, habe mich da wohl etwas falsch ausgedrückt. Habe deinen Code mal entsprechend ergänzt:

alias: Heizung auf Abwesend bei Verlassen
description: >-
  Schaltet die Heizung auf Abwesenheitsmodus, wenn eines der iPhones die Zone
  'Home' verlässt
trigger:
  - platform: state
    entity_id:
      - device_tracker.2
      - device_tracker.1
    from: home
    to: not_home
condition: and
conditions:
  - condition: not
    conditions:
      - condition: state
        entity_id: person.a
        state: home
  - condition: not
    conditions:
      - condition: state
        entity_id: person.b
        state: home
action:
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc 
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: abc
    domain: climate
    entity_id: abc
    type: set_preset_mode
    preset_mode: away
  - device_id: abc
    domain: climate
    entity_id: abc
    type: set_preset_mode
    preset_mode: away
  - action: notify.mobile_app_iphone
    metadata: {}
    data:
      message: Heizung wird heruntergefahren
      title: 🥶
mode: single

Dieser Trigger sollte auslösen, wenn keine Person mehr in der Home-Zone ist

alias: Test
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - zone.home
    attribute: persons
    below: 1
condition: []
action: []
mode: single

1 „Gefällt mir“

Lieber Günter,
vielen Dank für deine schnelle Antwort.
Ich habe auch mal Chat gpt gefragt, wo der Schnipsel rein muss, der fügte ihn auch dort ein. Da HA mir beim Speichern der Animation einen Fehler melden, hab ich die Möglichkeit verworfen.

Weißt du, was das bedeutet?

Liebe Grüße

Da hat sich wohl ein Fehler in meiner Version eingeschlichen. Habe dies nun korrigiert:

condition:
  - condition: and
    conditions:
      - condition: not
        conditions:
          - condition: state
            entity_id: person.a
            state: home
      - condition: not
        conditions:
          - condition: state
            entity_id: person.b
            state: home

Komplett dann so:

alias: Heizung auf Abwesend bei Verlassen
description: >-
  Schaltet die Heizung auf Abwesenheitsmodus, wenn eines der iPhones die Zone
  'Home' verlässt
trigger:
  - platform: state
    entity_id:
      - device_tracker.2
      - device_tracker.1
    from: home
    to: not_home
condition:
  - condition: and
    conditions:
      - condition: not
        conditions:
          - condition: state
            entity_id: person.a
            state: home
      - condition: not
        conditions:
          - condition: state
            entity_id: person.b
            state: home
action:
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc 
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: Abc
    domain: climate
    entity_id: Abc
    type: set_preset_mode
    preset_mode: away
  - device_id: abc
    domain: climate
    entity_id: abc
    type: set_preset_mode
    preset_mode: away
  - device_id: abc
    domain: climate
    entity_id: abc
    type: set_preset_mode
    preset_mode: away
  - action: notify.mobile_app_iphone
    metadata: {}
    data:
      message: Heizung wird heruntergefahren
      title: 🥶
mode: single

Getestet und geht durch. Die Geräte in den Aktionen und die beiden Tracker müssen natürlich auf dich angepasst werden.

Alternativ kannst du folgenden Weg in der bestehenden Automation durchführen:

ha

und dann diesen Code eingeben:

condition: and
conditions:
  - condition: not
    conditions:
      - condition: state
        entity_id: person.a
        state: home
  - condition: not
    conditions:
      - condition: state
        entity_id: person.b
        state: home

Hey,
vielen Dank, jetzt funktioniert es.
Lieb, dass du dir so viel Mühe gegeben hast!
Schönen Abend noch.

Liebe Grüße

René

Hallo
Hänge mich mal hier ran.
Wie bekomme ich das hin das die Heizung zwischen, sagen wir, 20.00Uhr und Morgens 6.00 Uhr auch zurückgedreht wird?

In dem du den Trigger auf 20 Uhr setzt und dann die gewünschte Aktion ausführen lässt.
Das selbe dann mit einem Trigger 6 Uhr.

Geht aber auch z.B. mit einem Zeitplan-Helfer. Trigger wäre dann scheduler from off to on und umgekehrt.

Wie würde das in dem Beispiel oben aussehen?
Habe noch nicht soviel damit gemacht.

könnte z.B. erst mal ganz einfach so aussehen

description: ""
mode: single
triggers:
  - trigger: time
    at: "20:00:00"
    id: abends
  - trigger: time
    at: "06:00:00"
conditions: []
actions:
  - if:
      - condition: trigger
        id:
          - abends
    then:
      - action: climate.set_temperature
        metadata: {}
        data:
          temperature: 16
        target:
          entity_id: climate.heizung_buero
    else:
      - action: climate.set_temperature
        metadata: {}
        data:
          temperature: 22
        target:
          entity_id: climate.heizung_buero

Warum Löst die nicht aus?
alias: Heizung auf Abwesend bei Verlassen
description: >-
Schaltet die Heizung auf Abwesenheitsmodus, wenn eines der iPhones die Zone

  'Home' verlässt
triggers:
  - entity_id:
      - device_tracker.iphone
      - device_tracker.s24_thomas
    from: home
    to: not_home
    trigger: state
conditions:
  - condition: not
    conditions:
      - condition: state
        entity_id: person.kerstin
        state: home
  - condition: not
    conditions:
      - condition: state
        entity_id: person.thomas_winkler
        state: home
  - condition: time
actions:
  - action: climate.set_temperature
    metadata: {}
    data:
      temperature: 15
    target:
      device_id: 1f3b4d63e98d2a83a8a7abebb012f7a8
  - action: notify.pushover
    data:
      target: galaxys24
      message: Heizung wird heruntergefahren
mode: single

Die Bedingungen sind immer UND! Also es müssen beide Nicht zu Hause sein.
Und die 3. Bedingung macht ohne weitere Angaben eh keinen Sinn.

Habe das jetzt so gemacht

description: >-
  Schaltet die Heizung auf Abwesenheitsmodus, wenn eines der iPhones die Zone
  'Home' verlässt
triggers:
  - entity_id:
      - device_tracker.iphone
      - device_tracker.s24_thomas
    from: home
    to: not_home
    trigger: state
conditions:
  - condition: and
    conditions:
      - condition: not
        conditions:
          - condition: state
            entity_id: person.a
            state: home
      - condition: not
        conditions:
          - condition: state
            entity_id: person.b
            state: home
actions:
  - action: climate.set_temperature
    metadata: {}
    data:
      temperature: 15
    target:
      device_id: 1f3b4d63e98d2a83a8a7abebb012f7a8
  - action: notify.pushover
    data:
      target: galaxys24
      message: Heizung wird heruntergefahren
mode: single

Bekommt man das jetzt noch so hin das wenn eine Person
wieder eintritt die Heizung wieder hochgefahren wird oder
mache ich das mit einer Zweiten Automation.

Am besten über eine 2. Automatisierung, sonst müsstest du in der ersten zuviel ändern.

Leider Funktioniert der Auslöser immer noch nicht.
Beide Handys sind aus der Homezon raus, bekomme jeweils
eine Benachrichtigung, und trotzdem wird die Automatisierung
nicht ausgelöst.