Automation nochmal antriggern (Aqara FP2)

Ahoi.

Hab den Aquara FP2 im Wohnzimmer/Esszimmer in Benutzung und nutze ihn mit ein paar Automationen.

Die laufen im Grunde immer gleich ab und funktionieren auch, bis auf den Sofa Bereich.

Grob:

  • wenn FP2 Sofa von Normal zu Erkannt
  • checke ob Sonnenuntergang oder Helligkeit unter Wert x
  • dann einige Lichter an

(Irgendwo wird auch noch gecheckt, ob alles innerhalb einer bestimmten Uhrzeit passiert, damit Nachts nicht die ganze Bude hell leuchtet, wenn ich im Schlüpper was zu trinken hole)

Und in der selben Automation dann auch direkt noch das Gegenteil wenn FP2 Sofa länger als 5 Min niemanden mehr erkennt.

Das klappt bis auf den Fall, dass ich schon davor auf dem Sofa liege. Dann ist der Status ja schon auf Erkannt und wechselt nicht von Normal auf Erkannt und die Automation wird nicht mehr ausgeführt.

Was tun?

Mobil kann ich den Code wohl nur als Text einfügen:

alias: FP2Sofa
description: FP2Sofa
trigger:
  - platform: state
    entity_id:
      - binary_sensor.aqara_fp2_presence_sensor_2
    from: "off"
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: FP2SofaErkannt
  - platform: state
    entity_id:
      - binary_sensor.aqara_fp2_presence_sensor_2
    from: "on"
    to: "off"
    id: FP2SofaNormal
    for:
      hours: 0
      minutes: 5
      seconds: 0
condition:
  - condition: or
    conditions:
      - condition: sun
        after: sunset
      - type: is_illuminance
        condition: device
        device_id: 0e12731ad7d6a4004d8d806d3e3e2090
        entity_id: 5e86da72791c576d4ea8a79a8af6e09e
        domain: sensor
        below: 20
action:
  - if:
      - condition: trigger
        id:
          - FP2SofaErkannt
      - condition: time
        before: "01:00:00"
        after: "15:00:00"
      - condition: state
        entity_id: input_boolean.fp2_temp_off
        state: "off"
    then:
      - service: light.turn_on
        metadata: {}
        data: {}
        target:
          device_id:
            - fd392ad98328bd5de02edf2f4cdca5c6
            - 5a3cc64567fee2ec00780a6a441ab05b
            - fbf81a509004fa8dfd0744ed809ad93d
  - if:
      - condition: trigger
        id:
          - FP2SofaNormal
    then:
      - service: light.turn_off
        data: {}
        target:
          device_id:
            - fbf81a509004fa8dfd0744ed809ad93d
            - fd392ad98328bd5de02edf2f4cdca5c6
            - 5a3cc64567fee2ec00780a6a441ab05b
mode: restart

:pencil2: by tarag: Code in vorformatierten Text formatiert

In den Trigger packst du noch after sunset und illuminance below 20. Beide mit Trigger Id FP2SofaErkannt.

Und in die if (action) von FP2SofaErkannt müsste noch die Bedingung FP2 erkannt.

Ich hoffe dann passt es.

Das steht doch beides schon in der Automation drin?

Lies mal genau. Im Trigger ist after sunset nicht, nur in den Condition. Du brauchst die Bedingungen zusätzlich auch als Auslöser und umgekehrt.

Tatsächlich? Das war mir nicht klar. Probiere ich aus! Danke dir.

Hatte gerade etwas Zeit. Teste es mal so

alias: FP2Sofa
description: FP2Sofa
trigger:
  - platform: state
    entity_id:
      - binary_sensor.aqara_fp2_presence_sensor_2
    from: "off"
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: FP2SofaErkannt
  - platform: sun
    event: sunset
    offset: 0
    id: FP2SofaErkannt
  - type: illuminance
    platform: device
    device_id: 0e12731ad7d6a4004d8d806d3e3e2090
    entity_id: 5e86da72791c576d4ea8a79a8af6e09e
    domain: sensor
    below: 20
    id: FP2SofaErkannt
  - platform: state
    entity_id:
      - binary_sensor.aqara_fp2_presence_sensor_2
    from: "on"
    to: "off"
    id: FP2SofaNormal
    for:
      hours: 0
      minutes: 5
      seconds: 0
condition:
  - condition: or
    conditions:
      - condition: sun
        after: sunset
      - type: is_illuminance
        condition: device
        device_id: 0e12731ad7d6a4004d8d806d3e3e2090
        entity_id: 5e86da72791c576d4ea8a79a8af6e09e
        domain: sensor
        below: 20
action:
  - if:
      - condition: trigger
        id:
          - FP2SofaErkannt
      - condition: time
        before: "01:00:00"
        after: "15:00:00"
      - condition: state
        entity_id: input_boolean.fp2_temp_off
        state: "off"
      - condition: state
        entity_id: binary_sensor.aqara_fp2_presence_sensor_2
        state: "on"
    then:
      - service: light.turn_on
        metadata: {}
        data: {}
        target:
          device_id:
            - fd392ad98328bd5de02edf2f4cdca5c6
            - 5a3cc64567fee2ec00780a6a441ab05b
            - fbf81a509004fa8dfd0744ed809ad93d
  - if:
      - condition: trigger
        id:
          - FP2SofaNormal
    then:
      - service: light.turn_off
        data: {}
        target:
          device_id:
            - fbf81a509004fa8dfd0744ed809ad93d
            - fd392ad98328bd5de02edf2f4cdca5c6
            - 5a3cc64567fee2ec00780a6a441ab05b
mode: restart

Wenn du den Code eingefügt hast und zurück in den visuellen Editor wechselst, siehst du was ich gemacht habe.