v4.0.1 — AC swing split, turn_off_all_zones service, defensive fixes #284
Closed
hiall-fyi
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The biggest user-visible change is the AC swing dropdown split into separate vertical and horizontal axes, which already shipped to beta testers as v4.1.0-beta.1. AC users on fine-grained swing units (Mitsubishi, Fujitsu, similar) can now park each axis independently instead of being forced into a single sweeping motion.
Beyond the swing change, this release rolls up swing-fix polish, an AC HomeKit documentation correction (Smart AC Control V3+ units don't go through the bridge), and several defensive fixes raised by beta testers and v4.0 users. All v4.0.0 users get this via HACS auto-update.
Upgrading from v4.0.0? Update through HACS and restart, no config changes needed. The new split-axis swing dropdowns appear automatically; existing automations using the old unified
swing_modekeep working through v4.1.x with a deprecation warning per call.Dashboard templates and Lovelace conditions reading
state_attr('climate.X', 'swing_mode')and matching'both','vertical', or'horizontal'need updating, since the compat shim covers service calls but not state reads. After v4.0.1 the attribute holds raw values like'on','off','up','auto'. Cards should checkswing_modeandswing_horizontal_modeseparately.HomeKit users with AC zones: temperature and HVAC mode still update locally via HomeKit (typically within 2 seconds). Swing changes still go through Tado's cloud, so picking a swing position uses cloud quota and confirms on the next cloud poll (typically 5–30 minutes). Same as v4.0, not a regression.
Heads-up on the next beta: the numeric humidity sensor's friendly name is changing from
Mold Risk %toMold Risk Indicatorin v4.1.0-beta.2. Background: it was added in v2.0.1 by #90 to give the text-state Mold Risk sensor a numeric companion for HA history graphs and threshold automations. The%in the name reads like "percentage of mold risk" but is actually surface relative humidity, and the trailing%causes a slug collision on fresh installs. Existing installs are unaffected:entity_id,unique_id, attribute names, and state values all stay the same. Only the UI label changes for everyone, and on fresh v4.1.0-beta.2+ installs the auto-generated slug also changes (no_2suffix). If you've titled a dashboard card by typing the name out, you'll want to retype it toMold Risk Indicatorafter the beta lands.What's New
Swing (vertical)and aSwing (horizontal)dropdown, each populated from the cloud-reported capability set for your specific unit. Pick a fixed louver position on either dropdown to stop oscillation on that axis, useful in bedrooms or children's rooms where a constantly moving louver is disruptive. SimpleOn / Offunits keep a two-value dropdown.Up,Mid (down),Left,Mid (right)now expose those values directly in the dropdowns. Translations land in German, Spanish, French, Italian, Dutch, and Portuguese alongside English.tado_ce.turn_off_all_zonesservice (#283 - @hapklaar) — Mirrors the Tado app's "Turn OFF all rooms" button. One call places every climate zone (heating + AC) into a manual OFF overlay; schedules stay suppressed until you resume each zone manually. Designed for "outside temperature above 15°C, turn off everything" automations where the next schedule block would otherwise override the off state.Bug Fixes
tado_ce_state_restoration_availablethe moment a single poll reportedoverlay=nullon a zone that previously had an overlay. A single observation can be a transient (quota-reset window, partial poll response, brief upstream blip) rather than a real overlay clear. The integration now requires two consecutive polls reportingoverlay=nullon the same zone before firing the event, filtering out transients without changing steady-state behaviour. The event still fires on real overlay clears (timer expiry, user resume from Tado app), just one polling cycle later (~5–12 minutes depending on cadence). FEATURES_GUIDE adds a defensive listener pattern (delay + re-check) for any automation subscribed to this event.should_pause_pollingwas logging "expected reset time XX:XX UTC has passed, resuming polling" on every poll cycle oncelast_reset_utc + 24hhad elapsed, even on tiers where polling was never paused (anyone on 1000+ tier under normal load). The line now only fires on an actual paused → unpaused transition. Cosmetic fix; no behavioural change.Offset Sync: drift refresh completenow ends with... N cloud call(s) used this cycleso users can audit drift refresh quota usage without inferring N from rate-limit decrement traces. FEATURES_GUIDE Smart Polling adds a worked daily-total formula and notes the LOW_QUOTA pause threshold.OFF-less units (#270 - @Ralf84) — Picking "Vertical" on a Mitsubishi or Fujitsu unit (which doesn't reportOFFas a swing value) used to send onlyverticalSwing=ONand omithorizontalSwingfrom the payload, leaving the bridge to keep whatever horizontal state it last had. Each axis now writes its own value independently.Onwas incorrectly being translated as a legacy v4.0 unified value, which set the opposite axis toOffand logged a deprecation warning the user hadn't earned.Onis now treated as a v4.1 raw axis value and only the axis you picked moves.Down / Mid / Mid (down) / Mid (up) / Up), which doesn't map to where the louver actually sits. Vertical now reads top-to-bottom, horizontal reads left-to-right.Auto, the swap glyphs for continuousOn, and a small dot forOff).Improvements
On→ preposition or article in all six locales,Right→ "correct" in four,Auto→ "car" in Spanish/Portuguese, Italian'sUp→ "scroll up" sense). 21 hand-fixed strings across the six locales. Thanks to @Ralf84 for catching the German pair on first install.Documentation
tado_ce.identify_deviceshown as a manual workaround.[OFF]only after re-pairing; it was hard to find before, now it's documented properly.switch.tado_ce_{home_id}_quota_reserve_enabledentity is now named in the Quota Reserve section so users know which switch toggles the protection.tado_ce_state_restoration_available.add_meter_readingandidentify_deviceservices documented — both have been live since v3.x but only had handler-level wiring, no user docs. FEATURES_GUIDE now covers both with automation examples.i18n
Resume All→Resume All Schedules;Refresh AC→Refresh AC Capabilities. The entity name itself now tells users what the button does. DeepL pass for DE/ES/FR/IT/NL/PT, with hand-fixes for two polysemy cases (DE "anzeigen" → "fortsetzen"; ES "Volver a" → "Reanudar").Internal
EntityMeta.legacy_name(a pre-translation_key holdover with 67 dead callsites and zero consumers), the one-time Test Mode entity-cleanup pass that's been a no-op since v4.0.0-beta.7 ran on every install, andasync_create_deprecated_config_issue(a YAML-deprecation repair helper that was never called). Net 111 lines of dead code dropped.How to Update
HACS detects v4.0.1 automatically. Open HACS → Tado CE → ⋯ → Update. Restart Home Assistant when prompted.
If you're already running v4.1.0-beta.1 (the swing axis split shipped earlier as a beta), updating to v4.0.1 is a no-op for the swing change itself (same code), but you pick up everything else in this release.
Thanks to everyone who supported the project through Buy Me a Coffee — it genuinely helps.
Full changelog: v4.0.0...v4.0.1
This discussion was created from the release AC swing split, turn_off_all_zones service, defensive fixes.
Beta Was this translation helpful? Give feedback.
All reactions