I am using addressable_lambda to create an effect, however, as far as can tell, the brightness value actually sent to the LED is it[i] * light brightness.
EG if the light brightness is set to 50%, and you pass through a colour of 255,255,255, what actually gets applied to the light is ~127.~127.~127/
I would like to write my own brightness handling into the effect.
Is there a way to over-ride this behaviour and have total control of the LEDs?
In case someone wants a solution to this, mine is to create a second light and use its value within the lambda of the first. The second light is the one people control.
globals:
- id: global_magic
type: int
restore_value: no
initial_value: "0"
output:
- platform: template
id: magic_out
type: float
write_action:
then:
- lambda: |-
id(global_magic) = state*100;
light:
- platform: monochromatic
name: "Use this light"
id: magic_light
output: magic_out
gamma_correct: 1
default_transition_length: 0s
restore_mode: RESTORE_DEFAULT_OFF
- platform: neopixelbus
name: "This light is connected to your pixels"
effects:
- addressable_lambda:
name: "Amazing Effect"
update_interval: ${update_interval}
lambda: |-
int magic = id(global_magic);
...insert code here and use magic