From e73edf0fbb8e00fc7c907ebd72754dec558dde52 Mon Sep 17 00:00:00 2001 From: Cossid <83468485+Cossid@users.noreply.github.com> Date: Thu, 22 Dec 2022 15:39:49 -0600 Subject: [PATCH] Add documentation for new component BB1658CJ LED Driver (#2432) --- components/output/bp1658cj.rst | 168 +++++++++++++++++++++++++++++++++ images/bp1658cj.svg | 1 + index.rst | 1 + 3 files changed, 170 insertions(+) create mode 100644 components/output/bp1658cj.rst create mode 100644 images/bp1658cj.svg diff --git a/components/output/bp1658cj.rst b/components/output/bp1658cj.rst new file mode 100644 index 000000000..a961e7f33 --- /dev/null +++ b/components/output/bp1658cj.rst @@ -0,0 +1,168 @@ +BP1658CJ LED driver +=================== + +.. seo:: + :description: Instructions for setting up BP1658CJ LED drivers in ESPHome. + :keywords: BP1658CJ, Orein OS0100411267 RGBCT Bulb + +.. _bp1658cj-component: + +Component/Hub +------------- + +The BP1658CJ component represents a BP1658CJ LED diver chain in +ESPHome. Communication is done with two GPIO pins (DATA and CLK). + +To use the channels of this components, you first need to setup the +global ``bp1658cj`` hub and give it an id, and then define the +:ref:`individual output channels `. +It is used in some smart light bulbs: + +- Orein OS0100411267 RGBCT Bulb + +.. code-block:: yaml + + # Example configuration entry + bp1658cj: + data_pin: GPIO6 + clock_pin: GPIO7 + max_power_color_channels: 4 # Valid values 0-15 + max_power_white_channels: 6 # Valid values 0-15 + +Configuration variables: +************************ + +- **data_pin** (**Required**, :ref:`Pin Schema `): The pin used for DATA. +- **clock_pin** (**Required**, :ref:`Pin Schema `): The pin which CLK is + connected to. +- **id** (*Optional*, :ref:`config-id`): The id to use for + this ``bp1658cj`` component. Use this if you have multiple BP1658CJ chains + connected at the same time. +- **max_power_color_channels** (*Optional*, int 0-15): Adjusts the current supplied to the + color channels, higher is more power. Default is 2 per BP1658CJ datasheet. See table below. +- **max_power_white_channels** (*Optional*, int 0-15): Adjusts the current supplied to the + white channels, higher is more power. Default is 4 per BP1658CJ datasheet. See table below. + +.. note:: + + The LED driver may be able to tolerate more power than + the bulb is designed to handle, start with lower values + and increase slowly, comparing to a stock bulb to verify + what is safe for your model. + ++---------------------------------+-----------------+ +| max_power_white_channels value | actual current | ++=================================+=================+ +| 0 | 0 mA | ++---------------------------------+-----------------+ +| 1 | 5 mA | ++---------------------------------+-----------------+ +| 2 | 10 mA | ++---------------------------------+-----------------+ +| 3 | 15 mA | ++---------------------------------+-----------------+ +| 4 | 20 mA | ++---------------------------------+-----------------+ +| 5 | 25 mA | ++---------------------------------+-----------------+ +| 6 | 30 mA (default) | ++---------------------------------+-----------------+ +| 7 | 35 mA | ++---------------------------------+-----------------+ +| 8 | 40 mA | ++---------------------------------+-----------------+ +| 9 | 45 mA | ++---------------------------------+-----------------+ +| 10 | 50 mA | ++---------------------------------+-----------------+ +| 11 | 55 mA | ++---------------------------------+-----------------+ +| 12 | 60 mA | ++---------------------------------+-----------------+ +| 13 | 65 mA | ++---------------------------------+-----------------+ +| 14 | 70 mA | ++---------------------------------+-----------------+ +| 15 | 75 mA | ++---------------------------------+-----------------+ + ++---------------------------------+-----------------+ +| max_power_color_channels value | actual current | ++=================================+=================+ +| 0 | 0 mA | ++---------------------------------+-----------------+ +| 1 | 10 mA | ++---------------------------------+-----------------+ +| 2 | 20 mA | ++---------------------------------+-----------------+ +| 3 | 30 mA | ++---------------------------------+-----------------+ +| 4 | 40 mA (default) | ++---------------------------------+-----------------+ +| 5 | 50 mA | ++---------------------------------+-----------------+ +| 6 | 60 mA | ++---------------------------------+-----------------+ +| 7 | 70 mA | ++---------------------------------+-----------------+ +| 8 | 80 mA | ++---------------------------------+-----------------+ +| 9 | 90 mA | ++---------------------------------+-----------------+ +| 10 | 100 mA | ++---------------------------------+-----------------+ +| 11 | 110 mA | ++---------------------------------+-----------------+ +| 12 | 120 mA | ++---------------------------------+-----------------+ +| 13 | 130 mA | ++---------------------------------+-----------------+ +| 14 | 140 mA | ++---------------------------------+-----------------+ +| 15 | 150 mA | ++---------------------------------+-----------------+ + +.. _bp1658cj-output: + +Output +------ + +The BP1658CJ output component exposes a BP1658CJ channel of a global +:ref:`bp1658cj-component` as a float output. + +.. code-block:: yaml + + # Individual outputs + output: + - platform: bp1658cj + id: output_red + channel: 1 + +Configuration variables: +************************ + +- **id** (**Required**, :ref:`config-id`): The id to use for this output component. +- **channel** (**Required**, int): Chose the channel of the BP1658CJ chain of + this output component. +- **bp1658cj_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the + :ref:`bp1658cj-component`. + Use this if you have multiple BP1658CJ chains you want to use at the same time. +- All other options from :ref:`Output `. + +.. note:: + + This driver does support enabling of both the color and the white channels + at the same time, but it is not encourage. Therefore, the :ref:`rgbw_color_interlock` + should be set to true when using this driver for safest operation. + +See Also +-------- + +- :doc:`/components/output/index` +- :doc:`/components/output/esp8266_pwm` +- :doc:`/components/output/sm2135` +- :doc:`/components/light/rgb` +- :doc:`/components/light/rgbw` +- :doc:`/components/light/rgbww` +- :doc:`/components/power_supply` +- :ghedit:`Edit` diff --git a/images/bp1658cj.svg b/images/bp1658cj.svg new file mode 100644 index 000000000..f900e8372 --- /dev/null +++ b/images/bp1658cj.svg @@ -0,0 +1 @@ +BP1658CJ \ No newline at end of file diff --git a/index.rst b/index.rst index 617b7a913..55c6ffb6a 100644 --- a/index.rst +++ b/index.rst @@ -443,6 +443,7 @@ Output Components Modbus Output, components/output/modbus_controller, modbus.png Custom Output, components/output/custom, language-cpp.svg Template Output, components/output/template, description.svg + BP1658CJ, components/output/bp1658cj, bp1658cj.svg BP5758D, components/output/bp5758d, bp5758d.svg Light Components