ESPHome 2022.3.0 - 16th March 2022
==================================

.. seo::
    :description: Changelog for ESPHome 2022.3.0.
    :image: /_static/changelog-2022.3.0.png
    :author: Jesse Hills
    :author_twitter: @jesserockz

.. imgtable::
    :columns: 4

    Analog Threshold, components/binary_sensor/analog_threshold, analog_threshold.svg, dark-invert
    MAX44009, components/sensor/max44009, max44009.svg
    Copy, components/copy, content-copy.svg, dark-invert
    MPU6886, components/sensor/mpu6886, mpu6886.jpg
    MCP4728, components/output/mcp4728, mcp4728.jpg
    Honeywell ABP, components/sensor/honeywellabp, honeywellabp.jpg
    Mopeka Pro Check LP, components/sensor/mopeka_pro_check, mopeka_pro_check.jpg

Python 3.8 Minimum
------------------

This release sets the minimum Python version to 3.8. Please upgrade your local python if you are unable to update further.

Webserver
---------

Thanks to :ghuser:`wilberforce` for doing a massive bunch of work on giving new life to the frontend of
the :doc:`webserver </components/web_server>`.

Release 2022.3.1 - March 23
---------------------------

- Fix WDT reset during dallas search algorithm :esphomepr:`3293` by :ghuser:`wysiwyng`
- Webserver utilize Component Iterator to not overload eventstream :esphomepr:`3310` by :ghuser:`jesserockz`
- Reserve less memory for json :esphomepr:`3289` by :ghuser:`jesserockz`
- Add small delay before setting up app in safe mode :esphomepr:`3323` by :ghuser:`jesserockz`

Release 2022.3.2 - March 30
---------------------------

- Actually increase request memory for json parsing :esphomepr:`3331` by :ghuser:`jesserockz`

Full list of changes
--------------------

New Features
^^^^^^^^^^^^

- support for waveshare 7.50in-hd-b :esphomepr:`3239` by :ghuser:`Michanord` (new-feature)
- Add optional display page for touchscreen binary sensors :esphomepr:`3247` by :ghuser:`jesserockz` (new-feature)

New Components
^^^^^^^^^^^^^^

- Analog threshold :esphomepr:`3190` by :ghuser:`ianchi` (new-integration)
- Add sensor support: MAX44009 :esphomepr:`3125` by :ghuser:`berfenger` (new-integration)
- Add copy integration :esphomepr:`3241` by :ghuser:`OttoWinter` (new-integration)
- Add support for MPU-6886 :esphomepr:`3183` by :ghuser:`fabaff` (new-integration)
- Add device support: MCP4728 :esphomepr:`3174` by :ghuser:`berfenger` (new-integration)
- Add sensor support: Honeywell ABP (SPI version) :esphomepr:`3164` by :ghuser:`RubyBailey` (new-integration)
- Add Mopeka BLE and Mopeka Pro Check BLE Sensor :esphomepr:`2618` by :ghuser:`spbrogan` (new-integration)

Breaking Changes
^^^^^^^^^^^^^^^^

- Raise minimum python version to 3.8 :esphomepr:`3176` by :ghuser:`jesserockz` (breaking-change)
- Add class as first positional arg to sensor_schema :esphomepr:`3216` by :ghuser:`jesserockz` (breaking-change)
- BH1750 dynamically calculate options :esphomepr:`3214` by :ghuser:`OttoWinter` (breaking-change)

Beta Changes
^^^^^^^^^^^^

- Add optimistic config flag to modbus select. :esphomepr:`3267` by :ghuser:`stegm`
- Add helper overloads for hex print 16-bit :esphomepr:`3297` by :ghuser:`jesserockz`
- Allow custom register type for modbus number :esphomepr:`3202` by :ghuser:`jesserockz`

Notable Changes
^^^^^^^^^^^^^^^

- Webserver v2 :esphomepr:`2688` by :ghuser:`wilberforce` (notable-change)

All changes
^^^^^^^^^^^

- Remove unused obj attribute from AssignmentExpression :esphomepr:`3145` by :ghuser:`OttoWinter`
- Remove spurious Zeroconf instance from api client :esphomepr:`3143` by :ghuser:`OttoWinter`
- Raise minimum python version to 3.8 :esphomepr:`3176` by :ghuser:`jesserockz` (breaking-change)
- Improve dallas timing :esphomepr:`3181` by :ghuser:`OttoWinter`
- Bump pytest-asyncio from 0.18.0 to 0.18.1 :esphomepr:`3187` by :ghuser:`dependabot[bot]`
- Bump pytest from 7.0.0 to 7.0.1 :esphomepr:`3189` by :ghuser:`dependabot[bot]`
- add sim800l diagnostics :esphomepr:`3136` by :ghuser:`glmnet`
- Docker move deps install into base :esphomepr:`3207` by :ghuser:`OttoWinter`
- Remove redundant name from binary_sensor constructor :esphomepr:`3213` by :ghuser:`jesserockz`
- ESP8266 early init for pins :esphomepr:`3144` by :ghuser:`OttoWinter`
- CAN bus: read all queued messages :esphomepr:`3194` by :ghuser:`felixstorm`
- CAN bus: support bit mask for on_frame can_id :esphomepr:`3196` by :ghuser:`felixstorm`
- Simplify captive portal to compressed single page :esphomepr:`2872` by :ghuser:`wilberforce`
- HttpRequestComponent::get_string - avoid copy :esphomepr:`2988` by :ghuser:`roitagar`
- Docker ha-addon switch to nginx-light :esphomepr:`3218` by :ghuser:`OttoWinter`
- Analog threshold :esphomepr:`3190` by :ghuser:`ianchi` (new-integration)
- Fix pm1006 polling component definition :esphomepr:`3210` by :ghuser:`mipa87`
- Add class as first positional arg to sensor_schema :esphomepr:`3216` by :ghuser:`jesserockz` (breaking-change)
- Binary Sensor codegen tidyup :esphomepr:`3217` by :ghuser:`jesserockz`
- Read all cell voltages from DalyBMS :esphomepr:`3203` by :ghuser:`zigman79`
- Remote magiquest protocol :esphomepr:`2963` by :ghuser:`ImSorryButWho`
- Implement text_sensor based on ble_client :esphomepr:`3079` by :ghuser:`ashald`
- Add sensor support: MAX44009 :esphomepr:`3125` by :ghuser:`berfenger` (new-integration)
- Fix for api disconnect detection. :esphomepr:`2909` by :ghuser:`peter-valkov`
- [miscale] Add flag to clear last impedance reading if the newly received reading only contains weight :esphomepr:`3132` by :ghuser:`mknjc`
-  Add ESP32 variant config validator function  :esphomepr:`3088` by :ghuser:`oxan`
- Fix warning in test1.yaml :esphomepr:`3228` by :ghuser:`OttoWinter`
- Lint trailing whitespace :esphomepr:`3230` by :ghuser:`OttoWinter`
- Add ESP32C3 and ESP32S2 support to dashboard :esphomepr:`3152` by :ghuser:`OttoWinter`
- BH1750 dynamically calculate options :esphomepr:`3214` by :ghuser:`OttoWinter` (breaking-change)
- Bump esphome-dashboard from 20220209.0 to 20220219.0 :esphomepr:`3231` by :ghuser:`OttoWinter`
- Add copy integration :esphomepr:`3241` by :ghuser:`OttoWinter` (new-integration)
- Button code cleanup :esphomepr:`3242` by :ghuser:`OttoWinter`
- Pulse meter internal filter mode :esphomepr:`3082` by :ghuser:`cstaahl`
- Add support for MPU-6886 :esphomepr:`3183` by :ghuser:`fabaff` (new-integration)
- light: add RESTORE_AND_OFF/RESTORE_AND_ON LightRestoreMode :esphomepr:`3238` by :ghuser:`Niorix`
- Implement send_first_at for exponential_moving_average :esphomepr:`3240` by :ghuser:`EdJoPaTo`
- Add device support: MCP4728 :esphomepr:`3174` by :ghuser:`berfenger` (new-integration)
- support for waveshare 7.50in-hd-b :esphomepr:`3239` by :ghuser:`Michanord` (new-feature)
- Fix template button after abstract press_action :esphomepr:`3250` by :ghuser:`jesserockz`
- Store platform as uppercase :esphomepr:`3251` by :ghuser:`jesserockz`
- Add sensor support: Honeywell ABP (SPI version) :esphomepr:`3164` by :ghuser:`RubyBailey` (new-integration)
- Add optional display page for touchscreen binary sensors :esphomepr:`3247` by :ghuser:`jesserockz` (new-feature)
- Add Mopeka BLE and Mopeka Pro Check BLE Sensor :esphomepr:`2618` by :ghuser:`spbrogan` (new-integration)
- Remove stray define :esphomepr:`3260` by :ghuser:`jesserockz`
- Webserver v2 :esphomepr:`2688` by :ghuser:`wilberforce` (notable-change)
- Add entity_category_diagnostics to SGP30 baseline sensors :esphomepr:`3272` by :ghuser:`JasperPlant`
- Bump esphome-dashboard to 20220309.0 :esphomepr:`3277` by :ghuser:`jesserockz`
- Add visual step/min/max for webserver climate :esphomepr:`3275` by :ghuser:`wilberforce`
- Add optimistic config flag to modbus select. :esphomepr:`3267` by :ghuser:`stegm`
- Add helper overloads for hex print 16-bit :esphomepr:`3297` by :ghuser:`jesserockz`
- Allow custom register type for modbus number :esphomepr:`3202` by :ghuser:`jesserockz`

Past Changelogs
---------------

- :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`
