ESPHome 2023.3.0 - 15th March 2023
==================================

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

.. imgtable::
    :columns: 4

    Internal Temperature, components/sensor/internal_temperature, thermometer.svg, dark-invert
    Mopeka Standard Check LP, components/sensor/mopeka_std_check, mopeka_std_check.jpg
    Person Sensor (SEN21231), components/sensor/sen21231, sen21231.png
    Haier Climate, components/climate/haier, haier.svg
    FS3000, components/sensor/fs3000, fs3000.jpg
    Absolute Humidity, components/sensor/absolute_humidity, water-drop.svg, dark-invert
    AS7341, components/sensor/as7341, as7341.jpg, Spectral Color Sensor


Sprinkler updates
-----------------

The sprinkler component has had a big update thanks to :ghuser:`kbx81`.
The method ``time_remaining()`` has been renamed to ``time_remaining_active_valve()`` for clarity.
If you use this to display time remaining, simply update the name of the method in your code/lambda(s).


Tuya lights
-----------

Tuya Lights have had a configuration change and replaced ``rgb_datapoint`` and ``hsv_datapoint`` with a new
combination of ``color_datapoint`` and ``color_type``. See the updated documentation (:doc:`/components/light/tuya`) for more information.


SN74HC165
---------

The pin/bit order has been reversed per shift register so that ``pin 0`` is now ``input A``.


Release 2023.3.1 - March 22
---------------------------

- climate: brown paper bag fix for on_configure :esphomepr:`4573` by :ghuser:`nwf`
- rp2040: Use fake Mutex lock :esphomepr:`4602` by :ghuser:`jesserockz`

Release 2023.3.2 - March 27
---------------------------

- Fix compile error on pzemdc.h :esphomepr:`4583` by :ghuser:`KG3RK3N`
- Swap curly brackets for round on LockGuard :esphomepr:`4610` by :ghuser:`jesserockz`
- Fix animation resizing :esphomepr:`4608` by :ghuser:`guillempages`
- SX1509 minimum loop period (fixes esphome/issues#4325) :esphomepr:`4613` by :ghuser:`tracestep`

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

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

- Add internal_temperature component :esphomepr:`4330` by :ghuser:`Mat931` (new-integration)
- Support Mopeka Standard LPG tank bluetooth sensor :esphomepr:`4351` by :ghuser:`Fabian-Schmidt` (new-integration)
- add person sensor (SEN21231) from usefulsensors :esphomepr:`4454` by :ghuser:`shreyaskarnik` (new-integration)
- add kuntze component :esphomepr:`4411` by :ghuser:`ssieb` (new-integration)
- Add Haier climate component :esphomepr:`4001` by :ghuser:`Yarikx` (new-integration)
- FS3000 sensor :esphomepr:`4502` by :ghuser:`kahrendt` (new-integration)
- Add absolute humidity component :esphomepr:`4519` by :ghuser:`DAVe3283` (new-integration)
- Add AS7341 spectral color sensor :esphomepr:`4331` by :ghuser:`mrgnr` (new-integration)
- Renaming and extending the ili9341 to the ili9xxx component :esphomepr:`4275` by :ghuser:`nielsnl68` (new-integration) (breaking-change)

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

- Add configurable color datapoint :esphomepr:`4383` by :ghuser:`irtimaled` (breaking-change)
- Sprinkler "v2" updates :esphomepr:`4159` by :ghuser:`kbx81` (breaking-change)
- sn74hc165 fixes :esphomepr:`4457` by :ghuser:`jesserockz` (breaking-change)
- Renaming and extending the ili9341 to the ili9xxx component :esphomepr:`4275` by :ghuser:`nielsnl68` (new-integration) (breaking-change)

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

- Fix ethernet clk_mode for GPIO0_OUT :esphomepr:`4307` by :ghuser:`jorticus`
- Add ESP32-S3 support in NeoPixelBus component :esphomepr:`4114` by :ghuser:`rcloran`
- Renaming and extending the ili9341 to the ili9xxx component :esphomepr:`4275` by :ghuser:`nielsnl68` (new-integration) (breaking-change)
- Drop unused, broken logging macros :esphomepr:`4534` by :ghuser:`oxan`
- Revert storing Font glyphs in manually-allocated memory :esphomepr:`4516` by :ghuser:`oxan`
- Correct BME680 gas calculation and heater_off :esphomepr:`4498` by :ghuser:`CarlosGS`
- Add support for new mpu6050 clones responding with 0x70 address :esphomepr:`4546` by :ghuser:`jakehdk`
- Add carbon dioxide device class to scd30 sensor schema. :esphomepr:`4547` by :ghuser:`murrayma`
- Feat: add support for hex color in color component :esphomepr:`4493` by :ghuser:`dorianim`
- Allow AUTO_LOAD to be a function :esphomepr:`4550` by :ghuser:`jesserockz`
- On the ILI9xxx display's enable the psram on esp32 and allow big screen :esphomepr:`4551` by :ghuser:`nielsnl68`
- Map gpio pins for touch on esp32-s2/s3 :esphomepr:`4552` by :ghuser:`jesserockz`
- pipsolar component. Correct the sscanf format for QPIG command parsin… :esphomepr:`4165` by :ghuser:`eroldan`
- Add state class back to uptime sensor :esphomepr:`4557` by :ghuser:`DAVe3283`
- Added response for Tuya RSSI command :esphomepr:`4549` by :ghuser:`catalin2402`
- Remove switch actions during config; bump setup priority :esphomepr:`4563` by :ghuser:`kbx81`
- Mark esp32_touch supported only on standard esp32 variant :esphomepr:`4562` by :ghuser:`jesserockz`
- fixing  ``shrink`` and ``extend`` functions of the displaybuffer's Rect class  :esphomepr:`4565` by :ghuser:`nielsnl68`

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

- socket: Format IPv4-mapped IPv6 addresses as regular IPv4 address :esphomepr:`4382` by :ghuser:`oxan`
- Bump frenck/action-yamllint from 1.3.1 to 1.4.0 :esphomepr:`4289` by :ghuser:`dependabot[bot]`
- Bump pyupgrade from 3.3.0 to 3.3.1 :esphomepr:`4160` by :ghuser:`dependabot[bot]`
- Bump black from 22.12.0 to 23.1.0 :esphomepr:`4375` by :ghuser:`dependabot[bot]`
- Improve tuya network status command :esphomepr:`4415` by :ghuser:`Rjevski`
- Gracefully reject vacuum map upload requests :esphomepr:`4414` by :ghuser:`Rjevski`
- Fixed PlatformIO Build on DEV :esphomepr:`4422` by :ghuser:`Expaso`
- Bump platformio from 6.1.5 to 6.1.6 :esphomepr:`4341` by :ghuser:`dependabot[bot]`
- Bump pylint from 2.15.10 to 2.16.2 :esphomepr:`4426` by :ghuser:`dependabot[bot]`
- Bump aioesphomeapi from 13.1.0 to 13.3.1 :esphomepr:`4427` by :ghuser:`dependabot[bot]`
- Add concurrency limit to ci-docker :esphomepr:`4407` by :ghuser:`jesserockz`
- Add final job so branch protection can require matrix ci steps :esphomepr:`4432` by :ghuser:`jesserockz`
- Deep Sleep capable ports for ESP32S3 :esphomepr:`4230` by :ghuser:`LeDominik`
- Initialize all fields in ESPTime in PCF85063 :esphomepr:`4439` by :ghuser:`oxan`
- Bump zeroconf from 0.47.1 to 0.47.3 :esphomepr:`4437` by :ghuser:`dependabot[bot]`
- Automate syncing device classes with HA :esphomepr:`4438` by :ghuser:`oxan`
- NeoPixel - Add support for ESP32-S3 :esphomepr:`4435` by :ghuser:`ajacques`
- add SUB_BINARY_SENSOR macro to binary sensor :esphomepr:`4447` by :ghuser:`regevbr`
- add SUB_TEXT_SENSOR macro to text sensor :esphomepr:`4448` by :ghuser:`regevbr`
- Simplify sensor schema generation :esphomepr:`4462` by :ghuser:`balloob`
- add SUB_NUMBER macro and schema to number :esphomepr:`4449` by :ghuser:`regevbr`
- add SUB_BUTTON macro and ability to button schema to define the class :esphomepr:`4450` by :ghuser:`regevbr`
- Simplify number_schema function :esphomepr:`4467` by :ghuser:`jesserockz`
- Simplify button_schema function :esphomepr:`4468` by :ghuser:`jesserockz`
- Simplify binary_sensor_schema function :esphomepr:`4469` by :ghuser:`jesserockz`
- Add configurable color datapoint :esphomepr:`4383` by :ghuser:`irtimaled` (breaking-change)
- Add internal_temperature component :esphomepr:`4330` by :ghuser:`Mat931` (new-integration)
- Move remaining SENSOR_SCHEMA to use sensor_schema() :esphomepr:`4471` by :ghuser:`jesserockz`
- Allow specifying target and current visual steps for climate :esphomepr:`4440` by :ghuser:`jesserockz`
- Bump aioesphomeapi from 13.3.1 to 13.4.0 :esphomepr:`4472` by :ghuser:`dependabot[bot]`
- toshiba: add support for quiet fan mode :esphomepr:`4283` by :ghuser:`MichaelMure`
- Bump esptool from 4.4 to 4.5 :esphomepr:`4428` by :ghuser:`dependabot[bot]`
- Support Mopeka Standard LPG tank bluetooth sensor :esphomepr:`4351` by :ghuser:`Fabian-Schmidt` (new-integration)
- fix library override logic :esphomepr:`4474` by :ghuser:`mzakharo`
- Sprinkler "v2" updates :esphomepr:`4159` by :ghuser:`kbx81` (breaking-change)
- add person sensor (SEN21231) from usefulsensors :esphomepr:`4454` by :ghuser:`shreyaskarnik` (new-integration)
- Initial stab at importing idf components :esphomepr:`4000` by :ghuser:`jesserockz`
- add kuntze component :esphomepr:`4411` by :ghuser:`ssieb` (new-integration)
- Add Haier climate component :esphomepr:`4001` by :ghuser:`Yarikx` (new-integration)
- Bump esp-idf to 4.4.3 via platformio/espressif32 @ 5.3.0 :esphomepr:`4254` by :ghuser:`bdraco`
- Add energy to pzemdc :esphomepr:`3626` by :ghuser:`andreashergert1984`
- Update esp32 esp-idf dev and latest version numbers :esphomepr:`4479` by :ghuser:`jesserockz`
- [ExternalRAMAllocator] Use same `heap_caps_malloc` parameter as `ps_malloc`. :esphomepr:`4484` by :ghuser:`Fabian-Schmidt`
- Lock scheduler items while modifying them  :esphomepr:`4410` by :ghuser:`oxan`
- Move Font glyphs to SPI RAM. :esphomepr:`4485` by :ghuser:`Fabian-Schmidt`
- Run CI on merge group :esphomepr:`4489` by :ghuser:`jesserockz`
- Fix parallel invocations of repeat action :esphomepr:`4480` by :ghuser:`oxan`
- Make test3 use huge_app :esphomepr:`4488` by :ghuser:`jesserockz`
- Change variable "skip_updates" and "skip_updates_counter" type from "uint8_t" to "uint16_t" :esphomepr:`4487` by :ghuser:`GitforZhangXL`
- Fix copy-pasta mistake :esphomepr:`4492` by :ghuser:`jesserockz`
- Add int16 to codegen :esphomepr:`4507` by :ghuser:`jesserockz`
- Update __init__.py :esphomepr:`4514` by :ghuser:`dashkhaneh`
- Remove idf components before checking if any in config :esphomepr:`4506` by :ghuser:`jesserockz`
- substitutions: Don't warn when passwords look like a substitution :esphomepr:`4161` by :ghuser:`tljuniper`
- Fix typo :esphomepr:`4515` by :ghuser:`oxan`
- implement pairing for bluetooth proxy :esphomepr:`4475` by :ghuser:`jagheterfredrik`
- Bump docker dependencies :esphomepr:`4526` by :ghuser:`jesserockz`
- Bump aioesphomeapi from 13.4.0 to 13.5.0 :esphomepr:`4525` by :ghuser:`dependabot[bot]`
- Ensure component is ready before update. :esphomepr:`4523` by :ghuser:`Fabian-Schmidt`
- climate: add on_control callbacks :esphomepr:`4511` by :ghuser:`nwf`
- FS3000 sensor :esphomepr:`4502` by :ghuser:`kahrendt` (new-integration)
- Bump esptool from 4.5 to 4.5.1 :esphomepr:`4497` by :ghuser:`dependabot[bot]`
- Add support for multiple devices in bme680_bsec :esphomepr:`3550` by :ghuser:`bisbastuner`
- Bump pytest from 7.2.1 to 7.2.2 :esphomepr:`4505` by :ghuser:`dependabot[bot]`
- Bump pylint from 2.16.2 to 2.16.4 :esphomepr:`4524` by :ghuser:`dependabot[bot]`
- Add absolute humidity component :esphomepr:`4519` by :ghuser:`DAVe3283` (new-integration)
- Add ability to await safe mode in codegen :esphomepr:`4529` by :ghuser:`oxan`
- sn74hc165 fixes :esphomepr:`4457` by :ghuser:`jesserockz` (breaking-change)
- Add AS7341 spectral color sensor :esphomepr:`4331` by :ghuser:`mrgnr` (new-integration)
- Fix ethernet driver setting gpio 5 high when no power pin defined :esphomepr:`4531` by :ghuser:`jesserockz`
- Use PSRam for BLE scan results. :esphomepr:`4486` by :ghuser:`Fabian-Schmidt`
- Bump esp-idf to 4.4.4 :esphomepr:`4528` by :ghuser:`bdraco`
- Added pzemdc reset energy action :esphomepr:`4481` by :ghuser:`KG3RK3N`
- Fix ethernet clk_mode for GPIO0_OUT :esphomepr:`4307` by :ghuser:`jorticus`
- Add ESP32-S3 support in NeoPixelBus component :esphomepr:`4114` by :ghuser:`rcloran`
- Renaming and extending the ili9341 to the ili9xxx component :esphomepr:`4275` by :ghuser:`nielsnl68` (new-integration) (breaking-change)
- Drop unused, broken logging macros :esphomepr:`4534` by :ghuser:`oxan`
- Revert storing Font glyphs in manually-allocated memory :esphomepr:`4516` by :ghuser:`oxan`
- Correct BME680 gas calculation and heater_off :esphomepr:`4498` by :ghuser:`CarlosGS`
- Add support for new mpu6050 clones responding with 0x70 address :esphomepr:`4546` by :ghuser:`jakehdk`
- Add carbon dioxide device class to scd30 sensor schema. :esphomepr:`4547` by :ghuser:`murrayma`
- Feat: add support for hex color in color component :esphomepr:`4493` by :ghuser:`dorianim`
- Allow AUTO_LOAD to be a function :esphomepr:`4550` by :ghuser:`jesserockz`
- On the ILI9xxx display's enable the psram on esp32 and allow big screen :esphomepr:`4551` by :ghuser:`nielsnl68`
- Map gpio pins for touch on esp32-s2/s3 :esphomepr:`4552` by :ghuser:`jesserockz`
- pipsolar component. Correct the sscanf format for QPIG command parsin… :esphomepr:`4165` by :ghuser:`eroldan`
- Add state class back to uptime sensor :esphomepr:`4557` by :ghuser:`DAVe3283`
- Added response for Tuya RSSI command :esphomepr:`4549` by :ghuser:`catalin2402`
- Remove switch actions during config; bump setup priority :esphomepr:`4563` by :ghuser:`kbx81`
- Mark esp32_touch supported only on standard esp32 variant :esphomepr:`4562` by :ghuser:`jesserockz`
- fixing  ``shrink`` and ``extend`` functions of the displaybuffer's Rect class  :esphomepr:`4565` by :ghuser:`nielsnl68`

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

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