Skip to content

Releases: oyvindwe/connectlife-ha

0.46.0 Bright Signals

Choose a tag to compare

@oyvindwe oyvindwe released this 14 Jul 12:04
fa830d2

Highlights

  • Fixed climate preset_mode always reading back as none even 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-128 air conditioner

Improvements to existing devices

  • 009-128: added light_on/light_off buttons to control the display LED (write-only t_dimmer, inverted values 0 = on, 1 = off, confirmed on hardware) #630 by @oyvindwe
  • 016: scaled f_power_consumption by 0.01 so the energy sensor reads in kWh instead of 100x too high; scoped to heat pump 016 only #629 by @oyvindwe

Bug fixes

  • Climate preset_mode now reads back the active preset (e.g. eco) instead of always none; presets are now parsed once with the name stripped and a preset name is required by the schema #632 by @oyvindwe

Documentation improvements

  • Added model number for 1b0628z0075j to DEVICES.md #622 by @alawadhi3000
  • Added HACS link to the README #628 by @oyvindwe
  • Removed the obsolete climate turn_on/turn_off warning 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

Choose a tag to compare

@oyvindwe oyvindwe released this 02 Jul 06:56
62d9a5c

Highlights

  • Fixes inconsistent Spanish naming of the delayed end time entity across the number, select, and sensor platforms.
  • Adds an internal update-translations tooling 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 diferida across 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-translations skill 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.py gained 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 --base it still performs a full audit. #620

Full Changelog: v0.45.0...v0.45.1

0.45.0 Polyglot

Choose a tag to compare

@oyvindwe oyvindwe released this 02 Jul 06:35
9be3761

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): set device_class: duration + unit on 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 to Automatic door open at program end delay to disambiguate it from its sibling. #617

Bug fixes

  • Fix garbled English source strings in strings.json/en.json (e.g. Soil leverlevel, Quiet modelmode, AlarmovenAlarm 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_angle appears 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) to DEVICES.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

Choose a tag to compare

@oyvindwe oyvindwe released this 27 Jun 18:33
f0057f3

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 the SET_ICE_SWITCH command, with automatic_ice_making and ice_making_b_switch_status as 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_dimmer is 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) in DEVICES.md and README.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

Choose a tag to compare

@oyvindwe oyvindwe released this 23 Jun 20:55
bf0fafd

Highlights

  • New wine cooler support: device type 034 with a dual-zone Hisense RW3N122GSLF mapping
  • New 009-19901 HACZ01+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: true is 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 #594
  • 009-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-angle t_swing_angle over on/off t_up_down), with the loser falling back to its own switch; resolves the duplicate-mapping warning #597
  • 009: 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 disable flag in all entity-creation paths — device-level platforms (climate, humidifier, water_heater) and the combined-sensor loop now route through has_platform(), so a feature variant can suppress an inherited sub-feature (e.g. a swing axis) with a plain disable: true (audited: changes behavior for zero existing entities) #588

General improvements

  • Add an optional per-property translation_key override so a property reused across device types (e.g. variation_temperature on 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 by CLAUDE.md) #591

Full Changelog: v0.42.1...v0.43.0

0.42.1 Clean Start

Choose a tag to compare

@oyvindwe oyvindwe released this 20 Jun 16:31
a6d67a2

Highlights

  • Corrects the start/stop action codes for the 015-dishwasher-50.2t variant 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 (1 stops, 2 starts) instead of the previously-mapped 3; buttons are now defined in the default 015.yaml and 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

Choose a tag to compare

@oyvindwe oyvindwe released this 20 Jun 15:46
3579eae

Highlights

  • One new device: the Hisense HD5026TLP dehumidifier (007-499), plus a new device-specific mapping for the 006-299 air conditioner (HIAP0825TWD).
  • Dishwashers (015) gain firmware-aware start/stop buttons via the Actions command.
  • Washing machines (027) get experimental remote action buttons, a corrected Status enum, and child-lock switches.

New devices

  • 007-499 (Hisense HD5026TLP dehumidifier, Matter-bridged) #568
  • 006-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 other 007 variants #579
  • 015 (dishwasher): start/stop buttons exposed via the write-only Actions command, with firmware-specific codes — 015-000/015-dishwasher-60.2 get start + stop, 015-dishwasher-50.2t (Hisense HV673B66, Pelgrim GVWC330L) gets start only; start gated on remote control being enabled #583
  • 027 (washing machine): corrected Status enum, child lock split into persistent-setting and real-time-engage switches, and the property list sorted alphabetically; Gorenje WNA94ARWIFI registered under washing-machine-wm22 (experimental: remote action buttons and the real-time child-lock command are unverified on hardware) #554

General improvements

  • Bumped connectlife library 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

Choose a tag to compare

@oyvindwe oyvindwe released this 05 Jun 13:16
a2376eb

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): set device_class/unit on compressor_frequency (frequency/Hz) and power_voltage (voltage/V), which previously rendered as bare numbers #572. Encoding unconfirmed — both properties read 0 in 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 the configure_device description 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

Choose a tag to compare

@oyvindwe oyvindwe released this 04 Jun 14:32
cc13c5c

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_list reads 0 and 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) #552
  • 025-1wj120274v0w (HiSense WDSE1214 washer-dryer) #560 by @beddows11

Improvements to existing devices

  • 025-1wj105219v0w: corrected Current Program Phase and Selected program ID sensor 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, ASKO 003, Gorenje 027) — canonical keys like rinsing, spinning, wash, finished, quick_15, spin, baby_care, synthetic; integer API values unchanged #563

Breaking changes

  • Air conditioner t_swing_angle renamed from "Swing angle" to "Vertical swing angle", and its options changed from angle_1angle_6 to physical positions bottom/low/mid_low/mid_high/high/top (swing/auto unchanged). Automations or dashboards referencing the old name/option keys need updating #567
  • t_swing_angle is now mapped to the climate swing_mode attribute instead of a standalone select, so it appears on the main climate card. t_up_down now defaults to a switch; up_down-only featuresets keep it as swing_mode. On devices exposing both, the angle takes the swing_mode slot and t_up_down becomes 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 statistics block in the base data dictionary (requires connectlife==0.9.0) #561
  • Added connectlife to the manifest loggers so integration debug logging can be enabled #566
  • Pinned pycares<5 in 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

Choose a tag to compare

@oyvindwe oyvindwe released this 30 May 08:08
a8cd584

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 doubled 025- 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 connectlife 0.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