ESPHome 2023.2.0 - 15th February 2023
=====================================

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

.. imgtable::
    :columns: 4

    PCA9554 I/O Expander, components/pca9554, pca9554a.jpg
    BP1658CJ, components/output/bp1658cj, bp1658cj.svg
    BP5758D, components/output/bp5758d, bp5758d.svg
    SM2235, components/output/sm2235, sm2235.svg
    SM2335, components/output/sm2335, sm2335.svg
    PCF85063 RTC, components/time/pcf85063, clock-outline.svg, dark-invert
    Matrix Keypad, components/matrix_keypad, matrix_keypad.jpg
    X9C Potentiometer, components/output/x9c, x9c.jpg
    EE895, components/sensor/ee895, EE895.png
    HTE501, components/sensor/hte501, HTE501.png
    TEE501, components/sensor/tee501, TEE501.png
    Sigma-Delta Output, components/output/sigma_delta_output, sigma-delta.svg, dark-invert
    Wiegand Reader, components/wiegand, wiegand.jpg
    MiCS-4514, components/sensor/mics_4514, mics_4514.jpg
    LD2410, components/sensor/ld2410, ld2410.jpg
    Resol VBus, components/vbus, resol_deltasol_bs_plus.jpg


Friendly Name
-------------

ESPHome now supports setting a ``friendly_name`` which is sent to Home Assistant. This name will be used for the config entry,
the device name, and will be automatically prefixed to all of the entities where needed by Home Assistant.

.. note::

    If you opt to use this new friendly name, take note that you should remove any friendly name (substitition) that
    you currently prepend onto entity ``name`` in YAML.

.. code-block:: yaml

    esphome:
      name: living-room
      friendly_name: Living Room

    sensor:
      - platform: dht
        pin: GPIO5
        name: Temperature


ESPHome Update Entities in Home Assistant
-----------------------------------------

Home Assistant has offered "read-only" update entities since 2023.2.0 for ESPHome devices. This release of ESPHome added a new API required
so that those update entities can now trigger a build and install of the new firmware "over the air" to your devices.

Release 2023.2.1 - February 16
------------------------------

- Add ESPHome version to generated platformio.ini :esphomepr:`4443` by :ghuser:`jesserockz`

Release 2023.2.2 - February 17
------------------------------

- Fix adoption of variants and pico-w :esphomepr:`4455` by :ghuser:`jesserockz`

Release 2023.2.3 - February 20
------------------------------

- Fix MQTT discovery for climate after preset implementation :esphomepr:`4451` by :ghuser:`jmichiel`
- Update distribution manifest :esphomepr:`4459` by :ghuser:`jesserockz`

Release 2023.2.4 - February 23
------------------------------

- BL0939 state_class set for energy sensors :esphomepr:`4463` by :ghuser:`konsulten`
- fix wiegand tag parity :esphomepr:`4476` by :ghuser:`ssieb`
- Fix multiple remote_receivers with triggers :esphomepr:`4477` by :ghuser:`jesserockz`

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

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

- Add Pca9554 component :esphomepr:`4192` by :ghuser:`hwstar` (new-integration)
- Add support for BP5758D LED driver :esphomepr:`4021` by :ghuser:`Cossid` (new-integration)
- Add support for BP1658CJ LED driver :esphomepr:`4020` by :ghuser:`Cossid` (new-integration)
- Add support for SM2235 and SM2335 LED drivers :esphomepr:`3924` by :ghuser:`Cossid` (new-integration)
- PCF85063 RTC chip :esphomepr:`3873` by :ghuser:`brogon` (new-integration)
- Add support for matrix keypads :esphomepr:`4241` by :ghuser:`ssieb` (new-integration)
- Add X9C Potentiometer component :esphomepr:`4183` by :ghuser:`EtienneMD` (new-integration)
- add key collector component :esphomepr:`4242` by :ghuser:`ssieb` (new-integration)
- Add support for EE895 :esphomepr:`3771` by :ghuser:`Stock-M` (new-integration)
- Add support for HTE501 :esphomepr:`3772` by :ghuser:`Stock-M` (new-integration)
- Add support for TEE501 :esphomepr:`3773` by :ghuser:`Stock-M` (new-integration)
- Implement a slow sigma-delta modulation based output :esphomepr:`4132` by :ghuser:`Cat-Ion` (new-integration)
- add Wiegand reader component :esphomepr:`4288` by :ghuser:`ssieb` (new-integration)
- Add MICS-4514 gas sensor :esphomepr:`4316` by :ghuser:`jesserockz` (new-integration)
- Add Ld2410 Support :esphomepr:`3919` by :ghuser:`sebcaps` (new-integration)
- add Resol VBus support :esphomepr:`3976` by :ghuser:`ssieb` (new-integration)

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

- Use NAN values for TSL2591 saturation :esphomepr:`3931` by :ghuser:`mdonoughe` (breaking-change)
- set_retry: add retries remaining parameter to the provided function :esphomepr:`4251` by :ghuser:`e28eta` (breaking-change)

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

- Bump curl version in docker :esphomepr:`4403` by :ghuser:`jesserockz`
- Fix release workflow :esphomepr:`4405` by :ghuser:`jesserockz`
- Climate PID Autotune Logging fixes :esphomepr:`4136` by :ghuser:`patrickcollins12`
- Add Clipping to displaybuffer :esphomepr:`4271` by :ghuser:`nielsnl68`
- Fix check for empty clipping array :esphomepr:`4421` by :ghuser:`nielsnl68`
- Ledc fix :esphomepr:`4338` by :ghuser:`xvil`
- Add version api endpoint :esphomepr:`4429` by :ghuser:`jesserockz`
- Handle uart.write in json-config endpoint :esphomepr:`4430` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20230214.0 :esphomepr:`4431` by :ghuser:`jesserockz`
- Fix setting wrong traits on midea climate component :esphomepr:`4425` by :ghuser:`dudanov`

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

- Expose lambda action to reset a cycle in `slow_pwm` :esphomepr:`4158` by :ghuser:`johndbritton`
- climate: Add features to generic Toshiba model :esphomepr:`3912` by :ghuser:`zagor`
- Fix UUID displaying incorrectly in BLE Tracker logs :esphomepr:`4187` by :ghuser:`deunlee`
- Bump actions/stale from 6 to 7 :esphomepr:`4217` by :ghuser:`dependabot[bot]`
- Add Pca9554 component :esphomepr:`4192` by :ghuser:`hwstar` (new-integration)
- Bump aioesphomeapi from 13.0.1 to 13.0.2 :esphomepr:`4188` by :ghuser:`dependabot[bot]`
- Bump pytest-asyncio from 0.20.2 to 0.20.3 :esphomepr:`4164` by :ghuser:`dependabot[bot]`
- Handle deprecated sdkconfig option :esphomepr:`4204` by :ghuser:`mmakaay`
- feat: set a wider range for jpeg quality :esphomepr:`3872` by :ghuser:`sisco0`
- Bump black from 22.10.0 to 22.12.0 :esphomepr:`4167` by :ghuser:`dependabot[bot]`
- Use NAN values for TSL2591 saturation :esphomepr:`3931` by :ghuser:`mdonoughe` (breaking-change)
- Ili9341 8bit indexed mode pt2 :esphomepr:`2502` by :ghuser:`davet2001`
- Allow ignoring of failed Modbus response CRC :esphomepr:`3930` by :ghuser:`jangrewe`
- calc LEDC PWM Resolution with LEDC_TIMER_BIT_MAX :esphomepr:`3820` by :ghuser:`MFlasskamp`
- Component::set_retry updates :esphomepr:`3305` by :ghuser:`e28eta`
- Fix race condition in web_server scheduler on ESP32 :esphomepr:`3951` by :ghuser:`tomaszduda23`
- Fix saving light state for restore modes LIGHT_RESTORE_AND_OFF/ON :esphomepr:`4131` by :ghuser:`myhomeiot`
- Add precipitation device class :esphomepr:`4219` by :ghuser:`jesserockz`
- Add support for BP5758D LED driver :esphomepr:`4021` by :ghuser:`Cossid` (new-integration)
- Add support for BP1658CJ LED driver :esphomepr:`4020` by :ghuser:`Cossid` (new-integration)
- Add support for SM2235 and SM2335 LED drivers :esphomepr:`3924` by :ghuser:`Cossid` (new-integration)
- Fix broken PULSE_METER :esphomepr:`4199` by :ghuser:`cstaahl`
- PCF85063 RTC chip :esphomepr:`3873` by :ghuser:`brogon` (new-integration)
- Add API for dashboard to get boards list by platform :esphomepr:`4168` by :ghuser:`kuba2k2`
- Bump dashboard to 20221231.0 :esphomepr:`4248` by :ghuser:`balloob`
- Bump zeroconf to 0.47.1 :esphomepr:`4268` by :ghuser:`bdraco`
- Don't match words containing "id" :esphomepr:`4265` by :ghuser:`ssieb`
- Add support for matrix keypads :esphomepr:`4241` by :ghuser:`ssieb` (new-integration)
- Fix Template Switch restore_mode support :esphomepr:`4280` by :ghuser:`SharpEdgeMarshall`
- Correct decimals in Growatt energy reporting :esphomepr:`4277` by :ghuser:`rfpronk`
- Bump pylint from 2.15.8 to 2.15.10 :esphomepr:`4278` by :ghuser:`dependabot[bot]`
- Fix frequency limit for MCP9600 :esphomepr:`4276` by :ghuser:`jowgn`
- fix: json compilation error on rp2040 :esphomepr:`4273` by :ghuser:`kellertk`
- http_request: add request duration logging :esphomepr:`4272` by :ghuser:`stas-sl`
- Fix HttpRequestResponseTrigger :esphomepr:`4270` by :ghuser:`gmbuell`
- Fix HttpRequestResponseTrigger again :esphomepr:`4285` by :ghuser:`gmbuell`
- Add X9C Potentiometer component :esphomepr:`4183` by :ghuser:`EtienneMD` (new-integration)
- small DisplayBuffer images and font update :esphomepr:`4044` by :ghuser:`nielsnl68`
- Fix use of dangling pointers in esp-idf MQTT backend :esphomepr:`4239` by :ghuser:`aaliddell`
- Ensure we never write zero bytes :esphomepr:`4284` by :ghuser:`bdraco`
- Fix off-by-one bedjet fan speed (#3873) :esphomepr:`4292` by :ghuser:`jhansche`
- Clean up dashboard ping result post-rename/delete :esphomepr:`4170` by :ghuser:`balloob`
- Calculate PWM wrap dynamically whenever the frequency is changed :esphomepr:`4294` by :ghuser:`tradeJmark`
- Remove baud check in tuya dump_config :esphomepr:`4298` by :ghuser:`jesserockz`
- Add friendly_name to device :esphomepr:`4296` by :ghuser:`jesserockz`
- allow multiple dsmr :esphomepr:`4299` by :ghuser:`ssieb`
- Bump pytest from 7.2.0 to 7.2.1 :esphomepr:`4300` by :ghuser:`dependabot[bot]`
- Bump aioesphomeapi from 13.0.2 to 13.1.0 :esphomepr:`4301` by :ghuser:`dependabot[bot]`
- Display the configured esphome:comment on the WebServer :esphomepr:`4246` by :ghuser:`grillp`
- Allow 0xA8 ID for APDS9960 :esphomepr:`4287` by :ghuser:`reubn`
- Dont default CORE.friendly_name :esphomepr:`4305` by :ghuser:`jesserockz`
- add key collector component :esphomepr:`4242` by :ghuser:`ssieb` (new-integration)
- Tsl2591 gain publish :esphomepr:`4291` by :ghuser:`z3liff`
- Add support for EE895 :esphomepr:`3771` by :ghuser:`Stock-M` (new-integration)
- Add support for HTE501 :esphomepr:`3772` by :ghuser:`Stock-M` (new-integration)
- Add support for TEE501 :esphomepr:`3773` by :ghuser:`Stock-M` (new-integration)
- PCA9685, fix reset device and add option EXTCLK :esphomepr:`3845` by :ghuser:`standahabich`
- Implement a slow sigma-delta modulation based output :esphomepr:`4132` by :ghuser:`Cat-Ion` (new-integration)
- set_retry: add retries remaining parameter to the provided function :esphomepr:`4251` by :ghuser:`e28eta` (breaking-change)
- add Wiegand reader component :esphomepr:`4288` by :ghuser:`ssieb` (new-integration)
- Format docker/build.py :esphomepr:`4313` by :ghuser:`jesserockz`
- Add macro for sub sensor defining :esphomepr:`4315` by :ghuser:`jesserockz`
- Add friendly name in MDNS records if it is not empty :esphomepr:`4317` by :ghuser:`catalin2402`
- Add upload dashboard api :esphomepr:`4318` by :ghuser:`balloob`
- Bump esphome-dashboard to 20230120.0 :esphomepr:`4319` by :ghuser:`jesserockz`
- Hydreon: Use new device classes water and precipitation_intensity :esphomepr:`3993` by :ghuser:`functionpointer`
- Dont fail workflows if lint building fails :esphomepr:`4336` by :ghuser:`jesserockz`
- Add MICS-4514 gas sensor :esphomepr:`4316` by :ghuser:`jesserockz` (new-integration)
- Refactor esp32_ble_tracker to use esp32_ble core ble setup code :esphomepr:`4173` by :ghuser:`jesserockz`
- Add next_url to improv serial component config :esphomepr:`4343` by :ghuser:`jesserockz` (new-integration)
- Remove state class from uptime sensor :esphomepr:`4345` by :ghuser:`jesserockz`
- Fix esp32_ble_tracker setup priority :esphomepr:`4346` by :ghuser:`jesserockz`
- Fix in ble client base address parsing :esphomepr:`4347` by :ghuser:`jesserockz`
- Added support for ADS1015 :esphomepr:`4281` by :ghuser:`xvil`
- Fix "BLE server / advertising always on" :esphomepr:`4353` by :ghuser:`Mat931`
- Dump full parsed config to json-config api call :esphomepr:`4373` by :ghuser:`jesserockz`
- Fix pressure compensation in SCD4X :esphomepr:`4357` by :ghuser:`CarlosGS`
- Allow mdns services to be exposed by config :esphomepr:`4202` by :ghuser:`elupus`
- Allow final validate of uart stop bits and parity :esphomepr:`4376` by :ghuser:`jesserockz`
- Update sim800l.cpp :esphomepr:`4223` by :ghuser:`fbeek`
- SCD30 Added support for manual calibration :esphomepr:`4362` by :ghuser:`ftrueck`
- Add Ld2410 Support :esphomepr:`3919` by :ghuser:`sebcaps` (new-integration)
- add Resol VBus support :esphomepr:`3976` by :ghuser:`ssieb` (new-integration)
- Allow dashboard import to specify if api encryption key should be generated :esphomepr:`4393` by :ghuser:`jesserockz`
- modify SGP4X integration to report device_class as air quality index :esphomepr:`4327` by :ghuser:`alexd321`
- Remove unneeded validation for esp32 gpio pins :esphomepr:`4394` by :ghuser:`jesserockz`
- Fix shelly dimmer current sensor device class :esphomepr:`4385` by :ghuser:`trvrnrth`
- Added Ethernet Component for ESP IDF with JL1101 PHY driver :esphomepr:`4009` by :ghuser:`mobrembski`
- adds gpio INPUT_OUTPUT_OPEN_DRAIN :esphomepr:`4360` by :ghuser:`tomaszduda23`
- Merge components in packages :esphomepr:`3555` by :ghuser:`quentinmit`
- Update ld2410 logging :esphomepr:`4395` by :ghuser:`jesserockz`
- Update log for mics4514 to state 3 minute start time. :esphomepr:`4396` by :ghuser:`jesserockz`
- mDNS updates :esphomepr:`4399` by :ghuser:`jesserockz`
- Dont keep logging on improv start :esphomepr:`4401` by :ghuser:`jesserockz`
- Add support for Lippert LP sensors in mopeka_pro_check component :esphomepr:`4118` by :ghuser:`rperciaccante`
- climate: add support for quiet fan mode :esphomepr:`3609` by :ghuser:`MichaelMure`
- add MQTT preset support for Climate components :esphomepr:`4379` by :ghuser:`jmichiel`
- Added CanalSat and CanalSatLD protocol support :esphomepr:`3513` by :ghuser:`Emrvb`
- Remove unused manifest handler :esphomepr:`4169` by :ghuser:`balloob`
- Use the github-script action to call the workflow :esphomepr:`4400` by :ghuser:`jesserockz`
- Convert secrets constant to a tuple :esphomepr:`4245` by :ghuser:`balloob`
- Verify rel_path output is relative :esphomepr:`4247` by :ghuser:`balloob`
- Bump curl version in docker :esphomepr:`4403` by :ghuser:`jesserockz`
- Fix release workflow :esphomepr:`4405` by :ghuser:`jesserockz`
- Climate PID Autotune Logging fixes :esphomepr:`4136` by :ghuser:`patrickcollins12`
- Add Clipping to displaybuffer :esphomepr:`4271` by :ghuser:`nielsnl68`
- Fix check for empty clipping array :esphomepr:`4421` by :ghuser:`nielsnl68`
- Ledc fix :esphomepr:`4338` by :ghuser:`xvil`
- Add version api endpoint :esphomepr:`4429` by :ghuser:`jesserockz`
- Handle uart.write in json-config endpoint :esphomepr:`4430` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20230214.0 :esphomepr:`4431` by :ghuser:`jesserockz`
- Fix setting wrong traits on midea climate component :esphomepr:`4425` by :ghuser:`dudanov`

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

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