ESPHome 2021.12.0 - 11th December 2021
State of the Open Smart Home

Today is the State of the Open Smart Home hosted by Nabu Casa, Home Assistant & ESPHome
and we’ll be joined by our friends from WLED, Z-Wave JS, Stanford’s OVAL lab and Northeastern University to talk about our work on making this vision a reality.
Where: YouTube
When: Today, Saturday, December 11, at 11am PST / 8pm CET
## ButtonsThis release brings buttons from Home Assistant. Many times there have been questions on how to simply trigger automations from the Home Assistant frontend with a button so here you go. Here is a very simple example:
button:
- platform: template
name: Test Button
on_press:
then:
- logger.log: "The button was pressed!!!"
Multiple WiFi networks with static IP

This release has a fix that allows using multiple networks each with their own static IP address configuration.
When using these options, you must also set wifi
-> use_address
when installing new firmware as ESPHome
cannot know which IP address to use automatically.
The Dashboard and secrets

The ESPHome Dashboard will now save the wifi credentials as secrets (wifi_ssid
/ wifi_password
) for future use. If you are already using these secrets,
then the dashboard will not ask for credentials and will configure using them for you.
The dashboard also now can view the logs straight from a serial connected device via the web browser. It will show up as an option when choosing the method to view them.
NEC remote protocol

In this version, the order of transferring bits was corrected from MSB to LSB in accordance with the NEC standard.
Therefore, if the configuration file has come from an earlier version of ESPhome, it is necessary to reverse
the order of the address and command bits when moving to 2021.12 or above.
For example, address: 0x84ED
, command: 0x13EC
becomes 0xB721
and 0x37C8
respectively.
Tuya Covers

esphome#2637 adds new functionality to the Tuya cover component, but at the same time removes the “soft” inversion of the direction. Instead, it seems that most if not all tuya covers have a “hidden” datapoint that sets the direction on the secondary MCU. See the documentation for the new configuration options.
Release 2021.12.1 - December 15

- Set text sensor state property to filter output esphome#2893 by @oxan
- Allow button POST on press from web server esphome#2913 by @wilberforce
Release 2021.12.2 - December 21

- Don’t disable idle task WDT when it’s not enabled esphome#2856 by @oxan
- Fix MQTT button press action esphome#2917 by @oxan
Release 2021.12.3 - December 30

- Require arduino in webserver for better validation esphome#2941 by @jesserockz
- Only allow internal pins for dht sensor esphome#2940 by @jesserockz
- Workaround installing as editable package not working esphome#2936 by @jesserockz
- Remove -e for hassio images esphome#2964 by @jesserockz
Full list of changes

New Features

- pmsx003: add support for new PMS5003S device esphome#2710 by @NeoAcheron (new-feature)
- Add climate on_state trigger esphome#2707 by @dudanov (new-feature)
- Add greeyac protocol to IR Climate / HeatpumpIR esphome#2694 by @cmroche (new-feature)
- Provide an option to select unique_id generator esphome#2701 by @kbialek (new-feature)
- Ignore secrets yaml on command line esphome#2715 by @cvwillegen (new-feature)
- Add max_telegram_length option to dsmr esphome#2674 by @mmakaay (new-feature)
- Relax the icon validator to allow non-mdi icons esphome#2764 by @paulmonigatti (new-feature)
- Add support for P1 Data Request pin control esphome#2676 by @mmakaay (new-feature)
- Add support for sdp8xx esphome#2779 by @martgras (new-feature)
- Add map filter for text sensors esphome#2761 by @oxan (new-feature)
- Optionally show internal components on the web server esphome#2627 by @mechanarchy (new-feature)
- cse7766: add energy sensor esphome#2822 by @ianchi (new-feature)
- Allow Git credentials to be loaded from secrets esphome#2825 by @mechanarchy (new-feature)
- Expand uart invert feature to ESP8266 esphome#1727 by @Lewn (new-feature)
New Components

- Add ble_client binary_output esphome#2200 by @tekmaven (new-integration)
- Add support for button entities esphome#2824 by @jesserockz (new-integration)
Breaking Changes

- Fix NEC protocol implementation esphome#2534 by @dudanov (breaking-change)
- Tuya Cover improvements esphome#2637 by @pauln (breaking-change)
Beta Changes

- Feed watchdog during OTA esphome#2852 by @oxan
- Bump esphome-dashboard to 20211206.0 esphome#2870 by @jesserockz
- tlc59208f : fix compilation error esphome#2867 by @martgras
- ADC: Turn verbose the debugging “got voltage” esphome#2863 by @CarlosGS
- SPS30 : fix i2c read size esphome#2866 by @martgras
- Fix MCP23x17 not disabling pullup after config change esphome#2855 by @oxan
- Ignore already stopped dhcp for ethernet esphome#2862 by @madron
- Add endpoint to fetch secrets keys esphome#2873 by @jesserockz
- Adopt using wifi secrets that should exist at this point esphome#2874 by @jesserockz
- Allow wizard to specify secrets esphome#2875 by @jesserockz
- Feed watchdog when no component loops esphome#2857 by @oxan
- Bump esphome-dashboard to 20211207.0 esphome#2877 by @jesserockz
- Feed watchdog while setting up OTA esphome#2876 by @CarlosGS
- Use new platform component config blocks for wizard esphome#2885 by @jesserockz
- Bump esphome-dashboard to 20211208.0 esphome#2887 by @jesserockz
- Fix published state for modbus number esphome#2894 by @jesserockz
- Modbus number/output use write single esphome#2896 by @glmnet
- Fix for two points setting when fan_only_cooling is disabled esphome#2903 by @kbx81
- Bump esphome-dashboard to 20211211.0 esphome#2904 by @jesserockz
All changes

- Defines tidy esphome#2696 by @jesserockz
- pmsx003: add support for new PMS5003S device esphome#2710 by @NeoAcheron (new-feature)
- Add climate on_state trigger esphome#2707 by @dudanov (new-feature)
- Add greeyac protocol to IR Climate / HeatpumpIR esphome#2694 by @cmroche (new-feature)
- Fix rom/rtc.h deprecation compile warning for debug component esphome#2520 by @mmakaay
- Drop unused constants from const.py esphome#2718 by @oxan
- Install test requirements in lint Docker image esphome#2719 by @oxan
- Clean-up MAC address helpers esphome#2713 by @oxan
- Provide an option to select unique_id generator esphome#2701 by @kbialek (new-feature)
- Ignore secrets yaml on command line esphome#2715 by @cvwillegen (new-feature)
- Allow for subsecond sampling of hmc5883l esphome#2735 by @jaharkes
- Change log level from DEBUG to INFO for sniffing services of
rf_bridge
esphome#2736 by @nagyrobi - Add ble_client binary_output esphome#2200 by @tekmaven (new-integration)
- Remove duplicated const data in esp8266 boards esphome#2740 by @jesserockz
- Move to use improv lib from platformio esphome#2741 by @jesserockz
- Add max_telegram_length option to dsmr esphome#2674 by @mmakaay (new-feature)
- Changed LUT for DKE epaper on ttgo t5 2.13inch to improve partial rfresh esphome#2475 by @spattinson
- Fix NEC protocol implementation esphome#2534 by @dudanov (breaking-change)
- Remove arduino dependency from hm3301 esphome#2745 by @martgras
- Add retry handler esphome#2721 by @martgras
- Introduce str_snprintf helper function esphome#2780 by @oxan
- Prettier date time display after time sync esphome#2778 by @cvwillegen
- Fix distorted gif frames when resizing esphome#2774 by @davet2001
- fixed wrong setup-usage tc9548a esphome#2766 by @andreashergert1984
- Relax the icon validator to allow non-mdi icons esphome#2764 by @paulmonigatti (new-feature)
- Bump black from 21.10b0 to 21.11b1 esphome#2760 by @dependabot[bot]
- Update aht10.cpp to address issue #1635 esphome#2675 by @krunkel
- Add support for P1 Data Request pin control esphome#2676 by @mmakaay (new-feature)
- Allow specifying the dashboard bind address esphome#2787 by @jesserockz
- remove LEDC_HIGH_SPEED_MODE for C3, S2, S3 esphome#2791 by @martgras
- Fix LEDC resolution calculation on ESP32-C3/S2/S3 esphome#2794 by @rsumner
- Add support for sdp8xx esphome#2779 by @martgras (new-feature)
- Allow empty UART debug: option, logging in hex format by default esphome#2771 by @mmakaay
- Bump pylint from 2.11.1 to 2.12.1 esphome#2798 by @dependabot[bot]
- Fix CI cache key for test3.yaml compile esphome#2757 by @oxan
- Drop obsolete comment from CI workflow file esphome#2758 by @oxan
- Cache virtualenv instead of pip cache between CI runs esphome#2759 by @oxan
- Add map filter for text sensors esphome#2761 by @oxan (new-feature)
- Only match GCC warnings from ESPHome source files in CI esphome#2756 by @oxan
- Correct constant for dynamic I2S bus in NeoPixelBus esphome#2797 by @oxan
- Consistently format errors in CI scripts esphome#2762 by @oxan
- Cancel previous workflows for PRs and branches esphome#2800 by @jesserockz
- total_daily_energy: allow to disable restore mode esphome#2795 by @ianchi
- Modbus_controller: Add custom command. esphome#2680 by @martgras
- Fix usage of deprecated climate method in anova esphome#2801 by @oxan
- Make clang-tidy suggest stdint.h int types esphome#2820 by @oxan
- Fixed data type inside fast_random_8() routine esphome#2818 by @anatoly-savchenkov
- Improve DSMR read timeout handling esphome#2699 by @mmakaay
- Optionally show internal components on the web server esphome#2627 by @mechanarchy (new-feature)
- Fix custom mode_state_topic esphome#2827 by @definitio
- Add support for button entities esphome#2824 by @jesserockz (new-integration)
- Tuya text_sensor and raw data usage esphome#1812 by @dentra
- Fix 8266 SPI Clock Polarity Setting esphome#2836 by @kbx81
- Fix too-broad matcher for custom CI script esphome#2829 by @oxan
- cse7766: add energy sensor esphome#2822 by @ianchi (new-feature)
- Burst read for BME280, to reduce spurious spikes esphome#2809 by @CarlosGS
- Bump aioesphomeapi from 10.2.0 to 10.6.0 esphome#2840 by @dependabot[bot]
- Button device class esphome#2835 by @jesserockz
- Implement unit_of_measurement for number component esphome#2804 by @puuu
- Number mode esphome#2838 by @jesserockz
- Bump esphome-dashboard to 20211201.0 esphome#2842 by @jesserockz
- Allow Git credentials to be loaded from secrets esphome#2825 by @mechanarchy (new-feature)
- Fix compile warning in Tuya automations esphome#2837 by @oxan
- Add problem matcher for Python formatting errors esphome#2833 by @oxan
- Fix CI check for Windows line endings esphome#2831 by @oxan
- Don’t enable namespace comment clang-tidy check twice esphome#2830 by @oxan
- ESP32 Deep Sleep: correct level value esphome#2812 by @jhamhader
- Fix OTA updates on esp8266 by declaring arch_get_cpu_cycle_count IRAM_ATTR and HOT esphome#2843 by @Doridian
- Fix compilation using subprocesses esphome#2834 by @oxan
- Expand uart invert feature to ESP8266 esphome#1727 by @Lewn (new-feature)
- Support setting manual_ip under networks option esphome#2839 by @oxan
- Enable a bunch of clang-tidy checks esphome#2149 by @oxan
- Set ESP32 watchdog to loop task esphome#2846 by @oxan
- Tuya Cover improvements esphome#2637 by @pauln (breaking-change)
- Fix wifi not working with manual_ip using esp-idf esphome#2849 by @Maelstrom96
- modbus_controller: bugfix: enable overriding calculated register size esphome#2845 by @martgras
- Feed watchdog during OTA esphome#2852 by @oxan
- Bump esphome-dashboard to 20211206.0 esphome#2870 by @jesserockz
- tlc59208f : fix compilation error esphome#2867 by @martgras
- ADC: Turn verbose the debugging “got voltage” esphome#2863 by @CarlosGS
- SPS30 : fix i2c read size esphome#2866 by @martgras
- Fix MCP23x17 not disabling pullup after config change esphome#2855 by @oxan
- Ignore already stopped dhcp for ethernet esphome#2862 by @madron
- Add endpoint to fetch secrets keys esphome#2873 by @jesserockz
- Adopt using wifi secrets that should exist at this point esphome#2874 by @jesserockz
- Allow wizard to specify secrets esphome#2875 by @jesserockz
- Feed watchdog when no component loops esphome#2857 by @oxan
- Bump esphome-dashboard to 20211207.0 esphome#2877 by @jesserockz
- Feed watchdog while setting up OTA esphome#2876 by @CarlosGS
- Use new platform component config blocks for wizard esphome#2885 by @jesserockz
- Bump esphome-dashboard to 20211208.0 esphome#2887 by @jesserockz
- Fix published state for modbus number esphome#2894 by @jesserockz
- Modbus number/output use write single esphome#2896 by @glmnet
- Fix for two points setting when fan_only_cooling is disabled esphome#2903 by @kbx81
- Bump esphome-dashboard to 20211211.0 esphome#2904 by @jesserockz
Past Changelogs

- ESPHome 2021.11.0 - 17th November 2021
- ESPHome 2021.10.0 - 20th October 2021
- ESPHome 2021.9.0 - 15th September 2021
- ESPHome 2021.8.0 - 18th August 2021
- Changelog - Version 1.20.0 - 21st July 2021
- Changelog - Version 1.19.0 - 16th June 2021
- Changelog - Version 1.18.0 - 19th May 2021
- Changelog - Version 1.17.0 - 4th May 2021
- Changelog - Version 1.16.0 - February 3, 2021
- Changelog - Version 1.15.0 - September 13, 2020
- Changelog - Version 1.14.0 - November 1
- Changelog - Version 1.13.0 - May 30th 2019
- Changelog - Version 1.12.0
- Changelog - Version 1.11.0
- Changelog - Version 1.10.0
- Changelog - Version 1.9.0
- Version 1.8.0
- Version 1.7.0