Highlights
- a long time problem with migration creating duplicate entries is fixed
- 5 new devices, improvements to 12 others
- improvements to vacuum state, and sensor precision
Breaking changes
- Some heater preset modes have been changed to low/medium/high (with translations) to better match the underlying modes
New devices
- Lebenlang LBL0380 heater #4099 by @maxhamilius
- Cecotec Conga X70 vacuum #4083
- Lumary B2 ceiling fan with RGB+CW light #4084
- SRNE SE Series lithium battery #4119 by @barijaona
- Henden Essential pool heat pump #4120 by @marcins
Improvements to existing devices
- cecotec_readywarm2000max_heater, kogan_kasmgphXXXX_heater, livn_arosa_fireplace, semptec_zx7007_heater: use low/medium/high presets instead of eco/comfort/boost or some custom presets. #1708
- petree_cube_litter_box: Use light for indicator, add dump sand button and cleaning binary_sensor #4103 by @PurpleFries
- miro_qtower_humidifier: use correct preset for middle #4107
- ilife_a30_pro_vacuum: invert activate dp #4109
- electriq_pd45e_dehumidifier: swap laundry and purify presets, add tank full sensor #4104 by @charlesomer
- smartplugv1: Add compatible HYS-U1S-13A product #4104 by @charlesomer
- atorch_dt20_energymeter: mark data refresh interval optional #4092
- tongou_toqsyswt_breaker: expose real-time update button #3480
- cecotec_congas1970_vacuum: add missing modes, mop life and reset #4127 by @malkavi
General improvements
- translations: add low, medium, high presets for heaters #1708
- vacuum: reflect docked status in state #4123 by @MIKOLAJW197
- sensor: default precision according to scale #4119
- migration: fix incorrect unique ids due to earlier change in HA config entry handling #4130
Development improvements
- use correct test fixture loop scope to avoid warnings
- avoid pycares-5.0.0 disruptive upgrade that breaks tests
- install libjpeg-turbo to test container to avoid breakage on camera tests