ESPHome 2022.12.0 - 14th December 2022 ====================================== .. seo:: :description: Changelog for ESPHome 2022.12.0. :image: /_static/changelog-2022.12.0.png :author: Jesse Hills :author_twitter: @jesserockz .. imgtable:: :columns: 3 ESP32, components/esp32, esp32.svg Bluetooth Proxy, components/bluetooth_proxy, bluetooth.svg SN74HC165 I/O Expander, components/sn74hc165, sn74hc595.jpg The festive holidays are coming early and bring you an ESPHome release 1 week earlier than normal. This release does not bring a bunch of new components like most releases, but instead the focus has been on upgrading the core Arduino and ESP-IDF versions used for the ESP32 based devices. The Bluetooth Proxy has also had a whole lot of work done by :ghuser:`bdraco` under the hood to improve the stability, speed and reliability between Home Assistant and the bluetooth devices that get proxied through. Full list of changes -------------------- New Features ^^^^^^^^^^^^ - PID Climate - deadband and output sampling :esphomepr:`3254` by :ghuser:`patrickcollins12` (new-feature) New Components ^^^^^^^^^^^^^^ - Add sn74hc165 input shift register :esphomepr:`4151` by :ghuser:`jesserockz` (new-integration) Breaking Changes ^^^^^^^^^^^^^^^^ - Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) Notable Changes ^^^^^^^^^^^^^^^ - Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) - Update ESP-IDF and platform version :esphomepr:`3565` by :ghuser:`jesserockz` (notable-change) Beta Changes ^^^^^^^^^^^^ - Fix ble parsing with zero padded advertisements :esphomepr:`4162` by :ghuser:`jesserockz` All changes ^^^^^^^^^^^ - Bump colorama from 0.4.5 to 0.4.6 :esphomepr:`4010` by :ghuser:`dependabot[bot]` - Bump frenck/action-yamllint from 1.3.0 to 1.3.1 :esphomepr:`4011` by :ghuser:`dependabot[bot]` - add two new icons :esphomepr:`3963` by :ghuser:`nagyrobi` - Move CONF_INTERRUPT_PIN to const.py :esphomepr:`4014` by :ghuser:`jesserockz` - Bump pyupgrade from 3.2.0 to 3.2.2 :esphomepr:`4017` by :ghuser:`dependabot[bot]` - Add reset_reason text sensor to debug component :esphomepr:`3814` by :ghuser:`kuba2k2` - remove unused variable last_save in total_daily_energy :esphomepr:`4039` by :ghuser:`bkaufx` - Bump base image versions to latest :esphomepr:`4016` by :ghuser:`jesserockz` - Add number device class support :esphomepr:`4042` by :ghuser:`frenck` - Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) - Update esp32 boards list :esphomepr:`4056` by :ghuser:`jesserockz` - Add Lolin S2 Mini board :esphomepr:`3264` by :ghuser:`jhamhader` - Add pin aliases for upesy boards :esphomepr:`3794` by :ghuser:`uPesy` - Bump pylint from 2.15.5 to 2.15.6 :esphomepr:`4058` by :ghuser:`dependabot[bot]` - fix display_menu recursive schema gen :esphomepr:`4045` by :ghuser:`glmnet` - Remove manual handling of ethernet power pin :esphomepr:`4062` by :ghuser:`jesserockz` - Bump aioesphomeapi from 11.4.3 to 12.0.0 :esphomepr:`4070` by :ghuser:`dependabot[bot]` - Update ESP-IDF and platform version :esphomepr:`3565` by :ghuser:`jesserockz` (notable-change) - Always use brackets around single log macros :esphomepr:`4072` by :ghuser:`jesserockz` - Midea ir templatable code :esphomepr:`4053` by :ghuser:`reidprojects` - Boards: Adafruit QT Py ESP32 Pico/C3/S2 :esphomepr:`4064` by :ghuser:`jenscski` - Dont set esp32 pin drive strength unless pin is set for output :esphomepr:`4075` by :ghuser:`jesserockz` - Don't allow debug component if you don't have at least debug logging level :esphomepr:`4076` by :ghuser:`jesserockz` - Remove a bunch of unnecessary pylint disabling :esphomepr:`4079` by :ghuser:`jesserockz` - Update ESP32-audioI2S library :esphomepr:`4073` by :ghuser:`jesserockz` - Add vector includes :esphomepr:`4080` by :ghuser:`jesserockz` - Allow manually specifying binary file to OTA :esphomepr:`4054` by :ghuser:`jesserockz` - Fix regressed 'esphome run' :esphomepr:`4094` by :ghuser:`mmakaay` - Make parse_characteristics and parse_descriptors lazy to reduce memory pressure :esphomepr:`4063` by :ghuser:`bdraco` - Speed up BLE connections :esphomepr:`4093` by :ghuser:`bdraco` - Align BLE service logging :esphomepr:`4095` by :ghuser:`bdraco` - Suppress logging unhandled ESP_BLE_AD_TYPE_INT_RANGE :esphomepr:`4096` by :ghuser:`bdraco` - Make sure all BLE address strings are uppercase :esphomepr:`4097` by :ghuser:`bdraco` - Add logging for BLE connection slots :esphomepr:`4098` by :ghuser:`bdraco` - Fix registering for gatt notify when characteristic only support indicate :esphomepr:`4092` by :ghuser:`bdraco` - Fix descriptors not being deleted :esphomepr:`4104` by :ghuser:`bdraco` - Improve reliability of bluetooth active connections :esphomepr:`4049` by :ghuser:`bdraco` - Always use generated api options from aioesphomeapi :esphomepr:`4116` by :ghuser:`jesserockz` - Fix bluetooth_gatt_write_descriptor never getting a response :esphomepr:`4112` by :ghuser:`bdraco` - Combine the scanner failure check so we only stop the scanner once :esphomepr:`4111` by :ghuser:`bdraco` - Reduce memory needed to send the services list :esphomepr:`4110` by :ghuser:`bdraco` - Avoid parsing characteristics and descriptors to reduce memory pressure :esphomepr:`4109` by :ghuser:`bdraco` - Send device address type alongside ble advertisements :esphomepr:`4115` by :ghuser:`jesserockz` - Remove uuid lookups from BLE read/write/notify characteristics :esphomepr:`4102` by :ghuser:`bdraco` - Active BLE connection v3 :esphomepr:`4113` by :ghuser:`bdraco` - preprocess out proto_enum_to_string if not needed :esphomepr:`4119` by :ghuser:`jesserockz` - Bump aioesphomeapi from 12.0.0 to 12.2.0 :esphomepr:`4120` by :ghuser:`dependabot[bot]` - Avoid parsing services with v3 connections without cache :esphomepr:`4117` by :ghuser:`bdraco` - FIX: Unnecessary flash writes by ModbusSwitch component :esphomepr:`3648` by :ghuser:`jpeletier` - Speed up uuid parsing when fetching the service list :esphomepr:`4121` by :ghuser:`bdraco` - modbus_switch: honor switch:restore_mode :esphomepr:`4122` by :ghuser:`jpeletier` - PID Climate - deadband and output sampling :esphomepr:`3254` by :ghuser:`patrickcollins12` (new-feature) - Allow auto setting of ble client id if there is only 1 in config :esphomepr:`4125` by :ghuser:`jesserockz` - fix RESTORE_INVERTED switch:restore_mode :esphomepr:`4129` by :ghuser:`jpeletier` - Bump pylint from 2.15.6 to 2.15.7 :esphomepr:`4127` by :ghuser:`dependabot[bot]` - Allow global setting of compile process limit :esphomepr:`4081` by :ghuser:`jesserockz` - Bump flake8 from 5.0.4 to 6.0.0 :esphomepr:`4084` by :ghuser:`dependabot[bot]` - Bump arduino pico and update wifi methods :esphomepr:`4144` by :ghuser:`jesserockz` - Bump aioesphomeapi from 12.2.0 to 12.2.1 :esphomepr:`4133` by :ghuser:`dependabot[bot]` - Bump esptool from 3.3.1 to 4.4 :esphomepr:`4071` by :ghuser:`dependabot[bot]` - Fix mismatched flake8 version in pre-commit :esphomepr:`4145` by :ghuser:`jesserockz` - Detect BLE stack unrecoverable state :esphomepr:`4128` by :ghuser:`bdraco` - Bump pylint from 2.15.7 to 2.15.8 :esphomepr:`4148` by :ghuser:`dependabot[bot]` - Fix crash with bluetooth tracker and esp-idf :esphomepr:`4140` by :ghuser:`bdraco` - Use ENTITY_CATEGORY_CONFIG for sprinkler config switches. :esphomepr:`4141` by :ghuser:`schinckel` - fix switch initialization :esphomepr:`4153` by :ghuser:`ssieb` - Change 4 chip limit on sn74hc595 to 256 :esphomepr:`4108` by :ghuser:`jesserockz` - Add reports fahrenheit to tuya climate :esphomepr:`4032` by :ghuser:`jesserockz` - Allow dashboard import to pull complete file from github :esphomepr:`3982` by :ghuser:`jesserockz` - Invalid config for waveshare models with no full_update_every :esphomepr:`4066` by :ghuser:`Nizzle` - Add sn74hc165 input shift register :esphomepr:`4151` by :ghuser:`jesserockz` (new-integration) - Fixed deep sleep for ESP32C3 :esphomepr:`4143` by :ghuser:`pistifonok` - ESP32 IDF: Override toolchain-esp32ulp with espressifs own published version :esphomepr:`4155` by :ghuser:`jesserockz` - Add API for dashboard to get boards list :esphomepr:`4154` by :ghuser:`jesserockz` - Bump pytest-asyncio from 0.20.1 to 0.20.2 :esphomepr:`4019` by :ghuser:`dependabot[bot]` - Bump pyupgrade from 3.2.2 to 3.3.0 :esphomepr:`4137` by :ghuser:`dependabot[bot]` - Bump dessant/lock-threads from 3 to 4 :esphomepr:`4150` by :ghuser:`dependabot[bot]` - Bump aioesphomeapi from 12.2.1 to 13.0.1 :esphomepr:`4149` by :ghuser:`dependabot[bot]` - Bump esphome-dashboard to 20221207.0 :esphomepr:`4156` by :ghuser:`jesserockz` Past Changelogs --------------- - :doc:`2022.11.0` - :doc:`2022.10.0` - :doc:`2022.9.0` - :doc:`2022.8.0` - :doc:`2022.6.0` - :doc:`2022.5.0` - :doc:`2022.4.0` - :doc:`2022.3.0` - :doc:`2022.2.0` - :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`