Bewegungsmelder löst nicht aus

Hi zusammen,

ich habe ein Problem mit meiner Automatisierung eines Bewegungsmelders. Evtl mache ich auch einen Denkfehler. Vielleicht könnt ihr mir helfen.

In dieser Automation möchte ich jeweils das Licht zu zwei Tageszeiten steuern.
Auslöser ist eine erkannte Bewegung.

Bedingungen für tagsüber

  • Nach Sonnenaufgang
  • Vor 21:00 Uhr
  • Beleuchtungsstärke kleiner 3

Bedingungen für nachts

  • Vor Sonnenaufgang
  • Nach 21:00 Uhr
  • Beleuchtungsstärke kleiner 3

Ich weiß nicht so recht, warum das nicht so auslöst, wie ich es gerne hätte. Vermutung ist die Bedingung mit der Sonne.

Gibt es hier Einschränkungen bzw. ab wann gilt denn die Zeit vor Sonnenaufgang? Gilt dies bspw. erst ab 00:00 Uhr und vorher ist nach Sonnenuntergang?

Vielleicht hat jemand dort einen Tipp für mich. Vielleicht auch allgemein zum Aufbau, ob das so sinnig ist oder besser gelöst werden könnte.

alias: "Licht - Treppenhaus - Bewegung "
description: ""
trigger:
  - platform: state
    entity_id: binary_sensor.bewegungssensor_treppenhaus_bewegung
    to: "on"
condition: []
action:
  - choose:
      - conditions:
          - condition: time
            before: "21:00:00"
          - condition: sun
            after: sunrise
          - condition: numeric_state
            entity_id: sensor.bewegungssensor_treppenhaus_beleuchtungsstarke
            below: 3
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 0
              brightness_pct: 80
            target:
              entity_id:
                - light.treppenhaus_1
                - light.treppenhaus_2
                - light.treppenhaus_3
          - wait_for_trigger:
              - platform: state
                entity_id:
                  - binary_sensor.bewegungssensor_treppenhaus_bewegung
                to: "off"
                for:
                  hours: 0
                  minutes: 0
                  seconds: 10
          - service: light.turn_off
            metadata: {}
            data:
              transition: 0
            target:
              entity_id: light.treppenhaus_2
      - conditions:
          - condition: time
            after: "21:00:00"
          - condition: sun
            before: sunrise
          - condition: numeric_state
            entity_id: sensor.bewegungssensor_treppenhaus_beleuchtungsstarke
            below: 3
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 0
              brightness_pct: 30
            target:
              entity_id:
                - light.treppenhaus_2
          - wait_for_trigger:
              - platform: state
                entity_id:
                  - binary_sensor.bewegungssensor_treppenhaus_bewegung
                to: "off"
                for:
                  hours: 0
                  minutes: 0
                  seconds: 10
          - service: light.turn_off
            metadata: {}
            data:
              transition: 0
            target:
              entity_id: light.treppenhaus_2
mode: restart

Danke euch :metal:t2:

Vorschlag: Lasse die Bedingung mit sun erst einmal weg und prüfe ob die anderen Bedingungen wir erwartet funktionieren.

Ich mache meine Bewegungsmelder ohne den trigger zu off. Das Ausschalten realisiere ich über den Timer. Damit kann ich ganz sauber definieren, wie lange nach einer erkannten Bewegung lichter noch an sein sollen.

1 „Gefällt mir“

Du kannst in der Automation testen ob gewissen Bedingungen erfüllt sind oder nicht. Dazu einfach auf die 3 Punkte hinter der Bedingung klicken und dann auf Testen.
grafik
Vielleicht hilft dir das weiter.

1 „Gefällt mir“

@Jo7:
Den Trigger zu off habe ich drin, damit die Lampe nicht immer an/aus geht, wenn noch Bewegung da ist. Das hatte ich vorher drin. Ob das so am elegantesten gelöst ist, weiß ich aber nicht. Bin ja noch Anfänger :slight_smile:

Habe die Bedingungen einmal wie von @sirector vorgeschlagen getestet. Aktuell werden die als erfüllt angesehen (Option 1) und bei Option 2 nicht. Das passt auch.

Ich habe die Beleuchtungsstärke über die Entwicklungswerkzeuge ein mal auf unter 3 gesetzt. Tagsüber löst er jetzt aus. Aber Abends ging es irgendwie nie.

Muss ich dann heute Abend noch einmal die Bedingungen testen. :thinking:

Ich hatte bei einem BWM im Treppenhaus das Problem, dass HA “zu schnell” war.
Will heißen, die Automation ist so schnell durchgelaufen, dass der BWM den aktuellen Helligkeitswert noch nicht übermittelt hatte. Der Helligkeitswert wird ja erst bei Aktivierung/Bewegung oder alle paar Minuten (manchmal einstellbar) aktualisiert um Batterie zu sparen.
Allerdings war das dann das umgekehrte Problem, dass er das Licht angeschaltet hat, obwohl es schon hell genug war.
Ich habe dann einfach ein Delay von 0,5 s zwischen Auslöser und Aktion eingebaut.
Vielleicht kannst du das ja über die “Traces” gegenprüfen?

Ich bin nicht sicher ob sich das beißt

          - condition: time
            after: "21:00:00"
          - condition: sun
            before: sunrise

Die Sonne ist ja bereits aufgegangen. Ich vermute fast, dass das pro Tag gilt. Aber teste das heute Abend mal.

Edit:
Du könntest es über eine Template Condition testen anstatt über sun sunrise

condition: template
value_template: "{{ as_timestamp(state_attr('sun.sun', 'next_rising')) > as_timestamp(now()) }}"
1 „Gefällt mir“

Nach 21 Uhr ist die Zeit zwischen 21 und 00 Uhr

Vor Sonnenaufgang ist die Zeitspanne von 00 Uhr bis Sonnenaufgang.

Somit können diese 2 Bedingungen niemals gleichzeitig zutreffen.

Richtig wäre nach 21 Uhr ODER vor Sonnenaufgang.

Gruß
Osorkon

2 „Gefällt mir“

Ah, dann lag ich ja zumindest in der groben Richtung nicht falsch. Danke schön (mal wieder) @Osorkon :grinning: :pray:t2:

Das müsste dann so richtig sein, oder?

alias: "Licht - Treppenhaus - Bewegungsmelder "
description: ""
trigger:
  - platform: state
    entity_id: binary_sensor.bewegungssensor_treppenhaus_bewegung
    to: "on"
condition: []
action:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.bewegungssensor_treppenhaus_beleuchtungsstarke
            below: 3
          - condition: or
            conditions:
              - condition: time
                before: "21:00:00"
              - condition: sun
                after: sunrise
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 0
              brightness_pct: 80
            target:
              entity_id:
                - light.treppenhaus_1
                - light.treppenhaus_2
                - light.treppenhaus_3
          - wait_for_trigger:
              - platform: state
                entity_id:
                  - binary_sensor.bewegungssensor_treppenhaus_bewegung
                to: "off"
                for:
                  hours: 0
                  minutes: 0
                  seconds: 10
          - service: light.turn_off
            metadata: {}
            data:
              transition: 0
            target:
              entity_id:
                - light.treppenhaus_2
                - light.treppenhaus_1
                - light.treppenhaus_3
      - conditions:
          - condition: numeric_state
            entity_id: sensor.bewegungssensor_treppenhaus_beleuchtungsstarke
            below: 3
          - condition: or
            conditions:
              - condition: sun
                before: sunrise
              - condition: time
                after: "21:00:00"
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 0
              brightness_pct: 30
            target:
              entity_id:
                - light.treppenhaus_2
          - wait_for_trigger:
              - platform: state
                entity_id:
                  - binary_sensor.bewegungssensor_treppenhaus_bewegung
                to: "off"
                for:
                  hours: 0
                  minutes: 0
                  seconds: 10
          - service: light.turn_off
            metadata: {}
            data:
              transition: 0
            target:
              entity_id: light.treppenhaus_2
mode: restart

Passt. Ich würde das ausschalten nicht mit wait for trigger lösen, sondern über den Auslöser Bewegung aus, oder Bewegung aus für x Minuten.

Die 3 Lichter würde ich auch zur einer Lichtgruppe zusammen fassen und dann nur noch die Gruppe ein bzw. Ausschalten.

Gruß
Osorkon

1 „Gefällt mir“

@Osorkon
Du meinst so?

alias: "Licht - Treppenhaus - Bewegungsmelder "
description: ""
trigger:
  - platform: state
    entity_id: binary_sensor.bewegungssensor_treppenhaus_bewegung
    to: "on"
condition: []
action:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.bewegungssensor_treppenhaus_beleuchtungsstarke
            below: 3
          - condition: or
            conditions:
              - condition: time
                before: "21:00:00"
              - condition: sun
                after: sunrise
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 0
              brightness_pct: 80
            target:
              entity_id:
                - light.treppenhaus
          - condition: state
            entity_id: binary_sensor.bewegungssensor_treppenhaus_bewegung
            state: "off"
            for:
              hours: 0
              minutes: 0
              seconds: 10
          - service: light.turn_off
            metadata: {}
            data:
              transition: 0
            target:
              entity_id:
                - light.treppenhaus
      - conditions:
          - condition: numeric_state
            entity_id: sensor.bewegungssensor_treppenhaus_beleuchtungsstarke
            below: 3
          - condition: or
            conditions:
              - condition: sun
                before: sunrise
              - condition: time
                after: "21:00:00"
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 0
              brightness_pct: 30
            target:
              entity_id:
                - light.treppenhaus_2
          - condition: state
            entity_id: binary_sensor.bewegungssensor_treppenhaus_bewegung
            state: "off"
            for:
              hours: 0
              minutes: 0
              seconds: 10
          - service: light.turn_off
            metadata: {}
            data:
              transition: 0
            target:
              entity_id: light.treppenhaus_2
mode: restart

Nein, die Bewegung Aus für x Minuten als Trigger verwenden.

alias: "Licht - Treppenhaus - Bewegungsmelder "
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bewegungssensor_treppenhaus_bewegung
    to: "on"
    id: einschalten
    from: "off"
  - platform: state
    entity_id:
      - binary_sensor.bewegungssensor_treppenhaus_bewegung
    to: "off"
    id: ausschalten
    from: "on"
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
          - condition: numeric_state
            entity_id: sensor.bewegungssensor_treppenhaus_beleuchtungsstarke
            below: 3
          - condition: or
            conditions:
              - condition: time
                before: "21:00:00"
              - condition: sun
                after: sunrise
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 0
              brightness_pct: 80
            target:
              entity_id:
                - light.treppenhaus
      - conditions:
          - condition: trigger
            id:
              - einschalten
          - condition: numeric_state
            entity_id: sensor.bewegungssensor_treppenhaus_beleuchtungsstarke
            below: 3
          - condition: or
            conditions:
              - condition: sun
                before: sunrise
              - condition: time
                after: "21:00:00"
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 0
              brightness_pct: 30
            target:
              entity_id:
                - light.treppenhaus_2
      - conditions:
          - condition: trigger
            id:
              - ausschalten
        sequence:
          - service: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.treppenhaus
mode: restart

Gruß
Osorkon

1 „Gefällt mir“

Achso, meinst du das. Das schaue ich mir gleich mal an und teste das dann aus! :+1:t2:

Du hast immer als Bedingung Beleuchtungsstärke kleiner 3 drin. Für was brauchst du denn dann noch die Trennung in Tag und Nacht? Eigentlich reicht doch die als einzige Bedingung…

Weil Nachts nur eine Lampe angehen soll und tagsüber 3.

2 „Gefällt mir“

Ah stimmt, das hab ich tatsächlich überlesen :see_no_evil:

Und unterschiedliche Helligkeit :stuck_out_tongue_winking_eye:

2 „Gefällt mir“

Wäre 3 Uhr Nachts nicht auch vor 21 Uhr? Das widerspricht doch dem eigentlichen Wunsch after sunrise, wenn mit ODER abgefragt wird. Oder habe ich da einen Denkfehler?

Ich würde sagen “before” und “after” sind vertauscht, oder?

Nein, es soll gelten zwischen Sonnenaufgang, also after sunrise, und vor 21 Uhr. Und genau da sehe ich das Problem mit OR.

Stimmt. In dem Fall musste es tagsüber und sein
Da er aber 24h abdeckt, müsste das dann doch auch einfacher über
Generelle Bedingung unter 3 lux
und
if “tagsüber”,
then “helles Licht”
else
“dunkles Licht”
gehen.

1 „Gefällt mir“