From 851c2605ab4e4e50d2590da2e4eaeaf9c44d3852 Mon Sep 17 00:00:00 2001 From: rnauber <7414650+rnauber@users.noreply.github.com> Date: Thu, 14 Apr 2022 03:14:02 +0200 Subject: [PATCH] Add documentation for Shelly Dimmer 2 (#1753) Co-authored-by: Richard Nauber Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> --- components/light/shelly_dimmer.rst | 99 +++++++++++++++++++++++++++++ images/shellydimmer2.jpg | Bin 0 -> 7987 bytes index.rst | 1 + 3 files changed, 100 insertions(+) create mode 100644 components/light/shelly_dimmer.rst create mode 100644 images/shellydimmer2.jpg diff --git a/components/light/shelly_dimmer.rst b/components/light/shelly_dimmer.rst new file mode 100644 index 000000000..8313290fe --- /dev/null +++ b/components/light/shelly_dimmer.rst @@ -0,0 +1,99 @@ +Shelly Dimmer +============= + +.. seo:: + :description: Instructions for setting up a Shelly Dimmer 2. + :image: shellydimmer2.jpg + +The ``shelly_dimmer`` component adds support for the dimming and power-metering functionality that can be found the `Shelly Dimmer 2 `_. The interaction with mains is done via an STM32 microcontroller that is flashed with an `open source firmware `_. +A detailed analysis of the Shelly Dimmer 2 hardware is given `here `_. + +.. figure:: ../../images/shellydimmer2.jpg + :align: center + :width: 40.0% + + +An example of a configuration of this component: + +.. code-block:: yaml + + logger: + baud_rate: 0 + + uart: + tx_pin: 1 + rx_pin: 3 + baud_rate: 115200 + sensor: + + light: + - platform: shelly_dimmer + name: Shelly Dimmer 2 Light + id: thislight + power: + name: Shelly Dimmer 2 Light Power + voltage: + name: Shelly Dimmer 2 Light Voltage + current: + name: Shelly Dimmer 2 Light Current + max_brightness: 500 + firmware: + version: "51.6" + update: true + + +Configuration variables: +------------------------ + +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the UART hub. + +.. note:: + + Currently, only the first hardware UART of the ESP is supported, which has to be configured like this: + + .. code-block:: yaml + + uart: + tx_pin: 1 + rx_pin: 3 + baud_rate: 115200 + + +- **name** (**Required**, string): The name of the light. +- **leading_edge** (**Optional**, boolean): `Dimming mode `_: "true" means leading edge, "false" (default) is trailing edge. +- **min_brightness** (**Optional**, int): Minimum brightness value on a scale from 0..1000, the default is 0. +- **max_brightness** (**Optional**, int): Maximum brightness value on a scale from 0..1000, the default is 1000. +- **warmup_brightness** (**Optional**, int): Brightness threshold below which the dimmer switches on later in mains current cycle. `This might help with dimming LEDs `_. The value is from 0..1000 with an default of 0. +- **nrst_pin** (**Optional**, :ref:`config-pin`): Pin connected with "NRST" of STM32. The default is "GPIO5". +- **boot0_pin** (**Optional**, :ref:`config-pin`): Pin connected with "BOOT0" of STM32. The default is "GPIO4". +- **current** (**Optional**): Sensor of the current in Amperes. All options from + :ref:`Sensor `. +- **voltage** (**Optional**): Sensor of the voltage in Volts. Only accurate if neutral is connected. All options from :ref:`Sensor `. +- **power** (**Optional**): Sensor of the active power in Watts. Only accurate if neutral is connected. All options from :ref:`Sensor `. +- **firmware** (**Optional**): + - **version** (**Optional**): Version string of the `firmware `_ that will be expected on the microcontroller. The default is "51.6", another known-good firmware is "51.5". + - **url** (**Optional**): An URL to download the firmware from. Defaults to github for known firmware versions. + - **sha256** (**Optional**): A hash to compare the downloaded firmware against. Defaults a proper hash of known firmware versions. + - **update** (**Optional**): Should the firmware of the STM be updated if necessary? The default is false. + +.. note:: + + When flashing Shelly Dimmer with esphome for the first time, flashing the STM firmware is necessary too for the dimmer to work: + + .. code-block:: yaml + + firmware: + version: "51.6" #<-- set version here + update: true + + +- All other options from :ref:`Light `. + + +See Also +-------- + +- :doc:`/components/light/index` +- :apiref:`shelly_dimmer/light/shelly_dimmer.h` +- :ghedit:`Edit` diff --git a/images/shellydimmer2.jpg b/images/shellydimmer2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d9186234702ca338167109b493a947fc32add27 GIT binary patch literal 7987 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 PA4^_DQTOLzy{P{KZphyN literal 0 HcmV?d00001 diff --git a/index.rst b/index.rst index 090b21ef6..c75a4cb58 100644 --- a/index.rst +++ b/index.rst @@ -465,6 +465,7 @@ Light Components Light Partition, components/light/partition, color_lens.svg Tuya Dimmer, components/light/tuya, tuya.png + Shelly Dimmer, components/light/shelly_dimmer, shellydimmer2.jpg Custom Light, components/light/custom, language-cpp.svg H-bridge Light, components/light/hbridge, brightness-medium.svg