@riddix/hamh 2.0.41 → 2.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -37,7 +37,7 @@ of port forwarding etc.
37
37
 
38
38
  | Channel | Branch | Current Version | Description |
39
39
  |---------|--------|-----------------|-------------|
40
- | **Stable** | `main` | v2.0.41 | Production-ready, recommended for most users |
40
+ | **Stable** | `main` | v2.0.43 | Production-ready, recommended for most users |
41
41
  | **Alpha** | `alpha` | v2.1.0-alpha.x | Pre-release with new features, for early adopters |
42
42
  | **Testing** | `testing` | v4.1.0-testing.x | ⚠️ **Highly unstable!** Experimental features, may break |
43
43
 
@@ -52,22 +52,43 @@ of port forwarding etc.
52
52
  ## 🎉 What's New
53
53
 
54
54
  <details>
55
- <summary><strong>📦 Stable Features (v2.0.41)</strong> - Click to expand</summary>
55
+ <summary><strong>📦 Stable Features (v2.0.43)</strong> - Click to expand</summary>
56
56
 
57
- **New in v2.0.41:**
57
+ **New in v2.0.43:**
58
+
59
+ - 🤖 Vacuum `currentArea` updates when cleaning is started outside HAMH ([#281](https://github.com/RiDDiX/home-assistant-matter-hub/issues/281))
60
+ - 📡 Sensor reactors mark themselves offline when HA disconnects, so updates reach controllers on reconnect ([#327](https://github.com/RiDDiX/home-assistant-matter-hub/issues/327))
61
+ - 🪟 Lift+tilt window coverings pick a valid Matter Type ([#323](https://github.com/RiDDiX/home-assistant-matter-hub/issues/323))
62
+ - 🪟 Cover `device_class=window` maps to Rollershade ([#312](https://github.com/RiDDiX/home-assistant-matter-hub/issues/312))
63
+ - 🧹 UWANT and Xiaomi sweep/mop labels recognised, mop usage routed via `mode.vacuum_mop` ([#322](https://github.com/RiDDiX/home-assistant-matter-hub/issues/322))
64
+ - 🤖 Vacuum identify falls back to a sibling identify button when `vacuum.locate` is unsupported ([#320](https://github.com/RiDDiX/home-assistant-matter-hub/issues/320))
65
+ - ❄️ HA-auto AC `systemMode` stays put when `hvac_action` is idle, ha-auto-only ACs no longer expose Matter Auto ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309))
66
+ - 🌡️ Climate setpoints snap to the entity `target_temp_step` ([#321](https://github.com/RiDDiX/home-assistant-matter-hub/issues/321))
67
+ - 🛰️ matter.js controller traffic captured in `/api/logs`
68
+ - 🇯🇵 Japanese translation by [@kimera257](https://github.com/kimera257) ([#325](https://github.com/RiDDiX/home-assistant-matter-hub/pull/325))
69
+ - 📝 Docs note for the iPhone-only stuck-on-updating vacuum workaround ([#287](https://github.com/RiDDiX/home-assistant-matter-hub/issues/287))
70
+
71
+ **Previously in v2.0.42 (hotfix release):**
72
+
73
+ - 🇯🇵 Aqara bridge registration no longer stalls, root `softwareVersionString` now matches the numeric `softwareVersion` ([#316](https://github.com/RiDDiX/home-assistant-matter-hub/issues/316))
74
+ - ❄️ Climate `auto` mode is clamped to `heat`/`cool` on devices without an `AutoMode` base ([#319](https://github.com/RiDDiX/home-assistant-matter-hub/issues/319))
75
+ - 🌀 Per-entity `disableClimateFanControl` mapping flag, falls back to `ThermostatDevice` when controllers like Aqara don't recognise `RoomAirConditioner` (`0x0072`) ([#318](https://github.com/RiDDiX/home-assistant-matter-hub/issues/318))
76
+ - 🗺️ Vacuum service area `selectedAreas` is kept after dispatch instead of being cleared
77
+
78
+ **Previously in v2.0.41:**
58
79
 
59
80
  | Feature | Description |
60
81
  |---------|-------------|
61
82
  | 🌡️ Google Home AC offline fix | `DeadFrontBehavior` on climate OnOff cluster so RoomAirConditioner stops showing offline on Google Home ([#302](https://github.com/RiDDiX/home-assistant-matter-hub/issues/302)) |
62
83
  | 🪟 Cover device_class mapping | Map HA `garage`/`gate`/`window`/`awning`/etc. to the matching Matter WindowCovering type so voice commands hit the right device type ([#304](https://github.com/RiDDiX/home-assistant-matter-hub/issues/304)) |
63
84
  | 📺 LG TV commissioning patch | Local patch on matter.js 0.16.11 to accept long NOC operational cert serials ([#305](https://github.com/RiDDiX/home-assistant-matter-hub/issues/305)) |
64
- | 💡 Alexa brightness-reset behind flag | Old Alexa brightness-reset heuristic moved behind `alexaPreserveBrightnessOnTurnOn`, default off Apple Home "set room to 100%" works again ([#306](https://github.com/RiDDiX/home-assistant-matter-hub/issues/306)) |
85
+ | 💡 Alexa brightness-reset behind flag | Old Alexa brightness-reset heuristic moved behind `alexaPreserveBrightnessOnTurnOn`, default off, Apple Home "set room to 100%" works again ([#306](https://github.com/RiDDiX/home-assistant-matter-hub/issues/306)) |
65
86
  | 🌀 Google Home fan speed | Uses `fan.set_percentage` so already-on fans pick up speed changes from Google Home ([#308](https://github.com/RiDDiX/home-assistant-matter-hub/issues/308)) |
66
87
  | ❄️ Climate auto mode | Expose Matter Auto mode when HA reports `auto` in `hvac_modes` ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309)) |
67
88
  | 🆔 Server-mode root identity | Root identity now applies as a single transaction, so controllers don't drop devices mid-swap ([#311](https://github.com/RiDDiX/home-assistant-matter-hub/issues/311)) |
68
- | 🪟 Lift-only blinds | No more `TiltBlindTiltOnly` on covers without tilt fixes Alexa routines for roller blinds ([#312](https://github.com/RiDDiX/home-assistant-matter-hub/issues/312)) |
89
+ | 🪟 Lift-only blinds | No more `TiltBlindTiltOnly` on covers without tilt, fixes Alexa routines for roller blinds ([#312](https://github.com/RiDDiX/home-assistant-matter-hub/issues/312)) |
69
90
  | 🏷️ Per-entity `disableClimateOnOff` | Turn off the OnOff cluster on climate endpoints per entity for controllers that prefer mode-only control |
70
- | 🔢 `serialNumberSuffix` per bridge | Append a suffix to every entity serial useful if controllers like Aqara cache stale device data |
91
+ | 🔢 `serialNumberSuffix` per bridge | Append a suffix to every entity serial, useful if controllers like Aqara cache stale device data |
71
92
  | 📝 `protocolLogLevel` option | Quiet matter.js logs independently from the app log level |
72
93
  | 🖥️ Bridge HW/SW version strings | HA device-registry `hw_version`/`sw_version` now show up in Matter BasicInformation on server-mode endpoints |
73
94
  | 🎨 Extended color light: XY + enhancedColorMode | XY feature added as mandatory, `enhancedColorMode` mirrors `colorMode` |
@@ -80,7 +101,7 @@ of port forwarding etc.
80
101
  **Reliability & resilience:** parallel bridge stop in `stopAll`/`restartAll`, parallel HA registry fetches, serialized bridge start/stop lifecycle, serialized `updateStates` with plugin listener detach, HA reconnect retry on transient network errors, 30s timeout on `sendMessagePromise`, port-conflict reject on web-api start, graceful shutdown on `/api/backup/restart`, `AppEnvironment` disposal on SIGINT, stale optimistic state sweep, pending debouncer clear, healthcheck 401 fix under basic auth, deep-equal entity attribute comparison, overlap guard for auto-refresh, safer mireds conversion, aligned `colorMode` publishing, surfaced bridge import errors, corrected thermostat running state for unknown modes + drying, unified Node version across Dockerfiles, sourcemaps excluded from npm tarball, unused deps dropped (rxjs, strip-color, lodash), unused `config-validator` utility removed.
81
102
 
82
103
  **Previously in v2.0.39 & v2.0.40 (hotfix releases):**
83
- - Fixed crash loop on startup caused by Node 22 native WebSocket dropping connections ([#297](https://github.com/RiDDiX/home-assistant-matter-hub/issues/297), [#299](https://github.com/RiDDiX/home-assistant-matter-hub/issues/299)) affects both aarch64 (RPi) and amd64
104
+ - Fixed crash loop on startup caused by Node 22 native WebSocket dropping connections ([#297](https://github.com/RiDDiX/home-assistant-matter-hub/issues/297), [#299](https://github.com/RiDDiX/home-assistant-matter-hub/issues/299)), affects both aarch64 (RPi) and amd64
84
105
  - Fixed service initialization errors being silently swallowed, causing the process to hang instead of exiting
85
106
  - Registry fetch now waits for WebSocket reconnect between retries and has increased retry tolerance
86
107
  - Fixed `select`, `input_select`, `siren` domains showing as unsupported in filter preview ([#298](https://github.com/RiDDiX/home-assistant-matter-hub/issues/298))
@@ -127,7 +148,7 @@ of port forwarding etc.
127
148
  <details>
128
149
  <summary><strong>🧪 Alpha Features (v2.1.0-alpha.x)</strong> - Click to expand</summary>
129
150
 
130
- **Alpha is currently level with Stable (v2.0.41).** All alpha work from the v2.1.0-alpha.601 line through v2.1.0-alpha.626 has been promoted into v2.0.41. New alpha work continues from `v2.1.0-alpha.627` onward and will appear here as development progresses.
151
+ **Alpha is currently level with Stable (v2.0.43).** All alpha work up to the latest pre-release has been promoted into v2.0.43. New alpha work continues from the next pre-release tag onward and will appear here as development progresses.
131
152
 
132
153
  </details>
133
154
 
@@ -154,7 +175,7 @@ of port forwarding etc.
154
175
  <summary><strong>📜 Previous Stable Versions</strong> - Click to expand</summary>
155
176
 
156
177
  ### v2.0.40
157
- Filter preview domain fix `select`, `input_select`, `siren` now show as supported ([#298](https://github.com/RiDDiX/home-assistant-matter-hub/issues/298))
178
+ Filter preview domain fix, `select`, `input_select`, `siren` now show as supported ([#298](https://github.com/RiDDiX/home-assistant-matter-hub/issues/298))
158
179
 
159
180
  ### v2.0.39
160
181
  Node 22 WebSocket crash loop fix ([#297](https://github.com/RiDDiX/home-assistant-matter-hub/issues/297), [#299](https://github.com/RiDDiX/home-assistant-matter-hub/issues/299)), service init error surfacing, registry retry hardening, support link added
@@ -198,7 +219,7 @@ Vacuum mop intensity, vacuum auto-detection, Roborock room auto-detect, live ent
198
219
  ### v2.0.24
199
220
  Dashboard landing page, composed devices, bridge wizard feature flags, entity autocomplete, light transitions, live diagnostics, vacuum suction level, thermostat auto-resume, vacuum docked state, memory leak fix
200
221
 
201
- ### v2.0.19v2.0.23
222
+ ### v2.0.19-v2.0.23
202
223
  Bridge templates, live filter preview, entity diagnostics, multi-bridge bulk operations, entity health indicators, diagnostic export, EntityLabel/DeviceLabel filters, Power & Energy Measurement, Event domain (GenericSwitch)
203
224
 
204
225
  ### v2.0.17 / v2.0.18
@@ -340,26 +361,26 @@ configuration options, known issues, limitations and guides.
340
361
  ## 🔧 Network Troubleshooting
341
362
 
342
363
  <details>
343
- <summary><strong>⚠️ "No Response" / Connection Drops Common Network Causes</strong> (click to expand)</summary>
364
+ <summary><strong>⚠️ "No Response" / Connection Drops, Common Network Causes</strong> (click to expand)</summary>
344
365
 
345
366
  ### The Problem
346
367
 
347
- Your Matter devices suddenly show **"No Response"** (Apple Home), **"Unavailable"** (Google Home), or become **unresponsive** after some time even though the bridge is still running and other controllers (e.g., Alexa) continue to work fine.
368
+ Your Matter devices suddenly show **"No Response"** (Apple Home), **"Unavailable"** (Google Home), or become **unresponsive** after some time, even though the bridge is still running and other controllers (e.g., Alexa) continue to work fine.
348
369
 
349
370
  ### Root Cause: Network Equipment Blocking mDNS/Multicast
350
371
 
351
- Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reachability. Many routers, access points, and managed switches have features that **filter, throttle, or block multicast traffic** which breaks Matter communication silently.
372
+ Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reachability. Many routers, access points, and managed switches have features that **filter, throttle, or block multicast traffic**, which breaks Matter communication silently.
352
373
 
353
- > **💡 This was confirmed and documented thanks to the excellent systematic testing by [@omerfaruk-aran](https://github.com/omerfaruk-aran) in [#129](https://github.com/RiDDiX/home-assistant-matter-hub/issues/129).** The issue was traced to a TP-Link Archer AX50 (in AP mode) sitting between the Apple TV and the network its default settings were blocking/limiting mDNS/Bonjour traffic over time.
374
+ > **💡 This was confirmed and documented thanks to the excellent systematic testing by [@omerfaruk-aran](https://github.com/omerfaruk-aran) in [#129](https://github.com/RiDDiX/home-assistant-matter-hub/issues/129).** The issue was traced to a TP-Link Archer AX50 (in AP mode) sitting between the Apple TV and the network, its default settings were blocking/limiting mDNS/Bonjour traffic over time.
354
375
 
355
376
  ### What to Check on Your Network Equipment
356
377
 
357
- 1. **IGMP Snooping** Disable or configure it to allow mDNS (`224.0.0.251` / `ff02::fb`)
358
- 2. **Multicast Optimization / Multicast Enhancement** Disable (often called "Airtime Fairness" or "Multicast to Unicast")
359
- 3. **AP Isolation / Client Isolation** Must be **disabled** so devices on the same network can communicate
360
- 4. **mDNS / Bonjour Forwarding** Enable if available (some enterprise APs have this)
361
- 5. **DHCP Server on secondary devices** Disable DHCP on access points / switches that are NOT your main router (multiple DHCP servers cause IP conflicts)
362
- 6. **Firmware Updates** Update your router/AP firmware, as multicast handling is frequently improved
378
+ 1. **IGMP Snooping**, Disable or configure it to allow mDNS (`224.0.0.251` / `ff02::fb`)
379
+ 2. **Multicast Optimization / Multicast Enhancement**, Disable (often called "Airtime Fairness" or "Multicast to Unicast")
380
+ 3. **AP Isolation / Client Isolation**, Must be **disabled** so devices on the same network can communicate
381
+ 4. **mDNS / Bonjour Forwarding**, Enable if available (some enterprise APs have this)
382
+ 5. **DHCP Server on secondary devices**, Disable DHCP on access points / switches that are NOT your main router (multiple DHCP servers cause IP conflicts)
383
+ 6. **Firmware Updates**, Update your router/AP firmware, as multicast handling is frequently improved
363
384
 
364
385
  ### Affected Equipment (Known Cases)
365
386
 
@@ -383,14 +404,14 @@ Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reach
383
404
  ```
384
405
  --mdns-network-interface eth0
385
406
  ```
386
- (or `end0`, `enp0s18`, etc. check your system)
407
+ (or `end0`, `enp0s18`, etc., check your system)
387
408
 
388
409
  ### Network Topology Tips
389
410
 
390
411
  - **Keep the path simple**: Avoid placing access points or managed switches between your Matter bridge (Home Assistant) and your Home Hub (HomePod/Apple TV)
391
412
  - **Use wired connections** where possible for Home Hubs and the Home Assistant host
392
413
  - **Same subnet**: All Matter devices, controllers, and the bridge must be on the same Layer 2 network / subnet
393
- - **IPv6**: Matter requires IPv6 do not disable it. For VLAN setups, configure **ULA addresses** (`fd00::/8`), not just link-local (`fe80::`). See [Troubleshooting](https://home-assistant-matter-hub.riddix.dev/guides/connectivity-issues#ipv6) and [Discussion #39](https://github.com/RiDDiX/home-assistant-matter-hub/discussions/39)
414
+ - **IPv6**: Matter requires IPv6, do not disable it. For VLAN setups, configure **ULA addresses** (`fd00::/8`), not just link-local (`fe80::`). See [Troubleshooting](https://home-assistant-matter-hub.riddix.dev/guides/connectivity-issues#ipv6) and [Discussion #39](https://github.com/RiDDiX/home-assistant-matter-hub/discussions/39)
394
415
 
395
416
  </details>
396
417
 
@@ -398,7 +419,7 @@ Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reach
398
419
 
399
420
  ## Migration from t0bst4r
400
421
 
401
- Migrating from the original `t0bst4r/home-assistant-matter-hub` is straightforward. **Your Matter fabric connections and paired devices will be preserved!**
422
+ Migrating from the original `t0bst4r/home-assistant-matter-hub` is easy. **Your Matter fabric connections and paired devices will be preserved!**
402
423
 
403
424
  ### Home Assistant Add-on
404
425
 
@@ -450,22 +471,29 @@ Your volume mounts stay the same - no data migration needed.
450
471
 
451
472
  This project thrives thanks to the amazing community! Special thanks to everyone who contributes by reporting bugs, suggesting features, and helping others.
452
473
 
474
+ > Note: GitHub doesn't surface contributors on this repo because it's still a fork of the original. The list below is maintained by hand.
475
+
453
476
  ### 🏆 Top Contributors
454
477
 
478
+ Newest first.
479
+
455
480
  | Contributor | Contributions |
456
481
  |-------------|---------------|
457
- | [@codyc1515](https://github.com/codyc1515) | 🥇 **Top Reporter** - Climate/thermostat bugs (#52, #24, #21, #20), extensive testing feedback |
482
+ | [@Yllelder](https://github.com/Yllelder) | 🌐 **Translator** - Spanish translation ([#314](https://github.com/RiDDiX/home-assistant-matter-hub/pull/314)) |
483
+ | [@MStankiewiczOfficial](https://github.com/MStankiewiczOfficial) | 🌐 **Translator** - Polish translation ([#288](https://github.com/RiDDiX/home-assistant-matter-hub/pull/288)) |
484
+ | [@aetasoul](https://github.com/aetasoul) | 🤖 **Code Contributor** - Immediate force sync on startup to beat stale Alexa queues ([#282](https://github.com/RiDDiX/home-assistant-matter-hub/pull/282)) |
485
+ | [@omerfaruk-aran](https://github.com/omerfaruk-aran) | 🌐 Turkish translation ([#260](https://github.com/RiDDiX/home-assistant-matter-hub/pull/260)) + 🔧 Network debugging for "No Response" issues ([#129](https://github.com/RiDDiX/home-assistant-matter-hub/issues/129)) |
486
+ | [@gustavakerstrom](https://github.com/gustavakerstrom) | 🤖 **Code Contributor** - Custom fan speed mapping ([#226](https://github.com/RiDDiX/home-assistant-matter-hub/pull/226)), template description fix ([#215](https://github.com/RiDDiX/home-assistant-matter-hub/pull/215)) |
487
+ | [@AmineDjeghri](https://github.com/AmineDjeghri) | 📝 Migration instructions for the addon data folder ([#171](https://github.com/RiDDiX/home-assistant-matter-hub/pull/171)) |
488
+ | [@markgaze](https://github.com/markgaze) | 🤖 **Code Contributor** - Ecovacs Deebot room support ([#118](https://github.com/RiDDiX/home-assistant-matter-hub/pull/118)) |
489
+ | [@codyc1515](https://github.com/codyc1515) | 🥇 **Top Reporter** - Climate/thermostat bugs (#52, #24, #21, #20), README badge & install steps ([#285](https://github.com/RiDDiX/home-assistant-matter-hub/pull/285)), binary sensor classes ([#66](https://github.com/RiDDiX/home-assistant-matter-hub/pull/66)), fan control init ([#10](https://github.com/RiDDiX/home-assistant-matter-hub/pull/10)) |
490
+ | [@AymericLeFeyer](https://github.com/AymericLeFeyer) | 📝 README YouTube video link |
491
+ | [@depahk](https://github.com/depahk) | 📝 Migration docs ([#32](https://github.com/RiDDiX/home-assistant-matter-hub/pull/32)) |
458
492
  | [@Hatton920](https://github.com/Hatton920) | 🤖 **Vacuum Expert** - Intensive testing of Robot Vacuum Server Mode, Apple Home & Siri validation |
459
- | [@Chrulf](https://github.com/Chrulf) | 🔍 Google Home brightness debugging (#41), detailed logs & testing |
493
+ | [@razzietheman](https://github.com/razzietheman) | 🥈 **Active Tester** - Bridge icons (#101), sorting (#80), feature requests (#31, #30), extensive UI/UX feedback |
460
494
  | [@SH1FT-W](https://github.com/SH1FT-W) | 💎 **Sponsor** + Vacuum room selection feature request (#49) |
461
- | [@depahk](https://github.com/depahk) | 📝 Migration documentation fix ([#32](https://github.com/RiDDiX/home-assistant-matter-hub/pull/32)) |
495
+ | [@Chrulf](https://github.com/Chrulf) | 🔍 Google Home brightness debugging (#41), detailed logs & testing |
462
496
  | [@Fettkeewl](https://github.com/Fettkeewl) | 🐛 Script import bug (#26), Alias feature request (#25) |
463
- | [@razzietheman](https://github.com/razzietheman) | 🥈 **Active Tester** - Bridge icons (#101), sorting (#80), feature requests (#31, #30), extensive UI/UX feedback |
464
- | [@markgaze](https://github.com/markgaze) | 🤖 **Code Contributor** - Ecovacs Deebot room support ([#118](https://github.com/RiDDiX/home-assistant-matter-hub/pull/118)) |
465
- | [@omerfaruk-aran](https://github.com/omerfaruk-aran) | 🔧 **Network Debugging Expert** - Systematic mDNS/multicast root cause analysis for "No Response" issues ([#129](https://github.com/RiDDiX/home-assistant-matter-hub/issues/129)) |
466
- | [@gustavakerstrom](https://github.com/gustavakerstrom) | 🤖 **Code Contributor** - Template description display fix ([#215](https://github.com/RiDDiX/home-assistant-matter-hub/pull/215)) |
467
- | [@aetasoul](https://github.com/aetasoul) | 🤖 **Code Contributor** - Immediate force sync on startup to beat stale Alexa queues ([#282](https://github.com/RiDDiX/home-assistant-matter-hub/pull/282)) |
468
- | [@Yllelder](https://github.com/Yllelder) | 🌐 **Translator** - Spanish translation ([#314](https://github.com/RiDDiX/home-assistant-matter-hub/pull/314)) |
469
497
 
470
498
  <details>
471
499
  <summary><strong>📋 Issue Tracker - All Contributors</strong> (click to expand)</summary>
@@ -509,7 +537,7 @@ Thank you to everyone who helps improve this project by reporting issues!
509
537
 
510
538
  ### 💖 Sponsors
511
539
 
512
- > **Donations are completely voluntary!** This project exists because of passion for open source, not money. Thank you to everyone who has supported it it truly means a lot! ❤️
540
+ > **Donations are completely voluntary!** This project exists because of passion for open source, not money. Thank you to everyone who has supported it, it truly means a lot! ❤️
513
541
 
514
542
  🥇 **First Sponsor:** [@thorsten-gehrig](https://github.com/thorsten-gehrig)
515
543
 
@@ -561,3 +589,4 @@ Your support helps cover hosting costs and motivates continued development. Than
561
589
  </div>
562
590
 
563
591
  ---
592
+