esphome / feature-requests

ESPHome Feature Request Tracker
https://esphome.io/
409 stars 26 forks source link

WS2814 / WS2814A addressable led chip support for NeopixelBus Light platform #2049

Open Kai-X1 opened 1 year ago

Kai-X1 commented 1 year ago

Describe the problem you have/What new integration you would like

Add support for WS2814 / WS2814A RGBW addressable LED chips in NeopixelBus Light platform

Please describe your use case for this integration and alternatives you've tried:

Id like to be able to use WS2814A addressable LED chips with the NeopixelBus Light platform, I've tried various settings for other chips to see if any works. but from what I gather WS2814 is 32bit, where as others are only 24bit.

thank you

Additional context

Datasheets only seem to be in Chinese so far but maybe someone knowledgeable might be able to interpret the data from the tables. https://datasheet.lcsc.com/lcsc/2012110135_Worldsemi-WS2814_C965562.pdf https://datasheet.lcsc.com/lcsc/2111171930_Worldsemi-WS2814A_C2920044.pdf

update: found english WS2814A datasheet https://drive.google.com/file/d/1IRLl1YkhRFBB01Im5psSYpEsqsy-9JIV/view

thomasklingbeil commented 1 year ago

I tried it out and it actually works with the following settings:

light:
  - platform: neopixelbus
    type: WRGB
    variant: WS2811
manundi commented 1 year ago

I tried it out and it actually works with the following settings:

light:
  - platform: neopixelbus
    type: WRGB
    variant: WS2811

For me this setup shows wrong colors: red = green etc.

thomasklingbeil commented 1 year ago

For me this setup shows wrong colors: red = green etc.

And if you use "type: WGRB" instead?

Kinggrass commented 1 month ago

@Kai-X1 Got it working? For me not even a light turn on.

evelant commented 1 month ago

Does anybody have a working config for ws2814? Sorry I'm new to all of this. Got some FCOB addressable 24v strips that use ws2814 and am having trouble controlling them. With the config suggested by @thomasklingbeil above only half the strip lights up and it's in seemingly random colors.

CreaValix commented 3 weeks ago

Good morning @evelant, yes, I do have the same configuration as @thomasklingbeil. Keep in mind that ws2814 is 24 V and there are six LEDs in series.

I have a 5 m LED strip from BTF-Lighting, BTF-24V-060L-W, which has 60 LEDs per meter. So I set num_leds to 60 × 5 ÷ 6 = 50. I tried variants WS2811 and WS2813. It seems to work with both.

This is my working configuration for an esp8266 ESP8266 ESP-01 1M board:

light:
  - platform: neopixelbus
    name: Schlafzimmer Deckenbeleuchtung
    type: WRGB
    variant: WS2811
    pin: GPIO2
    num_leds: 50
    method:
      type: esp8266_uart
      bus: 1
      async: false

I still do get flickering during the transitions. It was really bad with 3,2 V ESP input voltage. There is almost no flickering with 3,4 V. Above linked datasheet (thanks!) says that D_IN should be 5 V. So I'll need a logic shifter.

evelant commented 3 weeks ago

Thanks, I got it working with a similar config. Turns out I had wired it wrong. After fixing the wiring (needed a common ground for the strip and the esp32!) it all works beautifully. Did not need a logic shifter for these 24v cob light strips. They're gorgeous!