mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-11-08 09:52:07 +01:00
fd4fd55333
I have a Costco Feit A19 that is similar but different. It is actually a RGBCT. I was wondering if we could post it here or otherwise make clear that there are alternate configs for Feit A19 bulbs. Maybe just warning people that there are several models of Feit A19 RGB/white bulbs is enough to not confuse people like me that used the sample code. Also, whoTF makes 2 nearly identical bulbs but with different pinouts WTF is that about, Feit electric? My change is to the pins of the sm16716 and changing it to an RGBCT bulb.
241 lines
6.5 KiB
ReStructuredText
241 lines
6.5 KiB
ReStructuredText
SM16716 LED driver
|
|
==================
|
|
|
|
.. seo::
|
|
:description: Instructions for setting up SM16716 LED drivers in ESPHome.
|
|
:image: sm16716.svg
|
|
:keywords: SM16716, Feit Electric A19 Smart WiFi Bulb, Merkury Innovations A21 Smart Wi-Fi Bulb
|
|
|
|
.. _sm16716-component:
|
|
|
|
Component/Hub
|
|
-------------
|
|
|
|
The SM16716 component represents a SM16716 LED diver chain
|
|
(`SM16716 description <https://github.com/sowbug/sm16716/blob/master/SM16716%20Datasheet%20%5BChinese%5D.pdf>`__,
|
|
`SM16716 description <https://github.com/sowbug/sm16716/blob/master/SM16716%20Datasheet%20%5BChinese%5D.pdf>`__) in
|
|
ESPHome. Communication is done with two GPIO pins (MOSI and SCLK) and multiple
|
|
driver chips can be chained. It is used in some smart light bulbs:
|
|
|
|
- Feit Electric A19 Smart WiFi Bulb
|
|
- Merkury Innovations A21 Smart Wi-Fi Bulb
|
|
|
|
To use the channels of this components, you first need to setup the
|
|
global ``sm16716`` hub and give it an id, and then define the
|
|
:ref:`individual output channels <sm16716-output>`.
|
|
|
|
.. code-block:: yaml
|
|
|
|
# Example configuration entry
|
|
sm16716:
|
|
data_pin: GPIO14
|
|
clock_pin: GPIO4
|
|
num_channels: 3
|
|
num_chips: 1
|
|
|
|
# Individual outputs
|
|
output:
|
|
- platform: sm16716
|
|
id: output_red
|
|
channel: 0
|
|
- platform: sm16716
|
|
id: output_green
|
|
channel: 1
|
|
- platform: sm16716
|
|
id: output_blue
|
|
channel: 2
|
|
|
|
Configuration variables:
|
|
************************
|
|
|
|
- **data_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The pin used for MOSI.
|
|
- **clock_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The pin which SCLK is
|
|
connected to.
|
|
- **num_channels** (*Optional*, int): Total number of channels of the whole
|
|
chain. Must be in range from 3 to 255. Defaults to 3.
|
|
- **num_chips** (*Optional*, int): Number of chips in the chain. Must be
|
|
in range from 1 to 85. Defaults to 1.
|
|
- **id** (*Optional*, :ref:`config-id`): The id to use for
|
|
this ``sm16716`` component. Use this if you have multiple SM16716 chains
|
|
connected at the same time.
|
|
|
|
.. _sm16716-output:
|
|
|
|
Output
|
|
------
|
|
|
|
The SM16716 output component exposes a SM16716 channel of a global
|
|
:ref:`sm16716-component` as a float output.
|
|
|
|
.. code-block:: yaml
|
|
|
|
# Example configuration entry
|
|
sm16716:
|
|
data_pin: GPIO14
|
|
clock_pin: GPIO4
|
|
num_channels: 3
|
|
num_chips: 1
|
|
|
|
# Individual outputs
|
|
output:
|
|
- platform: sm16716
|
|
id: output_red
|
|
channel: 0
|
|
- platform: sm16716
|
|
id: output_green
|
|
channel: 1
|
|
- platform: sm16716
|
|
id: output_blue
|
|
channel: 2
|
|
|
|
Configuration variables:
|
|
************************
|
|
|
|
- **id** (**Required**, :ref:`config-id`): The id to use for this output component.
|
|
- **channel** (**Required**, int): Chose the channel of the SM16716 chain of
|
|
this output component.
|
|
- **sm16716_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the
|
|
:ref:`sm16716-component`.
|
|
Use this if you have multiple SM16716 chains you want to use at the same time.
|
|
- All other options from :ref:`Output <config-output>`.
|
|
|
|
Feit Electric A19 Smart WiFi Bulb
|
|
---------------------------------
|
|
|
|
This component can be used with a version of a Feit Electric A19 smart light bulb. You can use
|
|
tuya-convert to flash the bulb. The cold white LEDs are connected to PWM1 and the
|
|
warm white LEDs are connected to PWM2. The RGB LEDs are connected to a SM16716
|
|
chip that is connected to GPIO4 for clock, GPIO14 for data, and GPIO13 for power.
|
|
A complete configuration for a Feit Electric A19 looks like:
|
|
|
|
.. code-block:: yaml
|
|
|
|
esphome:
|
|
name: REPLACEME
|
|
friendly_name: REPLACEME
|
|
|
|
esp8266:
|
|
board: esp01_1m
|
|
|
|
wifi:
|
|
ssid: !secret wifi_ssid
|
|
password: !secret wifi_password
|
|
|
|
api:
|
|
|
|
logger:
|
|
|
|
ota:
|
|
|
|
sm16716:
|
|
data_pin: GPIO14
|
|
clock_pin: GPIO4
|
|
num_channels: 3
|
|
num_chips: 1
|
|
|
|
output:
|
|
- platform: sm16716
|
|
id: output_red
|
|
channel: 0
|
|
power_supply: rgb_power
|
|
- platform: sm16716
|
|
id: output_green
|
|
channel: 1
|
|
power_supply: rgb_power
|
|
- platform: sm16716
|
|
id: output_blue
|
|
channel: 2
|
|
power_supply: rgb_power
|
|
- platform: esp8266_pwm
|
|
id: output_cold_white
|
|
pin: GPIO5
|
|
- platform: esp8266_pwm
|
|
id: output_warm_white
|
|
pin: GPIO12
|
|
|
|
light:
|
|
- platform: rgbww
|
|
name: ${friendly_name}
|
|
id: light
|
|
red: output_red
|
|
green: output_green
|
|
blue: output_blue
|
|
cold_white: output_cold_white
|
|
warm_white: output_warm_white
|
|
cold_white_color_temperature: 6500 K
|
|
warm_white_color_temperature: 2700 K
|
|
|
|
power_supply:
|
|
- id: rgb_power
|
|
pin: GPIO13
|
|
|
|
.. note::
|
|
|
|
The white LEDs are much brighter than the color LEDs and will fully overpower
|
|
the set color when the white level is set even a little bit high. You will need
|
|
to set the white level to 0 in order to get usable colors from this bulb.
|
|
|
|
Alternative Costco Feit A19 RGBCT bulb configuration:
|
|
|
|
.. code-block:: yaml
|
|
|
|
sm16716:
|
|
data_pin: GPIO12
|
|
clock_pin: GPIO14
|
|
num_channels: 3
|
|
num_chips: 1
|
|
|
|
output:
|
|
- platform: sm16716
|
|
id: output_red
|
|
channel: 2
|
|
power_supply: rgb_power
|
|
- platform: sm16716
|
|
id: output_green
|
|
channel: 1
|
|
power_supply: rgb_power
|
|
- platform: sm16716
|
|
id: output_blue
|
|
channel: 0
|
|
power_supply: rgb_power
|
|
- platform: esp8266_pwm
|
|
id: output_color_temperature
|
|
inverted: true
|
|
pin: GPIO5
|
|
- platform: esp8266_pwm
|
|
id: output_brightness
|
|
min_power: 0.05
|
|
zero_means_zero: true
|
|
pin: GPIO4
|
|
|
|
light:
|
|
- platform: rgbct
|
|
name: ${friendly_name}
|
|
id: outside
|
|
red: output_red
|
|
green: output_green
|
|
blue: output_blue
|
|
color_temperature: output_color_temperature
|
|
white_brightness: output_brightness
|
|
cold_white_color_temperature: 153 mireds
|
|
warm_white_color_temperature: 370 mireds
|
|
color_interlock: true
|
|
|
|
power_supply:
|
|
- id: rgb_power
|
|
pin: GPIO13
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
- :doc:`/components/output/index`
|
|
- :doc:`/components/output/esp8266_pwm`
|
|
- :doc:`/components/light/rgb`
|
|
- :doc:`/components/light/rgbw`
|
|
- :doc:`/components/light/rgbww`
|
|
- :doc:`/components/power_supply`
|
|
- :apiref:`output/sm16716_output_component.h`
|
|
- `An Arduino controller for SM16716-based LED strings. <https://github.com/sowbug/sm16716>`__ by `@snowbug <https://github.com/sowbug>`__
|
|
- :ghedit:`Edit`
|