ESPHome 2021.9.0 - 15th September 2021
Web Server Vulnerability

It was brought to our attention by @andir that the Web Server Component had a vulnerability in that
the OTA form could be POST’d to without the basic auth credentials set in the web_server
configuration.
If you use the web_server
and rely on the credentials for security, then you need to upgrade to 2021.9.2 or
disable the web_server
completely. The Security Advisory on GitHub
has been given
CVE-2021-41104
.
Home Assistant Yellow

You get the most out of your ESPHome devices when you combine it with Home Assistant,
which offers a seamless and local integration to control and manage all your ESPHome devices.
Today Home Assistant launched a crowdfunding campaign for the Home Assistant Yellow,
the easiest way to get started with Home Assistant and a privacy focused smart home.
API Encryption

@OttoWinter has been hard at work adding a layer of encryption to the API which utilises the
noise
protocol. This releases adds the capabilities to ESPHome devices, but Home Assistant (or other clients)
will need to upgrade their client libraries (e.g. aioesphomeapi
) before they can connect and communicate to
devices with encryption. This is scheduled to be available in Home Assistant 2021.10.
Git Packages

Packages have been extended to allow loading (multiple) YAML file(s) from a git repo. Take a look at the examples to see how to use them.
Midea AC

platform: midea_ac
has been changed to platform: midea
in this release and has
quite a few upgrades. Check the docs for the new features. Midea Air Conditioner
SDM Meters

SDM Meters have been fixed to use kWh instead of Wh as the energy unit of measurement.
Template Select/Number/Switch

The template selects, numbers and switches now have more validations on them preventing weird usage.
If you do not set a lambda
then you are required to make them either optimistic: true
, or
utilise the set_action
(select/number) / turn_on_trigger
(switch).
Release 2021.9.1 - September 20

- Fix MQTT discovery for sensor state_class esphome#2331 by @paulmonigatti
- Light transition fixes esphome#2320 by @oxan
- Cease using deprecated Cover methods in automations esphome#2326 by @oxan
- Apply color brightness to addressable light effects esphome#2321 by @oxan
- Add readv and writev for more efficient API packets esphome#2342 by @OttoWinter
- Clean-up sensor integration esphome#2275 by @oxan
Release 2021.9.2 - September 28

- Bump aioesphomeapi to 9.1.1 esphome#2350 by @OttoWinter
- Midea fix esphome#2395 by @dudanov
- Move web_server auth to web_server_base be965a6
by @OttoWinter
- Fix lint issues in web_server_base esphome#2409 by @jesserockz
Release 2021.9.3 - October 7

- Re-enable TCP nodelay for ESP32 esphome#2390 by @OttoWinter
- Bump aioesphomeapi from 9.1.1 to 9.1.2 esphome#2426 by @dependabot[bot]
- Fix socket abstraction for ESP-IDF v4 esphome#2434 by @agners
- Bump aioesphomeapi from 9.1.2 to 9.1.4 esphome#2443 by @dependabot[bot]
- Add log line to show if API encryption is being used esphome#2450 by @jesserockz
- API encryption switch to libsodium backend esphome#2456 by @OttoWinter
Full list of changes

New Features

- Add H-Bridge fan component esphome#2212 by @WeekendWarrior1 (new-feature)
- Allow using a git source for a package esphome#2193 by @jesserockz (new-feature)
New Components

- Add st7920 display, esphome#1440 by @marsjan155 (new-integration)
- Support for the AirThings Wave Plus esphome#1656 by @jeromelaban (new-integration)
Breaking Changes

- Fix SDM energy units to be KILO… esphome#2206 by @jesserockz (breaking-change)
- Reject template select/number/switches that don’t handle user input esphome#2230 by @oxan (breaking-change)
- Remove last_reset_type and convert all those sensors to TOTAL_INCREASING esphome#2233 by @jesserockz (breaking-change)
- Midea support v2 esphome#2188 by @dudanov (breaking-change)
Beta Fixes

- Fix a few ESP32-C3 compiler issues esphome#2265 by @jesserockz
- sm300d2: Accept (undocumented) 0x80 checksum offset. esphome#2263 by @poptix
- Disable automatic usage of SNTP servers from DHCP esphome#2273 by @oxan
- Only try compat parsing after regular parsing fails esphome#2269 by @oxan
- Suppress excessive warnings about deprecated Fan interfaces esphome#2270 by @oxan
- t6615: tolerate sensor dropping commands esphome#2255 by @jasstrong
- Fix API socket issues esphome#2288 by @OttoWinter
- Bump platformio to 5.2.0 esphome#2291 by @OttoWinter
- API Noise logging esphome#2298 by @OttoWinter
- Fix api noise explicit reject esphome#2297 by @OttoWinter
- Allow simple hostname for sntp servers esphome#2300 by @jesserockz
- Fix binary strobe esphome#2301 by @jesserockz
- Fix unit of measurement fields for DSMR power consumed/delivered fields esphome#2304 by @jsuanet
- Simple time.sleep in place of threading wait due to upgraded zeroconf esphome#2307 by @jesserockz
- Fix aioesphomeapi API logger with explicit API port config esphome#2310 by @mmakaay
- Start a wifi scan after saving station details esphome#2315 by @jesserockz
All changes

- Minor code cleanup in light components esphome#2162 by @mmakaay
- Add device class update to binary sensor esphome#2170 by @frenck
- Total daily energy methods esphome#2163 by @nuttytree
- Set SDM voltage state class to measurement esphome#2181 by @jesserockz
- Add macros header with more usable Arduino version defines esphome#2145 by @oxan
- Clean-up constant definitions esphome#2148 by @oxan
- Remove double scheduling from addressable lights esphome#1963 by @oxan
- Reduce static RAM usage esphome#2140 by @oxan
- Fix template select log message mentioning number esphome#2194 by @jesserockz
- Add deprecated attribute to some deprecated types/methods esphome#2185 by @oxan
- Store source package in Component for debugging esphome#2070 by @OttoWinter
- ST7789V: Make backlight_pin optional esphome#2180 by @speijnik
- Fix SDM energy units to be KILO… esphome#2206 by @jesserockz (breaking-change)
- Optionally set direction on fan.turn_on action esphome#2171 by @WeekendWarrior1
- Add st7920 display, esphome#1440 by @marsjan155 (new-integration)
- Fix css/js file loading for webserver when esphome not executed form config directory esphome#2207 by @jesserockz
- cs_pin made optional for ili9341 esphome#2219 by @a13ssandr0
- Fix Packages when using MQTT esphome#2210 by @paulmonigatti
- Update known boards esphome#2190 by @oxan
- Bump dashboard to 20210826.0 esphome#2211 by @jesserockz
- Remove footer validation for fujitsu_general esphome#2196 by @marciogranzotto
- Glmnet schema 202105 esphome#2220 by @glmnet
- Add H-Bridge fan component esphome#2212 by @WeekendWarrior1 (new-feature)
- Bump black from 21.7b0 to 21.8b0 esphome#2222 by @dependabot[bot]
- Bump pytest from 6.2.4 to 6.2.5 esphome#2223 by @dependabot[bot]
- Support for the AirThings Wave Plus esphome#1656 by @jeromelaban (new-integration)
- Fix some lint errors in pylint 2.10.2 esphome#2226 by @jesserockz
- Add transitions to light flash esphome#2201 by @alexyao2015
- iBeacon support for ble_presence esphome#1627 by @ignisf
- Cleanup flash transitions esphome#2227 by @alexyao2015
- Add is_on and is_off conditions for the fan component esphome#2225 by @nuttytree
- Bump pylint from 2.9.6 to 2.10.2 esphome#2197 by @dependabot[bot]
- mqtt_sensor: properly send state_class via MQTT esphome#2228 by @ayufan
- Change uptime’s state_class to total_increasing (esphome/issues#2337) esphome#2205 by @DAVe3283
- Expose WHITE/CWWW/RGBCT color modes over MQTT esphome#2231 by @oxan
- Reject template select/number/switches that don’t handle user input esphome#2230 by @oxan (breaking-change)
- Fix UARTComponent hardware vs software UART0 conflict esphome#2229 by @ferbar
- Move to use zeroconf library instead of inline copy esphome#2192 by @jesserockz
- Allow using a git source for a package esphome#2193 by @jesserockz (new-feature)
- Remove last_reset_type and convert all those sensors to TOTAL_INCREASING esphome#2233 by @jesserockz (breaking-change)
- Dont dump legacy fields esphome#2241 by @jesserockz
- Fix encoding bug esphome#2242 by @jesserockz
- Light: include ON_OFF capability to BRIGHTNESS ColorMode esphome#2204 by @jesserockz
- LOG_UPDATE_INTERVAL: correctly report “never” esphome#2240 by @Habbie
- Fix runtime exception due to dict typing esphome#2243 by @alexyao2015
- template: select: fix initial_value cannot be used with lambda esphome#2244 by @ayufan
- Add device classes new in HA 2021.9 esphome#2248 by @oxan
- Logger prevent recursive logging esphome#2251 by @OttoWinter
- Add new trigger to fan component
on_speed_set
esphome#2246 by @dgtal1 - Fix fan speed restore issue on boot esphome#1867 by @wifwucite
- Template sensors always publish on update interval esphome#2224 by @nuttytree
- Socket component esphome#2250 by @OttoWinter
- Allow .yml files in dashboard esphome#2257 by @jesserockz
- Bump dashboard to 20210908.0 and fix card names for yml esphome#2258 by @jesserockz
- Fix socket not setting callbacks early enough esphome#2260 by @OttoWinter
- Convert API to use sockets esphome#2253 by @OttoWinter
- Midea support v2 esphome#2188 by @dudanov (breaking-change)
- ccs811: publish firmware version; log bootloader and HW version; fix a bug esphome#2006 by @Habbie
- API encryption esphome#2254 by @OttoWinter
- Revert “Dont dump legacy fields” esphome#2259 by @jesserockz
- pm1006: add support for sending a measurement request esphome#2214 by @Habbie
- SGP40 sensor start-up fix esphome#2178 by @kbx81
- PMSA003i Update state_class and async esphome#2216 by @sjtrny
- Fix a few ESP32-C3 compiler issues esphome#2265 by @jesserockz
- sm300d2: Accept (undocumented) 0x80 checksum offset. esphome#2263 by @poptix
- Disable automatic usage of SNTP servers from DHCP esphome#2273 by @oxan
- Only try compat parsing after regular parsing fails esphome#2269 by @oxan
- Suppress excessive warnings about deprecated Fan interfaces esphome#2270 by @oxan
- t6615: tolerate sensor dropping commands esphome#2255 by @jasstrong
- Fix API socket issues esphome#2288 by @OttoWinter
- Bump platformio to 5.2.0 esphome#2291 by @OttoWinter
- API Noise logging esphome#2298 by @OttoWinter
- Fix api noise explicit reject esphome#2297 by @OttoWinter
- Allow simple hostname for sntp servers esphome#2300 by @jesserockz
- Fix binary strobe esphome#2301 by @jesserockz
- Fix unit of measurement fields for DSMR power consumed/delivered fields esphome#2304 by @jsuanet
- Simple time.sleep in place of threading wait due to upgraded zeroconf esphome#2307 by @jesserockz
- Fix aioesphomeapi API logger with explicit API port config esphome#2310 by @mmakaay
- Start a wifi scan after saving station details esphome#2315 by @jesserockz
Past Changelogs

- 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