2025.12.1 Identity crisis # 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