@riddix/hamh 2.0.56 β†’ 2.0.58

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
@@ -4,7 +4,7 @@
4
4
 
5
5
  !["Home-Assistant-Matter-Hub"](./docs-site/static/img/hamh-logo-small.png)
6
6
 
7
- **Expose your Home Assistant devices to Matter controllers like Apple Home, Google Home, and Alexa**
7
+ **Expose your Home Assistant devices to Matter controllers like Apple Home, Google Home, Alexa, SmartThings and Aqara Home**
8
8
 
9
9
  [![GitHub Release](https://img.shields.io/github/v/release/RiDDiX/home-assistant-matter-hub?label=stable&color=green)](https://github.com/RiDDiX/home-assistant-matter-hub/releases)
10
10
  [![GitHub Pre-Release](https://img.shields.io/github/v/release/RiDDiX/home-assistant-matter-hub?include_prereleases&label=alpha&color=orange)](https://github.com/RiDDiX/home-assistant-matter-hub/releases)
@@ -28,7 +28,7 @@
28
28
  ## πŸ“ About
29
29
 
30
30
  This project simulates bridges to publish your entities from Home Assistant to any Matter-compatible controller like
31
- Alexa, Apple Home or Google Home. Using Matter, those can be connected easily using local communication without the need
31
+ Alexa, Apple Home, Google Home, SmartThings or Aqara Home. Using Matter, those can be connected easily using local communication without the need
32
32
  of port forwarding etc.
33
33
 
34
34
  ---
@@ -37,7 +37,7 @@ of port forwarding etc.
37
37
 
38
38
  | Channel | Branch | Current Version | Description |
39
39
  |---------|--------|-----------------|-------------|
40
- | **Stable** | `main` | v2.0.56 | Production-ready, recommended for most users |
40
+ | **Stable** | `main` | v2.0.58 | Production-ready, recommended for most users |
41
41
  | **Alpha** | `alpha` | v2.1.0-alpha.x | 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
 
@@ -61,9 +61,76 @@ Re-assign the affected devices to their rooms after they reconnect. See the [doc
61
61
  ## πŸŽ‰ What's New
62
62
 
63
63
  <details>
64
- <summary><strong>πŸ“¦ Stable Features (v2.0.56)</strong> - Click to expand</summary>
65
-
66
- **New in v2.0.56:**
64
+ <summary><strong>πŸ“¦ Stable Features (v2.0.58)</strong> - Click to expand</summary>
65
+
66
+ **New in v2.0.58:**
67
+ - πŸ—‚οΈ **Old backups get deleted again**: the automatic backup only runs while HAMH shuts down, and the add-on gets a few seconds to stop, so the backup could be cut off before it reached the cleanup. Every restart left one more half-written backup in the list. Old backups are now also cleaned up at startup, and a backup keeps a temporary name until it is complete, so a cut-off one never shows up ([#483](https://github.com/RiDDiX/home-assistant-matter-hub/issues/483))
68
+ - πŸ›‘οΈ **Backup settings are checked**: the settings endpoint only takes a keep count from 1 to 100, and a failed write (a full disk, for example) fails that backup instead of crashing the app. The Turkish, Portuguese (Brazil) and Traditional Chinese texts no longer promise a scheduled backup
69
+ - πŸ“– **Docs**: the Alexa "never connects" entry drops the fresh bridge advice, a new bridge did not help in [#478](https://github.com/RiDDiX/home-assistant-matter-hub/issues/478), and says how to tell from the log whether the Echo reached the bridge
70
+ - πŸ”Œ **Port 80 in the network check**: freeing it helped two users pair Alexa, so the Health Dashboard shows when it's in use ([#449](https://github.com/RiDDiX/home-assistant-matter-hub/issues/449), [#478](https://github.com/RiDDiX/home-assistant-matter-hub/issues/478))
71
+ - πŸ’‘ **Wattage for lights in Apple Home**: a light can be set to On/Off Plug-in Unit, Apple only shows wattage on outlets ([#484](https://github.com/RiDDiX/home-assistant-matter-hub/issues/484))
72
+ - πŸ“– **Docs**: Apple Home power readings since iOS 27, and the port 80 note for Alexa
73
+ - πŸ”Œ **Each outlet of a power strip reports its own power** ([#488](https://github.com/RiDDiX/home-assistant-matter-hub/issues/488), thanks @barnabasbusa)
74
+ - πŸ” **A bridge that went quiet comes back on its own**: a subscription that died while starting left every device offline until a restart ([#487](https://github.com/RiDDiX/home-assistant-matter-hub/issues/487))
75
+ - 🧽 **Dishwashers understand Home Connect and SmartThings states** ([#486](https://github.com/RiDDiX/home-assistant-matter-hub/issues/486))
76
+ - 🧹 **Vacuum rooms reset when a clean finishes on its own**: the next clean started from Home Assistant could only match the old rooms ([#490](https://github.com/RiDDiX/home-assistant-matter-hub/issues/490))
77
+ - πŸ’‘ **No flash when Alexa dims a light that is off**: it now turns on straight at the new level instead of its old brightness first ([#491](https://github.com/RiDDiX/home-assistant-matter-hub/issues/491))
78
+ - 🧽 **Dishwashers on a power switch show their real state**: the Home Connect or SmartThings state sensor is picked up automatically ([#486](https://github.com/RiDDiX/home-assistant-matter-hub/issues/486))
79
+ - 🧺 **Washers and dryers on a power switch show their real state**: Laundry Washer and Laundry Dryer types pick up the state from Home Connect, SmartThings, Miele or LG
80
+ - βœ… **Vacuums and appliances report a finished clean or cycle**
81
+ - 🏠 **Every paired controller shows on the bridge card**: it only showed Google and Alexa, and 4448 now shows as Sengled
82
+ - πŸ“– **Controller support**: SmartThings added, Apple no longer warns about fans, air purifiers and air quality, and Google no longer warns about smoke alarms and dishwashers
83
+ - πŸŒ€ **Fans and air purifiers follow Home Assistant again**: speed and mode changes from HA stopped reaching controllers in alpha.880 and 2.0.57, only on/off still followed ([#494](https://github.com/RiDDiX/home-assistant-matter-hub/pull/494), thanks @bigmike613)
84
+ - 🧹 **Apple Home drops the old rooms during a clean started elsewhere**: after a three room Apple job, a one room clean from Home Assistant still showed "cleaning 3 rooms" ([#492](https://github.com/RiDDiX/home-assistant-matter-hub/issues/492))
85
+ - 🧹 **Apple Home stays on Vacuuming after a start**: while the vacuum was still leaving the dock, Home flipped to "Ready, Resume Cleaning Later" for a few seconds ([#496](https://github.com/RiDDiX/home-assistant-matter-hub/issues/496))
86
+ - πŸͺŸ **Dashboard cover chip shows how far it is open**: a closed cover showed "100% open", controllers were never affected ([#495](https://github.com/RiDDiX/home-assistant-matter-hub/issues/495))
87
+ - πŸ—ΊοΈ **Vacuum rooms stay in the run mode list**: Valetudo and auto-detected Roborock rooms fell out after the first Home Assistant update, CLEAN_AREA rooms right at startup, so controllers such as Alexa saw only Idle and Cleaning ([#497](https://github.com/RiDDiX/home-assistant-matter-hub/issues/497))
88
+ - πŸ”‹ **Battery sensors stop showing up as their own device**: a battery that was unavailable during a refresh got its own device next to the temperature sensor and stayed, and a temperature sensor built in that moment never picked its battery up ([#498](https://github.com/RiDDiX/home-assistant-matter-hub/issues/498))
89
+ - 🧹 **Vacuum current room and room names in Apple Home**: the current room follows the robot through rooms outside the job, and a room renamed in Home Assistant reaches the room list without re-pairing ([#501](https://github.com/RiDDiX/home-assistant-matter-hub/issues/501))
90
+ - ↩️ **Failed Home Assistant calls no longer leave a stale state**: when a call fails after the command was accepted, the device goes back to its Home Assistant state within a second instead of staying "opening" or "on" ([#446](https://github.com/RiDDiX/home-assistant-matter-hub/issues/446))
91
+ - πŸ‡³πŸ‡± **Dutch translation**: new `nl` locale, thanks [@toineenzo](https://github.com/toineenzo) ([#503](https://github.com/RiDDiX/home-assistant-matter-hub/pull/503))
92
+ - πŸ‡«πŸ‡· **French translation completed**: about 316 strings that fell back to English are translated now, thanks [@iblur01](https://github.com/iblur01) ([#504](https://github.com/RiDDiX/home-assistant-matter-hub/pull/504))
93
+ - ☁️ **VeSync plugin**: Levoit, Cosori and Etekcity devices from your VeSync account mount when you switch them on, with no bridge restart. Cloud only, these devices have no local control. An air fryer cannot be started from a controller.
94
+ - βš™οΈ **Saving a disabled built-in no longer wipes its settings**: a built-in plugin that has been disabled since the last restart keeps its stored settings when you save.
95
+
96
+ **Previously in v2.0.57:**
97
+ - 🧹 **Air purifiers stop rebuilding themselves**: a composed device never listed its battery entity, so the battery auto-map retry rebuilt the endpoint on every sensor update, burning CPU and raising unhandled rejections. A sensor without a device class now needs "batt" in its id to count as the battery, so a filter life or tank level percentage is no longer taken for one ([#461](https://github.com/RiDDiX/home-assistant-matter-hub/issues/461))
98
+ - πŸͺŸ **Covers keep their position while a controller is talking to them**: endpoint state writes are serialized per device, and an update that arrives while the endpoint is busy waits for it instead of being dropped with a warning ([#464](https://github.com/RiDDiX/home-assistant-matter-hub/issues/464))
99
+ - πŸ”’ **Lock PIN handling reworked**: a PIN added or cleared through a controller takes effect immediately instead of on the next state change, empty and overlong PINs are rejected, Add, Modify and the creating fabric are enforced as the Matter rules require, a code the physical lock rejected is no longer reported as programmed, and hashing moved off the event loop so a PIN protected unlock stops freezing every bridge
100
+ - 🧠 **Heap limit is configurable**: the add-on takes a `heap_size_mb` option, the automatic sizing moved from a quarter to half of the available memory, and a `NODE_OPTIONS` you set yourself is honored instead of being silently overridden ([#459](https://github.com/RiDDiX/home-assistant-matter-hub/issues/459))
101
+ - 🧩 **Third-party plugins load again**: an installed plugin package is imported through its manifest entry point instead of its directory, plugin devices report their own name to controllers, and adding or removing one tells commissioned controllers that the bridge composition changed; contributed by Patrick Gu ([#458](https://github.com/RiDDiX/home-assistant-matter-hub/pull/458))
102
+ - 🚨 **Security plugin can mirror an existing alarm panel**: the new `sourceAlarmPanel` setting turns the four mode switches and the Alarm contact into a Matter view of an `alarm_control_panel.*` entity (Alarmo etc.), with arm and disarm flowing back to Home Assistant; contributed by Patrick Gu ([#457](https://github.com/RiDDiX/home-assistant-matter-hub/pull/457)). Panels that require an alarm code reject the bridge's arm/disarm calls, the switches then fall back to the panel's real state
103
+ - 🏷️ **A device renamed in Home Assistant reaches the controller**: the registry snapshot is pushed to the endpoints on every registry refresh, a rename counts as a registry change now so that refresh runs at all, and server mode pushes the renamed identity to its root node. Apple Home takes the accessory name when the device is added and keeps its own copy, so a rename shows up there only for accessories you add after it ([#467](https://github.com/RiDDiX/home-assistant-matter-hub/issues/467))
104
+ - πŸ” **Editing the entity filter takes effect right away**: a removed entity rode the five minute outage protection meant for Home Assistant restarts. It is removed on the spot now, its endpoint number stays reserved so re-adding restores the device with its groups, and a filtered-out vacuum takes its room switches along and brings them back on their old numbers ([#468](https://github.com/RiDDiX/home-assistant-matter-hub/issues/468))
105
+ - 🍳 **An oven exposed as a climate entity mounts in a Fahrenheit install**: registration multiplied the raw Fahrenheit number by 100 before the unit conversion had a chance to run, so a template climate with `max_temp: 500` failed with "Value 50000 is above the int16 maximum". Registration values are clamped into the Matter range now and the thermostat converts them on its first update ([#470](https://github.com/RiDDiX/home-assistant-matter-hub/issues/470))
106
+ - πŸ’‘ **Siri "set to 100%" works next to Alexa**: `alexaPreserveBrightnessOnTurnOn` now only suppresses the brightness reset for commands arriving over the Alexa fabric, before it swallowed the same command from Apple Home ([#460](https://github.com/RiDDiX/home-assistant-matter-hub/issues/460))
107
+ - πŸͺŸ **Covers keep the same Matter fingerprint for life**: a cover that had been moved used to come back from a restart advertising an extra attribute it never had when the controller paired it ([#456](https://github.com/RiDDiX/home-assistant-matter-hub/issues/456))
108
+ - 🧩 **New `composedPrimaryOnParent` bridge option, off by default**: puts the primary entity of a self-grouped composed device on the parent endpoint, so Apple Home reads the accessory as a light instead of taking an icon from one of the grouped entities. Needs `autoComposedDevices` on as well. It changes the endpoint layout, so the device has to be removed and added again in the controller, and Apple Home has been seen to stop listing the grouped entities afterwards, so try it on one bridge first ([#469](https://github.com/RiDDiX/home-assistant-matter-hub/issues/469))
109
+ - πŸ“‘ **New `omitEventsInPriming` bridge option, off by default**: for Google fabrics that acknowledge every chunk of the initial subscription report but never answer the final one, leaving the device permanently offline. With it on, the initial report carries attributes only, live events afterwards are unaffected ([#424](https://github.com/RiDDiX/home-assistant-matter-hub/issues/424))
110
+ - ❄️ **Per-entity `climateForceTurnOn`**: sends `climate.turn_on` on every Matter On command, for IR controlled ACs where Home Assistant can report on while the device is off ([#462](https://github.com/RiDDiX/home-assistant-matter-hub/issues/462))
111
+ - πŸ” **A controller that refuses the bridge certificates says so in the log**: pairing that stops right after the attestation step left only a bare "Failed" on the controller and nothing in the HAMH log. Controllers that only pair with CSA certified products, like the Ambiscape feature on Philips Ambilight TVs, cannot be used at all ([#465](https://github.com/RiDDiX/home-assistant-matter-hub/issues/465))
112
+ - 🌑️ **The HAMH device cards follow Home Assistant's temperature unit**: a Fahrenheit install saw Celsius chips on every thermostat and temperature sensor, because the card printed the raw Matter value (Matter always carries 0.01 °C) with a hardcoded unit. The chips now read the unit out of the endpoint itself: thermostats and water heaters from their UI configuration cluster, sensors and weather from the entity's own `unit_of_measurement`. What the controllers show never changed, Apple Home and Alexa convert on their side ([#472](https://github.com/RiDDiX/home-assistant-matter-hub/issues/472))
113
+ - πŸ”” **A controller that stops answering is logged as a warning**: the three "Error sending subscription update message" lines that precede a dropped subscription were logged at INFO, so a dying controller link was invisible to anyone filtering for warnings. The first two retries stay at INFO, the third one and the "Giving up on subscription" line are warnings now ([#471](https://github.com/RiDDiX/home-assistant-matter-hub/issues/471))
114
+ - 🌑️ **A temperature sensor outside the usual range keeps updating**: the sensor endpoint declared a -40 to 125 °C measurement window while writing anything int16 could hold, so an oven probe, a grill thermometer or a deep freezer was rejected by matter.js and the endpoint kept its last in-range reading forever. The declared window now covers everything the bridge can send
115
+ - πŸ”Œ **A docked vacuum stops claiming it is charging**: with no charging signal of its own the bridge assumed a docked robot below 100% was charging, so Apple Home showed "Charging" for a robot that had long finished. If the vacuum's device has a charging sensor in Home Assistant (a `battery_charging` binary sensor, or a `..._charging_state` sensor as Xiaomi exposes), it is mapped automatically now and drives both the battery charge state and the status line. Devices without one keep the old assumption, and a charging sensor picked up this way still stays available as its own device ([#450](https://github.com/RiDDiX/home-assistant-matter-hub/issues/450))
116
+ - πŸ”Œ **EV charger mode works from SmartThings**: SmartThings addresses EnergyEvseMode modes by list position, so the single Manual mode numbered 1 never showed and every mode change was refused. It is mode 0 now; a node that stored the old number still mounts. UserMaximumChargeCurrent is optional and read by no known controller, ModeSelect is not part of the EVSE device type, neither was added ([#475](https://github.com/RiDDiX/home-assistant-matter-hub/issues/475))
117
+ - 🧩 **Auto Composed Devices says what it does**: the description claimed a master toggle merging power and energy; those never depended on it. It changes the shape of a temperature sensor with humidity/pressure sensors (one device with a sub-device per reading), forces battery, humidity and pressure auto-mapping on and unlocks Composed Sub-Entities. Stored key unchanged ([#474](https://github.com/RiDDiX/home-assistant-matter-hub/issues/474))
118
+ - πŸ”‹ **Battery percentage goes out with the write**: the percentage is a quieter Matter attribute, and matter.js reported its change ten seconds after the write, on its own. The charge state went with the write, the percentage late or, on Apple Home, never. Both go together now ([#450](https://github.com/RiDDiX/home-assistant-matter-hub/issues/450))
119
+ - πŸ”‹ **A short outage no longer blanks the battery**: a device marked unavailable for a moment (a missed Roborock poll, an HA restart) got a null percentage and a flipped charge state, then the old values back 15 s later. The bridge keeps what the controller has; only a battery never seen stays null ([#450](https://github.com/RiDDiX/home-assistant-matter-hub/issues/450))
120
+ - πŸ§ͺ **Loopback subscription test**: a matter.js commissioner pairs with the vacuum node over loopback, subscribes, and checks that battery percentage and charge state arrive with the write. Off by default, `HAMH_LOOPBACK=1` runs it. This settled the Apple Home battery question: the bridge sends the value, Apple's framework treats `BatPercentRemaining` as changes-omitted and keeps only the value from pairing or from a read ([#450](https://github.com/RiDDiX/home-assistant-matter-hub/issues/450))
121
+ - πŸ”Ž **Diagnostic export shows the connection attempts**: the export now keeps the PASE and CASE session setup lines and the failsafe expiry, lists every open session with its subscriptions, the host's network interfaces and mDNS settings (addresses replaced by their kind when anonymized), and the log levels it was taken at. A controller that never connects, or connects and never subscribes, is readable from the file instead of a debug log ([#477](https://github.com/RiDDiX/home-assistant-matter-hub/issues/477), [#478](https://github.com/RiDDiX/home-assistant-matter-hub/issues/478))
122
+ - 🧹 **Factory reset goes through the stop path**: the reset restarted the bridge without stopping it first, so the built-in plugins stayed registered and every reset logged "Plugin camera is already registered" ([#477](https://github.com/RiDDiX/home-assistant-matter-hub/issues/477), [#478](https://github.com/RiDDiX/home-assistant-matter-hub/issues/478))
123
+ - πŸ’‘ **Cool white lights load again after a restart**: a light that ran above 6800 K kept its color temperature in storage, and on the next start the bridge's default range no longer covered it, so matter.js refused the endpoint and the light was missing until the value changed. The range now widens around the stored value first ([#477](https://github.com/RiDDiX/home-assistant-matter-hub/issues/477)).
124
+ - πŸ” **The devices API keeps the camera's Home Assistant token to itself**: the WebRTC bridge lives in the camera endpoint's state, and the devices JSON behind the endpoint inspector printed its `haUrl` and `haToken`. The credentials are a private field now, and any key named token, secret or password is redacted in that output ([#155](https://github.com/RiDDiX/home-assistant-matter-hub/issues/155), [#373](https://github.com/RiDDiX/home-assistant-matter-hub/issues/373))
125
+ - 🏷️ **Prefer Entity Registry Name applies in server mode**: only bridged devices read the flag, a standalone device kept the friendly name ([#276](https://github.com/RiDDiX/home-assistant-matter-hub/issues/276))
126
+ - 🚫 **Water Leak Detector is marked unsupported on Alexa**: the mapping dialog warns before you pick the type that took a whole Alexa bridge offline ([#365](https://github.com/RiDDiX/home-assistant-matter-hub/issues/365))
127
+ - 🧹 **A rebuilt composed device drops its pending update**: after a mapping change the old endpoint was closed with a 50 ms update still queued, which then failed on the closed endpoint ([#461](https://github.com/RiDDiX/home-assistant-matter-hub/issues/461))
128
+ - πŸ”‡ **Deleting a bridge no longer logs a mutex warning**: the shutdown guard looked for a message matter.js never sends
129
+ - πŸ“– **Docs**: the vacuum "Updating" section describes the Wedge Watchdog and the 60 s report interval ([#287](https://github.com/RiDDiX/home-assistant-matter-hub/issues/287)), the Alexa section covers the 11-digit manual code, the Echo models that stop after the certification prompt and the Unique ID Suffix ([#478](https://github.com/RiDDiX/home-assistant-matter-hub/issues/478), [#449](https://github.com/RiDDiX/home-assistant-matter-hub/issues/449), [#385](https://github.com/RiDDiX/home-assistant-matter-hub/issues/385)), heap warnings name the add-on's `heap_size_mb` option ([#459](https://github.com/RiDDiX/home-assistant-matter-hub/issues/459))
130
+ - 🧭 **The interface warning names your LAN interface**: on a Docker host the Network Diagnostics card and the startup log listed every interface, Docker bridges included, and left the choice to you. A compose bridge on a 172.x address no longer counts as a candidate, the suggestion reads "eth0 (192.168.5.161)", and the text says the warning only matters when a controller shows devices offline ([#482](https://github.com/RiDDiX/home-assistant-matter-hub/issues/482))
131
+ - πŸ“– **Docs**: the Alexa "never connects" entry lists the checks that helped in [#478](https://github.com/RiDDiX/home-assistant-matter-hub/issues/478) (firewall on UDP 5540, manual code, fresh bridge) instead of a theory
132
+
133
+ **Previously in v2.0.56:**
67
134
  - πŸ”‹ **Vacuum battery after HA 2026.8**: integrations that moved the battery to a separate sensor are picked up as the sensor appears, a missing percentage reports an unknown charge state instead of "charging forever", and terminal states like "not charging" stop counting as charging ([#450](https://github.com/RiDDiX/home-assistant-matter-hub/issues/450))
68
135
  - πŸ’‘ **RGB-only lights pass controller conformance again**: the Extended Color Light always advertises the full mandatory feature set, which brings WLED and similar lights back to Alexa ([#452](https://github.com/RiDDiX/home-assistant-matter-hub/issues/452))
69
136
  - 🌫️ **PM2.5, PM10 and COβ‚‚ sensor overrides**: map a single-pollutant sensor to an Air Quality Sensor endpoint carrying just that concentration cluster via the Entity Mapping UI (Aqara renders them, Alexa partially)
@@ -313,7 +380,7 @@ Re-assign the affected devices to their rooms after they reconnect. See the [doc
313
380
  <details>
314
381
  <summary><strong>πŸ§ͺ Alpha Features (v2.1.0-alpha.x)</strong> - Click to expand</summary>
315
382
 
316
- **Alpha is currently level with Stable (v2.0.56).** All alpha work up to the latest pre-release has been promoted into v2.0.56. New alpha work continues from the next pre-release tag onward and will appear here as development progresses.
383
+ **Alpha is currently level with Stable (v2.0.58).** All alpha work up to the latest pre-release has been promoted into v2.0.58. New alpha work continues from the next pre-release tag onward and will appear here as development progresses.
317
384
 
318
385
  </details>
319
386
 
@@ -414,27 +481,32 @@ Matter Bridge, Multi-Fabric support, Health Monitoring, Bridge Wizard, AirQualit
414
481
 
415
482
  ## Supported Device Types
416
483
 
417
- | Home Assistant Domain | Matter Device Type | Feature Flags |
418
- |-----------------------|-------------------|---------------|
419
- | `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)) |
420
- | `switch`, `input_boolean` | On/Off Plug-in Unit | `powerEntity`, `energyEntity` |
421
- | `lock` | Door Lock | PIN Credentials, Unlatch/Unbolt |
422
- | `cover` | Window Covering | `coverSwapOpenClose` |
423
- | `climate` | Thermostat | Battery via `batteryEntity`, `climateExposeFan` ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309)) |
424
- | `fan` | Fan, Air Purifier | Oscillation, Wind Modes, `filterLifeEntity` |
425
- | `alarm_control_panel` | Mode Select | Arm/Disarm modes |
426
- | `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)) |
427
- | `sensor` | Temperature, Humidity, Pressure, Flow, Light, AirQuality | `batteryEntity`, `humidityEntity`, `pressureEntity` |
428
- | `event` | Generic Switch (Doorbell, Button Events) | |
429
- | `button`, `input_button` | Generic Switch | |
430
- | `media_player` | Speaker, Basic Video Player (TV) | |
431
- | `valve` | Water Valve, Pump | |
432
- | `select`, `input_select` | Mode Select | |
433
- | `vacuum` | Robot Vacuum Cleaner | `serverMode`, `roomEntities`, `batteryEntity`, `cleaningModeEntity`, `suctionLevelEntity`, `mopIntensityEntity`, `customServiceAreas`, `vacuumMinimalClusters`, `chargingStateEntity` ([#377](https://github.com/RiDDiX/home-assistant-matter-hub/issues/377)) |
434
- | `lawn_mower` | Robotic Lawn Mower (RVC-based) | reuses the robot-vacuum flags ([#301](https://github.com/RiDDiX/home-assistant-matter-hub/issues/301)) |
435
- | `humidifier` | Humidifier/Dehumidifier | |
436
- | `water_heater` | Thermostat (Heating) | Optional `water_heater_management` override exposes the Matter 1.4 Water Heater (0x050F) with WaterHeaterManagement Boost/CancelBoost, WaterHeaterMode and a heating Thermostat |
437
- | `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)) |
484
+ | Home Assistant Domain | Matter Device Type | Notes and Feature Flags |
485
+ |-----------------------|-------------------|-------------------------|
486
+ | `light` | Extended Color (color or color temperature), Dimmable, On/Off | `powerEntity`, `energyEntity` set by hand, lights don't get them auto-mapped ([#374](https://github.com/RiDDiX/home-assistant-matter-hub/issues/374)). Can be set to On/Off Plug-in Unit so Apple Home shows its wattage ([#484](https://github.com/RiDDiX/home-assistant-matter-hub/issues/484)) |
487
+ | `switch` | On/Off Plug-in Unit | Power and energy sensors of the same device are mapped automatically. Overrides: Dishwasher, Laundry Washer, Laundry Dryer, EV Charger, Pump, Water Valve, On/Off Switch, Mounted On/Off Control |
488
+ | `input_boolean` | On/Off Plug-in Unit | |
489
+ | `lock` | Door Lock | PIN credentials, unbolt when the lock can open |
490
+ | `cover` | Window Covering | `coverSwapOpenClose`, `coverExposeAsDimmableLight` ([#372](https://github.com/RiDDiX/home-assistant-matter-hub/issues/372)) |
491
+ | `climate` | Room Air Conditioner (with fan modes), otherwise Thermostat | `disableClimateFanControl`, `disableClimateOnOff`, `climateExposeFan` ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309)), battery via `batteryEntity` |
492
+ | `fan` | Fan, On/Off Plug-in Unit without speed control | Oscillation, wind modes. Air Purifier override with `filterLifeEntity` |
493
+ | `humidifier` | Fan, the fan speed sets the target humidity | Matter has no humidifier type |
494
+ | `binary_sensor` | Contact, Occupancy, Smoke/CO Alarm, On/Off Sensor | Leak and freeze default to Contact Sensor (Alexa-safe); the Matter 1.4 Water Leak, Water Freeze and Rain detectors are overrides ([#365](https://github.com/RiDDiX/home-assistant-matter-hub/issues/365)) |
495
+ | `sensor` | Temperature, Humidity, Pressure, Flow, Light, Air Quality (COβ‚‚, CO, PM1, PM2.5, PM10, TVOC, NOβ‚‚, ozone, radon), Electrical Meter (power, energy, voltage, current), Battery | `batteryEntity`, `humidityEntity`, `pressureEntity`. Overrides: Solar Power, Electrical Utility Meter, EV Charger, Battery Storage with power and energy |
496
+ | `event` | Generic Switch | Doorbell override (experimental) |
497
+ | `button`, `input_button` | On/Off Plug-in Unit, pressed when turned on | |
498
+ | `automation`, `script`, `scene` | On/Off Plug-in Unit, triggers when turned on | On/Off Switch override, needs a one-time re-pair ([#380](https://github.com/RiDDiX/home-assistant-matter-hub/issues/380)) |
499
+ | `select`, `input_select` | Mode Select | `selectExposeAsSwitch` for a select with on and off options |
500
+ | `alarm_control_panel` | Mode Select | On/Off Plug-in Unit override to arm and disarm |
501
+ | `media_player` | Speaker, Basic Video Player for TVs | |
502
+ | `valve` | Water Valve | |
503
+ | `vacuum` | Robot Vacuum Cleaner | `serverMode`, `roomEntities`, `customServiceAreas`, `vacuumRoomSwitches`, `vacuumOnOff`, `batteryEntity`, `cleaningModeEntity`, `suctionLevelEntity`, `mopIntensityEntity`, `chargingStateEntity` ([#377](https://github.com/RiDDiX/home-assistant-matter-hub/issues/377)) |
504
+ | `lawn_mower` | Robot Vacuum Cleaner, Matter has no mower type yet | Same flags as the vacuum ([#301](https://github.com/RiDDiX/home-assistant-matter-hub/issues/301)) |
505
+ | `water_heater` | Thermostat (heating) | Override: Matter 1.4 Water Heater (0x050F) with Boost |
506
+ | `siren`, `remote` | On/Off Plug-in Unit | |
507
+ | `weather` | Temperature Sensor with humidity and pressure | |
508
+
509
+ Which controller shows which type is in the [Controller Compatibility](https://riddix.github.io/home-assistant-matter-hub/guides/controller-compatibility) matrix (Apple Home, Google Home, Alexa, Aqara Home, SmartThings).
438
510
 
439
511
  > πŸ“– See [Supported Device Types Documentation](https://riddix.github.io/home-assistant-matter-hub/supported-device-types) for details
440
512
 
@@ -508,9 +580,10 @@ Add this repository to your Add-on Store:
508
580
  https://github.com/RiDDiX/home-assistant-addons
509
581
  ```
510
582
 
511
- Two add-ons are available:
512
- - **Home-Assistant-Matter-Hub** - Stable release
513
- - **Home-Assistant-Matter-Hub (Alpha)** - Pre-release for testing
583
+ Three add-ons are available:
584
+ - **Home-Assistant-Matter-Hub** (`hamh`) - Stable release
585
+ - **Home-Assistant-Matter-Hub (Alpha)** (`hamh-alpha`) - Pre-release, gets every fix first
586
+ - **Home-Assistant-Matter-Hub (Testing)** (`hamh-testing`) - Experimental, may break
514
587
 
515
588
  ### Docker
516
589
 
@@ -659,6 +732,8 @@ Newest first.
659
732
 
660
733
  | Contributor | Contributions |
661
734
  |-------------|---------------|
735
+ | [@iblur01](https://github.com/iblur01) | 🌐 **Translator** - French translation completed ([#504](https://github.com/RiDDiX/home-assistant-matter-hub/pull/504)) |
736
+ | [@toineenzo](https://github.com/toineenzo) | 🌐 **Translator** - Dutch translation ([#503](https://github.com/RiDDiX/home-assistant-matter-hub/pull/503)) |
662
737
  | [@qbattersby](https://github.com/qbattersby) | πŸ€– **Code Contributor** - LevelControl transitionTime patch for matter.js 0.17, so Google Home can dim already-on lights ([#383](https://github.com/RiDDiX/home-assistant-matter-hub/pull/383)) |
663
738
  | [@Yllelder](https://github.com/Yllelder) | 🌐 **Translator** - Spanish translation ([#314](https://github.com/RiDDiX/home-assistant-matter-hub/pull/314)) |
664
739
  | [@MStankiewiczOfficial](https://github.com/MStankiewiczOfficial) | 🌐 **Translator** - Polish translation ([#288](https://github.com/RiDDiX/home-assistant-matter-hub/pull/288), [#329](https://github.com/RiDDiX/home-assistant-matter-hub/pull/329)) |