Automation nach dem Aufstehen

Hallo Ihr Lieben,

ich möchte Werktags immer um eine bestimmte Zeit aufstehen, zwei Lampen einschalten, die für 2:30h leuchten. Es sei denn das in dieser Zeit (2:39) die Sonne aufgeht. Dann sollen die zwei Lampen ausgehen.

Genau diese Bedingung nach Sonnenaufgang das Licht ausschalten. Das weiß ich nicht wie ich das hinbekomme.

Hier mein Anstaz. Weiter komme ich nicht,

alias: LichtAufstehen
description: Nach dem Aufstehen geht das Licht im Wohnzimmer an.
trigger:
  - platform: time
    at: input_datetime.aufstehen_wochentags
condition: []
action:
  - if:
      - condition: state
        entity_id: binary_sensor.workday_sensor
        state: "on"
    then:
      - action: light.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: light.lichtwohnzimmer
      - if:
          - condition: sun
            after: sunrise
        then:
          - action: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.lichtwohnzimmer
      - delay:
          hours: 1
          minutes: 30
          seconds: 0
          milliseconds: 0
      - action: light.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: light.lichtwohnzimmer
mode: single

input_datetime.aufstehen_wochentags = 6:20

Habt Ihr eine Idee wie ich das implementiere?

Gruß von Stefan

Hi,
versuch es mal mit einer Sequenz als Aktion:

action:
  - sequence:
      - action: light.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: light.xyz
      - if:
          - condition: sun
            after: sunrise
        then:
          - action: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.xyz
      - delay:
          hours: 1
          minutes: 30
          seconds: 0
          milliseconds: 0
      - action: light.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: light.xyz

und verschiebe den binary_sensor.workday_sensor Status rauf zur condition

Verstehe ich die Anforderung richtig.

Das Licht wird eingeschaltet zur Uhrzeit definiert durch einen Datum & Uhrzeit Helfer.
Das Licht soll nach 2h und 30 min spätestens ausgeschaltet werden. Oder bei Sonnenaufgang. Das ganze nur an Arbeitstagen.

Mit Verzögerungen, vor allem solche lange, würde ich nicht arbeiten. Sondern mit einmaligen Auslösern.
Bsp.:

alias: LichtAufstehen
description: ""
trigger:
  - platform: time
    at: input_datetime.aufstehen_wochentags
    id: einschalten
  - platform: sun
    event: sunrise
    offset: 0
    id: ausschalten
  - platform: template
    value_template: >-
      {{ now() > today_at(states('input_datetime.aufstehen_wochentags')) +
      timedelta(hours=2, minutes=30) }}
    id: ausschalten
condition:
  - condition: state
     entity_id: binary_sensor.workday_sensor
     state: "on"
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
        sequence:
          - action: light.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: light.lichtwohnzimmer
      - conditions:
          - condition: trigger
            id:
              - ausschalten
        sequence:
          - action: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.lichtwohnzimmer
mode: single

Gruß
Osorkon

Ja

Allerdings wenn ich Deinen Code bei mir einfüge dann bekomme ich folgende Fehlermeldung:

Message malformed: required key not provided @ data[‘actions’]

Gruß von Stefan

Hallo, lieben Dank für Deine Unterstützung. Hierzu habe ich zwei Fragen:

  1. Wenn ich den YAML Code bei mir übernehme dann sehe ich in der GUI nicht mehr die zusammengestellte Automatisierung. Warum?
  2. Leider weiß ich nicht wie ich den binary_sensor… zur condition eintrage.

Ein Neuling eben.

Gruß von Stefan

Welche HA Version hast du? Nutze die neueste.

  • Core2024.10.0
  • Supervisor2024.09.1
  • Operating System13.1
  • Frontend20241002.2

Da hast irgendein Fehlerteufel eingeschlichen.

Diese Version wäre richtig:

alias: LichtAufstehen
description: ""
mode: single
triggers:
  - at: input_datetime.aufstehen_wochentags
    id: einschalten
    trigger: time
  - event: sunrise
    offset: 0
    id: ausschalten
    trigger: sun
  - value_template: >-
      {{ now() > today_at(states('input_datetime.aufstehen_wochentags')) +
      timedelta(hours=2, minutes=30) }}
    id: ausschalten
    trigger: template
conditions:
  - condition: state
    entity_id: binary_sensor.workday_sensor
    state: "on"
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
        sequence:
          - action: light.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: light.lichtwohnzimmer
      - conditions:
          - condition: trigger
            id:
              - ausschalten
        sequence:
          - action: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.lichtwohnzimmer

Gruß
Osorkon

zu eins: Ein F5 im Browser hat geholfen. Funktioniert nun.
zu zwei: Habe ich unter “Aber nur wenn” verschoben

So langsam verstehe ich es.