@riddix/hamh 2.1.0-alpha.437 → 2.1.0-alpha.439

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.29 | Production-ready, recommended for most users |
40
+ | **Stable** | `main` | v2.0.30 | 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,36 +52,30 @@ of port forwarding etc.
52
52
  ## 🎉 What's New
53
53
 
54
54
  <details>
55
- <summary><strong>📦 Stable Features (v2.0.29)</strong> - Click to expand</summary>
55
+ <summary><strong>📦 Stable Features (v2.0.30)</strong> - Click to expand</summary>
56
56
 
57
- **New in v2.0.29:**
57
+ **New in v2.0.30:**
58
58
 
59
59
  | Feature | Description |
60
60
  |---------|-------------|
61
- | **💡 Light currentLevel Fix** | Retain light currentLevel when off to prevent Apple Home 100% brightness on turn-on ([#225](https://github.com/RiDDiX/home-assistant-matter-hub/issues/225)) |
62
- | **🖥️ Bridge Config Save Fix** | Decouple save button from RJSF schema validation errors save works even with optional field warnings ([#232](https://github.com/RiDDiX/home-assistant-matter-hub/issues/232)) |
63
- | **🌀 Fan Device Feature Fix** | Correct FanDeviceFeature TURN_ON/TURN_OFF enum values to match Home Assistant |
64
- | **🌡️ Humidity Auto-Mapping Fix** | Correct autoHumidityMapping schema default to match runtime behavior |
61
+ | **� Mapped Entity Propagation Fix** | Propagate mapped entity changes (battery, humidity, etc.) to Matter endpoints fixes stale sensor readings |
62
+ | **🖥️ API Error Surfacing** | Surface API errors instead of silently swallowing them ([#232](https://github.com/RiDDiX/home-assistant-matter-hub/issues/232)) |
65
63
 
66
- **Previously in v2.0.28:**
64
+ **Previously in v2.0.29:**
67
65
 
68
66
  | Feature | Description |
69
67
  |---------|-------------|
70
- | **🖼️ Device Image Support** | Device cards show images from Zigbee2MQTT or custom uploads ([#221](https://github.com/RiDDiX/home-assistant-matter-hub/issues/221)) |
71
- | **🌀 Custom Fan Speed Mapping** | Define custom fan speed levels with named presets ([#226](https://github.com/RiDDiX/home-assistant-matter-hub/pull/226)) |
72
- | **📺 TV Source Selection** | MediaInput cluster added to VideoPlayerDevice for input switching ([#231](https://github.com/RiDDiX/home-assistant-matter-hub/issues/231)) |
73
- | **🔀 Reverse Proxy Base Path** | `--http-base-path` option for subfolder reverse proxy support ([#228](https://github.com/RiDDiX/home-assistant-matter-hub/issues/228)) |
74
- | **🌀 On/Off-Only Fans** | Fans without speed control correctly use OnOffPlugInUnit ([#229](https://github.com/RiDDiX/home-assistant-matter-hub/issues/229)) |
75
- | **💡 Light Brightness Fix** | Prevent brightness reset on turn-on by setting onLevel to null ([#225](https://github.com/RiDDiX/home-assistant-matter-hub/issues/225)) |
76
- | **🌀 Fan Speed Fixes** | speedMax cap raised from 10 to 100 (Matter spec max), retain speed when off ([#225](https://github.com/RiDDiX/home-assistant-matter-hub/issues/225)) |
77
- | **🌡️ Composed Air Purifier Fix** | Flatten to single endpoint for correct Apple Home primary tile ([#218](https://github.com/RiDDiX/home-assistant-matter-hub/issues/218)) |
68
+ | **� Light currentLevel Fix** | Retain light currentLevel when off to prevent Apple Home 100% brightness on turn-on ([#225](https://github.com/RiDDiX/home-assistant-matter-hub/issues/225)) |
69
+ | **�️ Bridge Config Save Fix** | Decouple save button from RJSF schema validation errors ([#232](https://github.com/RiDDiX/home-assistant-matter-hub/issues/232)) |
70
+ | **🌀 Fan Device Feature Fix** | Correct FanDeviceFeature TURN_ON/TURN_OFF enum values to match Home Assistant |
71
+ | **🌡️ Humidity Auto-Mapping Fix** | Correct autoHumidityMapping schema default to match runtime behavior |
78
72
 
79
73
  </details>
80
74
 
81
75
  <details>
82
76
  <summary><strong>🧪 Alpha Features (v2.1.0-alpha.x)</strong> - Click to expand</summary>
83
77
 
84
- **Alpha is currently in sync with Stable (v2.0.29).** All alpha features have been promoted to stable. New alpha features will appear here as development continues.
78
+ **Alpha is currently in sync with Stable (v2.0.30).** All alpha features have been promoted to stable. New alpha features will appear here as development continues.
85
79
 
86
80
  </details>
87
81
 
@@ -107,6 +101,9 @@ of port forwarding etc.
107
101
  <details>
108
102
  <summary><strong>📜 Previous Stable Versions</strong> - Click to expand</summary>
109
103
 
104
+ ### v2.0.29
105
+ Light currentLevel Fix, Bridge Config Save Fix, Fan Device Feature Fix, Humidity Auto-Mapping Fix
106
+
110
107
  ### v2.0.28
111
108
  Device Image Support, Custom Fan Speed Mapping, TV Source Selection, Reverse Proxy Base Path, On/Off-Only Fans, Light Brightness Fix, Fan Speed Fixes, Composed Air Purifier Fix, Dreame Multi-Floor Fix, Optimistic State Updates, Frontend Improvements
112
109
 
@@ -149030,7 +149030,8 @@ function matterApi(bridgeService, haRegistry) {
149030
149030
  const body = req.body;
149031
149031
  const isValid = ajv.validate(createBridgeRequestSchema, body);
149032
149032
  if (!isValid) {
149033
- res.status(400).json(ajv.errors);
149033
+ const details = ajv.errors?.map((e) => `${e.instancePath || "/"}: ${e.message}`).join("; ") ?? "Unknown";
149034
+ res.status(400).json({ error: `Validation failed: ${details}` });
149034
149035
  } else {
149035
149036
  try {
149036
149037
  const bridge = await bridgeService.create(body);
@@ -149071,7 +149072,8 @@ function matterApi(bridgeService, haRegistry) {
149071
149072
  const body = req.body;
149072
149073
  const isValid = ajv.validate(updateBridgeRequestSchema, body);
149073
149074
  if (!isValid) {
149074
- res.status(400).json(ajv.errors);
149075
+ const details = ajv.errors?.map((e) => `${e.instancePath || "/"}: ${e.message}`).join("; ") ?? "Unknown";
149076
+ res.status(400).json({ error: `Validation failed: ${details}` });
149075
149077
  } else if (bridgeId !== body.id) {
149076
149078
  res.status(400).send("Path variable `bridgeId` does not match `body.id`");
149077
149079
  } else {