Sonnenaufgang / Untergang Automation

Ich hätte auch mal einen ersten Aufschlag:

description: ""
mode: single
trigger:
  - platform: sun
    event: sunset
    offset: "-00:30:00"
    id: licht-an
  - platform: time
    at: "23:00:00"
    id: 23-uhr
  - platform: numeric_state
    entity_id:
      - zone.home
    above: 2
    id: alle-zuhause
  - platform: sun
    event: sunrise
    offset: "-00:30:00"
    id: licht-aus
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - licht-an
        sequence:
          - service: light.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: light.buerolampe
      - conditions:
          - condition: trigger
            id:
              - 23-uhr
          - condition: numeric_state
            entity_id: zone.home
            above: 2
        sequence:
          - service: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.buerolampe
      - conditions:
          - condition: trigger
            id:
              - alle-zuhause
          - condition: time
            after: "23:00:00"
            before: sensor.sun_next_rising
        sequence: []
      - conditions:
          - condition: trigger
            id:
              - licht-aus
        sequence:
          - service: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.buerolampe

1 „Gefällt mir“

@bigmirror @maxe
Vielen Dank für die schnellen Ideen. Da werde ich direkt einmal etwas ausprobieren.

Fragen:
Wertet zone.home nur die Handys mit Companion App aus oder alle die als Personen definiert wurden?

Ich habe das bisher über eine group.yaml abgefragt die ich in der configuration.yaml included habe.

Der Status der Entität group.everybody_home ist dann entweder “on” oder “off”.
Alle Zuhause = on
Nicht alle Zuhause = off

Mein Problem war auch, dass ich bei der Zeitspanne after: - before: immer nur Uhrzeiten hinein bekam und nicht (sinngemäß)
after: 23:00:00
before: sunrise -00:30:00

Da helfen mir Eure Ansätze schon weiter.

Ich melde mich wieder.
Vielen Dank noch einmal.

Die Home Zone berücksichtigt alle von Dir definierten Personen. Jeder Person hast Du einen Device tracker zugeordnet, das muss nicht die der Companion App sein. Die Entität zone.home gibt als Staus einen numerischen Wert zurück, also die Anzahl der Personen, die sich in dieser Zone befinden.

  • 0 → keiner Zuhause
  • '> 0 → jemand zuhause
  • bei 4 Personen, 4 → alle zuhause.

Kannst also dirwkt den Status der Zone als Auslöser oder Bedingung verwenden, ohne zusätzlich einen Template Sensor erstellen zu müssen.

Gruß
Osorkon

1 „Gefällt mir“

@Osorkon
Danke für die Erklärung.

Das ist das Problem mit YouTube Videos. Die sind teilweise schon veraltet und zeigen dann nicht die aktuell einfachste Lösung.

@bigmirror @maxe

Mein Haustürlicht wird durch einen ZigBee Schalter mit mehreren Kanälen geschaltet.

Hier meine Einschalt Automation:

alias: Haustür Außenlicht an
description: ""
trigger:
  - platform: sun
    event: sunset
    offset: "-00:30:00"
condition: []
action:
  - type: turn_on
    device_id: 3866fa500bec895a51fcf5d721ed6c2c
    entity_id: 18cd3dc2bdb61cbf5d6eb83f17bced70
    domain: switch
mode: single

Die Einschaltautomatisierung wäre in meinem Entwurf schon drin. Quasi eine Automatisierung für alles.
Hab mit TriggerIDs gearbeitet und in den Aktionen mit zusätzlichen Bedingungen. Du kannst dir den Yaml-Code in die Automatisierung packen und danach wieder auf visuellen Editor umschalten.

Dann nimmst du bei Aktionen (wie du ja schon hast) den switch rein, statt das light.

1 „Gefällt mir“

@maxe
Du schreibst in Deinem Code: -service

z.B.:

sequence:
          - service: light.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: light.buerolampe

bei mir steht dort jedoch -type:
z.B.

          - type: turn_on
            device_id: 3866fa500bec895a51fcf5d721ed6c2c
            entity_id: 18cd3dc2bdb61cbf5d6eb83f17bced70
            domain: switch

was ist denn da der Unterschied?

Habe es nun so gemacht:

alias: Haustür Außenlicht
description: Haustür Außenlicht
trigger:
  - platform: sun
    event: sunset
    offset: "-00:30:00"
    id: licht-an
  - platform: time
    at: "23:00:00"
    id: 23-uhr
  - platform: numeric_state
    entity_id:
      - zone.home
    above: 2
    id: alle-zuhause
  - platform: sun
    event: sunrise
    offset: "-00:30:00"
    id: licht-aus
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - licht-an
        sequence:
          - type: turn_on
            device_id: 3866fa500bec895a51fcf5d721ed6c2c
            entity_id: 18cd3dc2bdb61cbf5d6eb83f17bced70
            domain: switch
      - conditions:
          - condition: trigger
            id:
              - 23-uhr
          - condition: numeric_state
            entity_id: zone.home
            above: 2
        sequence:
          - type: turn_off
            device_id: 3866fa500bec895a51fcf5d721ed6c2c
            entity_id: 18cd3dc2bdb61cbf5d6eb83f17bced70
            domain: switch
      - conditions:
          - condition: trigger
            id:
              - alle-zuhause
          - condition: time
            after: "23:00:00"
            before: sensor.sun_next_rising
        sequence: []
      - conditions:
          - condition: trigger
            id:
              - licht-aus
        sequence:
          - type: turn_off
            device_id: 3866fa500bec895a51fcf5d721ed6c2c
            entity_id: 18cd3dc2bdb61cbf5d6eb83f17bced70
            domain: switch
mode: single

Cool finde ich den sensor.sun_next_rising
Da wäre ich so nicht darauf gekommen.

Noch eine Frage:
warum steht dort eigentlich mode: single am Ende? Was bewirkt das?

Maxe verwendet den Dienst. Du müsstest entsprechend service: switch.turn_on verwenden.
Hat den Vorteil, dass eine Entität auch bei Gerätewechsel wiederverwendet werden kann. Die IDs sind einmalig und an dein aktuelles Gerät gebunden.

1 „Gefällt mir“

Das erste ist lesbar und vorzugsweise zu verwenden. Erleichtert Dir später Geräte austuschen, z.B. beim Defekt. Ohne jede einzelne Automatisierung anpassen zu müssen.

Das zweite ist kryptisch und sollte nicht verwendet werden. Zwingt dich bei Gerätetausch jede einzelne Automatisierung anzufassen.

Gruß
Osorkon

1 „Gefällt mir“

@bigmirror @Osorkon
ok. Das habe ich, so glaube ich, verstanden.

Wenn ich dann aber die entity_id angebe, binn ich doch wieder bei der kryptischen Nummer.

        sequence:
          - service: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id:  18cd3dc2bdb61cbf5d6eb83f17bced70

Oder kann ich da den “friendly name” einsetzen?

        sequence:
          - service: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id:  Haustuer_I-A Right

Wechsel auf den visuellen Editor und such da die Entität. Meine Entitäten haben (fast) alle vernünftige Bezeichnungen.

1 „Gefällt mir“

@sirector
Das mit den vernünftigen Bezeichnungen ist so eine Sache. Wenn man anfängt wurstelt man sich da so etwas zurecht. Man ist der Meinung alles ganz toll zu machen nur um dann irgendwann festzustellen, dass man es hier und da doch besser anders gemacht hätte.

Ich denke das kennt jeder in irgend einer Form.

War kein Vorwurf. Ich hatte eher gehofft, dass das bei dir ähnlich ist, ohne dass du es weißt.

1 „Gefällt mir“

Ich hatte es auch nicht als Vorwurf aufgefasst. Letztendlich sollte ich mir beim Hinzufügen neuer Geräte gleich ein paar mehr Gedanken machen. Sonst wächst das alles wie Kraut und Rüben.

Die Automatisierung läuft aber der Schalter schaltet nicht. Weder “ein” noch “aus”.
Über das Dashboard kann ich die Entität haustuer.aussenlicht schalten. Aber

      - condition: trigger
        id:
          - licht-an
    sequence:
      - service: switch.turn_on
        target:
          entity_id: haustuer.aussenlicht
        data: {}

bewirkt nichts.

In den Traces der Automation wurde die Aktion ausgeführt. Das Licht ist jedoch nicht angegangen.

Bei dem Schalter handelt es sich um einen 2 Kanal ZigBee Schalter, der über Z2M in HA eingebunden ist. Lässt sich so etwas den mit -service: switch.turn_on bedienen?

Hast du das target mal über den Visuellen Editor gesucht?

1 „Gefällt mir“

Die Entität kann mMn nicht stimmen. Sie muss ja mit switch.xxx anfangen, also eher switch.haustuer_aussenlicht

Aber warum machst du das nicht über die UI?

1 „Gefällt mir“

@maxe
Das es sich um einen Switch handelt wurde doch bei service: bereits definiert. Ich wusste nicht, dass es dann auch noch bei der Entität dazu muss.
Ich probiere dass gleich einmal aus.

UI und visueller Editor ist das selbe, oder?
UI = User Interface

ja so ist es…