@riddix/hamh 2.0.47 → 2.0.49
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 +55 -13
- package/dist/backend/cli.js +2350 -1669
- package/dist/frontend/assets/index-WSTZ5pJ_.js +469 -0
- package/dist/frontend/index.html +1 -1
- package/package.json +5 -5
- package/dist/frontend/assets/index-C-Q5P8p9.js +0 -469
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.
|
|
40
|
+
| **Stable** | `main` | v2.0.48 | Production-ready, recommended for most users |
|
|
41
41
|
| **Alpha** | `alpha` | v2.1.0-alpha.x (next) | Currently level with Stable; next pre-release lands here first |
|
|
42
42
|
| **Testing** | `testing` | v4.1.0-testing.x | ⚠️ **Highly unstable!** Experimental features, may break |
|
|
43
43
|
|
|
@@ -47,14 +47,41 @@ of port forwarding etc.
|
|
|
47
47
|
- **Early adopters**: Use **Alpha** (`alpha` branch) - currently level with Stable until the next pre-release lands
|
|
48
48
|
- **Developers/Testers**: Use **Testing** (`testing` branch) - bleeding edge, expect breakage
|
|
49
49
|
|
|
50
|
+
### Upgrading from 2.0.46
|
|
51
|
+
|
|
52
|
+
A few entities re-pair once on the first start after the update and lose their room assignment in the controller:
|
|
53
|
+
|
|
54
|
+
- leak and freeze `binary_sensor`s (now Contact Sensors by default) and any entity using the **On/Off Switch** override
|
|
55
|
+
- a light may drop its auto power/energy readout, re-add it by mapping the sensor by hand
|
|
56
|
+
|
|
57
|
+
Re-assign the affected devices to their rooms after they reconnect. See the [docs](https://riddix.github.io/home-assistant-matter-hub/supported-device-types) for detail.
|
|
58
|
+
|
|
50
59
|
---
|
|
51
60
|
|
|
52
61
|
## 🎉 What's New
|
|
53
62
|
|
|
54
63
|
<details>
|
|
55
|
-
<summary><strong>📦 Stable Features (v2.0.
|
|
64
|
+
<summary><strong>📦 Stable Features (v2.0.48)</strong> - Click to expand</summary>
|
|
65
|
+
|
|
66
|
+
**New in v2.0.48:**
|
|
67
|
+
|
|
68
|
+
- 🌡️ Cooling-only thermostats no longer drop and re-pair after a switch to cool; a leftover Heat setpoint limit was crashing init ([#381](https://github.com/RiDDiX/home-assistant-matter-hub/issues/381))
|
|
69
|
+
- 📝 The Settings update box now shows the full release notes instead of cutting them off
|
|
70
|
+
|
|
71
|
+
**Previously in v2.0.47:**
|
|
72
|
+
|
|
73
|
+
- 💧 Leak and freeze `binary_sensor`s now default to a Matter 1.3 **Contact Sensor** so Alexa stays stable; the Matter 1.4 Water Leak, Water Freeze, and Rain detector types are selectable per entity through the device-type override ([#365](https://github.com/RiDDiX/home-assistant-matter-hub/issues/365))
|
|
74
|
+
- 💡 **Lights no longer auto-attach power/energy clusters**; map a light's power or energy sensor explicitly with `powerEntity`/`energyEntity` if you want the readout ([#374](https://github.com/RiDDiX/home-assistant-matter-hub/issues/374))
|
|
75
|
+
- 🔘 The **On/Off Switch** device-type override now exposes a real On/Off Light instead of a no-op plug ([#380](https://github.com/RiDDiX/home-assistant-matter-hub/issues/380))
|
|
76
|
+
- 🔍 New **`manufacturer` entity-filter matcher** ([#382](https://github.com/RiDDiX/home-assistant-matter-hub/issues/382))
|
|
77
|
+
- 🌀 Opt-in: turning the **companion fan** off now turns the AC off too ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309))
|
|
78
|
+
- 🩺 **Reliability & health**: configurable auto-recovery with failure timestamps, controller-compatibility warnings on each bridge page, and per-entity device-health on the dashboard
|
|
79
|
+
- 🖥️ **Standalone (non-vacuum) devices in server mode**, plus `lawn_mower` entities exposed as a robotic mower
|
|
80
|
+
- 🪟 Cover exposed as a **dimmable light** for Alexa routines ([#372](https://github.com/RiDDiX/home-assistant-matter-hub/issues/372)), per-entity **update throttle** ([#351](https://github.com/RiDDiX/home-assistant-matter-hub/issues/351)), **charging-state sensor** mapping ([#377](https://github.com/RiDDiX/home-assistant-matter-hub/issues/377))
|
|
81
|
+
- 📷 Experimental built-in **WebRTC camera plugin** (SmartThings-only, media path not verified yet)
|
|
82
|
+
- 🧵 **matter.js 0.17.3**
|
|
56
83
|
|
|
57
|
-
**
|
|
84
|
+
**Previously in v2.0.46:**
|
|
58
85
|
|
|
59
86
|
- ❄️ Opt-in **companion fan** for climate ACs: a per-entity toggle exposes the AC's fan as its own Matter fan endpoint, the setting is persisted, and fan-speed presets are now ordered low→high ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309))
|
|
60
87
|
- 🌦️ **Weather domain support**: `weather.*` entities are exposed as a composed Temperature + Humidity + Pressure sensor read from the entity's attributes (pressure converted to hPa, shown on Google Home)
|
|
@@ -296,27 +323,42 @@ Matter Bridge, Multi-Fabric support, Health Monitoring, Bridge Wizard, AirQualit
|
|
|
296
323
|
|
|
297
324
|
| Home Assistant Domain | Matter Device Type | Feature Flags |
|
|
298
325
|
|-----------------------|-------------------|---------------|
|
|
299
|
-
| `light` | On/Off, Dimmable, Color Temp, Extended Color | `powerEntity`, `energyEntity` |
|
|
326
|
+
| `light` | On/Off, Dimmable, Color Temp, Extended Color | `powerEntity`, `energyEntity` (no longer auto-mapped, set explicitly if a light's energy readout disappears, [#374](https://github.com/RiDDiX/home-assistant-matter-hub/issues/374)), `coverExposeAsDimmableLight` ([#372](https://github.com/RiDDiX/home-assistant-matter-hub/issues/372)) |
|
|
300
327
|
| `switch`, `input_boolean` | On/Off Plug-in Unit | `powerEntity`, `energyEntity` |
|
|
301
328
|
| `lock` | Door Lock | PIN Credentials, Unlatch/Unbolt |
|
|
302
329
|
| `cover` | Window Covering | `coverSwapOpenClose` |
|
|
303
|
-
| `climate` | Thermostat | Battery via `batteryEntity` |
|
|
330
|
+
| `climate` | Thermostat | Battery via `batteryEntity`, `climateExposeFan` ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309)) |
|
|
304
331
|
| `fan` | Fan, Air Purifier | Oscillation, Wind Modes, `filterLifeEntity` |
|
|
305
332
|
| `alarm_control_panel` | Mode Select | Arm/Disarm modes |
|
|
306
|
-
| `binary_sensor` | Contact, OnOff, Occupancy, Smoke/CO
|
|
333
|
+
| `binary_sensor` | Contact, OnOff, Occupancy, Smoke/CO | Leak/freeze default to Contact Sensor (Alexa-safe); the Matter 1.4 Water Leak/Freeze and Rain detector types are per-entity overrides ([#365](https://github.com/RiDDiX/home-assistant-matter-hub/issues/365)) |
|
|
307
334
|
| `sensor` | Temperature, Humidity, Pressure, Flow, Light, AirQuality | `batteryEntity`, `humidityEntity`, `pressureEntity` |
|
|
308
335
|
| `event` | Generic Switch (Doorbell, Button Events) | |
|
|
309
336
|
| `button`, `input_button` | Generic Switch | |
|
|
310
337
|
| `media_player` | Speaker, Basic Video Player (TV) | |
|
|
311
338
|
| `valve` | Water Valve, Pump | |
|
|
312
339
|
| `select`, `input_select` | Mode Select | |
|
|
313
|
-
| `vacuum` | Robot Vacuum Cleaner | `serverMode`, `roomEntities`, `batteryEntity`, `cleaningModeEntity`, `suctionLevelEntity`, `mopIntensityEntity`, `customServiceAreas`, `vacuumMinimalClusters` |
|
|
340
|
+
| `vacuum` | Robot Vacuum Cleaner | `serverMode`, `roomEntities`, `batteryEntity`, `cleaningModeEntity`, `suctionLevelEntity`, `mopIntensityEntity`, `customServiceAreas`, `vacuumMinimalClusters`, `chargingStateEntity` ([#377](https://github.com/RiDDiX/home-assistant-matter-hub/issues/377)) |
|
|
341
|
+
| `lawn_mower` | Robotic Lawn Mower (RVC-based) | reuses the robot-vacuum flags ([#301](https://github.com/RiDDiX/home-assistant-matter-hub/issues/301)) |
|
|
314
342
|
| `humidifier` | Humidifier/Dehumidifier | |
|
|
315
343
|
| `water_heater` | Thermostat (Heating) | |
|
|
316
|
-
| `automation`, `script`, `scene` | On/Off Switch | |
|
|
344
|
+
| `automation`, `script`, `scene` | On/Off Switch | The per-entity "On/Off Switch" override now produces a real `0x0100` On/Off Light (controllers render a switch), needs a one-time re-pair, and no longer carries power/energy fields ([#380](https://github.com/RiDDiX/home-assistant-matter-hub/issues/380)) |
|
|
317
345
|
|
|
318
346
|
> 📖 See [Supported Device Types Documentation](https://riddix.github.io/home-assistant-matter-hub/supported-device-types) for details
|
|
319
347
|
|
|
348
|
+
**Common per-entity flags:** `updateThrottleMs` rate-limits how often an entity pushes updates to controllers ([#351](https://github.com/RiDDiX/home-assistant-matter-hub/issues/351)), `coverExposeAsDimmableLight` exposes a cover as a dimmable light for Alexa routines ([#372](https://github.com/RiDDiX/home-assistant-matter-hub/issues/372)), `chargingStateEntity` maps a charging-state sensor ([#377](https://github.com/RiDDiX/home-assistant-matter-hub/issues/377)), `climateExposeFan` exposes a climate AC's fan as its own endpoint ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309)).
|
|
349
|
+
|
|
350
|
+
### Entity Filters
|
|
351
|
+
|
|
352
|
+
Filter rules match on these matcher types: `pattern`, `regex`, `domain`, `platform`, `entity_label`, `device_label`, `entity_label_regex`, `device_label_regex`, `any_field_regex`, `area`, `entity_category`, `device_name`, `product_name`, `device_class`. The new **`manufacturer`** matcher matches the device manufacturer (or `default_manufacturer`) and supports `*` wildcards ([#382](https://github.com/RiDDiX/home-assistant-matter-hub/issues/382)).
|
|
353
|
+
|
|
354
|
+
### Reliability & Health
|
|
355
|
+
|
|
356
|
+
Configurable auto-recovery with failure timestamps in Settings, controller-compatibility warnings on each bridge page, per-entity device-health diagnostics on the health dashboard, and a warning when a bridge exposes device types its controller does not support.
|
|
357
|
+
|
|
358
|
+
### Experimental: Camera Plugin
|
|
359
|
+
|
|
360
|
+
A built-in plugin exposes Home Assistant cameras as Matter Cameras (`0x0142`). Experimental, SmartThings-only as of 2026, and the WebRTC media path is not verified end to end.
|
|
361
|
+
|
|
320
362
|
---
|
|
321
363
|
|
|
322
364
|
## 🤖 Robot Vacuum Server Mode
|
|
@@ -335,7 +377,7 @@ This is because these platforms expect robot vacuums to be **standalone Matter d
|
|
|
335
377
|
|
|
336
378
|
### The Solution: Server Mode
|
|
337
379
|
|
|
338
|
-
**Server Mode** exposes
|
|
380
|
+
**Server Mode** exposes a device as a standalone (non-bridged) Matter endpoint without the bridge wrapper. It works for any device type, not just vacuums, and a bridge can host standalone devices. For a robot vacuum this makes it fully compatible with Apple Home and Alexa.
|
|
339
381
|
|
|
340
382
|
### Setup Instructions
|
|
341
383
|
|
|
@@ -347,9 +389,9 @@ This is because these platforms expect robot vacuums to be **standalone Matter d
|
|
|
347
389
|
|
|
348
390
|
### Important Notes
|
|
349
391
|
|
|
350
|
-
- Server Mode
|
|
351
|
-
-
|
|
352
|
-
- Other device types (lights, switches, sensors) work
|
|
392
|
+
- A Server Mode node exposes each device as a standalone endpoint, up to 10 per node; extra entities are skipped
|
|
393
|
+
- For best results give a robot vacuum its own dedicated Server Mode bridge
|
|
394
|
+
- Other device types (lights, switches, sensors) also work on regular bridges
|
|
353
395
|
- After switching to Server Mode, Siri commands like "Hey Siri, start the vacuum" will work
|
|
354
396
|
|
|
355
397
|
### Documentation
|
|
@@ -456,7 +498,7 @@ Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reach
|
|
|
456
498
|
- **Keep the path simple**: Avoid placing access points or managed switches between your Matter bridge (Home Assistant) and your Home Hub (HomePod/Apple TV)
|
|
457
499
|
- **Use wired connections** where possible for Home Hubs and the Home Assistant host
|
|
458
500
|
- **Same subnet**: All Matter devices, controllers, and the bridge must be on the same Layer 2 network / subnet
|
|
459
|
-
- **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
|
|
501
|
+
- **IPv6**: Matter requires IPv6, do not disable it. For VLAN setups, configure **ULA addresses** (`fd00::/8`), not just link-local (`fe80::`). See [Troubleshooting](https://riddix.github.io/home-assistant-matter-hub/guides/connectivity-issues#ipv6) and [Discussion #39](https://github.com/RiDDiX/home-assistant-matter-hub/discussions/39)
|
|
460
502
|
|
|
461
503
|
</details>
|
|
462
504
|
|