Dies ist eine externe Komponente (External Component) für ESPHome, die Unterstützung für WS2805 5-Kanal (RGB + Warmweiß + Kaltweiß) LED-Streifen bietet.
Da ESPHome standardmäßig bei AddressableLight maximal 4 Kanäle (RGBW) unterstützt, der WS2805 aber 5 Kanäle (40 Bits pro LED) für RGBCCT nutzt, verhält sich diese Komponente bei RGB-Effekten wie ein normales AddressableLight. Gleichzeitig behält sie jedoch die globale Kontrolle über die Kanäle W1 und W2.
Dadurch wird der Home Assistant Farbwähler (UI) perfekt unterstützt: Es gibt keine “springenden” Regler mehr bei der Farbtemperatur (CCT), und adressierbare RGB-Effekte funktionieren einwandfrei.
AddressableLight erbt, kannst du alle adressierbaren Lichteffekte wie addressable_rainbow, addressable_scan usw. nutzen.esp32_rmt_led_strip Architektur anstelle von NeoPixelBus. So werden RMT-Kanäle, Interrupt-Flags und SRAM ressourcenschonend verwaltet. Das ermöglicht bis zu 8 parallele Instanzen ohne ESP_ERR_INVALID_STATE Limits, speziell auf modernen Chips wie dem ESP32-S3.Um diese Komponente zu nutzen, kannst du sie direkt von GitHub über den external_components Block in deine Konfiguration einbinden.
Dabei können problemlos mehrere Zonen bzw. Streifen parallel auf einem ESP32 (z.B. ESP32-S3) laufen, ohne dass es zu RMT-Crashes kommt.
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf # Kompatibel mit arduino und esp-idf
external_components:
- source:
type: git
url: https://github.com/babeinlovexd/ESPHOME-WS2805
ref: main
components: [ ws2805 ]
light:
- platform: ws2805
id: ws2805_zone_1
name: "Mein WS2805 Streifen - Zone 1"
pin: GPIO4 # Der GPIO-Pin, an den deine Datenleitung angeschlossen ist
num_leds: 100 # Gesamtzahl der LEDs auf dem Streifen
color_interlock: false
cold_white_color_temperature: 153 mireds
warm_white_color_temperature: 500 mireds
cct_transition_speed: 3s
dithering: true
gamma_correct: 2.2
effects:
- addressable_rainbow:
- platform: ws2805
id: ws2805_zone_2
name: "Mein WS2805 Streifen - Zone 2"
pin: GPIO5
num_leds: 100
- platform: ws2805
id: ws2805_zone_3
name: "Mein WS2805 Streifen - Zone 3"
pin: GPIO6
num_leds: 100
Du kannst alle Standard-ESPHome-Variablen (wie name, id, gamma_correct, effects) nutzen, zuzüglich folgender WS2805-spezifischer Argumente:
pin (Erforderlich): Der GPIO-Pin, an den deine Datenleitung angeschlossen ist.num_leds (Erforderlich): Gesamtzahl der LEDs auf dem Streifen.color_interlock (Optional, Boolean): Verhindert, dass die weißen LEDs und die RGB-LEDs gleichzeitig mit voller Kraft leuchten (nützlich für das Netzteil-Management oder thermische Limits). Standard ist false.cold_white_color_temperature (Optional): Die Farbtemperatur deiner Kaltweiß-LEDs in Mireds. Standardwert ist 153 mireds (~6500K).warm_white_color_temperature (Optional): Die Farbtemperatur deiner Warmweiß-LEDs in Mireds. Standardwert ist 500 mireds (~2000K).cct_transition_speed (Optional, time): Steuert die Geschwindigkeit der Fade-Übergänge für die weißen (CCT) Kanäle in Sekunden/Millisekunden (z.B. 3s). Der Standardwert ist 3s.dithering (Optional, Boolean): Aktiviert temporales Dithering für die weißen (CW/WW) Kanäle, was das Ruckeln/Flimmern bei geringer Helligkeit oder langsamem Faden verringert. Standard ist false. Siehe docu.md für weitere Details.Wenn dir diese ESPHome Komponente gefällt und du meine Arbeit unterstützen möchtest, freue ich mich riesig über einen virtuellen Kaffee!
|
Christopher |
| :—: |