Releases: oyvindwe/connectlife-ha
Release list
0.46.0 Bright Signals
Highlights
- Fixed climate
preset_modealways reading back asnoneeven when a preset was active - Corrected the heat pump (
016) energy sensor that read 100x too high - Added Light On/Off buttons for the
009-128air conditioner
Improvements to existing devices
009-128: addedlight_on/light_offbuttons to control the display LED (write-onlyt_dimmer, inverted values0= on,1= off, confirmed on hardware) #630 by @oyvindwe016: scaledf_power_consumptionby0.01so the energy sensor reads inkWhinstead of 100x too high; scoped to heat pump016only #629 by @oyvindwe
Bug fixes
- Climate
preset_modenow reads back the active preset (e.g.eco) instead of alwaysnone; presets are now parsed once with the name stripped and apresetname is required by the schema #632 by @oyvindwe
Documentation improvements
- Added model number for
1b0628z0075jtoDEVICES.md#622 by @alawadhi3000 - Added HACS link to the README #628 by @oyvindwe
- Removed the obsolete climate
turn_on/turn_offwarning note from the README (no longer emitted since HA 2025.1) #623 by @oyvindwe
Contributors
The following have contributed to changes in this release — thank you very much!
@alawadhi3000
Full Changelog: v0.45.1...v0.46.0
0.45.1 Rosetta Refinement
Highlights
- Fixes inconsistent Spanish naming of the delayed end time entity across the number, select, and sensor platforms.
- Adds an internal
update-translationstooling skill that codifies how translations are added, reviewed, and QA-checked for this integration.
Translation improvements
- Spanish: aligned the delayed end time name to
Finalización diferidaacross the number, select, and sensor platforms (previously translated three different ways, two redundantly leading with "Hora de"). Display text only — no keys renamed. #619
General improvements
- Added the
update-translationsskill under.claude/skills/— captures the full translation procedure, locked conventions (CONVENTIONS.md), a 278-term appliance glossary, and helper scripts (extract_todo.py,merge_translations.py,check_name_units.py) plus reference multi-agent workflows. #618 check_name_units.pygained a--base <git-ref>option so the name/unit consistency check reports only findings a change newly introduces (diffing findings against the ref) instead of re-auditing the whole shipped corpus every run; without--baseit still performs a full audit. #620
Full Changelog: v0.45.0...v0.45.1
0.45.0 Polyglot
Highlights
- New per-device climate control override in the options flow — pin the swing property your hardware actually responds to when a device advertises a control it doesn't honour.
- Time-unit information moved out of entity names and into the data dictionaries (
device_class: duration+unit), so Home Assistant renders units natively and names read cleaner. - Garbled English source strings fixed (typos and run-together words).
- Translations brought to complete across all seven supported languages (de, es, fr, it, nl, no), plus previously-missing config/options flow strings.
Improvements to existing devices
013(oven),032(tumble dryer): setdevice_class: duration+uniton time sensors that previously carried the unit only in their name (Step 4/5 steam-assist set time, automatic-door open delay, washer-to-dryer availability), and dropped now-redundant unit words from entity names. Renamed the automatic-door timer sensor toAutomatic door open at program end delayto disambiguate it from its sibling. #617
Bug fixes
- Fix garbled English source strings in
strings.json/en.json(e.g.Soil lever→level,Quiet model→mode,Alarmoven→Alarm oven). #617
General improvements
- Add a generic per-device, per-climate-target override in the options flow. Some appliances advertise a swing control they don't actually honour (e.g.
t_swing_angleappears on the climate card but only beeps). Since two variants can share the same feature code, this can't be fixed in the data dictionaries — users can now pin the property their hardware responds to, or leave it on auto (unchanged default). The losing property still surfaces as its own entity. Fixes #607. #608
Translation improvements
- Add missing config and options flow translations across de/en/es/fr/it/nl/no. #610
- Complete missing German translations. #611
- Complete missing Spanish translations. #612
- Complete missing French translations. #613
- Complete missing Italian translations. #614
- Complete missing Dutch translations. #615
- Complete missing Norwegian translations. #616
Documentation improvements
- Add
026-1b0628z0049j(Hisense RS818N4TFE refrigerator) toDEVICES.md— the mapping shipped earlier but was missed in the hand-maintained device list. #606
Full Changelog: v0.44.0...v0.45.0
0.44.0 Ice Breaker
Highlights
- New refrigerator mapping with controllable ice maker
- Light on/off buttons for the 009-104 air conditioner's temperature LED
- Wine cooler (device type 034) now listed in the supported-devices docs
New devices
026-1b0628z0049j(Hisense BCD-628WP1BWF1Z10B, RS818 family) — ice maker exposed as a writable switch via theSET_ICE_SWITCHcommand, withautomatic_ice_makingandice_making_b_switch_statusas diagnostic-only sensors and variant-specific fridge/freezer temperature ranges #603 by @domenicocarfora
Improvements to existing devices
009-104: added Light on / Light off buttons for the temperature LED.t_dimmeris write-only (never reported in status), so it's exposed as two buttons rather than a switch; state isn't tracked. Translations added for all seven languages #604
Documentation improvements
- List the wine cooler (
034-1j0122z0035j, Hisense RW3N122GSLF) inDEVICES.mdandREADME.md— the type was added in 0.43.0 but missed in the hand-maintained docs #599
Contributors
The following have contributed to changes in this release — thank you very much!
@domenicocarfora
Full Changelog: v0.43.0...v0.44.0
0.43.0 Cellar Breeze
Highlights
- New wine cooler support: device type
034with a dual-zone Hisense RW3N122GSLF mapping - New
009-19901HACZ01+HAAZ01 ducted zone-controller AC mapping - Smarter climate swing: when a device reports both a multi-position and an on/off swing control, the richer multi-position one now wins instead of being discarded
disable: trueis now honored everywhere, including the climate, humidifier, and water heater device-level entities
New devices
034-1j0122z0035j(Hisense RW3N122GSLF dual-zone wine cooler) — new device type, with per-zone setpoints, child lock, Sabbath mode, interior light brightness, charcoal-filter reminder, and self-diagnostic fault flags #594009-19901(HACZ01+HAAZ01 ducted zone controller AC) — non-functional inherited swing/direction controls disabled; per-zone dampers are the real airflow control #589
Improvements to existing devices
006/009: priority-based fallback for climate swing targets — multiple properties can now claim the same climate target, and per appliance the preferred control the device actually exposes wins (multi-anglet_swing_angleover on/offt_up_down), with the loser falling back to its own switch; resolves the duplicate-mapping warning #597009: mapped six previously-unmapped diagnostic properties (filter indicator + evaporator/water-full/over-temp fault flags) that otherwise surfaced as raw auto-generated sensors #589
Bug fixes
- Honor the
disableflag in all entity-creation paths — device-level platforms (climate, humidifier, water_heater) and the combined-sensor loop now route throughhas_platform(), so a feature variant can suppress an inherited sub-feature (e.g. a swing axis) with a plaindisable: true(audited: changes behavior for zero existing entities) #588
General improvements
- Add an optional per-property
translation_keyoverride so a property reused across device types (e.g.variation_temperatureon fridges and wine coolers) can be named independently per device #595 - Decouple unit tests from the shipped mapping files so tests no longer assert on specific mapping content #592
Documentation improvements
- Consolidate contributor docs into
AGENTS.md(imported byCLAUDE.md) #591
Full Changelog: v0.42.1...v0.43.0
0.42.1 Clean Start
Highlights
- Corrects the start/stop action codes for the
015-dishwasher-50.2tvariant so it stops and starts like every other 015 dishwasher. - Start/stop buttons are now part of the default dishwasher mapping, so all 015 variants — including ones that previously had none — get them.
Bug fixes
015-dishwasher-50.2t: fixed start/stop using the standard action codes (1stops,2starts) instead of the previously-mapped3; buttons are now defined in the default015.yamland the per-variant copies dropped, so all 015 variants inherit stop/start. #585
Full Changelog: v0.42.0...v0.42.1
0.42.0 Button Mash
Highlights
- One new device: the Hisense HD5026TLP dehumidifier (
007-499), plus a new device-specific mapping for the006-299air conditioner (HIAP0825TWD). - Dishwashers (
015) gain firmware-aware start/stop buttons via theActionscommand. - Washing machines (
027) get experimental remote action buttons, a correctedStatusenum, and child-lock switches.
New devices
007-499(Hisense HD5026TLP dehumidifier, Matter-bridged) #568006-299(HIAP0825TWD air conditioner): new device-specific mapping fixing vertical-swing nesting and removing the unsupported Heat mode #582 by @breakingspell
Improvements to existing devices
007-499: pump overridden to a read-only binary sensor (toggling the switch had no confirmed effect); switch retained for other007variants #579015(dishwasher): start/stop buttons exposed via the write-onlyActionscommand, with firmware-specific codes —015-000/015-dishwasher-60.2get start + stop,015-dishwasher-50.2t(Hisense HV673B66, Pelgrim GVWC330L) gets start only;startgated on remote control being enabled #583027(washing machine): correctedStatusenum, child lock split into persistent-setting and real-time-engage switches, and the property list sorted alphabetically; Gorenje WNA94ARWIFI registered underwashing-machine-wm22(experimental: remote action buttons and the real-time child-lock command are unverified on hardware) #554
General improvements
- Bumped
connectlifelibrary to 0.9.1 #578
Contributors
The following have contributed to changes in this release — thank you very much!
@breakingspell
Full Changelog: v0.41.1...v0.42.0
0.41.1 Hz So Good
Highlights
- Refrigerator compressor frequency and voltage sensors now report proper units (Hz and V) instead of bare numbers.
- Fixed a Home Assistant 2026.6.0 translation validation error caused by a missing
{device_name}placeholder in six localized strings. - Test server configuration moved out of the options flow into a creation-time step.
Improvements to existing devices
026(refrigerator): setdevice_class/unit oncompressor_frequency(frequency/Hz) andpower_voltage(voltage/V), which previously rendered as bare numbers #572. Encoding unconfirmed — both properties read0in available dumps, so values are worth confirming against a live reading (a device reporting in the thousands would actually be rpm, not Hz).
Bug fixes
- Add the
{device_name}placeholder to theconfigure_devicedescription in all six non-English translations (de/es/fr/it/nl/no), fixing a translation placeholder validation error under Home Assistant 2026.6.0 #574.
General improvements
- Move test server configuration from the options flow to a creation-time step #571.
Full Changelog: v0.41.0...v0.41.1
0.41.0 Power Up
Highlights
- New daily energy (kWh) and daily water consumption (L) sensors sourced from the ConnectLife cloud statistics endpoints, so they report real values even when
status_listreads0and stay available while the appliance is offline. - Air conditioner vertical swing is now a first-class climate control — the swing angle appears directly on the main climate card with named positions (bottom…top) instead of a separate "Angle 1…6" select.
- 2 new devices: a washing machine and a washer-dryer.
- Program and phase option keys normalized across washing machines, dryers and dishwashers for consistent display and automations.
New devices
025-1wj090729v0w(WFSE9014-LVW002 washing machine) #552025-1wj120274v0w(HiSense WDSE1214 washer-dryer) #560 by @beddows11
Improvements to existing devices
025-1wj105219v0w: correctedCurrent Program PhaseandSelected program IDsensor values (not all phase values verified yet; may differ by region/language) #558 by @araynard- Normalized program/phase option keys across washing machines, dryers and dishwashers (
025/030/032, ASKO003, Gorenje027) — canonical keys likerinsing,spinning,wash,finished,quick_15,spin,baby_care,synthetic; integer API values unchanged #563
Breaking changes
- Air conditioner
t_swing_anglerenamed from "Swing angle" to "Vertical swing angle", and its options changed fromangle_1…angle_6to physical positionsbottom/low/mid_low/mid_high/high/top(swing/autounchanged). Automations or dashboards referencing the old name/option keys need updating #567 t_swing_angleis now mapped to the climateswing_modeattribute instead of a standaloneselect, so it appears on the main climate card.t_up_downnow defaults to aswitch; up_down-only featuresets keep it asswing_mode. On devices exposing both, the angle takes theswing_modeslot andt_up_downbecomes a switch #569- Normalized program/phase option keys may rename existing option strings; existing de/es/it/nl/no translations were carried over, but custom references to the old keys need updating #563
General improvements
- Added daily energy (kWh) and, for wet appliances, daily water consumption (L) sensors backed by a second coordinator polling the cloud statistics endpoints every 10 minutes; opt-in per device type via a
statisticsblock in the base data dictionary (requiresconnectlife==0.9.0) #561 - Added
connectlifeto the manifest loggers so integration debug logging can be enabled #566 - Pinned
pycares<5in dev deps to avoid aiodns DNS breakage #565
Translation improvements
- Added de/es/it/nl/no translations for the new vertical swing angle positions #567 #569
- Carried over and tidied de/es/it/nl/no labels for the normalized program/phase keys (e.g. Spanish
Sintéticos, preserved Silk/Delicate labels) #563
Contributors
The following have contributed to changes in this release — thank you very much!
@araynard
@beddows11
Full Changelog: v0.40.0...v0.41.0
0.40.0 Eastern Gateway
Highlights
- New experimental ConnectLife.TRIR backend, letting users in Russia/CIS log in via the separate TRIR gateway — opt in with the "TRIR" checkbox when setting up the integration.
- The HiSense WF3S1243BB3 washing machine mapping now actually loads (its file was misnamed).
- Documentation updated to explain the TRIR login option.
Bug fixes
025-1wj120459v0f(HiSense WF3S1243BB3 washing machine): correct the mapping filename so the mapping is applied (it was added in 0.39.0 with a doubled025-prefix and never loaded) #553
General improvements
- Add an opt-in, experimental ConnectLife.TRIR (Russia/CIS) backend, selectable via a "TRIR" option in the config flow; requires
connectlife0.8.0. Reverse-engineered by @vit9696. Experimental — login, device listing and energy are confirmed against a live server, but token refresh/expiry semantics and write-back (setting values) are not yet confirmed by a TRIR user #556
Documentation improvements
- Document the TRIR login option and correct the login note: Russia/CIS users can now log in via TRIR (China remains unsupported) #557
Contributors
The following have contributed to changes in this release — thank you very much!
@vit9696
Full Changelog: v0.39.0...v0.40.0