diff --git a/Doxygen b/Doxygen index 7325891db..5442a097f 100644 --- a/Doxygen +++ b/Doxygen @@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2022.4.0b1 +PROJECT_NUMBER = 2022.4.0b2 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/Makefile b/Makefile index 1e5b40f1d..21e038fec 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.4.0b1 +ESPHOME_REF = 2022.4.0b2 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index 80f43d706..03b7a814b 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.4.0b1 \ No newline at end of file +2022.4.0b2 \ No newline at end of file diff --git a/changelog/2022.4.0.rst b/changelog/2022.4.0.rst index 34fb232ea..3f65dc270 100644 --- a/changelog/2022.4.0.rst +++ b/changelog/2022.4.0.rst @@ -15,7 +15,7 @@ ESPHome 2022.4.0 - 20th April 2022 Mi Motion Sensor 2, components/sensor/xiaomi_ble, xiaomi_rtcgq02lm.jpg Sonoff D1 Dimmer, components/light/sonoff_d1, sonoff_d1.jpg MCP3208, components/sensor/mcp3204, mcp3204.jpg - + Shelly Dimmer, components/light/shelly_dimmer, shellydimmer2.jpg Home Assistant Addon Repo @@ -56,6 +56,11 @@ Please upgrade your local python if you are unable to update ESPHome further. This is taken care of automatically if you are using the Home Assistant Add-on, or the ESPHome docker container. +Shelly Dimmer 2 +--------------- + +Support for the STM32 chip of the Shelly Dimmer has been added in this release. The component also supports flashing custom firmware to the +stm32 via ESPHome which is required to use the component. See the :doc:`documentation ` for more details. Google Fonts ------------ @@ -119,6 +124,7 @@ New Components - Add Xiaomi RTCGQ02LM - Mi Motion Sensor 2 :esphomepr:`3186` by :ghuser:`jesserockz` (new-integration) - Add Sonoff D1 Dimmer support :esphomepr:`2775` by :ghuser:`anatoly-savchenkov` (new-integration) - Refactor Sensirion Sensors :esphomepr:`3374` by :ghuser:`martgras` (new-integration) +- Add support for Shelly Dimmer 2 :esphomepr:`2954` by :ghuser:`rnauber` (new-integration) Breaking Changes ^^^^^^^^^^^^^^^^ @@ -130,6 +136,13 @@ Notable Changes - Font allow using google fonts directly :esphomepr:`3243` by :ghuser:`OttoWinter` (new-feature) (notable-change) +Beta Changes +^^^^^^^^^^^^ + +- Changes accuracy of single cell voltage :esphomepr:`3387` by :ghuser:`matthias882` +- Add support for Shelly Dimmer 2 :esphomepr:`2954` by :ghuser:`rnauber` (new-integration) +- Allocate smaller amount of buffer for JSON :esphomepr:`3384` by :ghuser:`dz0ny` + All changes ^^^^^^^^^^^ @@ -185,6 +198,9 @@ All changes - Fix silent config errors :esphomepr:`3380` by :ghuser:`jesserockz` - Move PN532OnTagTrigger to nfc::NfcOnTagTrigger :esphomepr:`3379` by :ghuser:`jesserockz` - Allow specifying deep sleep wakup clock time :esphomepr:`3312` by :ghuser:`jesserockz` (new-feature) +- Changes accuracy of single cell voltage :esphomepr:`3387` by :ghuser:`matthias882` +- Add support for Shelly Dimmer 2 :esphomepr:`2954` by :ghuser:`rnauber` (new-integration) +- Allocate smaller amount of buffer for JSON :esphomepr:`3384` by :ghuser:`dz0ny` Past Changelogs --------------- diff --git a/components/button/index.rst b/components/button/index.rst index 81d9d41b2..e8054733a 100644 --- a/components/button/index.rst +++ b/components/button/index.rst @@ -5,9 +5,14 @@ Button Component :description: Instructions for setting up button components in ESPHome. :image: folder-open.svg -ESPHome has support for components to create a button entity. A button entity is -basically a momentary switch with no state and can be triggered by either YAML or -the user/frontend. +.. note:: + + To attach a physical buttons to ESPHome, see + :doc:`GPIO Binary Sensor `. + +ESPHome has support for components to create button entities in Home Assistant. A button entity is +represented in ESPHome as a momentary switch with no state and can be triggered in Home Assistant +via the UI or automations. .. note:: @@ -96,8 +101,8 @@ Configuration variables: .. note:: - Buttons are designed to trigger an action on a device from Home Assistant, and have an unidirectional flow from - Home Assistant to ESPHome. If you press a button using this action, no button press event will be triggered in Home + Buttons are designed to trigger an action on a device from Home Assistant, and have an unidirectional flow from + Home Assistant to ESPHome. If you press a button using this action, no button press event will be triggered in Home Assistant. If you want to trigger an automation in Home Assistant, you should use a :ref:`Home Assistant event ` instead. 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/conf.py b/conf.py index 8012a059f..b05cdbe81 100644 --- a/conf.py +++ b/conf.py @@ -68,7 +68,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.4" # The full version, including alpha/beta/rc tags. -release = "2022.4.0b1" +release = "2022.4.0b2" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/guides/supporters.rst b/guides/supporters.rst index f441bdb81..13ce75cb0 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -364,6 +364,7 @@ Contributors - `Jérôme Laban (@jeromelaban) `__ - `Jesse Hills (@jesserockz) `__ - `Yuval Brik (@jhamhader) `__ +- `Joe (@jhansche) `__ - `Jim Bauwens (@jimbauwens) `__ - `Jérémy JOURDIN (@JJK801) `__ - `Jonathan Jefferies (@jjok) `__ @@ -478,6 +479,7 @@ Contributors - `matt123p (@matt123p) `__ - `Matteo Franceschini (@matteofranceschini) `__ - `Matthew Mazzanti (@matthewmazzanti) `__ +- `matthias882 (@matthias882) `__ - `Maurice Schleußinger (@maurice-schleussinger) `__ - `mbo18 (@mbo18) `__ - `mckaymatthew (@mckaymatthew) `__ @@ -727,7 +729,6 @@ Contributors - `Tempura San (@tempura-san) `__ - `testbughub (@testbughub) `__ - `Greg Lincoln (@tetious) `__ -- `Thane Gill (@thanegill) `__ - `Nejc (@thedexboy) `__ - `Thomas Eckerstorfer (@TheEggi) `__ - `TheGroundZero (@TheGroundZero) `__ @@ -817,4 +818,4 @@ Contributors - `Michael Labuschke (@zigman79) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated April 13, 2022.* +*This page was last updated April 14, 2022.* diff --git a/images/shellydimmer2.jpg b/images/shellydimmer2.jpg new file mode 100644 index 000000000..0d9186234 Binary files /dev/null and b/images/shellydimmer2.jpg differ 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