Automation für Treppen LED Beleuchtung (WLED)

Hallo zusammen,

ich bin neu hier im Forum, bzw. mein erster Beitrag - ich lese schon eine ganze Weile mit.

Ich komme vom iobroker und bin seit Anfang des Jahres umgestiegen auf Home Assistant, das meiste meiner Automationen konnte ich schon erfolgreich umstellen.

Jetzt stehe ich jedoch vor einem ich glaube Verständnis Problem, so folgendes.

Ich möchte ein LED Streifen im Treppenbereich schalten.
Verbaut habe ich einen ESP mit WLED und möchte damit Adressierbare LEDs ansprechen um somit eine Art “Lauflicht” zu erzeugen.

WLED habe ich auch intergiert, das passt alles, auch eine Playlist mit entsprechenden Presets kann ich abrufen, alles kein Thema.

Was ich jetzt automatisieren möchte, oder wo mein eigentliches Problem ist.

Jeweils unten und oben im Treppenbereich sitzen 2 Bewegungsmelder, welche über KNX angebunden sind, und auch dieses Signal kommt im Home Assistant an.

Jetzt soll es Beispielweise so sein:
Ich gehe von unten nach oben → Ich löse unten am Bewegungsmelder ein Signal aus, welches eine Playlist im WLED startet und entsprechend startet.
Wenn ich oben an der Treppe angekommen bin, erfasst der obere Melder wieder ein Signal und startet endsprechend wieder eine Playlist das dass Licht ausschaltet.

Das habe ich auch hin bekommen - jedoch habe ich das Problem, wenn ich jetzt anders herum laufe von oben nach unten, alles “falsch” herum läuft und entsprechend der untere Melder auch nicht ausschaltet … (puh ich weiß nicht ob man es nachvollziehen kann).

Jetzt muss ich ja irgendwie filtern, gehe ich von unten nach oben oder von oben nach unten. Idee war wenn ich von unten nach oben laufe, könnte ich den oberen Melder nur dann schalten wenn der untere in einer Gewissen Zeit (vllt. 10sek) vorher Bewegung erkannt hat? In die andere Richtung entsprechend anderes herum.

Wie realisiere ich diese Bedingung das ich den oberen Melder nur schalte wenn der untere in einer Gewissen Zeit vorher aktiv war? Hier komme ich nicht weiter? Oder denke ich vllt. zu kompliziert und es hat jemand schon viel einfacher gelöst?

Bin um jede Hilfe dankbar :slight_smile:

Du könntest jeweils einen Helfer setzen und in der entsprechenden Automation prüfen, ob er gesetzt ist und dann je nach Ergebnis dieser Prüfung unterschiedliche Aktionen auslösen.

Ich kenne deine Bewegungsmelder nicht, aber meine setzen sich erst nach ca. 60 Sekunden zurück. D.h. innerhalb der 60 Sekunden ist der Status immer “Bewegung erkannt”. Vielleicht ist das bei deinen auch so?

Wenn ja, dann ist Bewegungsmelder 1 immer noch “on” wenn du Bewegungsmelder 2 passierst und auslöst. Da brauchst du dann nicht erst Helfer setzen.

Welchen Helfer würde ich hierfür am besten nutzten? Hast du einen Vorschlag?

Das ist auch eine sehr interessante Idee - ich kann die “Nachlaufzeit” ganz einfach im Melder anpassen das ist kein Problem. Bewegungsmelder ist von MDT und über KNX eingebunden.

Wenn du das so machen willst … dann darf immer nur eine Person die Treppe hoch oder runterlaufen … mit einem zeitlichen Abstand

Wenn du z.B. die Treppe hochläufst (nicht oben angekommen) und sich eine andere Person entschließt herunterzulaufen … dann steht ihr beide im Dunkeln.
Nur mit zwei BWM wirst du das so wahrscheinlich nicht zuverlässig umsetzen können.
Aber die Idee klingt gut :+1:t2:
du brauchst aber noch mehr Sensoren dafür.

Edit:
Muss es unbedingt ein Lauflicht sein entsprechend hoch oder runterlaufen??
Wenn du einfach nur den LED streifen einschaltest, egal welcher BWM getriggert hat.
Ausschalten wenn von beiden BWM No motion für eine gewisse Zeit.
Dann solltest du auch nicht irgendwann im Dunkeln die Treppe hoch oder runterlaufen müssen.

Haha ja der “Problematik” bin ich mir durchaus bewusst :wink:
Das wäre dann die nächste “Ausbaustufe”
Es gibt ja auch noch die Sache ich gehe von unten hoch und auf der Treppe fällt mir ein oh was vergessen und ich gehe wieder runter …

Ich hätte noch mehr Melder zur Verfügung, ich habe unten und oben im Flur noch je ein Präsenzmelder hängen welchen ich noch hinzunehmen könnte, ich wollte es aber nicht unnötig kompliziert machen.

Es sollte schon das Lauflicht sein, aus diesem Grund habe ich extra einzeln steuerbare LEDs verbaut :wink: Es ist auch nicht so das man im dunkeln stehen würde, es ist quasi nur eine Spielerei - wir haben noch andere Beleuchtung welche eh vom KNX geschaltet wird.

Ja, dass wäre auch ein Problem.
Lauflicht hört sich gut an, aber es sollte schon zuverlässig funktionieren -
Wie gesagt: Mit 2 BWM wird das so nicht funktionieren - ich glaube auch nicht dass dir die zwei Präsenzmelder da weiterhelfen (außer du kannst Zonen definieren)

Ich habe das bisher auch nur im Video gesehen und fand das cool. Ich habe mir dann auch einen WLED und ESP gekauft, um dann festzustellen, dass man noch einiges mehr (Netzteile usw.) braucht und deshalb liegt der noch im Schrank.
Beim Helfer müsste ein Schalter reichen, es sei denn du möchtest diverse Szenarien abbilden, wie mehrere Personen usw. Dann treten natürlich mehr al 2 Optionen (0/1) auf und dann könnte man mit mehr “Zahlen” noch weitere Unterscheidungen treffen.

Aber alles nur als schnelle Überlegung.
Z.B. jemand kommt von unten → Zähler 0 → 1 → Lauflicht von unten. Dann kommt jemand von oben → Zähler +1 = 2 → statisches Licht oder “blinken” usw.
Aber das wird vermutlich einiges an Tial & error brauchen :wink:

Ja, es kann so funktionieren:

BWM oben erkennt Bewegung, aber Lauflicht hoch ist nicht aktiv:
Lauflicht runter einschalten (für ca. 10 Sekunden - je nachdem wie lange deine Treppe ist)

BWM unten erkannt, aber Lauflicht runter ist nicht aktiv:
Lauflicht hoch einschalten (für ca. 10 Sekunden - je nachdem wie lange deine Treppe ist)

Nur deinen Ansatz mit Erkennung die Treppe wurde komplett hoch oder runtergelaufen und damit schaltest du das Lauflicht aus, ist nicht der richtige Ansatz

@Donner
Ich finde diese Idee gut. Mach doch einfach ein Lauflicht, das oben und unten - also an beiden Enden des LED-Strips - anfängt und in der Mitte aufeinander trifft. Dann ist es egal, aus welcher Richtung man kommt.

2 „Gefällt mir“

Hallo Donner
Ich habe meinen ersten WLED -Streifen zum laufen gebracht. Ich weiss aber nicht wie man so ein “Lauflicht” wie du beschrieben hast hinbekommt. Welche Presets/Playlist muss man da erstellen?
Danke um jede Hilfe zu diesem Thema

Hallo Topfer,

Als Beispiel mal meine Automation für den Melder unten an der Treppe:

Bei mir wird das über 2 KNX Bewegungsmelder ausgelöst, einen unten und einen oben an der Treppe … Ich schaue jetzt z.B. unten ob der obere Melder kurz vorher ausgelöst hat oder nicht, so weiß ich ob jemand von oben nach unten oder anders herum geht.

Das “Lauflicht” steuere ich über die JSON API von WLED an → JSON API - WLED Project

Ich lasse es dann einmal noch oben bzw. nach unten laufen, dazu musst du dann die genaue Zeit ermitteln und eintragen.

Ich hoffe dir hilft mein YAML Code weiter.

alias: Treppen Licht - Melder unten
description: ""
triggers:
  - entity_id:
      - binary_sensor.e1_flur_bewegungsmelder_treppe_unten
    to: "on"
    trigger: state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: state
            entity_id: binary_sensor.o1_flur_bewegungsmelder_treppe_oben
            state: "on"
        sequence:
          - action: rest_command.wled_treppe
            data:
              text: >-
                { "on":true, "bri":120, "transition":0 ,"tb":0, "mainseg":0,
                "seg": [{"id":0, "start":0, "stop":115, "grp":1, "spc":0,
                "of":0, "on":true, "frz":false, "bri":255, "cct":127, "col":
                [[0,0,0,0], [255,133,0,255], [255,133,0,255]], "fx":3, "sx":225,
                "ix":146, "pal":0, "sel":true, "rev":true, "mi":false},
                {"stop":0}]} }
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 600
          - action: rest_command.wled_treppe
            data:
              text: >-
                { "on":true, "bri":120, "transition":0, "mainseg":0, "seg":
                [{"id":0, "start":0, "stop":115, "grp":1, "spc":0, "of":0,
                "on":true, "frz":false, "bri":255, "cct":127, "set":0, "col":
                [[0,0,0], [0,0,0], [0,0,0]], "fx":0, "sx":100, "ix":128,
                "pal":0, "c1":128, "c2":128, "c3":16, "sel":true, "rev":true,
                "mi":false, "o1":false, "o2":false, "o3":false, "si":0,
                "m12":0}, {"stop":0}]} }
      - conditions:
          - condition: state
            entity_id: binary_sensor.o1_flur_bewegungsmelder_treppe_oben
            state: "off"
        sequence:
          - action: rest_command.wled_treppe
            data:
              text: >-
                { "on":true, "bri":120, "transition":0, "tb":0, "mainseg":0,
                "seg": [{"id":0, "start":0, "stop":115, "grp":1, "spc":0,
                "of":0, "on":true, "frz":false, "bri":255, "cct":127, "col":
                [[255,133,0,255], [0,0,0,0], [0,0,0,0], [0,0,0]], "fx":3,
                "sx":225, "ix":146, "pal":0, "sel":true, "rev":false,
                "mi":false}, {"stop":0}] } }
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 600
          - action: rest_command.wled_treppe
            data:
              text: >-
                { "on":true, "bri":120, "transition":0, "mainseg":0, "seg":
                [{"id":0, "start":0, "stop":115, "grp":1, "spc":0, "of":0,
                "on":true, "frz":false, "bri":255, "cct":127, "set":0, "col":
                [[255,133,0,255], [0,0,0], [0,0,0]], "fx":0, "sx":128, "ix":128,
                "pal":0, "c1":128, "c2":128, "c3":16, "sel":true, "rev":false,
                "mi":false, "o1":false, "o2":false, "o3":false, "si":0,
                "m12":0}, {"stop":0}]} }
mode: single
2 „Gefällt mir“

Hallo Donner
Besten Dank für dein Beispiel und entschuldige die späte Antwort. Kam nicht vorher dazu dies anzuschauen.
Das Json kann ich als Preset auf dem Web UI vom WLED testen, das geht. Jedoch habe ich bis jetzt das rest command nicht ausführen können. Ich erhalte folgenden Fehler:
Client error occurred when calling resource “https://192.168.188.71/json/state
Was muss ich im configuration.yaml einfügen?
Ich habe dies hier:

rest_command:
  wled_treppe:
    url: https://192.168.188.71/json/state
    method: POST
    payload: "{{text}}"

Besten Dank :smiley:

Kein Problem - ich war diesmal auch ein bisschen langsamer :wink:

Hier ist der Auszug aus meiner yaml:

# WLED Treppe
  wled_treppe:
    url: http://172.16.0.169/json/state
    method: POST
    payload: '{{text}}'
    content_type:  'application/json; charset=utf-8'

Weiß nicht genau ob man den content_typ mit übergeben muss

Jetzt hat es geklappt… ich hatte https anstatt http in der URL. Vielen Dank für deine Hilfe!

Hi, Donner bin Anfänger bei HA und wled wo kann ich deine yaml datei bei mir einfügen? Hab das gleiche vor eine Treppe Beleuchtung mit zwei pir Sensoren nachbauen. Danke für dein hilfreich

Hi Roberto77,

also den Code von oben den fügst du einfach in deiner configuration.yaml ein:

Was hier gemacht wird, du gibst das “Lauflicht” über die JSON API an dein Wled - wenn du weiter oben schaust habe ich den kompletten YAML Code meiner Automation auch schon gepostet.

Kannst du mir folgen?

Gruß
Donner

Also den kompletten yaml code einfach kopieren und bei mir einfügen? Und dan flaschen?

Sorry habs irgendwie ganz verpasst zu antworten - hast du es hinbekommen oder brauchst du noch Hilfe?