TCS34725 RGB Color Sensor ========================= .. seo:: :description: Instructions for setting up TCS34725 RGB color sensors. :image: tcs34725.jpg :keywords: tcs34725 The ``tcs34725`` sensor platform allows you to use your TCS34725 RGB color sensors (`datasheet `__, `Adafruit`_), color temperature and illuminance sensors with ESPHome. The :ref:`I²C ` is required to be set up in your configuration for this sensor to work. Note: If the `integration_time` is set too long for the light conditions, the sensor will overexpose. In this case the sensor may not show 100% on its clear channel. With an `integration_time` of `614ms` and a `gain` of `1x` the sensor will max out at around 4100 lx. In this case the individual color channels will show `100%`, the clear channel `25%`. The illumination in lux is shown as `0` as well as the color temperature in kelvin will show `0`. .. figure:: images/tcs34725-full.jpg :align: center :width: 50.0% TCS34725 RGB Color Sensor .. _Adafruit: https://www.adafruit.com/product/1334 .. figure:: images/tcs34725-ui.png :align: center :width: 80.0% .. code-block:: yaml # Example configuration entry sensor: - platform: tcs34725 red_channel: name: "TCS34725 Red Channel" green_channel: name: "TCS34725 Green Channel" blue_channel: name: "TCS34725 Blue Channel" clear_channel: name: "TCS34725 Clear Channel" illuminance: name: "TCS34725 Illuminance" color_temperature: name: "TCS34725 Color Temperature" gain: 1x integration_time: 2.4ms glass_attenuation_factor: 1.0 address: 0x29 update_interval: 60s Configuration variables: ------------------------ - **red_channel** (*Optional*): Value of the red color channel relative to the clear channel, as a percentage. All options from :ref:`Sensor `. - **green_channel** (*Optional*): Value of the green color channel relative to the clear channel, as a percentage. All options from :ref:`Sensor `. - **blue_channel** (*Optional*): Value of the blue color channel relative to the clear channel, as a percentage. All options from :ref:`Sensor `. - **clear_channel** (*Optional*): Value of the clear (without a color filter) channel, relative to the maximum value for the chosen integration time. All options from :ref:`Sensor `. - **illuminance** (*Optional*): Get the total illuminance of the sensor in lx. - **color_temperature** (*Optional*): Get the calculated color temperature of the light in Kelvin. - **gain** (*Optional*): Set the gain for the internal ADCs to work better in certain low-light conditions. Valid values are ``1x`` (default), ``4x``, ``16x``, ``60x`` (highest gain). Will be overwritten if auto integration time is used - **integration_time** (*Optional*): The amount of time the light sensor is exposed. Valid values are ``auto`` (default), ``2.4ms``, ``24ms``, ``50ms``, ``101ms``, ``120ms``, ``154ms``, ``180ms``, ``199ms``, ``240ms``, ``300ms``, ``360ms``, ``401ms``, ``420ms``, ``480ms``, ``499ms``, ``540ms``, ``600ms``, ``614ms``. - **glass_attenuation_factor** (*Optional*): The attenuation factor of glass if it's behind some glass facia. Default is ``1.0`` means ``100%`` transmissivity. ``2`` means ``50%`` transmissivity etc. - **address** (*Optional*, int): Manually specify the I²C address of the sensor. Defaults to ``0x29``. - **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``. For many applications, you can use AUTO timing or leave integration time empty to have the ESP select a suitable gain setting based on the previous measurement. If light levels change dramatically this may cause the next reading to saturate, after which the gain will adjust down and subsequent readings will be in range. If auto is used in a dynamic environment an update rate of 1 second is best. Filters can be used to throttle the output and prevent updates of marginal changes like: .. code-block:: yaml illuminance: name: "TCS34725 Illuminance" filters: - or: - delta: 50 - throttle: 60sec When using integration times lower than 154ms the accuracy of the sensor drops with no further gain in possible light accumulation. Use faster timings only if fast readout is necessary with stable light conditions recommended. See Also -------- - :ref:`sensor-filters` - `TCS34725 library `__ by `Adafruit `__ - :apiref:`tcs34725/tcs34725.h` - :ghedit:`Edit`