Aqara FP300 erkennt Anwesenheit, aber Licht geht trotzdem aus – Fehler in Automation?

Guten Tag zusammen,

ich habe aktuell ein Problem mit einer Licht-Automation in meinem Wohnzimmer und komme leider nicht weiter. Vielleicht hat jemand von euch eine Idee.

Folgende Geräte sind beteiligt:

  • Philips Hue Wandsensor

  • Philips Hue Bewegungssensor

  • Aqara FP300 Präsenzsensor

Meine gewünschte Logik sieht so aus:

Das Licht soll eingeschaltet werden, wenn entweder:

  • der Wandsensor ausgelöst wird

  • oder der Hue Bewegungssensor Bewegung erkennt

  • oder der Aqara FP300 Anwesenheit erkennt

Zusätzlich soll das Ganze nur bei einer Helligkeit von unter 30 Lux passieren.

Das Licht soll anschließend erst wieder ausgeschaltet werden, wenn der Aqara FP300 in den letzten fünf Minuten keine Anwesenheit mehr erkannt hat.

Das Problem:
Nach ungefähr zehn Minuten geht das Licht trotzdem aus, obwohl der FP300 weiterhin auf „Anwesenheit erkannt“ steht. Ich muss mich dann wieder bewegen, damit das Licht erneut angeht.

Irgendwo scheint also entweder ein Timeout oder eine andere Automation dazwischenzufunken. Ich finde den Fehler allerdings nicht.

Hier ist mein aktueller Code:

alias: Test WZ
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.bewegungsmelder_esszimmer
      - binary_sensor.0x54ef4410016942c9_presence
      - binary_sensor.wohnzimmer_bewegung
    from:
      - "off"
    to:
      - "on"
    id: Bewegung ausgelöst
  - trigger: state
    entity_id:
      - binary_sensor.0x54ef4410016942c9_presence
      - binary_sensor.hue_motion_sensor_2_bewegung
      - binary_sensor.bewegungsmelder_esszimmer
    from:
      - "on"
    to:
      - "off"
    id: Bewegungsmelder zurückgesetzt
    for:
      hours: 0
      minutes: 5
      seconds: 0
conditions:
  - type: is_occupied
    condition: device
    device_id: 644831b97124006e3b9976fcf068e1fd
    entity_id: 4691d702b0e877b763ba1cae376975e8
    domain: binary_sensor
actions:
  - if:
      - condition: trigger
        id:
          - Bewegung ausgelöst
      - condition: and
        conditions:
          - type: is_illuminance
            condition: device
            device_id: 644831b97124006e3b9976fcf068e1fd
            entity_id: ca472b9a3565b7d0b9c92133ce10d36d
            domain: sensor
            below: 50
      - condition: state
        entity_id: binary_sensor.0x54ef4410016942c9_presence
        state:
          - "on"
    then:
      - action: light.turn_on
        metadata: {}
        target:
          device_id: d1ea8582650129914577f7f3035941ce
        data: {}
  - if:
      - condition: state
        entity_id: binary_sensor.0x54ef4410016942c9_presence
        state:
          - "off"
        for:
          hours: 0
          minutes: 5
          seconds: 0
    then:
      - action: light.turn_off
        metadata: {}
        target:
          device_id: d1ea8582650129914577f7f3035941ce
        data: {}
mode: single


Vielleicht hat jemand einen Tipp, woran das liegen könnte oder wie man die Automation sauber lösen würde. Vielen Dank vorab!

Und genau deshalb kann es zu 99 % gar nicht die Automatisation sein.
Dennoch würde ich aus der Automatisation alle DeviceIDs ändern und mit nur EntityIDs arbeiten. Ggf. ist es das eine 1 %.

Was sagt das Trace der Automatisation nachdem das Licht dort ausging? Gibt es eine Aktion?

Die Ursache wird außerhalb liegen.

Schau im Aktivitätenprotokoll nach, ob und was dort steht nachdem das Licht trotz Anwesenheit ausging. Mit Glück findest Du dort den Hinweis.

Ich verstehe yaml nicht wirklich. Aber ich vermute du triggerst auf den Wechsel von dem Status des Anwesenheitsmelders. Nur ändert sich das nicht solange Anwesenheit erkannt wird.

Schau mal ob es so funktioniert.

alias: Test WZ
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.bewegungsmelder_esszimmer
      - binary_sensor.0x54ef4410016942c9_presence
      - binary_sensor.wohnzimmer_bewegung
    from:
      - "off"
    to:
      - "on"
    id: Bewegung ausgelöst
  - trigger: state
    entity_id:
      - binary_sensor.0x54ef4410016942c9_presence
    from:
      - "on"
    to:
      - "off"
    id: Bewegungsmelder zurückgesetzt
    for:
      hours: 0
      minutes: 5
      seconds: 0
conditions: []
actions:
  - if:
      - condition: trigger
        id:
          - Bewegung ausgelöst
      - type: is_illuminance
        condition: device
        device_id: 644831b97124006e3b9976fcf068e1fd
        entity_id: ca472b9a3565b7d0b9c92133ce10d36d
        domain: sensor
        below: 50
    then:
      - action: light.turn_on
        metadata: {}
        target:
          device_id: d1ea8582650129914577f7f3035941ce
        data: {}
  - if:
      - condition: state
        entity_id: binary_sensor.0x54ef4410016942c9_presence
        state:
          - "off"
        for:
          hours: 0
          minutes: 5
          seconds: 0
    then:
      - action: light.turn_off
        metadata: {}
        target:
          device_id: d1ea8582650129914577f7f3035941ce
        data: {}
mode: single

Ich verstehe gerade nicht, warum du bei der automation auf verschiedene Entitäten triggerst… einmal zum einschalten:
- binary_sensor.bewegungsmelder_esszimmer
- binary_sensor.0x54ef4410016942c9_presence
- binary_sensor.wohnzimmer_bewegung

und zum Ausschalten sind die gleich:
- binary_sensor.bewegungsmelder_esszimmer
- binary_sensor.0x54ef4410016942c9_presence

aber der fehlt:

- binary_sensor.wohnzimmer_bewegung

und stattdessen ist der dabei:
- binary_sensor.hue_motion_sensor_2_bewegung

Hatte ich auch schon überlegt und denke, es könnte sein, daß der Raum so geschnitten bzw. an jedem möglichem Eintritt ein Sensor.

Ich würde das ganz ehrlicherweise deutlich einfacher angehen. So mache ich das zumindest bei mir, wenn ich mehrere Bewegungsmelder und Präsenzsensoren in einem Raum habe.

  • Alle Sensoren pro Raum zu einer Sensor-Gruppe (Helfer) zusammenfassen. Diese so einstellen, dass sie immer dann “an” ist, sobald und solange mindestens einer der Sensoren “an” ist. Dann hast du nur noch einen Sensor auf den du triggern musst. Und dieser geht an, sobald einer der Sensoren Bewegung/Anwesenheit erkennt und erst dann wieder aus, sobald keiner der Sensoren mehr etwas erkennt
  • Das Licht wird dann nur noch basierend auf dem Zustand der Gruppe geschaltet. Also beispielsweise an, sobald der Gruppensensor auf “an” umschaltet. Und das Licht wieder ausschalten, sobald der Gruppensensor für 5 Minuten (in deinem Fall) auf “aus” steht

Ich habe das bei mir in allen Räumen so umgesetzt (verwende überall mehrere Sensoren) und finde das die sauberste und auch robusteste Herangehensweise. Du hast nur einen Sensor als Trigger und muss nicht so verschiedene/verschachelte Abhängigkeiten basteln, um das von den meisten gewünschte Verhalten einer solchen Automation zu erhalten.

okay… aber dann passt doch trotzdem nicht zusammen… Oder ich habe gerade nen Knoten…

So richtig kompliziert finde ich das nicht… ich meine der Vorschlag von @rstuck ist schon gut, ich würde da wahrscheinlich nur eher nen choose statt dem if-then nehmen… entweder oder… an oder aus eben.

Aber es gibt ja bekanntlich immer reichlich Möglichkeiten.

Richtig kompliziert vielleicht noch nicht, aber nach meiner Ansicht komplizierter als notwendig. Ich selbst bin ein großer Verfechter von KISS (keep it simple and stupid), ist aber auch Geschmackssache.

Wir sollten ihn erstmal wieder etwas sagen lassen :innocent: :grinning_face:

1 „Gefällt mir“

Habe die Automation getestet. Bisher scheint diese zu funktionieren. Der Aqara Sensor löst aber nie aus, das übernimmt der Bewegungsmelder. Habe den Aqara Sensor nun einmal mit in die Dann-Bedingung gepackt zum testen.

Da ich noch recht neu bin in der Materie, kannte ich den Trace noch nicht. Ich schaue und beobachte den Trace nun mal.

ja, der Raum ist recht groß und L-förmig. Am Eingang vom Raum steht meine Kaffeestation, wo ich mir morgens den Kaffee mache. Möchte halt, dass dann das Licht im Wohnzimmer schon angeht, die anderen beiden Sensoren aber außer Reichweite sind.