YAMA & Helligkeitsensor

Hallo liebe Community,

mein Ziel ist es, die Treppenhausbeleuchtung mittels eines Bewegungsmelders so zu steuern, dass sie sich einschaltet, wenn der Bewegungsmelder eine Anwesenheit erkennt und gleichzeitig der Helligkeitssensor weniger als 500 Lux misst.

Ich habe mir bereits das Video von Simon angeschaut (https://www.youtube.com/watch?v=1xz89GSscC8) und schaffe es mit der YAMA Blueprint, das Licht bei Anwesenheit ein- bzw. auszuschalten. Allerdings bin ich unsicher, wie ich die Bedingung des Helligkeitssensors integrieren kann, damit das Licht erst bei einem Wert von unter 500 Lux reagiert.

Hat jemand eine Idee, wie ich dies umsetzen kann?

Folgende Geräte verwende ich für mein Vorhaben:

  • Bewegungsmelder: SONOFF SNZB-03
  • Helligkeitssensor: Tuya XFY-CGQ-ZIGB
  • Schaltaktor: Shelly Plus 1PM

Keinen Ahnung was YAMA ist?! Ich kennen nur YAMAHA.

Aber das wäre ja eine einfache Automatisierung.

description: ""
mode: single
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bewegung
    from: "off"
    to: "on"
condition:
  - condition: numeric_state
    entity_id: sensor.lux
    below: 500
action:
  - action: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.xyz

Gruß
Osorkon

Moin,

Habe das über eine Automation mit dem Licht ins Dachgeschoss gemacht

alias: Bewegungsmelder Treppe zum Dachgeschoss
description: >-
trigger:
  - platform: state
    entity_id:
      - >-
        binary_sensor.upstairs_dg_multi_sensor_upstairs_dg_multi_sensor_motion_sensor_status
    from: "off"
    to: "on"
    id: bewegung-an
    for:
      hours: 0
      minutes: 0
      seconds: 1
  - platform: state
    entity_id:
      - >-
        binary_sensor.upstairs_dg_multi_sensor_upstairs_dg_multi_sensor_motion_sensor_status
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 3
      seconds: 0
    id: bewegung-aus
condition: []
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 0
      milliseconds: 250
  - if:
      - condition: trigger
        id:
          - bewegung-an
      - condition: numeric_state
        entity_id: sensor.anwesenheitsmelder_1_illuminance
        below: 2000
    then:
      - metadata: {}
        data:
          kelvin: 5341
        action: light.turn_on
        target:
          device_id: dae4ceb4b023f2ec4ba3acfe15eec027
  - if:
      - condition: trigger
        id:
          - bewegung-aus
    then:
      - metadata: {}
        data: {}
        target:
          entity_id: light.og_dg_treppe
        action: light.turn_off
mode: restart

Dokumentation der YAML-Automation “Bewegungsmelder Treppe zum Dachgeschoss”

Zweck:

Diese Automation schaltet ein Treppenlicht ein, wenn eine Bewegung vom
Bewegungsmelder “binary_sensor.motion_sensor_motion_detection” erkannt wird
und die Helligkeit unter 2000 Lux liegt. Das Licht wird nach 3 Minuten
Inaktivität wieder ausgeschaltet.

Trigger:

  • Bewegung erkannt: Dieser Trigger wird aktiviert, wenn der
    Bewegungsmelder “binary_sensor.motion_sensor_motion_detection” von “aus” auf
    “ein” schaltet.

  • Bewegung normal: Dieser Trigger wird aktiviert, wenn der
    Bewegungsmelder “binary_sensor.motion_sensor_motion_detection” von “ein” auf
    “aus” schaltet. In diesem Fall wird das Licht nach 3 Minuten Inaktivität
    ausgeschaltet.

Bedingung:

  • Helligkeit unter 2000 Lux: Die Automation wird nur ausgeführt, wenn
    die Helligkeit vom Sensor “sensor.anwesenheitsmelder_1_illuminance” unter 2000
    Lux liegt.

Aktionen:

  • Licht einschalten: Wenn die Bewegung erkannt wird und die Helligkeit
    unter 2000 Lux liegt, wird das Arbeitslicht “light.og_dg_treppe” mit einer
    Helligkeit von 200 eingeschaltet.

  • Licht ausschalten: Wenn die Bewegung normal ist (d.h. nach 3 Minuten
    Inaktivität), wird das Arbeitslicht “light.og_dg_treppe” ausgeschaltet.

Modus:

  • single: In diesem Modus wird die Automation nur einmal pro Trigger
    ausgeführt. Wenn der Bewegungsmelder erneut Bewegung erkennt, während das
    Licht bereits eingeschaltet ist, wird die Automation nicht erneut ausgeführt.

Verbesserungsvorschläge:

  • Variable für Helligkeitsgrenze: Definiere eine Variable für die
    Helligkeitsgrenze, um die Anpassung später zu vereinfachen.

  • Verzögerung beim Einschalten: Füge eine Verzögerung beim Einschalten
    des Lichts ein, um kurze Fehlalarme zu vermeiden.

Allgemeine Hinweise:

  • Die Namen der Entitäten (“binary_sensor.bwm_kuche_occupancy”,
    “sensor.anwesenheitsmelder_1_illuminance”, “light.my_kitchen_worklight”)
    müssen an deine individuellen Gegebenheiten angepasst werden.

  • Vergewissere dich, dass die Helligkeitswerte in Lux angegeben sind.

  • Du kannst die Automation an deine Bedürfnisse anpassen, z.B. indem du die
    Helligkeit des Lichts beim Einschalten änderst oder weitere Aktionen
    hinzufügst.

Ressourcen:

VG
Bernd

Willkommen im Forum
Ab Minute 14:40 erklärt Simon das. Es wird ein Sensor benötigt. Dieser geht unter 500 Lux auf ‘on’. Dazu gibt es z.B. bei den Helfern den Schwellenwertsensor. Wenn unter 500 Lux, dann Sensor an. Dieser kann dann, wenn es über 500 Lux ist zum blockieren der Automatisierung genutzt werden.

ABER, YAMA hat ein Problem!
Wenn das Licht an geht und dadurch der Lux Wert über 500 steigt, wird der Helfer wieder ausgeschaltet. Dadurch stoppt aber die Automatisierung und das Licht bleibt an. Es greift in diesem Moment nicht die eingestellte Einschaltdauer.

1 „Gefällt mir“

Hi Marcello, genau so habe ich das ganze auch versucht! Leider ohne Erfolg!

(Sowohl mit Automation Blocker Chooser on als auch off)


Hi Bernd,

nun habe ich deine Konfiguration übernommen, ob das Licht morgen aus bleibt, bei mehr als 300 lx, werde ich sehen.

alias: Bewegungsmelder Treppe zum Dachgeschoss
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bm_treppenhaus_eg_occupancy
    from: "off"
    to: "on"
    id: bewegung-an
    for:
      hours: 0
      minutes: 0
      seconds: 1
  - platform: state
    entity_id:
      - binary_sensor.bm_treppenhaus_eg_occupancy
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 1
      seconds: 0
    id: bewegung-aus
condition: []
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 0
      milliseconds: 250
  - if:
      - condition: trigger
        id:
          - bewegung-an
      - condition: numeric_state
        entity_id: sensor.helligkeitssensor_illuminance_lux
        below: 300
    then:
      - metadata: {}
        data:
          kelvin: 5341
        action: light.turn_on
        target:
          device_id: b3a20c19485fe1bdf248415ecbc4b4d3
  - if:
      - condition: trigger
        id:
          - bewegung-aus
    then:
      - metadata: {}
        data: {}
        action: light.turn_off
        target:
          device_id: b3a20c19485fe1bdf248415ecbc4b4d3
mode: restart

@dp20eic Du hast bei deiner Automatisierung unter ‘action’ erst ein ‘delay’ von 250 Millisekunden. Was ist der Grund, was soll das bewirken?

Das sind ja sogar 2 Verzögerungen drin?!
Einen Sekunde beim Auslöser und die 250ms als Aktion?!

Ein wenig kontraproduktiv, schließlich will man ja eigentlich, dass das licht ohne Verzögerung angeht, wenn einen Bewegung registriert wird.

Ich würde auch nicht die kryptischen Device ID’s verwenden, wer das erfunden hat, gehört eigentlich erschossen!! :wink:

Auch würde ich nicht IF / Then verwenden, da hier immer beide durchlaufen werden.
Ein Auswahl wäre hier angebrachter.

alias: Bewegungsmelder Treppe zum Dachgeschoss
description: ""
mode: single
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bm_treppenhaus_eg_occupancy
    from: "off"
    to: "on"
    id: einschalten
  - platform: state
    entity_id:
      - binary_sensor.bm_treppenhaus_eg_occupancy
    from: "on"
    to: "off"
    id: ausschalten
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
          - condition: numeric_state
            entity_id: sensor.helligkeitssensor_illuminance_lux
            below: 300
          - condition: state
            entity_id: light.xyz
            state: "off"
        sequence:
          - action: light.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: light.xyz
      - conditions:
          - condition: trigger
            id:
              - ausschalten
          - condition: state
            entity_id: light.xyz
            state: "on"
        sequence:
          - action: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.xyz

Gruß
Osorkon

Hallo Osorkon,

mit dem Code von Bernd funktioniert es. Es macht sich definitiv Sinn, wie du schreibst, den Delay rauszunehmen.

Ich werde versuchen, sofern ich es morgen zeitlich schaffe, deinen Code zu verwenden…

Jedoch für mein Verständnis, was meinst du mit durchlaufen ?

Und ich möchte ausdrücklich betonen, wie toll ich das finde, so viele Antworten auf ein so simples Thema erhalten zu haben. Vielen Dank dafür !

Bei den Aktionen macht das delay Sinn, wenn genau in dem Moment wo das Licht ausgeht wieder eine Bewegung statt findet.
Ohne Delay könntest du Pech haben, dass es dann dunkel bleibt.

Moin,

Ich wollte damit glaube ich einem Fehlverhalten vorbeugen, ich hab aber aktuell noch kein Szenario gefunden, um ein Fehlverhalten auszulösen.

Die erste, muss ich noch mal checken, eigentlich will ich da nicht sofort schalten, nur weil ich an der Treppe vorbeigehe, aber nicht die Treppe nutzen möchte, das habe ich nur mal eingefügt, aber nie verifiziert, ob es nützt.

Das ist von der Anforderung abhängig, da Du ja nicht wissen kannst, wie meine Gegebenheit an der Stelle aussieht.
Ich möchte eben nicht, dass das Licht angeht, nur weil ich an der Treppe vorbeilaufe, von einem Zimmer ins andere :wink:
Ich gebe aber zu, dass ich die Automation erstellt habe und dann nicht weiter an den Feinheiten geschraubt habe, ich mache einfach zu viele Dinge gleichzeitig :frowning:

Die ist auch nur hineingerutscht, weil ich gespielt habe, dann aber auch nicht zurück auf die Entität gegangen bin :frowning:

Ich warte eigentlich nur auf den Herbst / Winter, wenn ich wieder mehr drinnen mache, dann räume ich auf und dokumentiere, alle Automationen.

VG
Bernd

Dank Bernds Code funktioniert nun alles wie gewünscht. Den Delay habe ich bewusst beibehalten, da er mich nicht stört und potenzielle unerwünschte Nebenwirkungen verhindern könnte. Bisher habe ich meine Automatisierungen stets über ‘Geräte’ statt ‘Entitäten’ gelöst. Nun lese ich jedoch, dass prinzipiell ‘Entitäten’ bevorzugt werden sollten. Welche Vorteile oder Mehrwerte bietet das Automatisieren mit ‘Entitäten’ im Vergleich zu ‘Geräten’?

Moin,

z. B.

eine Entität

  • entity_id: light.og_dg_treppe

ein Gerät

  • device_id: dae4ceb4b023f2ec4ba3acfe15eec027

Siehst Du den Unterschied?
Wenn dieses Leuchtmittel kaputtgeht und ich ein neue einsetze, dann bekomme ich eine andere device_id, denn ich dieser neuen device_id aber den gleichen Entitätsnamen gebe, bleibt alles beim alten, ansonsten müsste ich überall korrigieren, wo ich die device_id nutze, wenn es sich um ein Strommessgerät handeln würde, wäre es noch fataler, wenn ich die device_id nutzen würde.

VG
Bernd

Wow! Macht total Sinn! Danke!

Hab meine “unsmarte” Klimaanlage automatisiert. Quasi geh an oder aus, je nach Bedingungen. Funktoniert alles auch so wie es soll. Ich habe auch überall mit Entitäten gearbeitet. Jedoch … wie bekomme ich hier die Entität rein? Oder bleibt das so?

Ok, glaube ich bin nun einen Schritt weiter … aber wie kann ich hier auf Klimaanlage umstellen ? Wird mir nicht als Auswahlmöglichkeit angezeigt …

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)