Hi guys.
This is my beautiful setup , pure DIY by me :
Short explanation:
- WS2812B LED strip was used here, 50 pixels in summary
- Each bottle has 10 pixels within
- From right to left, separate strips are connected with wires through pipes, so all 5 pieces are acting as 1 LED strip
- There is an ESP01S module who control this, on the right end in small saltshaker
- There is also physical momentary switch button on the top of saltshaker, attached to ESP01s, so I can turn it on/off, but this part isn’t important for my question.
This is the ESPHome code flashed to ESP01S:
esphome:
name: bottle-lights
esp8266:
board: esp01
logger:
api:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
e131:
method: multicast
light:
- platform: neopixelbus
type: GRB
variant: WS2812X
pin: GPIO0
num_leds: 50
name: "Bottle Lights"
effects:
- e131:
universe: 1
channels: RGB
- random:
- pulse:
- strobe:
- flicker:
- addressable_rainbow:
- addressable_color_wipe:
- addressable_scan:
- addressable_twinkle:
- addressable_random_twinkle:
- addressable_fireworks:
binary_sensor:
- platform: gpio
pin:
number: GPIO2
mode: INPUT_PULLUP
inverted: True
name: "Bottle Lights Button"
on_click:
- min_length: 50ms
max_length: 1000ms
then:
- homeassistant.service:
service: light.toggle
data:
entity_id: light.bottle_lights
- min_length: 1001ms
max_length: 10000ms
then:
- homeassistant.service:
service: script.bottle_lights_warm_white
As you can see, I’m using also e1.31 effect in light platform, so I can additionally control pixels from my Hyperion server, via udpe131 protocol.
Question: Is there a chance that this LED strip of 50 pixels could somehow being split into 5 entities, so each bottle can be independent entity?
I made one custom effect in Hyperion, where it would turn on only pixels from one bottle with desired color, then wait 1s, then turn on second bottle and so on, but this is a no go, cause I would have to make an effect for every possible use case
From other side, I can see on ESPHome documentation, there is something called universe
within e1.31 component/effect. If I understand correct, this could be some kind of way to split one strip into more entities, cause in Hyperion I am also required to enter the number of universe
:
But if I understood correct from ESPHome documentation, technicaly there could be only 2 universes?
If there’s more LEDs than allowed per-universe, additional universe will be used. In the above example of 189 LEDs, first 170 LEDs will be assigned to 1 universe, the rest of 19 LEDs will be automatically assigned to 2 universe.
I would be glad to take any interesting advice for how could I split this 50 pixels strip into 5 separate Home Assistant entities.
Many thanks in advance!