say2k
19. März 2024 um 08:49
1
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
Jo7
19. März 2024 um 08:55
2
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.
Vielleicht hilft dir das weiter.
1 „Gefällt mir“
say2k
19. März 2024 um 09:09
4
@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
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.
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“
say2k
19. März 2024 um 11:39
8
Ah, dann lag ich ja zumindest in der groben Richtung nicht falsch. Danke schön (mal wieder) @Osorkon
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“
say2k
19. März 2024 um 15:15
10
@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“
say2k
19. März 2024 um 19:13
12
Achso, meinst du das. Das schaue ich mir gleich mal an und teste das dann aus!
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…
maxe
20. März 2024 um 06:42
14
Weil Nachts nur eine Lampe angehen soll und tagsüber 3.
2 „Gefällt mir“
Ah stimmt, das hab ich tatsächlich überlesen
metallmanu:
überlesen
Und unterschiedliche Helligkeit
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“