Skip to content

Releases

v1.0.9

Choose a tag to compare

@phurth phurth released this 09 Sep 18:11

Packaging fix only — no functional change to the integration.

Fix

HACS validation — hacs.json carried a "domains" key, which is not part of the hacs.json schema for integrations (the domain is read from the integration's own manifest.json). HACS rejected it with extra keys not allowed @ data['domains'].

The key has been removed and repository topics added, so HACS validation now passes.

Nothing in custom_components/ changed. Upgrading from v1.0.8 is optional.

Full changelog: v1.0.8...v1.0.9

v1.0.8

Choose a tag to compare

@phurth phurth released this 24 Aug 15:23

Fixed: HVAC "Auto" did nothing

Setting the thermostat to Auto from Home Assistant put it into an Auto mode that accepted the setpoints but never actually called for heat or cool. Using Auto Furnace on the thermostat's own screen worked.

Cause: HA's auto was hardcoded to device mode 8 (plain Auto), which has no heat source bound to it. Furnace units do not even advertise mode 8 in their capability mask (MAV), yet they still acknowledge a change to it and then run nothing. The modes that work are the per-heat-source variants the thermostat screen shows as Auto Furnace (11), Auto Heat Pump (10) and Auto Heat Strip (9).

Fix: Auto is now resolved against the device's MAV capability mask, the same way heat already was:

  • HA auto selects the Auto variant your thermostat actually advertises, preferring the one driven by the zone's current heat source. Plain mode 8 is used only when it is all the device offers.
  • The heat source carries across a heat ⇄ auto switch, so going from Furnace heat to Auto lands on Auto Furnace.
  • Heat-source presets now work in Auto, letting you switch between Auto Furnace / Auto Heat Pump / Auto Heat Strip on units with more than one heat source. The preset displayed while in Auto is now correct — it previously showed a meaningless first-in-list value.

Verified on a unit reporting MAV=0x816 (fan-only, cool, furnace, auto furnace): HA auto writes {"zone":0,"power":1,"mode":11} and the thermostat echoes back mode 11 — identical to pressing Auto Furnace on the device.

Also fixes the README debug-logging snippet, which named the pre-rename custom_components.easytouch logger and therefore captured nothing.

v1.0.7

Choose a tag to compare

@phurth phurth released this 11 Jun 14:42

What's Changed

  • Send HA home location in Get Status so device displays local weather by @sjoerger in #2

New Contributors

Full Changelog: v1.0.6...v1.0.7

v1.0.6

Choose a tag to compare

@phurth phurth released this 05 Mar 19:53

What's Changed

Bug Fixes

  • Multi-zone entity naming: Zone 0 was unnamed on multi-zone devices, causing entities to appear as 'EasyTouch 355000406' and 'EasyTouch 355000406 Zone 2' with no 'Zone 1'. All zones on multi-zone devices now get explicit 'Zone N' labels. Single-zone devices are unaffected.

Improvements

  • Log message fix: 'Get Config zone N failed -- continuing' was misleading; the code actually aborts and reconnects. Now correctly says 'aborting, will retry on reconnect'.
  • Poll loop log fix: 'Poll loop ended unexpectedly: ' with empty message now includes the exception type name for easier diagnosis.
  • Config discovery log: Completion log now distinguishes active zones (MAV != 0) from all probed slot indices.

v1.0.5

Choose a tag to compare

@phurth phurth released this 05 Mar 01:49

Fix

  • Add bluetooth_adapters to manifest dependencies so HA waits for all remote BLE adapters (including ESPHome proxies) to initialise before starting the integration. This eliminates the startup race that could cause slow or failed first-connect attempts.
  • Declare bleak>=0.21.0 explicitly in requirements (was already imported directly but undeclared).

v1.0.4

Choose a tag to compare

@phurth phurth released this 27 Feb 01:56

What's Changed

Bug Fix

  • Self-heal on startup slot exhaustion: When all Bluetooth proxy/adapter connection slots are occupied at boot (e.g. other integrations connect first), EasyTouch previously failed silently and stayed permanently unavailable until HA was restarted. The integration now enters the standard exponential-backoff reconnect loop on startup failure and connects automatically once a slot becomes free.

v1.0.3 — Breaking Change: Domain Renamed

Choose a tag to compare

@phurth phurth released this 26 Feb 14:28

⚠️ Breaking Change: Integration Domain Renamed

The integration domain has been renamed from easytouch to ha_easytouch.

Why

To avoid conflicts with existing Home Assistant core integrations and to comply with HACS default store submission requirements.

Action Required

This upgrade requires manual steps. Home Assistant cannot automatically migrate config entries when the domain changes.

  1. Note your current settings (device address, PIN, any options)
  2. Remove the integration: Settings → Devices & Services → Micro-Air EasyTouch → ⋮ → Delete
  3. Update the integration via HACS or by replacing files manually
  4. Re-add the integration: Settings → Devices & Services → Add Integration → search for "EasyTouch"
  5. Reconfigure any automations or scripts referencing the old entity IDs (they will have changed from easytouch.* to ha_easytouch.*)

v1.0.2

Choose a tag to compare

@phurth phurth released this 25 Feb 20:52

Align manifest version with release.

v1.0.1 — Bug fixes

Choose a tag to compare

@phurth phurth released this 24 Feb 19:18

Micro-Air EasyTouch — v1.0.1

Bug fixes

  • UI bounce-back after mode change — Entity now applies optimistic state immediately before sending the BLE command, so the climate card reflects the new mode during the status-suppression window instead of snapping back to the old state.

  • Spurious "Fan mode is not valid" toast on HA-initiated commands — Optimistic update ensures fan_modes and fan_mode are consistent when the UI card refreshes, preventing the frontend from sending a stale set_fan_mode("") call.

  • Spurious "Fan mode is not valid" toast on device-initiated mode changes — When the physical thermostat changes mode without an HA command, hvac_mode and fan_mode no longer change in the same state write. The current fan_mode is preserved (if still valid in the new mode) on the transition poll; the correct device fan speed syncs on the following poll. This prevents the native climate card from interpreting a two-field simultaneous change as a user action and issuing a blank set_fan_mode call.

v1.0.0 — Initial release

Choose a tag to compare

@phurth phurth released this 24 Feb 17:53

Micro-Air EasyTouch — v1.0.0

Initial release of the Home Assistant integration for Micro-Air EasyTouch RV thermostats.

Features

  • Persistent BLE connection — no connect/disconnect churn between polls
  • Multi-zone support (zones 0–3, auto-detected via Get Config)
  • Full climate entity per zone: HVAC mode, fan mode, temperature setpoints
  • Heat-source preset modes (Heat Pump, Furnace, Heat Strip, Electric Heat, Gas Heat)
  • Setpoint range enforcement from device config (SPL array)
  • Status suppression after commands to prevent UI bounce-back
  • Device reboot button
  • Data-health binary sensor
  • Device info from BLE 0x180A service (serial number, firmware, model)
  • Exponential backoff reconnection

Supported HVAC modes

off, cool, heat, auto, fan_only, dry

Fan modes

auto, low, high (per-mode availability from device FA array)

Requirements

  • Home Assistant 2024.1.0+
  • bleak-retry-connector >= 3.1.0