2018-05-13 11:37:02 +02:00
RGB Light
=========
2018-11-14 22:12:27 +01:00
.. seo ::
2019-02-16 23:25:23 +01:00
:description: Instructions for setting up RGB lights in ESPHome.
2018-11-14 22:12:27 +01:00
:image: rgb.png
2018-06-01 18:10:00 +02:00
The `` rgb `` light platform creates an RGB light from 3 :ref: `float output components <output>`
(one for each color channel).
2018-05-13 11:37:02 +02:00
2018-06-01 18:10:00 +02:00
.. figure :: images/rgb-strip.jpg
:align: center
:width: 75.0%
Example of an RGB LED strip that can be used with this component.
.. figure :: images/rgb-ui.png
:align: center
:width: 40.0%
2018-05-13 11:37:02 +02:00
2018-11-19 18:32:16 +01:00
.. code-block :: yaml
2018-05-13 11:37:02 +02:00
# Example configuration entry
light:
- platform: rgb
name: "Living Room Lights"
red: output_component1
green: output_component2
blue: output_component3
2019-02-16 23:25:23 +01:00
# Example output entry
output:
- platform: esp8266_pwm
id: output_component1
pin: D1
# Repeat for green and blue output
2019-12-07 17:15:41 +01:00
Color Correction
----------------
It is often favourable to calibrate/correct the color produced by an LED strip light as the
perceived intensity of different colors will generally vary. This can be done by using
:ref: `max_power <config-output>` on individual output channels:
.. code-block :: yaml
# Example configuration entry
light:
- platform: rgb
name: "Living Room Lights"
red: output_component1
green: output_component2
blue: output_component3
# Example output entry
output:
- platform: esp8266_pwm
id: output_component1
pin: D1
max_power: 80%
# Repeat for green and blue output
2021-11-29 11:16:34 +01:00
.. note ::
Remember that `` gamma_correct `` is enabled by default (`` γ =2.8`` ), and you may want take it into account for the calibration. For instance if you command a light to *50%* brightness and want it to be the new maximum: `` max_PWM_power = max_light_power^2.8 = 0.5^2.8 = 0.144 `` , then you would set `` max_power `` to *14.4%* .
2019-12-07 17:15:41 +01:00
2018-05-13 11:37:02 +02:00
Configuration variables:
2018-08-24 22:44:01 +02:00
------------------------
2018-05-13 11:37:02 +02:00
2018-06-01 18:10:00 +02:00
- **name** (**Required** , string): The name of the light.
- **red** (**Required** , :ref: `config-id` ): The id of the float :ref: `output` to use for the red channel.
- **green** (**Required** , :ref: `config-id` ): The id of the float :ref: `output` to use for the green channel.
- **blue** (**Required** , :ref: `config-id` ): The id of the float :ref: `output` to use for the blue channel.
2018-08-22 22:05:28 +02:00
- **effects** (*Optional* , list): A list of :ref: `light effects <light-effects>` to use for this light.
2018-06-01 18:10:00 +02:00
- **id** (*Optional* , :ref: `config-id` ): Manually specify the ID used for code generation.
2019-05-12 22:44:59 +02:00
- All other options from :ref: `Light <config-light>` .
2018-06-01 18:10:00 +02:00
See Also
2018-08-24 22:44:01 +02:00
--------
2018-06-01 18:10:00 +02:00
.. figure :: images/rgb-detail.jpg
:align: center
:width: 75.0%
2019-02-07 13:54:45 +01:00
- :doc: `/components/output/index`
- :doc: `/components/light/index`
- :doc: `/components/light/rgbw`
2021-08-10 11:29:11 +02:00
- :doc: `/components/light/rgbww`
- :doc: `/components/light/rgbct`
2019-02-07 13:54:45 +01:00
- :doc: `/components/power_supply`
- :doc: `/components/output/ledc`
- :doc: `/components/output/esp8266_pwm`
- :doc: `/components/output/pca9685`
2019-10-14 11:38:20 +02:00
- :doc: `/components/output/tlc59208f`
2019-02-07 13:54:45 +01:00
- :doc: `/components/output/my9231`
2019-05-31 15:06:16 +02:00
- :doc: `/components/output/sm16716`
2019-05-12 22:44:59 +02:00
- :apiref: `rgb/rgb_light_output.h`
2019-02-07 13:54:45 +01:00
- :ghedit: `Edit`