Files
home-assistant-addons/hamh/CHANGELOG.md
github-actions[bot] 6c34555d11 release(hamh): 2.0.42
2026-04-26 12:57:37 +00:00

21 KiB

2.0.42 (2026-04-26)

Bug Fixes

  • #316: align root softwareVersionString with version (ae4b33d), closes #316
  • #319: clamp climate auto to heat/cool on non-AutoMode bases (6dd4ded), closes #319

2.0.41 (2026-04-23)

Bug Fixes

  • #302: use DeadFrontBehavior for climate OnOff cluster (a64fb9b), closes #302
  • #305: patch matter.js to accept long operational cert serials (2a08033), closes #305
  • #306: put alexa brightness-reset workaround behind feature flag (6e3329d), closes #306
  • #308: use fan.set_percentage so already-on fans accept speed changes (9b27bbc), closes #308
  • #309: expose matter auto mode for climate devices with ha auto (55e7ef6), closes #309
  • #311: apply server-mode root identity via transactional set (4ed4dfd), closes #311
  • #312: avoid TiltBlindTiltOnly for lift-only blinds (01e778f), closes #312
  • add 30s timeout to ha sendMessagePromise calls (a66f150)
  • clear pending debouncers on unregisterAll (2be9c22)
  • compare entity attributes with deep-equal not json round-trip (4ff6d94)
  • correct thermostat running state for unknown modes and drying (b88ec13)
  • dispose AppEnvironment on graceful shutdown (dc94c77)
  • graceful shutdown on api/backup/restart (01349ad)
  • guard auto-refresh against overlapping reloads (22254a3)
  • guard mireds conversion and align colorMode publishing (b858694)
  • log and surface bridge import errors (cba6296)
  • parallelize home assistant registry fetches (6c30827)
  • reject web-api start on port conflict (757348d)
  • retry transient network errors on ha connect (a3e2504)
  • serialize bridge start and stop lifecycle calls (d4a0367)
  • serialize updateStates and detach plugin listeners (7839ef2)
  • stop bridges in parallel during stopAll and restartAll (c89101a)
  • sweep stale optimistic state entries on set (af22805)

Features

  • add boolean state configuration cluster on leak freeze rain contact (67da2b7)
  • wire groups and scenes management on light plug and fan endpoints (220373d)

2.0.40 (2026-04-12)

HOTFIX (from v2.0.39)

  • #297, #299: fix crash loop on startup — Node 22 native WebSocket drops connections on both aarch64 (RPi) and amd64; now forces ws library (d5b07c7)
  • #297: fix service initialization errors being silently swallowed, causing the process to hang instead of exiting
  • #297: registry fetch now waits for WebSocket reconnect between retries with increased retry tolerance

Bug Fixes

  • #298: add select, input_select, siren to filter preview domain map (4804c22), closes #298

Features

  • add support link in footer and docs page (4185c4e)

2.0.38 (2026-04-11)

Bug Fixes

  • #273: auto-map HA moisture sensors to HumiditySensor (924fe4c), closes #273
  • #275: restore fan speed on turn-on and guard speed rounding (1895fb2), closes #275 #219
  • #281: persist cleaning session state across behavior proxy calls (fac2330), closes #281 #281
  • #281: preserve progress across mid-session idle in multi-phase cleans (9a64cf5), closes #281
  • #281: push operationalState and currentMode in keepalive (9d9fdec), closes #281 #281
  • #281: use endpoint instead of agent as WeakMap key for cleaning session (65c2ed7), closes #281 #281
  • #286: guard all behavior update() methods against missing attributes (47f58ae), closes #286
  • #286: guard endpoint-specific sensor update() against missing attributes (d5a6cfc), closes #286
  • #287: keepalive writes directly to RvcOperationalState cluster (cc60f50), closes #287 #287
  • #287: make rvc reactors offline to produce subscription reports (bd9857f), closes #287
  • #287: use counter-based nonce and add keepalive diagnostics (01a781a), closes #287
  • #287: use Date.now() instead of instance nonce for keepalive diff (5e8970b), closes #287 #287 #287
  • #287: use errorStateDetails instead of errorStateLabel for keepalive (10d33c9), closes #287
  • #287: use setStateOf for keepalive instead of act() (87e2062), closes #287
  • #289: derive multiPressMax at endpoint creation time (671543b), closes #289
  • #289: fix GenericSwitch event handling for Apple Home buttons (af66db3)
  • #289: resolve expired-reference error and lost long press events (77a4b7a)
  • #289: split GenericSwitch into single/multi variants (941b7d2), closes #289
  • #290: biome formatter compliance for serialNumber line (243865e), closes #290
  • #290: populate server-mode root BasicInformation from entity data (a1b7174), closes #290
  • #293: honor speaker override for tv media_player entities (255143b), closes #293
  • add startup force sync to server-mode-bridge (#282) (bf59ee2)
  • alpha: correct vacuum spec-violating state combinations (#287) (22aaa0d)
  • alpha: force structural diff in operationalError to trigger subscription reports (#287) (d731f71)
  • alpha: improve currentRoom sensor matching and add INFO logging (#281) (6e42c9e)
  • alpha: preserve activeAreas during brief state transitions and fix Dreame room_id matching (#281) (f8dcf77)
  • alpha: surface silent currentRoom short-circuits and log legacy vacuum auto-assignments at INFO (#281) (3390e42)
  • auto-map radon sensors to RadonSensorDevice (4718b70)
  • auto-map rain binary sensors to RainSensorDevice (f0abbf8)
  • avoid infinite recursion in ServiceArea progress update (3a92134), closes #281
  • biome formatting for activeAreas guard condition (edd1da2)
  • biome formatting in create-legacy-endpoint-type (9c43060)
  • biome formatting in sidebars.ts (cfb0413)
  • bounded HA connection retries and memory leak cleanup on dispose (bc43ebe)
  • correct broken README links to docs-site URLs (8b69473)
  • correct logo path and lint trailing whitespace (#282, #285) (514338a)
  • enable ServiceArea ProgressReporting for room cleaning status display (64fbebd)
  • guard against missing attributes during HA restart (#286) (02d10ba)
  • periodic keepalive to prevent Apple Home "Updating..." (#287) (c20b03b)
  • persist currentRoomEntity in entity mapping API and storage (04089b4)
  • persist custom product/vendor/serial in entity mapping api (933b3c7)
  • persist plugin config to registry on API update (bd6f40b)
  • push new log entries to SSE stream subscribers (5ab1444)
  • remove HEALTHCHECK from addon Dockerfile (932b8aa)
  • restore missing mapping fields in backup restore paths (8ee73bf)
  • retain active areas for progress tracking during cleaning session (28aa0be), closes #281
  • send area_id from area-based bridge wizard (6c02cde)
  • set currentMode in changeToMode and restore currentArea on cleaning transition (7eb8798)
  • strip BasicInformationServer from composed sub-endpoints (29db91b)
  • update ServiceArea currentArea during vacuum cleaning for Apple Home status display (05e82d4)
  • use interval timer for vacuum keepalive instead of in-update check (5952b8e)

Features

  • #290: add customSerialNumber per-entity override (5ec2573), closes #290
  • #55: discrete Open/Close mode for garage and gate covers (30c4b5b)
  • add customProductName and customVendorName entity mapping overrides (0cca498), closes #277
  • add dishwasher device type override for switch entities (5f41e3b)
  • add Docker HEALTHCHECK to standalone and addon images (12ced3b)
  • add Polish (pl) i18n locale (#288) (3a9aa79)
  • add productNameFromNodeLabel bridge flag for aqara (32c49d3)
  • add siren domain support as OnOff Plug-in Unit (ad0e024)
  • dynamic room progress tracking via currentRoomEntity sensor (b95d0c1)
  • emit diagnostic events for commands, sessions, and errors (ddb66d4)
  • emit diagnostic warning for unsupported sensor device_class (cc40bd2)
  • energy/power measurement support on composed devices (977cf34)
  • immediate force sync on startup (#282) (2404f4b)
  • latency instrumentation in state update path (a380d74)
  • mDNS/network diagnostic API endpoint and frontend card (198a222)
  • multi-admin fabric diagnostics in session info and health API (59e7ef9)
  • startup memory guard, reduced log buffer, and low-resource docs (aee5638)