ESPHome 2022.2.0 - 16th February 2022 ===================================== .. seo:: :description: Changelog for ESPHome 2022.2.0. :image: /_static/changelog-2022.2.0.png :author: Jesse Hills :author_twitter: @jesserockz .. imgtable:: :columns: 4 Lock Core, components/lock/index, folder-open.svg Generic Output Lock, components/lock/output, upload.svg Template Lock, components/lock/template, description.svg QR Code, components/display/index, qr-code.svg Touchscreen Core, components/touchscreen/index, folder-open.svg EKTF2232, components/touchscreen/ektf2232, ektf2232.svg Lilygo T5 4.7", components/touchscreen/lilygo_t5_47, lilygo_t5_47_touch.png MLX90393, components/sensor/mlx90393, mlx90393.jpg Wake-on-LAN Button, components/button/wake_on_lan, power_settings.svg Generic Output Button, components/button/output, upload.svg Xiaomi MHOC303, components/sensor/xiaomi_ble, xiaomi_mijia_logo.jpg RadonEye BLE, components/sensor/radon_eye_ble, radon_eye_logo.png Modbus Select, components/select/modbus_controller, modbus.png MAX9611, components/sensor/max9611, max9611.jpg Inkplate 6 Plus, components/display/inkplate6, inkplate6.jpg ESP8266 recommended framework bump ---------------------------------- The recommended (and therefore default) version of Arduino for ESP8266 devices has been bumped to 3.0.2 from 2.7.4. This brings many underlying changes to the ESP8266 SDK. The 3.0.2 release has been out since July 2021 but ESPHome just did not bump the default until now. FastLED ------- Due to the Arduino bump, the FastLED library suffers issues when running on ESP8266 on Arduino 3+. Because of this there is now a restriction on the ``fastled_clockless`` and ``fastled_spi`` components to only allow using them if you change the arduino version back to 2.7.4 or lower. This will be in place until the library can update and fix the issues. See the :doc:`documentation ` for information on how to continue using the lights. Improv serial Wi-Fi scan ------------------------ Improv serial has been updated to be able to start a Wi-Fi scan and send the results back to the improv client so the user can select the network SSID instead of having to type it in. Tuya Multi multi-datapoint -------------------------- Some work was done on the tuya component to support devices that send all of their datapoints in a single message. This allows for more devices to be supported and should not cause issues with existing devices but please create an issue if it does. Debug Sensors Breaking change ----------------------------- The sub-sensors of the ``debug`` have been moved to their respective component platforms. Please see the :doc:`documentation ` page for the new way to configure them. Full list of changes -------------------- New Features ^^^^^^^^^^^^ - Add initial_run to regular lambda light effect :esphomepr:`3059` by :ghuser:`jesserockz` (new-feature) - Support simple transparent pngs for display :esphomepr:`3035` by :ghuser:`jesserockz` (new-feature) - Add restore_mode to fan component :esphomepr:`3051` by :ghuser:`joshuaspence` (new-feature) - slow_pwm: allow to restart a cycle on state change :esphomepr:`3004` by :ghuser:`Chupaka` (new-feature) - Command retain option for MQTT component :esphomepr:`3078` by :ghuser:`VitaliyKurokhtin` (new-feature) - Esp32cam full control :esphomepr:`3090` by :ghuser:`dav-id-org` (new-feature) - Configurable HTTP redirect following :esphomepr:`3100` by :ghuser:`guillempages` (new-feature) - Add IPv6 for esp-idf framework :esphomepr:`2953` by :ghuser:`HeMan` (new-feature) - Improv_serial scan and send wifi networks list :esphomepr:`3116` by :ghuser:`jesserockz` (new-feature) - Inkplate 6 PLUS :esphomepr:`3013` by :ghuser:`jesserockz` (new-feature) New Components ^^^^^^^^^^^^^^ - Add ektf2232 touchscreen support :esphomepr:`3027` by :ghuser:`jesserockz` (new-integration) - Wake-on-LAN button :esphomepr:`3030` by :ghuser:`willwill2will54` (new-integration) - Implement output button :esphomepr:`3109` by :ghuser:`oxan` (new-integration) - Create base touchscreen component and refactor ektf2232 :esphomepr:`3083` by :ghuser:`jesserockz` (new-integration) - Add qr code support for displays :esphomepr:`2952` by :ghuser:`wjtje` (new-integration) - Add Xiaomi MHOC303 sensor e-ink clock :esphomepr:`3115` by :ghuser:`drug123` (new-integration) - Add new Lock core component :esphomepr:`2958` by :ghuser:`kbickar` (new-integration) - Added RadonEye RD200 Component :esphomepr:`3119` by :ghuser:`jeffeb3` (new-integration) - MLX90393 three-axis magnetometer :esphomepr:`2770` by :ghuser:`functionpointer` (new-integration) - Add Lilygo t5 4.7 Touchscreen :esphomepr:`3084` by :ghuser:`jesserockz` (new-integration) - Add Select for modbus :esphomepr:`3032` by :ghuser:`stegm` (new-integration) - Add max9611 High Side Current Shunt ADC :esphomepr:`2705` by :ghuser:`mckaymatthew` (new-integration) Breaking Changes ^^^^^^^^^^^^^^^^ - [TCS34725] remove duplicated endian conversion :esphomepr:`3037` by :ghuser:`martgras` (breaking-change) - TSL2591 automatic gain control :esphomepr:`3071` by :ghuser:`Azimath` (breaking-change) - [debug] Refactor debug sensors to use the normal sensor model. :esphomepr:`3162` by :ghuser:`mknjc` (breaking-change) Notable Changes ^^^^^^^^^^^^^^^ - ESP8266 Set recommended framework to 3.0.2 :esphomepr:`2606` by :ghuser:`OttoWinter` (notable-change) - Handle Tuya multi-datapoint messages :esphomepr:`3159` by :ghuser:`ssieb` (notable-change) Beta Changes ^^^^^^^^^^^^ - Bump aioesphomeapi from 10.8.1 to 10.8.2 :esphomepr:`3182` by :ghuser:`dependabot[bot]` - Clamp rotary_encoder restored value to min and max :esphomepr:`3184` by :ghuser:`jesserockz` - Make generating combined binary output verbose :esphomepr:`3127` by :ghuser:`OttoWinter` - Allow framework version validator to be maximum version :esphomepr:`3197` by :ghuser:`jesserockz` (breaking-change) - Fix strlcpy() uses to make long SSIDs and passwords work :esphomepr:`3199` by :ghuser:`mmakaay` - Update HA addon token :esphomepr:`3200` by :ghuser:`jesserockz` All changes ^^^^^^^^^^^ - Bump pytest-asyncio from 0.16.0 to 0.17.0 :esphomepr:`3047` by :ghuser:`dependabot[bot]` - Fix argument order in gitpod config file :esphomepr:`3058` by :ghuser:`oxan` - Bump pytest-asyncio from 0.17.0 to 0.17.2 :esphomepr:`3064` by :ghuser:`dependabot[bot]` - Fix calibration parameter for bme680 humidity calculation :esphomepr:`3069` by :ghuser:`cwitting` - Bump improv library version :esphomepr:`3072` by :ghuser:`jesserockz` - API: Expect a name for connections :esphomepr:`2533` by :ghuser:`OttoWinter` - AM43: autoload "sensor" to avoid compile errors :esphomepr:`3077` by :ghuser:`buxtronix` - Add initial_run to regular lambda light effect :esphomepr:`3059` by :ghuser:`jesserockz` (new-feature) - Support simple transparent pngs for display :esphomepr:`3035` by :ghuser:`jesserockz` (new-feature) - Bump aioesphomeapi from 10.6.0 to 10.8.0 :esphomepr:`3081` by :ghuser:`dependabot[bot]` - Add ektf2232 touchscreen support :esphomepr:`3027` by :ghuser:`jesserockz` (new-integration) - Implement IPv6 sockets for lwIP :esphomepr:`3015` by :ghuser:`HeMan` - Allow multiple configs for cd74hc4067 :esphomepr:`3085` by :ghuser:`jesserockz` - Wake-on-LAN button :esphomepr:`3030` by :ghuser:`willwill2will54` (new-integration) - Add restore_mode to fan component :esphomepr:`3051` by :ghuser:`joshuaspence` (new-feature) - slow_pwm: allow to restart a cycle on state change :esphomepr:`3004` by :ghuser:`Chupaka` (new-feature) - Enable readability-const-return-type check :esphomepr:`3099` by :ghuser:`oxan` - Enable readability-qualified-auto check :esphomepr:`3095` by :ghuser:`oxan` - Enable readability-redundant-member-init check :esphomepr:`3097` by :ghuser:`oxan` - Enable readability-named-parameter check :esphomepr:`3098` by :ghuser:`oxan` - Enable readability-redundant-access-specifiers check :esphomepr:`3096` by :ghuser:`oxan` - Command retain option for MQTT component :esphomepr:`3078` by :ghuser:`VitaliyKurokhtin` (new-feature) - Refactor fan platform to resemble climate/cover platforms :esphomepr:`2848` by :ghuser:`oxan` - Rename WEBSERVER_PORT define to USE_WEBSERVER_PORT :esphomepr:`3102` by :ghuser:`oxan` - Fix path to extra_scripts in platformio.ini :esphomepr:`3093` by :ghuser:`oxan` - Generate ARDUINO_VERSION_CODE in Python code :esphomepr:`3101` by :ghuser:`oxan` - Add cv.require_esphome_version helper :esphomepr:`3103` by :ghuser:`oxan` - Bump aioesphomeapi from 10.8.0 to 10.8.1 :esphomepr:`3110` by :ghuser:`dependabot[bot]` - Remove unused polling_component_schema from modbus number :esphomepr:`3108` by :ghuser:`martgras` - Force braces around multi-line statements :esphomepr:`3094` by :ghuser:`oxan` - Make CallbackManager invocable :esphomepr:`3089` by :ghuser:`oxan` - Implement output button :esphomepr:`3109` by :ghuser:`oxan` (new-integration) - Add increment_day function to ESPTime :esphomepr:`2955` by :ghuser:`RebbePod` - [TCS34725] remove duplicated endian conversion :esphomepr:`3037` by :ghuser:`martgras` (breaking-change) - Perform merges when substituting dict keys :esphomepr:`3062` by :ghuser:`joshuaspence` - Esp32cam full control :esphomepr:`3090` by :ghuser:`dav-id-org` (new-feature) - Fix config merging with null :esphomepr:`3113` by :ghuser:`joshuaspence` - Configurable HTTP redirect following :esphomepr:`3100` by :ghuser:`guillempages` (new-feature) - Add IPv6 for esp-idf framework :esphomepr:`2953` by :ghuser:`HeMan` (new-feature) - Add support for additional colors on GROW R503 :esphomepr:`3087` by :ghuser:`Zebble` - Add Heap Sensors - free/max block/fragmentation :esphomepr:`1578` by :ghuser:`micronen` - Create base touchscreen component and refactor ektf2232 :esphomepr:`3083` by :ghuser:`jesserockz` (new-integration) - Add qr code support for displays :esphomepr:`2952` by :ghuser:`wjtje` (new-integration) - ESP8266 Set recommended framework to 3.0.2 :esphomepr:`2606` by :ghuser:`OttoWinter` (notable-change) - TSL2591 automatic gain control :esphomepr:`3071` by :ghuser:`Azimath` (breaking-change) - set adc width to 13 bits for esp32-s2 :esphomepr:`3117` by :ghuser:`martgras` - Fix lint for TSL2591 :esphomepr:`3118` by :ghuser:`OttoWinter` - Add Xiaomi MHOC303 sensor e-ink clock :esphomepr:`3115` by :ghuser:`drug123` (new-integration) - Logically group and document helper functions :esphomepr:`3112` by :ghuser:`oxan` - Add support for Waveshare 7.5in-bv2 :esphomepr:`3121` by :ghuser:`Eriner` - Bump docker dependencies :esphomepr:`3131` by :ghuser:`OttoWinter` - Bump pytest-mock from 3.6.1 to 3.7.0 :esphomepr:`3128` by :ghuser:`dependabot[bot]` - Improv_serial scan and send wifi networks list :esphomepr:`3116` by :ghuser:`jesserockz` (new-feature) - Disable platformio ldf for build :esphomepr:`3130` by :ghuser:`OttoWinter` - Bump esp-idf framework version from 4.3.0 to 4.3.2 :esphomepr:`3120` by :ghuser:`OttoWinter` - Bump pre-commit flake8 from 3.8.4 to 4.0.1 :esphomepr:`3149` by :ghuser:`OttoWinter` - Bump black from 21.12b0 to 22.1.0 :esphomepr:`3147` by :ghuser:`dependabot[bot]` - Fix ESP32C3 toolchain requires stdarg import in helpers :esphomepr:`3151` by :ghuser:`OttoWinter` - Add new Lock core component :esphomepr:`2958` by :ghuser:`kbickar` (new-integration) - Add device class support to Switch :esphomepr:`3012` by :ghuser:`frenck` - Handle Tuya multi-datapoint messages :esphomepr:`3159` by :ghuser:`ssieb` (notable-change) - Bump improv library to 1.2.1 :esphomepr:`3160` by :ghuser:`jesserockz` - Fix copy_file_if_changed src permissions copied too :esphomepr:`3161` by :ghuser:`OttoWinter` - [debug] Refactor debug sensors to use the normal sensor model. :esphomepr:`3162` by :ghuser:`mknjc` (breaking-change) - Added RadonEye RD200 Component :esphomepr:`3119` by :ghuser:`jeffeb3` (new-integration) - Text sensor schema generator similar to sensor :esphomepr:`3172` by :ghuser:`jesserockz` - wifi_info, reduce polling interval :esphomepr:`3165` by :ghuser:`jbergler` - MLX90393 three-axis magnetometer :esphomepr:`2770` by :ghuser:`functionpointer` (new-integration) - Dont warn on nonnull comparisons :esphomepr:`3123` by :ghuser:`jesserockz` - Add require response option for BLE binary output :esphomepr:`3091` by :ghuser:`AshtonKem` - Add Lilygo t5 4.7 Touchscreen :esphomepr:`3084` by :ghuser:`jesserockz` (new-integration) - Add Select for modbus :esphomepr:`3032` by :ghuser:`stegm` (new-integration) - Add max9611 High Side Current Shunt ADC :esphomepr:`2705` by :ghuser:`mckaymatthew` (new-integration) - Inkplate 6 PLUS :esphomepr:`3013` by :ghuser:`jesserockz` (new-feature) - Implement MQTT discovery object_id generator :esphomepr:`3114` by :ghuser:`akomelj` - Fix files CI after merging :esphomepr:`3175` by :ghuser:`jesserockz` - Bump pytest from 6.2.5 to 7.0.0 :esphomepr:`3163` by :ghuser:`dependabot[bot]` - Bump pytest-asyncio from 0.17.2 to 0.18.0 :esphomepr:`3168` by :ghuser:`dependabot[bot]` - Allow to set manufacturer data for BLEAdvertising :esphomepr:`3179` by :ghuser:`ashald` - Change most references from hassio to ha-addon :esphomepr:`3178` by :ghuser:`jesserockz` - Bump aioesphomeapi from 10.8.1 to 10.8.2 :esphomepr:`3182` by :ghuser:`dependabot[bot]` - Clamp rotary_encoder restored value to min and max :esphomepr:`3184` by :ghuser:`jesserockz` - Make generating combined binary output verbose :esphomepr:`3127` by :ghuser:`OttoWinter` - Allow framework version validator to be maximum version :esphomepr:`3197` by :ghuser:`jesserockz` (breaking-change) - Fix strlcpy() uses to make long SSIDs and passwords work :esphomepr:`3199` by :ghuser:`mmakaay` - Update HA addon token :esphomepr:`3200` by :ghuser:`jesserockz` Past Changelogs --------------- - :doc:`2022.1.0` - :doc:`2021.12.0` - :doc:`2021.11.0` - :doc:`2021.10.0` - :doc:`2021.9.0` - :doc:`2021.8.0` - :doc:`v1.20.0` - :doc:`v1.19.0` - :doc:`v1.18.0` - :doc:`v1.17.0` - :doc:`v1.16.0` - :doc:`v1.15.0` - :doc:`v1.14.0` - :doc:`v1.13.0` - :doc:`v1.12.0` - :doc:`v1.11.0` - :doc:`v1.10.0` - :doc:`v1.9.0` - :doc:`v1.8.0` - :doc:`v1.7.0`