Full Changelog for Home Assistant Core 2023.1
These are all the changes included in the Home Assistant Core 2023.1 release.
For a summary in a more readable format: Release notes blog for this release.
Full Changelog
- Add nibe heat pump climate entities (@elupus
- #78952 )  - Bump version to 2023.1.0dev0 (@frenck
- #83025 )  - Add 
translation_keyproperty to entites (@emontnemery- #82701 )  - Bump python-fullykiosk to 0.0.12 (@r01k
- #83029 )  - Add dialect support to google_translate (@toddejohnson
- #81768 )  - Update debugpy to 1.6.4 (@frenck
- #83042 )  - Remove home id from Tibber diagnostics (@Danielhiversen
- #83066 )  - Add create and delete for Google Calendar events (@allenporter
- #83034 )  - Add enum device_class and state options property to sensor entities (@frenck
- #82489 )  - Fix glob patterns for partial CI runs (@cdce8p
- #83086 )  - Add type annotations to some hassio API (@emontnemery
- #83103 )  - Migrate Tuya translations (@frenck
- #83105 )  - Enable strict typing of diagnostics (@emontnemery
- #83053 )  - Review AsusWRT sensors tests (@ollo69
- #71307 )  - Fix small coding style in recent overkiz code (@nyroDev
- #82966 )  - Add support for item removal to shopping list (@spacegaier
- #82992 )  - Enable strict typing of analytics (@emontnemery
- #83119 )  - Use enum sensor device class in HomeKit Controller (@frenck
- #83109 )  - Update aiobafi6 to 0.7.3 (@bdraco
- #83073 )  - Simplify diagnostics.DownloadDiagnosticsView (@emontnemery
- #83116 )  - Enable strict typing of raspberry_pi (@emontnemery
- #83123 )  - Enable strict typing of hardkernel (@emontnemery
- #83122 )  - Enable strict typing of homeassistant hardware integrations (@emontnemery
- #83121 )  - Address review comments for shopping list websockets (@spacegaier
- #83143 )  - Use UnitOfTemperature in climate entities [m-s] (@epenet
- #83131 )  - Remove matter services available in websocket api (@MartinHjelmare
- #83151 )  - Update pycomfoconnect to 0.5.1 (@michaelarnauts
- #83124 )  - Use enum sensor device class in PrusaLink (@frenck
- #83107 )  - Use enum sensor device class in Moon (@frenck
- #83108 )  - Bump elkm1 lib to 2.2.1 (@gwww
- #83026 )  - Fix OpenUV coverage (@bachya
- #83203 )  - Bump yalexs-ble to 1.10.3 (@bdraco
- #83216 )  - Bump nibe to 1.5.0 (@elupus
- #83185 )  - Use unit enums in demo (@epenet
- #83130 )  - Use UnitOfTemperature in climate entities [a-f] (@epenet
- #83125 )  - Add the QoS in the MQTT debug log (@jbouwh
- #83195 )  - Remove deprecated GCM API from html5 (@milanmeu
- #83229 )  - Address late KNX flow tests review (@farmio
- #83208 )  - Tweak black config (@scop
- #83230 )  - Populate suggested_area using the LIFX group name for each device (@Djelibeybi
- #83259 )  - Bump aiolookin to 1.0.0 (@ANMalko
- #83198 )  - Enable strict typing of hardware (@emontnemery
- #83120 )  - Code style improvements [alexa] (@cdce8p
- #83258 )  - Bump dessant/lock-threads from 3 to 4 (@dependabot - #83273
)  - Use UnitOfTemperature in climate entities [t-z] (@epenet
- #83129 )  - Use enum sensor device class in UptimeRobot (@frenck
- #83111 )  - Use UnitOfTemperature in climate entities [g-l] (@epenet
- #83127 )  - Add @kamiyo to nws codeowners (@kamiyo
- #83171 )  - Failback to v4 resolver for AAAA records in DNSIP integration (@gjohansson-ST
- #82740 )  - Use UnitOfTemperature in water_heater entities (@epenet
- #83132 )  - Migrate Plugwise translations (@frenck
- #83286 )  - Bump package for Garage Amsterdam (@klaasnicolaas
- #83167 )  - Use enum sensor device class in Tomorrow.io (@frenck
- #83293 )  - Migrate HomeKit Controller translations (@frenck
- #83304 )  - Migrate WLED translations (@frenck
- #83296 )  - Use new device class in homematic (@epenet
- #83303 )  - Migrate LaMetric translations (@frenck
- #83298 )  - Migrate Xiaomi Miio translations (@frenck
- #83300 )  - Use enum sensor device class in Season (@frenck
- #83301 )  - Migrate MusicCast translations (@frenck
- #83305 )  - Migrate TOLO Sauna translations (@frenck
- #83306 )  - Migrate Logitech Harmony Hub translations (@frenck
- #83308 )  - Migrate Demo translations (@frenck
- #83294 )  - Update pylint to 2.15.8 (@cdce8p
- #83311 )  - Use enum sensor device class in Nettigo Air Monitor (@frenck
- #83314 )  - Refactor support for integrations to drop custom unit conversion (@emontnemery
- #83228 )  - Migrate Tractive translations (@frenck
- #83321 )  - Use UnitOfVolume in unit conversion (@epenet
- #83292 )  - Use new device class in meteoclimatic (@epenet
- #83327 )  - Use new device class in openweathermap (@epenet
- #83331 )  - Use new device class in aemet (@epenet
- #83315 )  - Use new device class in environment canada (@epenet
- #83297 )  - Use attributes in homematicip_cloud (@epenet
- #83295 )  - Update litterrobot integration to support long-term statistics (@AliceGrey
- #83269 )  - Use enum sensor device class in AirVisual (@frenck
- #83316 )  - Migrate Overkiz select translations (@frenck
- #83324 )  - Use new device class in meteo_france (@epenet
- #83325 )  - Introduce UnitOfTime enum (@epenet
- #83288 )  - Introduce UnitOfFrequency enum (@epenet
- #83289 )  - Clean up Zodiac (@frenck
- #83334 )  - Migrate UniFi Protect translations (@frenck
- #83338 )  - Use new device class in ambient_station (@epenet
- #83322 )  - Introduce unit enums for electric current and potential (@epenet
- #83287 )  - Introduce unit enums for information and data rate (@epenet
- #83291 )  - Validate state class and unit of measurement for non-numeric sensors (@frenck
- #83344 )  - Remove unused device class from Kostal Plenticore select (@frenck
- #83329 )  - Adjust error message and add callback in nibe heatpump climate (@elupus
- #83027 )  - Migrate Wolf SmartSet Service translations (@frenck
- #83323 )  - Use enum sensor device class in Overkiz (@frenck
- #83342 )  - Migrate Sensibo translations (@frenck
- #83310 )  - Use new device class in buienradar (@epenet
- #83363 )  - Use new enums in rflink (@epenet
- #83371 )  - Add QoS parameter to MQTT websocket_subscribe (@jbouwh
- #83241 )  - Use tuple in test parametrization (@epenet
- #83379 )  - Use new device class in rfxtrx (@epenet
- #83368 )  - Use new device class in ecowitt (@epenet
- #83364 )  - Use new device class in metoffice (@epenet
- #83366 )  - Use new device class in trafikverket weatherstation (@epenet
- #83370 )  - Use new device class in lacrosse view (@epenet
- #83365 )  - Allow cm in precipitation units (@epenet
- #83360 )  - Use new device class in darksky (@epenet
- #83362 )  - Use new device class in zamg (@epenet
- #83361 )  - Add vallox fan speed control (@yozik04
- #82548 )  - Use enum sensor device class in Litter-Robot (@frenck
- #83290 )  - Remove unused device class from Renault select (@frenck
- #83330 )  - Remove invalid device class from Hue connectivity sensor (@frenck
- #83388 )  - Use new device class in accuweather (@epenet
- #83318 )  - Fix icon in meteoclimatic wind bearing (@frenck
- #83390 )  - Use new device class in nws (@kamiyo
- #83172 )  - Use CoverDeviceClass in ESPHome (@frenck
- #83395 )  - Use CoverDeviceClass in Dynalite (@frenck
- #83394 )  - Blebox add thermoBox to climate (@riokuu
- #81090 )  - Remove str from update device class (@frenck
- #83399 )  - Remove str from switch device class (@frenck
- #83400 )  - Remove str from humidifier device class (@frenck
- #83397 )  - Remove str from binary sensor device class (@frenck
- #83393 )  - Remove str from media player device class (@frenck
- #83398 )  - Enforce NumberDeviceClass in number entities (@frenck
- #83402 )  - Remove str from cover device class (@frenck
- #83396 )  - Modernize Image Processing typing (@frenck
- #83405 )  - Use new unit enums in alexa (@epenet
- #83409 )  - Add Shelly support for Plus WallDimmer US (@thecode
- #83385 )  - Use new device class in arwn (@epenet
- #83406 )  - Improve zwave_js test coverage (@raman325
- #83372 )  - Add update of model and version for nibe (@elupus
- #83347 )  - Upgrade grpcio(-status) to 1.51.1 (@frenck
- #83420 )  - Use new unit enums in helpers (@epenet
- #83387 )  - Upgrade google-cloud-pubsub to 2.13.11 (@frenck
- #83419 )  - Shelly code quality - use properties for status (@thecode
- #83421 )  - Refactor Fully Kiosk and add logging details (@r01k
- #83028 )  - Add @nyroDev to overkiz codeowner (@nyroDev
- #83456 )  - Add leak detectors support for Ambient Station (@jpettitt
- #83357 )  - Set matter team as matter codeowners (@MartinHjelmare
- #83506 )  - Bump pylitterbot to 2022.12.0 (@natekspencer
- #83490 )  - Add new data size device class (@epenet
- #83376 )  - Add language to conversation and intent response (@synesthesiam
- #83486 )  - Add abc.ABC to classes with abstract methods (@emontnemery
- #83546 )  - Add new data rate device class (@epenet
- #83377 )  - Introduce unit enums for apparent power (@epenet
- #83451 )  - Introduce unit enums for irradiance (@epenet
- #83414 )  - Add new irradiance device class (@epenet
- #83452 )  - Use new device class in tellduslive (@epenet
- #83369 )  - Remove str from sensor device class (@frenck
- #83391 )  - Update opentherm_gw sensor definitions (@epenet
- #83533 )  - Add sensor tests for devolo_home_control (@Shutgun
- #74292 )  - Add new sound pressure device class (@epenet
- #83453 )  - Introduce unit enums for sound pressure (@epenet
- #83450 )  - Use new unit enums in isy994 (@epenet
- #83583 )  - Use ApparentPower unit and device class in integrations (@epenet
- #83577 )  - Use SoundPressure unit and device class in awair (@epenet
- #83582 )  - Use SoundPressure unit and device class in airq (@epenet
- #83581 )  - Use SoundPressure unit and device class in point (@epenet
- #83580 )  - Use new device class in netatmo (@epenet
- #83367 )  - Fix sensor tests in devolo Home Control (@Shutgun
- #83586 )  - Use UnitOfSoundPressure in demo (@epenet
- #83584 )  - Add entity translations to Renault (@epenet
- #83392 )  - Use Irradiance unit and device class in integrations (@epenet
- #83576 )  - Use Irradiance device class in tomorrowio (@epenet
- #83574 )  - Add power field to switchbot plug (@konikoni428
- #83495 )  - Bump dbus-fast to 1.79.0 (@bdraco
- #83598 )  - Update intent response (@synesthesiam
- #83560 )  - Bump dbus-fast to 1.80.0 (@bdraco
- #83601 )  - Use SoundPressure unit and device class in integrations (@epenet
- #83585 )  - Add new atmospheric pressure device class (@epenet
- #83455 )  - Add support for translating state attributes (@emontnemery
- #77028 )  - Make it optional to provide a title when finishing a FlowHandler (@emontnemery
- #83534 )  - Use UnitOfElectricCurrent in integrations (@epenet
- #83622 )  - Use Frequency and Current device classes in nut (@epenet
- #83623 )  - Use DataRate unit and device class in pyload (@epenet
- #83611 )  - Use DataRate unit and device class in freebox (@epenet
- #83612 )  - Use new unit enums in zha (@epenet
- #83633 )  - Update device classes in ebusd (@epenet
- #83530 )  - Use native 
_attr_properties for MqttEntity (@jbouwh- #83639 )  - Bump actions/setup-python from 4.3.0 to 4.3.1 (@dependabot - #83607
)  - Add types package for paho-mqtt (@cdce8p
- #83599 )  - Use WATER device class in suez water (@epenet
- #83650 )  - Use UnitOfPower.BTU_PER_HOUR in zha (@epenet
- #83657 )  - Google Assistant SDK integration (@tronikos
- #82328 )  - Use WATER device class in rainmachine (@epenet
- #83651 )  - Use device classes in mysensors (@epenet
- #83653 )  - Use WATER device class in streamlabswater (@epenet
- #83654 )  - Improve MQTT type hints for dict get assignments (@jbouwh
- #83634 )  - Use UnitOfVolume in energy integration (@epenet
- #83641 )  - Add bluetooth diagnostics to shelly (@bdraco
- #83438 )  - Use unit enums in overkiz (@epenet
- #83660 )  - Hide Aranet update interval by default (@aschmitz
- #83694 )  - Bump dbus-fast to 1.82.0 (@bdraco
- #83682 )  - Handle special transit errors for here_travel_time (@eifinger
- #83649 )  - Google Sheets: small cleanup (@tronikos
- #83685 )  - Add hue wall switch to deconz integration (@Sommerzeit
- #83700 )  - Use unit enums in vicare (@epenet
- #83648 )  - Adjust device class in xiaomi_miio (@epenet
- #83647 )  - Use DataRate unit and device class in integrations (@epenet
- #83610 )  - Drop title from repairs flows (@emontnemery
- #83627 )  - Reduce log level for linger task/timer (@elupus
- #83703 )  - Use GAS device class in smartthings (@epenet
- #83658 )  - Fix invalid unit in econet (@epenet
- #83656 )  - Use UnitOfVolume in integrations (@epenet
- #83646 )  - Try to reconnect right away when disconnected from Shelly Gen2 devices (@bdraco
- #83701 )  - Make google calendar fail louder on invalid google_calendars.yaml (@allenporter
- #83668 )  - Add homeassistant.helpers.location to loggers for travel_time integrations (@eifinger
- #83705 )  - Add support for battery to Yale Access Bluetooth (@bdraco
- #83691 )  - Add MVP humidifier support to switchbot (@bdraco
- #83696 )  - Connect esphome ble scanner as soon as possible (@bdraco
- #83728 )  - Correct deprecated volt units on yalexs_ble sensor (@bdraco
- #83738 )  - Bump HAP-python to 4.6.0 (@bdraco
- #83729 )  - ESPHome: Use MAC as unique ID (@balloob
- #83741 )  - Adjust esphome bluetooth client logging for unique id change (@bdraco
- #83742 )  - Bump pynina to 0.2.0 (@DeerMaximum
- #83726 )  - Align implementation of the UniFi update platform with the UniFi switch platform (@Kane610
- #81821 )  - Rename “Power production this week” vicare sensor (@oischinger
- #83771 )  - Match config entries for dlna_dmr based on device MAC, in addition to UDN (@chishm
- #74619 )  - Restore remote discovered devices between remote scanner restarts (@bdraco
- #83699 )  - Revert “Move esphome gatt services cache to be per device” #81265 (@bdraco
- #83793 )  - Add text platform for UniFi Protect (@AngellusMortis
- #83674 )  - Improve remote bluetooth scanner diagnostics and add missing test cover (@bdraco
- #83796 )  - Do not try to reconnect shelly on disconnected if Home Assistant is stopping (@bdraco
- #83805 )  - Remove device class on V_FLOW in mysensors (@epenet
- #83806 )  - Use device classes in volkszaehler (@epenet
- #83823 )  - Use POWER device class in solarlog (@epenet
- #83822 )  - Use device classes in solaredge_local (@epenet
- #83821 )  - Drop title from auth flows (@emontnemery
- #83628 )  - Fix incorrect usage of ‘setup’ vs ‘set up’ (@bdr99
- #83774 )  - Use UnitOfPower in integrations [h-r] (@epenet
- #83815 )  - Use device classes in sense (@epenet
- #83817 )  - Use unit enums in saj (@epenet
- #83818 )  - Use device classes in apcupsd (@epenet
- #83807 )  - Use POWER device class in aqualogic (@epenet
- #83808 )  - Use POWER device class in dte energy bridge (@epenet
- #83809 )  - Use POWER device class in eliqonline (@epenet
- #83810 )  - Use UnitOfPower in integrations [a-g] (@epenet
- #83812 )  - Use POWER device class in enphase_envoy (@epenet
- #83811 )  - Add new docs to Diagnostics information (@AngellusMortis
- #83767 )  - Bump PyVicare to 2.21.0 (@oischinger
- #83770 )  - Update aioqsw to v0.3.1 (@Noltari
- #83784 )  - Use UnitOfPower in integrations [s-z] (@epenet
- #83826 )  - Enable automatic conversion for pressures (@epenet
- #83525 )  - Refactor ted5000 to use entity descriptions (@epenet
- #83820 )  - Bump pyswitchbee to 1.7.3 (@jafar-atili
- #83748 )  - Refactor waterfurnace to use entity descriptions (@epenet
- #83824 )  - Add integration for AirVisual Pro (@bachya
- #79770 )  - Remove get_device call in led-ble (@bdraco
- #83880 )  - Remove get_device call in switchbot (@bdraco
- #83881 )  - bump aiolifx_themes to 0.3.0 (@Djelibeybi
- #83877 )  - Add PurpleAir integration (@bachya
- #82110 )  - Bump actions/checkout from 3.1.0 to 3.2.0 (@dependabot - #83894
)  - Remove deprecated apcupsd YAML config (@yuxincs
- #83801 )  - Use DATA_SIZE device class in integrations (@epenet
- #83895 )  - Use DATA_SIZE device class in netgear lte (@epenet
- #83908 )  - Use DATA_SIZE device class in lidarr (@epenet
- #83907 )  - Add explanatory comment to metoffice (@emontnemery
- #83914 )  - Use UnitOfFrequency in integrations (@epenet
- #83915 )  - Fix incorrect device class in goodwe (@epenet
- #83917 )  - Use FREQUENCY device class in integrations (@epenet
- #83916 )  - Refactor huisbaasje to use entity descriptions (@epenet
- #83825 )  - Improve ignore_variance typing (@cdce8p
- #83927 )  - Add diagnostics support to PurpleAir (@bachya
- #82446 )  - Add stones to mass units (@epenet
- #83933 )  - Refactor Huawei LTE to use Entity Description (@epenet
- #83904 )  - Refactor fitbit descriptions to use device classes (@epenet
- #83936 )  - Move bluetooth watchdog into the scanner base class (@bdraco
- #83888 )  - Update intent response (@synesthesiam
- #83858 )  - Adjust additional esphome bluetooth debug messages for unique id change (@bdraco
- #83955 )  - Try to reconnect disconnected shelly devices as soon as they discovered by zeroconf (@bdraco
- #83872 )  - Bump aioshelly to 5.2.0 (@bdraco
- #83961 )  - Update intent response (@synesthesiam
- #83962 )  - Fix nobo_hub HVAC mode (@oyvindwe
- #83947 )  - Ensure AirVisual Pro uses long-running Samba connection (@bachya
- #83869 )  - Add integration_type property to AsusWrt manifest (@ollo69
- #83960 )  - Use UnitOfTemperature enumerator in AsusWrt (@ollo69
- #83958 )  - Move transmission to an updated library (@engrbm87
- #83932 )  - Use UnitOfMass in integrations (@epenet
- #83930 )  - Add re-auth flow to PurpleAir (@bachya
- #83445 )  - Unifi use entity description with sensors (@Kane610
- #81930 )  - Add strings to alert integration (@spacegaier
- #83926 )  - Bump yalexs_ble to 0.12.0 (@bdraco
- #84004 )  - Add integration-type property to androidTV manifest (@ollo69
- #84018 )  - Huawei LTE SSDP improvements (@scop
- #81643 )  - Bump 
pyairvisualto 2022.12.1 (@bachya- #84013 )  - Improve data entry flow typing (@emontnemery
- #83901 )  - Improve data entry flow typing (@emontnemery
- #84030 )  - Use UnitOfLength in integrations (@epenet
- #84034 )  - Use UnitOfElectricPotential in integrations (@epenet
- #84044 )  - Fix incorrect device class in nibe heatpump (@epenet
- #84047 )  - Use Unit enums in MELCloud sensors (@ollo69
- #84036 )  - Add device classes to bloomsky (@epenet
- #84054 )  - Update ESPHome bluetooth repair issue for unique id change and 2022.12.0 (@bdraco
- #84026 )  - Fix grammatical error in HomeKit strings (@DataBitz
- #84043 )  - Add device classes in tesla wall connector (@epenet
- #84048 )  - Move unused function in withings (@epenet
- #84089 )  - Refactor withings constant (@epenet
- #84095 )  - Rename image integration to image_upload (@frenck
- #84063 )  - Split platform attributes in withings (@epenet
- #84099 )  - Improve HomeWizard request issue reporting (@DCSBL
- #82366 )  - Add device class to withings (@epenet
- #84103 )  - Fix prettier [homewizard] (@cdce8p
- #84122 )  - Rename Bluetooth active_update_coordinator to active_update_processor (@bdraco
- #84115 )  - Add device classes in starline (@epenet
- #84049 )  - Add device classes to pool integrations (@epenet
- #84050 )  - Bump 
brotherandpysnmplib(@bieniu- #84107 )  - Fix current_operation when there is no operation_mode in Overkiz DHWP (@nyroDev
- #84077 )  - Make manual and manual_mqtt fully asynchronous (@bonzini
- #83436 )  - Update pyupgrade to 3.3.1 (@cdce8p
- #84148 )  - Update isort to 5.11.3 (@cdce8p
- #84147 )  - Google Assistant SDK: Support non en-US language code (@tronikos
- #84028 )  - Clean up matter adapter (@MartinHjelmare
- #84144 )  - Add dhcp discovery for newer august/yale bridges (@bdraco
- #84125 )  - Bump yalexs-ble to 1.12.2 (@bdraco
- #84118 )  - Enable strict typing for here_travel_time (@eifinger
- #83814 )  - Move speedtestdotnet coordinator to separate file (@engrbm87
- #83979 )  - Add state_class to Tradfri battery and air quality sensors (@J3173
- #84185 )  - Elmax/alarm_control_panel (@albertogeniola
- #75365 )  - Sensor pro fix for negative temperatures (@Ernst79
- #84181 )  - Add re-auth flow to AirVisual Pro (@bachya
- #84012 )  - Save entry earlier in PurpleAir re-auth flow (@bachya
- #84203 )  - Add ability to add/remove PurpleAir sensors in an existing config entry (@bachya
- #83440 )  - Add device HmIP-DRDI3 (@hahn-th
- #83337 )  - Use DATA_SIZE device class in folder integration (@epenet
- #83897 )  - Bump PySwitchbot to 0.29.1 (@bdraco
- #84119 )  - Bump aiolifx-themes to 0.4.0 (@Djelibeybi
- #84216 )  - Use new unit enumerators in tibber (@epenet
- #84222 )  - Use UnitOfEnergy in integrations (o-z) (@epenet
- #84221 )  - Use UnitOfEnergy in integrations (a-n) (@epenet
- #84220 )  - Bump 
nettigo air monitorlibrary to version 1.6.0 (@bieniu- #84129 )  - Fix manual.alarm_control_panel RestoreEntity bugs (@bonzini
- #82990 )  - Use ENERGY device class in landisgyr heat meter (@epenet
- #84223 )  - Use ENERGY device class in oru (@epenet
- #84225 )  - Bump zeroconf to 0.44.0 (@bdraco
- #84166 )  - Use new unit enums in fronius (@epenet
- #84224 )  - Use UnitOfVolume in bmw_connected_drive (@epenet
- #84228 )  - Use a global const for CONF_UUID (@michaelarnauts
- #84093 )  - Bump gassist-text to 0.0.5 (@tronikos
- #84161 )  - Upgrade attrs to 22.1.0 (@boralyl
- #84205 )  - Clean mysensors test type errors (@MartinHjelmare
- #84178 )  - Use new unit enumerators in tuya (@epenet
- #84229 )  - Use UnitOfVolume in dsmr_reader (@epenet
- #84226 )  - Add POWER device class to goodwe number (@epenet
- #84232 )  - Adjust units in lcn (@epenet
- #84051 )  - Remove name key from transimssion services (@engrbm87
- #83974 )  - Update sentry-sdk to 1.12.1 (@frenck
- #84234 )  - Add integration-type property to Nut manifest (@ollo69
- #84020 )  - Add support for CCF volume unit (@epenet
- #84029 )  - Update coverage to 7.0.0 (@frenck
- #84237 )  - Update black to 22.12.0 (@frenck
- #84242 )  - Update spotipy to 2.22.0 (@frenck
- #84244 )  - Use UnitOfElectricCurrent in integrations (@epenet
- #84231 )  - Update watchdog to 2.2.0 (@frenck
- #84245 )  - Use a single source of data for switchbot (@bdraco
- #84215 )  - Migrate AirVisual Pro devices to the 
airvisual_prodomain (@bachya- #83882 )  - Bump lupupy to 0.2.4 (@majuss
- #84252 )  - Remove 
airvisual_procode fromairvisual(@bachya- #84254 )  - Use UnitOfPressure in integrations (@epenet
- #84230 )  - Remove Deutsche Bahn integration (@frenck
- #84236 )  - Fix Styrbar device trigger mapping in deCONZ (@Kane610
- #84257 )  - Shuffle some device registry WS code (@emontnemery
- #84243 )  - Clean up Notion config flow (and tests) (@bachya
- #84007 )  - Implement an active update coordinator for polling ble devices that get data from both advertisements and active connections (@bdraco
- #84207 )  - Add foundation for passive scanning support to switchbot (@bdraco
- #84260 )  - fix provider name: linky is for electricity. (@laurent-martin
- #84273 )  - Add more types to the todoist integration (@boralyl
- #84210 )  - Add tests.common.ANY (@emontnemery
- #84240 )  - Fix error when describing deCONZ events of removed devices (@J3173
- #84194 )  - Fixes some grammar mistakes (@michaelarnauts
- #84283 )  - Use dict.setdefault in registry migration code (@emontnemery
- #84277 )  - Add minor version to area registry store (@emontnemery
- #84280 )  - Correct zamg config flow comments (@killer0071234
- #81369 )  - Add aliases to entity registry items (@emontnemery
- #84239 )  - Use UnitOfTime in integrations (t-z) (@epenet
- #84291 )  - Fix matter websocket reconnect (@MartinHjelmare
- #84192 )  - Use UnitOfTime in integrations (h-s) (@epenet
- #84289 )  - Use UnitOfTime in integrations (a-g) (@epenet
- #84288 )  - Improve the dsmr_reader sensor names (@Glodenox
- #84269 )  - Revert the state class removal in dsmr_reader after bugfix (@Glodenox
- #84267 )  - Update 
gioslibrary to version 2.3.0 (@bieniu- #84292 )  - Remove scan_interval and manual options from speedtestdotnet (@engrbm87
- #84295 )  - Extract Forecast.Solar DataUpdateCoordinator into module (@frenck
- #83859 )  - Allow MQTT device trackers to be able to the reset the location name for auto zone inference (@ShadowJonathan
- #83952 )  - Bump bthome-ble to 2.4.0 (@Ernst79
- #84189 )  - Use UnitOfTemperature in integrations (a-d) (@epenet
- #84304 )  - Use UnitOfTemperature in integrations (e-h) (@epenet
- #84305 )  - Use UnitOfTemperature in integrations (i-m) (@epenet
- #84307 )  - Use UnitOfTemperature in integrations (n-o) (@epenet
- #84306 )  - Use UnitOfTemperature in integrations (p-s) (@epenet
- #84308 )  - Use UnitOfTemperature in integrations (t-z) (@epenet
- #84309 )  - Add aliases to device registry items (@emontnemery
- #84246 )  - Bump devolo-plc-api to 0.9.0 (@Shutgun
- #84324 )  - Handle not existing arrival/departure keys for here_travel_time (@eifinger
- #83754 )  - Code quality improvements for Mastodon (@frenck
- #84320 )  - Bump actions/stale from 6.0.1 to 7.0.0 (@dependabot - #84333
)  - Add aliases to area registry items (@emontnemery
- #84294 )  - Add quarter-hour peak consumption sensors (@Glodenox
- #84271 )  - Introduce unit enums for volume flow rate (@epenet
- #84310 )  - Fix reload race in shelly when device is recently offline (@bdraco
- #84328 )  - Bump pyrainbird to 0.7.1 (@allenporter
- #84325 )  - Use unit enums in plaato (@epenet
- #84341 )  - Use unit enums in tasmota (@epenet
- #84342 )  - Use unit enums in airvisual_pro (@epenet
- #84346 )  - Use unit enums in honeywell (@epenet
- #84344 )  - Add support for translating custom attribute state (@emontnemery
- #83386 )  - Use unit enums in energy and sensor (@epenet
- #84343 )  - Use UnitOfVolumeFlowRate in integrations (@epenet
- #84348 )  - Bump PySwitchbot to 0.30.0 (@bdraco
- #84347 )  - Use unit enums in nexia (@epenet
- #84349 )  - Use unit enums in mold indicator (@epenet
- #84350 )  - Use unit enums in elkm1 (@epenet
- #84351 )  - Use unit enums in ruuvitag_ble (@epenet
- #84352 )  - Use unit enums in sensirion_ble (@epenet
- #84353 )  - Adjust units in lcn (@epenet
- #84356 )  - Update pyotp to 2.8.0 (@frenck
- #84339 )  - Add missing preset for overkiz Atlantic APC heating zone (@nyroDev
- #84008 )  - Update Blink 2FA flow description (@timrogers
- #84362 )  - Adjust units in lcn (@epenet
- #84365 )  - Prevent use of deprecated units (@epenet
- #83384 )  - Add ZHA Zeroconf discovery for SLZB-06 (@Tarik2142
- #84111 )  - Add filter for duplicate NINA warnings (@DeerMaximum
- #84069 )  - Zamg api timestamp issue fix (@killer0071234
- #84143 )  - Bump here_transit/here_routing and Implement backoff mechanism for here_travel_time (@eifinger
- #83976 )  - Add external handling in Overkiz AtlanticElectricalHeaterWithAdjustableTemperatureSetPoint (@nyroDev
- #84010 )  - Add sensor unit of measurement validation for device classes (@frenck
- #84366 )  - Add matter node added subscription (@MartinHjelmare
- #84377 )  - Fix google calendar recurrence rule create and view (@allenporter
- #84330 )  - Don’t allow google calendar create/delete for yaml/search calendars (@allenporter
- #83604 )  - Update types packages (@cdce8p
- #84381 )  - Less tasks when receiving SSDP messages (@StevenLooman
- #84186 )  - Fix incorrect power factor device class usage in Fronius (@frenck
- #84374 )  - Fix incorrect voc device class usage in Deconz sensors (@frenck
- #84371 )  - Fix incorrect illuminance device class usage in Broadlink (@frenck
- #84373 )  - Fix incorrect co device class usage in GIOS (@frenck
- #84379 )  - Fix uom/device class mismatches in tests (@frenck
- #84372 )  - Use selector in AndroidTV option flow form (@ollo69
- #83761 )  - Update isort to 5.11.4 (@cdce8p
- #84406 )  - Improve error message when an automation fails to validate (@emontnemery
- #83977 )  - Add enum device class and translations to DSMR Active tariff sensor (@J3173
- #84253 )  - Fix issues with Color temperature conversions in Hue (@marcelveldt
- #83982 )  - Update actions/cache to 3.2.0 + new restore action (@cdce8p
- #84408 )  - Add support for entity aliases to Google Assistant (@frenck
- #84405 )  - Bump zeroconf to 0.47.0 (@bdraco
- #84420 )  - Add myself as a codeowner for rainbird (@allenporter
- #84421 )  - Replace async_schedule_update_ha_state for manual and manual_mqtt (@jbouwh
- #84395 )  - Fix incorrect signal strength device class usage in Rituals Genie (@frenck
- #84376 )  - Restore speed when turning a Tasmota fan back on (@emontnemery
- #84337 )  - String formatting and max line length - Part 1 (@frenck
- #84390 )  - Additional tests to improve coverage of manual and manual_mqtt (@jbouwh
- #84424 )  - Fix flaky automation test (@emontnemery
- #84428 )  - Fix incorrect voltage device class usage in RuuviTag BLE (@frenck
- #84380 )  - String formatting and max line length - Part 2 (@frenck
- #84393 )  - Improve script config tests (@emontnemery
- #84433 )  - Bump plexapi to 4.13.2 (@jjlawren
- #84416 )  - Bump yalexs-ble to 1.12.3 (@bdraco
- #84414 )  - Split out part of update sensor to a common UniFi entity class (@Kane610
- #84262 )  - String formatting and max line length - Part 3 (@frenck
- #84394 )  - Remove front matter parsing in homeassistant_alerts (@ludeeus
- #83980 )  - Fix DHWP overkiz_to_operation_mode creation list (@nyroDev
- #83885 )  - Add Ecobee Smart Enhanced (@FuzzyMistborn
- #83666 )  - Improve error message when a script fails to validate (@emontnemery
- #84438 )  - Fix title of Matter integration (@marcelveldt
- #84385 )  - Add firmware update entity for Litter-Robot 4 (@natekspencer
- #83590 )  - Fix Matter param order for subscribing (@balloob
- #84460 )  - Use first refresh method from data update coordinator in PI-Hole integration (@mib1185
- #84453 )  - Strip whitespace from application credentials (@allenporter
- #84461 )  - Upgrade ciso8601 to 2.3.0 (@frenck
- #84465 )  - ESPHome: do not set expected_name on APIClient (@jesserockz
- #84471 )  - Move Rainbird to async client library (@allenporter
- #84417 )  - Install all test requirements in bootstrap (@jesserockz
- #84469 )  - Test conversation WS API (@balloob
- #84466 )  - Replace attrs with dataclasses in Core exceptions (@frenck
- #84473 )  - Make all ARMED states available for manual_mqtt (@bonzini
- #84264 )  - Bump actions/setup-python from 4.3.1 to 4.4.0 (@dependabot - #84488
)  - Round illuminance value in ZHA integration (@bieniu
- #84500 )  - String formatting and max line length - Part 4 (@frenck
- #84445 )  - Replace attrs with dataclasses in hassfest (@frenck
- #84475 )  - String formatting and max line length - Part 5 (@frenck
- #84501 )  - Switch to a different local Bluetooth adapter when one runs out of connection slots (@bdraco
- #84331 )  - Add blebox discovery/zeroconf (@riokuu
- #83837 )  - Bump yalexs_ble to 1.12.5 (@bdraco
- #84517 )  - Try the next best adapter after a BLE connection fails (@bdraco
- #84512 )  - Fix flaky Nina CI test (@balloob
- #84522 )  - Cleanup rainbird controller setup as feedback from previous PR (@allenporter
- #84504 )  - Bump pySwitchbot to 0.30.1 to fix a deadlock when services are missing (@bdraco
- #84521 )  - Bump zeroconf to 0.47.1 (@bdraco
- #84523 )  - Update nibe to 1.6.0 (@elupus
- #84449 )  - String formatting and max line length - Part 6 (@frenck
- #84525 )  - Bump zamg from 0.2.1 to 0.2.2 (@killer0071234
- #84526 )  - Bump actions/cache from 3.2.0 to 3.2.1 (@dependabot - #84565
)  - Add mysensors binary sensor tests (@MartinHjelmare
- #84580 )  - Deprecate 
set_doorbell_messageUniFi Protect service (@AngellusMortis- #83675 )  - Deprecate the UniFi Protect Detected Object sensor (@AngellusMortis
- #83480 )  - Add mysensors switch tests (@MartinHjelmare
- #84585 )  - Bump pySwitchbot to 0.31.0 (@bdraco
- #84586 )  - Add mysensors device tracker tests (@MartinHjelmare
- #84589 )  - Add strict typing to simplepush (@engrbm87
- #84598 )  - Add strict typing to speedtestdotnet (@engrbm87
- #84597 )  - Fix F602 key repeated (@yuvalabou
- #84531 )  - String formatting and max line length - Part 7 (@frenck
- #84532 )  - Add recommended actions to NINA (@DeerMaximum
- #83775 )  - Add support for covers in Prometheus metrics (@spyder007
- #83763 )  - Remove lumen from Illuminance units (@epenet
- #84386 )  - Use Object selector for AndroidTV detection rules option (@ollo69
- #84412 )  - Update xknx to 2.2.0 (@farmio
- #84609 )  - Add mysensors light tests (@MartinHjelmare
- #84606 )  - Add Plugwise climate preset translations (@frenck
- #84617 )  - Clean mysensors test fixture loading (@MartinHjelmare
- #84618 )  - Add mysensors climate tests (@MartinHjelmare
- #84619 )  - Add mysensors cover tests (@MartinHjelmare
- #84626 )  - Clean mysensors update callbacks (@MartinHjelmare
- #84629 )  - Add 
cooldownandrespond_to_readoptions for KNX expose (@farmio- #84613 )  - Improve 
lookingeneric typing (@cdce8p- #84636 )  - Improve 
gogogate2generic typing (@cdce8p- #84632 )  - KNX ConfigFlow: Validate contents of knxkeys file (@farmio
- #84411 )  - Return unavailable if Govee BLE sensor is in error (@PierreAronnax
- #84547 )  - Add climate platform to Mazda integration (@bdr99
- #75037 )  - Add reolink IP NVR/Camera integration (@starkillerOG
- #84081 )  - Improve 
rainbirdgeneric typing (@cdce8p- #84642 )  - Improve 
ovo_energygeneric typing (@cdce8p- #84641 )  - Improve 
rdwgeneric typing (@cdce8p- #84643 )  - Improve 
googlecalendar generic typing (@cdce8p- #84633 )  - Improve 
kostal_plenticoregeneric typing (@cdce8p- #84634 )  - Improve 
laundrifygeneric typing (@cdce8p- #84635 )  - Improve 
lyricgeneric typing (@cdce8p- #84637 )  - Add Local calendar edit support (@allenporter
- #84141 )  - Use debouncer in mysensors (@MartinHjelmare
- #84638 )  - Improve 
totalconnectgeneric typing (@cdce8p- #84650 )  - Improve 
synology_dsmgeneric typing (@cdce8p- #84649 )  - Improve 
surepetcaregeneric typing (@cdce8p- #84647 )  - Improve 
steam_onlinegeneric typing (@cdce8p- #84646 )  - Update wled to 0.15.0 (@frenck
- #84639 )  - Improve DataUpdateCoordinator typing in integrations (1) (@cdce8p
- #84655 )  - Improve DataUpdateCoordinator typing in integrations (2) (@cdce8p
- #84656 )  - Improve DataUpdateCoordinator typing in integrations (3) (@cdce8p
- #84657 )  - Improve DataUpdateCoordinator typing in integrations (4) (@cdce8p
- #84658 )  - ISY994: Bump pyisy to 3.0.9 (@shbatm
- #84654 )  - Add IPv6 support to snmp sensor (@stgraber
- #84607 )  - Fix thundering heard in setup_again when there are many integrations (@bdraco
- #84670 )  - Avoid creating a task in the bluetooth watchdog when everything is OK (@bdraco
- #84669 )  - Switch to orjson for tests (@elupus
- #84674 )  - Add support for SwitchBot Lock (@dsypniewski
- #84673 )  - Fix SwitchBot Lock test (@dsypniewski
- #84682 )  - Bump actions/cache from 3.2.1 to 3.2.2 (@dependabot - #84683
)  - Improve 
omnilogicgeneric typing (@cdce8p- #84686 )  - Improve 
meteo_francegeneric typing (@cdce8p- #84685 )  - KNX ConfigFlow: add selection of secure tunnel endpoint (@farmio
- #84651 )  - Fix zha RMS voltage (@MattWestb
- #84689 )  - Add nibe heat pump alarm reset button (@elupus
- #79427 )  - Switch to pytest-freezer (@elupus
- #84680 )  - Update frontend to 20221228.0 (@bramkragten
- #84696 )  - airzone: update aioairzone to v0.5.2 (@Noltari
- #84690 )  - Fix handling of CoAP 404 in homekit_controller (@Jc2k
- #84700 )  - Improve 
riscogeneric typing (@cdce8p- #84644 )  - Bump python matter server to 1.0.8 (@marcelveldt
- #84692 )  - Update apprise to 1.2.1 (@hmmbob
- #84705 )  - Remove deprecated tankerkoenig YAML config (@mib1185
- #84711 )  - Gracefully handle caldav event with missing summary (@allenporter
- #84719 )  - water_heater: Add unsupported states (@oischinger
- #84720 )  - Remove incorrect unit for AirVisual AQI sensor (@bachya
- #84723 )  - Fix incorrect values for AirVisual Pro sensors (@bachya
- #84725 )  - Fix and upgrade minio integration (@tkislan
- #84545 )  - Bump pynetgear to 0.10.9 (@starkillerOG
- #84733 )  - Fix UUID normalisation for vendor extensions in homekit_controller thread transport (@Jc2k
- #84746 )  - Check google calendar API scope to determine if write access is enabled (@allenporter
- #84749 )  - Catch vicare errors when deactivating preset fails (@oischinger
- #84778 )  - Only subscribe to specific UniFi object ID (@Kane610
- #84787 )  - Remove 
ozonedevice class from OpenUV sensor (@bachya- #84791 )  - Don’t attempt setup on migrated AirVisual Pro in the 
airvisualdomain (@bachya- #84796 )  - Deprecate YAML config in PI-Hole (@mib1185
- #84797 )  - Fix AirVisual Pro sensors with incorrect units for their device classes (@bachya
- #84800 )  - Correct missing alarm reset button on nibe (@elupus
- #84809 )  - Fix thermobeacon WS08 models that identify with manufacturer_id 27 (@bdraco
- #84812 )  - ISY994: Bump PyISY to 3.0.10 (@shbatm
- #84821 )  - Actually try port when finding next available port for ssdp server (@StevenLooman
- #84206 )  - Fix growatt identification issue (@muppet3000
- #84628 )  - Enable unit conversion for DATA_RATE (@epenet
- #84698 )  - Enable unit conversion for DATA_SIZE (@epenet
- #84699 )  - Use pycarwings2 2.14 (@filcole
- #84792 )  - Add mV as a unit for voltage and enable conversions (@jbouwh
- #84805 )  - Add mA to SensorDeviceClass.CURRENT units (@SukramJ
- #84492 )  - Add option to retrieve SwitchBot Lock encryption key through config flow (@dsypniewski
- #84830 )  - Redesign and refactor Bravia TV config_flow (@Drafteed
- #84832 )  - Update frontend to 20221230.0 (@bramkragten
- #84842 )  - Add availability property to DSMR sensors (@frenck
- #84848 )  - Ensure AirVisual Pro migration includes device and entity customizations (@bachya
- #84798 )  - Bump pybravia to 0.2.5 (@Drafteed
- #84835 )  - Do not validate device classes when entity state is unknown (@frenck
- #84860 )  - Only reflect unavailable state in DSMR when disconnected (@frenck
- #84862 )  - Bump aiounifi to v43 (@Kane610
- #84864 )  - Bump pyroon library to 0.1.2. (@pavoni
- #84865 )  - Bump pyeconet to 0.1.17 (@w1ll1am23
- #84868 )  - Bump motionblinds to 0.6.14 (@starkillerOG
- #84873 )  - Process late feedback for Reolink (@starkillerOG
- #84884 )  - Small fixes for SwitchBot Locks (@bdraco
- #84888 )  - Don’t include distance in PurpleAir sensor selector (@bachya
- #84893 )  - Fix issues with PurpleAir sensor device class and unit (@bachya
- #84896 )  - Use serial number for AirVisal Pro config entry unique ID (@bachya
- #84902 )  - Google Assistant SDK: Log command and response (@tronikos
- #84904 )  - Fix free/busy google calendars (@allenporter
- #84907 )  - Bump pydeconz to v106 (@Kane610
- #84914 )  - Fix haveibeenpwned user-agent string (@ChopperRob
- #84919 )  - Fix Climate device HVAC mode trigger UI (@allenporter
- #84930 )  - Fix failing HomeKit Controller diagnostics tests (@bdraco
- #84936 )  - Bump pySwitchbot to 0.36.1 (@bdraco
- #84937 )  - Fix caldav calendars with custom timezones (@allenporter
- #84955 )  - Handle not available add-on in hassio add-on manager (@MartinHjelmare
- #84943 )  - Consider 95% as closed for Motion blinds venetian blinds (@starkillerOG
- #84872 )  - Handle not available add-on in hassio add-on manager (@MartinHjelmare
- #84943 )  - Revert “Add aliases to device registry items” (@emontnemery
- #84976 )  - Bump motionblinds to 0.6.15 (@starkillerOG
- #84994 )  - Bump ZHA quirks (@dmulcahey
- #85004 )  - Bump home-assistant-bluetooth to 1.9.1 (@bdraco
- #85005 )  - Update Tibber lib to 0.26.7. Improve error handling of realtime data (@Danielhiversen
- #85008 )  - Update frontend to 20230102.0 (@bramkragten
- #85010 )  - Switch to reolink-aio (@starkillerOG
- #85014 )  - Bump pyatmo to v7.5.0 (@cgtobi
- #85016 )  - Bump httpx to 0.23.2 (@bdraco
- #85023 )  - Bump slixmpp to 1.8.3 (@balloob
- #85031 )  - Fix bluetooth not being loaded with esphome proxies when removed from default_config (@bdraco
- #85032 )  - Fix failing HomeKit Controller diagnostics tests (@bdraco
- #84936 )  - 2022.12.9 (@balloob
- #85030 )  - Fix integer only LCN variable values (@alengwenus
- #85035 )  - Update adguard to 0.6.1 (@frenck
- #85052 )  - Remove workaround for reloading PurpleAir upon device removal (@bachya
- #85086 )  - Do not reset current selection on reconfig or MQTT select (@jbouwh
- #85099 )  - Allow MQTT device_class or state_class to be set as 
None(@jbouwh- #85106 )  - Update frontend to 20230104.0 (@bramkragten
- #85107 )  - Remove illuminance device class for sensors in devolo Home Control (@Shutgun
- #85108 )  - Handle zone exception when setting up Cloudflare (@ludeeus
- #85110 )