RGB LED Treppenbeleuchtung

Da Ihr mich immer wieder nach einer RGB-LED Variante meiner Treppenbeleuchtung mit Bewegungserkennung gefragt habt, wird es nach vier Jahren wohl mal Zeit etwas ähnliches nachzureichen. Und da bei uns im Haus eh noch eine zweite Treppe existiert, habe ich mich also drangesetzt, diese mit RGB-LEDs auszustatten. Im Vergleich zu meiner ersten Treppenbeleuchtung ist der Aufbau dieser Variante eher langweilig. Eigentlich werden alle Komponenten nur noch direkt mit dem Arduino verbunden. Aber einfach muss ja nicht immer schlecht sein.


Was ist neu?

Im Unterschied zu der ursprünglichen Treppenbeleuchtung habe ich mich dieses mal dazu entschlossen, die LED-Stripes nicht unter die Stufen sondern an der Wand oberhalb der Treppenwange zu platzieren. Ansonsten hätte ich ohne aufreißen der Wand die Kabel nicht versteckt verlegen können.
Des weiteren setze ich diesmal nicht auf 12V-LEDs sondern auf adressierbare 5V LED-Stripes (WS2812B). Diese sind zwar etwas teurer, bieten aber mehr Möglichkeiten bzgl. Animationen. Außerdem wäre es bei größerer Nachfrage sogar nachträglich noch möglich, auch ein stufenweises einschalten per Softwareupdate zu ermöglichen. Im ersten Schritt verzichte ich aber erst einmal auf dieses Feature.


Steuerung per Home Assistant

Da wir uns aktuell ja viel mit Home Assistant befassen, habe ich mich bei dieser Treppenbeleuchtung für eine Umsetzung der Software in Home Assistant entschieden. Und zwar stelle ich für alle Home Assistant Nutzer eine Konfiguration für ESPHome zur Verfügung inklusive passender Automatisierungs-Konfigurationen um die Treppe direkt in der Haussteuerung integrieren zu können.



Benötigte Bauteile

Hier einmal alle von mir verwendeten Bauteile.
(Falls nicht verfügbar verlinke ich entsprechende Alternativen)


ProduktnamePreis
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)

BauteilAnzahl
NodeMCU 12E1
220Ohm Widerstand3
10K-Ohm Widerstand1
LED3
Terminal-Block (RM 3,5)1
JST-Buchse (RM 2,5)3
Header-Pins19
15er Buchsenleiste2
5V Netzteil1

Das 5V Netzteil sollte genug Leistung liefern können. Rechnet pro LED auf der Stripe mit ca. 0,06A.


Gehäuse (3D Druck Dateien)

Das Gehäuse habe ich wie immer auf Thingiverse für euch zur Verfügung gestellt.
https://www.thingiverse.com/thing:4700062


Technischer Aufbau

Nachdem wir nun alle benötigten Bauteile haben, schauen wir uns einmal am Schaltplan an, wie die RGB-LED Treppenbeleuchtung mit Bewegungserkennung zusammen gebaut werden muss.


Für alle, die das ganze nicht lose verlöten möchten habe ich natürlich auch wieder eine Platine angefertigt.

Die Platine könnt Ihr euch wie gewohnt bei PCBWay.com unter folgendem Link bestellen:
https://www.pcbway.com/project/shareproject/RGB_LED_Stairlight.html

PCB from=From pcbway


ESPHome Programm für die RGB-LED Treppenbeleuchtung

esphome:
  name: rgb_treppe_oben
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: !secret WLanSSID
  password: !secret WLanPassword

  ap:
    ssid: "RGB-Treppe"
    password: "fnlIp2hjHmrL"

captive_portal:
logger:

api:
  password: !secret HA_API_Password
ota:
  password: !secret HA_OTA_Password


sensor:
  - platform: adc
    pin: A0
    name: "RGB-Treppe Helligkeitssensor"
    update_interval: 30s
    id: rgbtreppe_helligkeitssensor


binary_sensor:
  - platform: gpio
    pin: GPIO15
    name: "RGB-Treppe Bewegungsmelder unten"
    device_class: motion
    id: rgbtreppe_pir_u

  - platform: gpio
    pin: GPIO13
    name: "RGB-Treppe Bewegungsmelder oben"
    device_class: motion
    id: rgbtreppe_pir_o

switch:
  - platform: gpio
    pin: GPIO5
    name: "RGB-Treppe PIR oben Status LED"
    id: rgbtreppe_pir_status_o

  - platform: gpio
    pin: GPIO4
    name: "RGB-Treppe PIR unten Status LED"
    id: rgbtreppe_pir_status_u

  - platform: gpio
    pin: GPIO14
    name: "RGB-Treppe Helligkeit Status LED"
    id: rgbtreppe_hell_status


light:
  - platform: fastled_clockless
    chipset: WS2812B
    pin: GPIO12
    num_leds: 50
    rgb_order: GRB
    name: "RGB-LED Treppe oben"
    id: rgbtreppe_led

ESPHome Programm zum Download unter:
https://smarthomeyourself.de/hc_downloads/rgb_treppe_esphome.txt

Home Assistant Helfer

Folgende Helfer müsst Ihr in Home Assistant zuerst anlegen.
Alle Helfer sind vom Typ „Umschalten“

rgb-treppe rauf (Entitäts-ID: input_boolean.rgb_treppe_rauf)
rgb-treppe runter (Entitäts-ID: input_boolean.rgb_treppe_runter)
rgb-treppe aktiv
 (Entitäts-ID: input_boolean.rgb_treppe_aktiv)
rgb-treppe-cooldown (Entitäts-ID: input_boolean.rgb_treppe_cooldown)


Home Assistant Automatisierungen

Folgenden Code müsst Ihr in eure automation.yaml am Ende einfügen und anschließend eure Automatisierungen neu laden.

Welche Farben bzw. Effekte beim einschalten verwendet werden sollen, könnt Ihr anschließend in den Automatisierungen „rgb-treppe rauf LED einschalten“ und „rgb-treppe runter LED einschalten“ konfigurieren.

 - id: '1608396906804'
  alias: rgb-treppe rauf ein
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.rgb_treppe_bewegungsmelder_unten
    from: 'off'
    to: 'on'
  condition:
  - condition: state
    entity_id: input_boolean.rgb_treppe_runter
    state: 'off'
  - condition: and
    conditions:
    - condition: state
      entity_id: input_boolean.rgb_treppe_rauf
      state: 'off'
  - condition: and
    conditions:
    - condition: state
      entity_id: input_boolean.rgb_treppe_cooldown
      state: 'off'
  - condition: and
    conditions:
    - condition: state
      entity_id: input_boolean.rgb_treppe_aktiv
      state: 'on'
  action:
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.rgb_treppe_rauf
  mode: single
- id: '1608397115385'
  alias: rgb-treppe rauf aus
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.rgb_treppe_bewegungsmelder_oben
    from: 'off'
    to: 'on'
  condition:
  - condition: state
    entity_id: input_boolean.rgb_treppe_runter
    state: 'off'
  - condition: and
    conditions:
    - condition: state
      entity_id: input_boolean.rgb_treppe_rauf
      state: 'on'
  action:
  - service: input_boolean.turn_off
    data: {}
    entity_id: input_boolean.rgb_treppe_rauf
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.rgb_treppe_cooldown
  mode: single
- id: '1608397208847'
  alias: rgb-treppe runter aus
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.rgb_treppe_bewegungsmelder_unten
    from: 'off'
    to: 'on'
  condition:
  - condition: state
    entity_id: input_boolean.rgb_treppe_runter
    state: 'on'
  - condition: and
    conditions:
    - condition: state
      entity_id: input_boolean.rgb_treppe_rauf
      state: 'off'
  action:
  - service: input_boolean.turn_off
    data: {}
    entity_id: input_boolean.rgb_treppe_runter
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.rgb_treppe_cooldown
  mode: single
- id: '1608397266014'
  alias: rgb-treppe runter ein
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.rgb_treppe_bewegungsmelder_oben
    from: 'off'
    to: 'on'
  condition:
  - condition: state
    entity_id: input_boolean.rgb_treppe_runter
    state: 'off'
  - condition: and
    conditions:
    - condition: state
      entity_id: input_boolean.rgb_treppe_rauf
      state: 'off'
  - condition: and
    conditions:
    - condition: state
      entity_id: input_boolean.rgb_treppe_cooldown
      state: 'off'
  - condition: and
    conditions:
    - condition: state
      entity_id: input_boolean.rgb_treppe_aktiv
      state: 'on'
  action:
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.rgb_treppe_runter
  mode: single
- id: '1608397446747'
  alias: rgb-treppe rauf automatisch aus
  description: ''
  trigger:
  - platform: state
    entity_id: input_boolean.rgb_treppe_rauf
    from: 'off'
    to: 'on'
    for: '60'
  condition: []
  action:
  - service: input_boolean.turn_off
    data: {}
    entity_id: input_boolean.rgb_treppe_rauf
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.rgb_treppe_cooldown
  mode: single
- id: '1608397474250'
  alias: rgb-treppe runter automatisch aus
  description: ''
  trigger:
  - platform: state
    entity_id: input_boolean.rgb_treppe_runter
    from: 'off'
    to: 'on'
    for: '60'
  condition: []
  action:
  - service: input_boolean.turn_off
    data: {}
    entity_id: input_boolean.rgb_treppe_runter
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.rgb_treppe_cooldown
  mode: single
- id: '1608397599773'
  alias: rgb-treppe rauf LED einschalten
  description: ''
  trigger:
  - platform: state
    entity_id: input_boolean.rgb_treppe_rauf
    from: 'off'
    to: 'on'
  condition: []
  action:
  - service: light.turn_on
    data:
      rgb_color:
      - 255
      - 50
      - 0
    entity_id: light.rgb_led_treppe_oben
  mode: single
- id: '1608397654093'
  alias: rgb-treppe rauf LED ausschalten
  description: ''
  trigger:
  - platform: state
    entity_id: input_boolean.rgb_treppe_rauf
    from: 'on'
    to: 'off'
    for: 00:00:15
  condition: []
  action:
  - service: light.turn_off
    entity_id: light.rgb_led_treppe_oben
    data: {}
  mode: single
- id: '1608397685743'
  alias: rgb-treppe runter LED ausschalten
  description: ''
  trigger:
  - platform: state
    entity_id: input_boolean.rgb_treppe_runter
    from: 'on'
    to: 'off'
    for: 00:00:15
  condition: []
  action:
  - service: light.turn_off
    entity_id: light.rgb_led_treppe_oben
    data: {}
  mode: single
- id: '1608397731712'
  alias: rgb-treppe runter LED einschalten
  description: ''
  trigger:
  - platform: state
    entity_id: input_boolean.rgb_treppe_runter
    from: 'off'
    to: 'on'
  condition: []
  action:
  - service: light.turn_on
    data:
      rgb_color:
      - 0
      - 255
      - 100
    entity_id: light.rgb_led_treppe_oben
  mode: single
- id: '1608398286163'
  alias: rgb-treppe statusled pir oben
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.rgb_treppe_bewegungsmelder_oben
  condition: []
  action:
  - service_template: '{% if trigger.to_state.state == "on" %} switch.turn_on {% elif
      trigger.to_state.state == "off" %} switch.turn_off {% endif %}

      '
    data_template:
      entity_id: switch.rgb_treppe_pir_oben_status_led
  mode: single
- id: '1608398332158'
  alias: rgb-treppe statusled pir unten
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.rgb_treppe_bewegungsmelder_unten
  condition: []
  action:
  - service_template: '{% if trigger.to_state.state == "on" %} switch.turn_on {% elif
      trigger.to_state.state == "off" %} switch.turn_off {% endif %}

      '
    data_template:
      entity_id: switch.rgb_treppe_pir_unten_status_led
  mode: single
- id: '1608416573352'
  alias: rgb-treppe cooldown - auto off
  description: ''
  trigger:
  - platform: state
    entity_id: input_boolean.rgb_treppe_cooldown
    from: 'off'
    to: 'on'
    for: '20'
  condition: []
  action:
  - service: input_boolean.turn_off
    data: {}
    entity_id: input_boolean.rgb_treppe_cooldown
  mode: single
- id: '1608417756432'
  alias: rgb-treppe aktiv durch helligkeitssensor
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.rgb_treppe_helligkeitssensor
    below: '0.6'
    for: '30'
  condition: []
  action:
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.rgb_treppe_aktiv
  mode: single
- id: '1608417780739'
  alias: rgb-treppe inaktiv durch helligkeitssensor
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.rgb_treppe_helligkeitssensor
    for: '30'
    above: '0.7'
  condition: []
  action:
  - service: input_boolean.turn_off
    data: {}
    entity_id: input_boolean.rgb_treppe_aktiv
  mode: single

Home Assistant Automatisierungen zum Download unter:
https://smarthomeyourself.de/hc_downloads/rgb_treppe_automatisierung.txt

Video zur RGB-LED Treppenbeleuchtung mit Bewegungserkennung

Ich habe wie immer auch alles noch einmal in einem Video auf meinem YouTube Kanal zusammengefasst.

Das Video findet Ihr hier:

Automatische RGB LED Treppenbeleuchtung für Home Assistant mit ESPHome
Dieses Video ansehen auf YouTube.
Durch starten des Videos stellen Sie eine Verbindung zu YouTube her. Die Datenschutzerklärung von YouTube finden Sie hier: https://www.youtube.com/static?gl=DE&template=terms&hl=de. Weitere Informationen zum Thema Datenschutz bei Google/YouTube finden Sie hier: https://policies.google.com/privacy?hl=de&gl=de

Bei Links auf Amazon-, Bangood-, PCBWay- und Ebay-Artikel handelt es sich um Affiliate-Links. In diesen Links wird meine jeweilige Partner-Id mit übergeben, wodurch ich eine kleine Provision für eure Käufe erhalte. Ihr zahlt natürlich das gleiche wie sonst auch.
Ich würde mich freuen, wenn Ihr bei eurer Bestellung die Links verwendet und mich so einfach und für euch kostenlos unterstützt, um weiterhin neue Projekte mit euch teilen zu können.

Vielen Dank für euer Verständnis und eure Unterstützung!