matterbridge 3.10.8-dev-20260831-e73fc65 → 3.10.8-dev-20260901-971f7bf

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/CHANGELOG.md CHANGED
@@ -35,7 +35,12 @@ If you like this project and find it useful, please consider giving it a star on
35
35
 
36
36
  ### Development News
37
37
 
38
- - [endpoint]: Clarify `addCommandHandler()` JSDoc after [#617](https://github.com/Luligu/matterbridge/issues/617): command handlers run before the Matter behavior command implementation starts its cluster-specific validation and state checks, so handlers with real side effects must validate the relevant Matter preconditions and current cluster state before acting; use `subscribeAttribute()` when actions should run only after Matterbridge accepts a command and updates the corresponding attributes.
38
+ - [chip]: ThermostatAuto endpoint 901 CHIP conformance is green ✅ for all applicable automated harness tests covering the `Thermostat` cluster.
39
+ - [chip]: ThermostatHeating endpoint 9011 CHIP conformance is green ✅ for all applicable automated harness tests covering the `Thermostat` cluster.
40
+ - [chip]: ThermostatCooling endpoint 9012 CHIP conformance is green ✅ for all applicable automated harness tests covering the `Thermostat` cluster.
41
+ - [chip]: ThermostatPresets endpoint 9013 CHIP conformance is green ✅ for all applicable automated harness tests covering the `Thermostat` cluster, including the `Presets` feature (`TC_TSTAT_4_2.py`).
42
+ - [chip]: ThermostatSchedules endpoint 9014 CHIP conformance is green ✅ for all applicable automated harness tests covering the `Thermostat` cluster, including the `MatterScheduleConfiguration` feature.
43
+ - [chip]: ThermostatSuggestions endpoint 9015 CHIP conformance is green ✅ for all applicable automated harness tests covering the `Thermostat` cluster, including the `ThermostatSuggestions` feature (`TC_TSTAT_4_3.py`).
39
44
  - [chip]: DoorLock endpoint 801 CHIP conformance is green ✅ for all applicable automated harness tests covering the `DoorLock` cluster.
40
45
  - [chip]: DoorLockUserPINSchedules endpoint 8012 CHIP conformance is green ✅ for all applicable automated harness tests covering the `DoorLock` cluster.
41
46
  - [chip]: Closure endpoint 805 CHIP conformance is green ✅ for the automated harness tests covering the `ClosureControl` cluster.
@@ -43,6 +48,11 @@ If you like this project and find it useful, please consider giving it a star on
43
48
  - [chip]: ClosureDimension endpoint 8062 (Closure Panel Roller, Translation shape) CHIP conformance is green ✅ for the automated harness tests covering the `ClosureDimension` cluster.
44
49
  - [chip]: ClusurePanelVenetian endpoint 8064 (Closure Panel Venetian, Rotation shape) CHIP conformance is green ✅ for the automated harness tests covering the `ClosureDimension` cluster.
45
50
  - [chip]: ClosurePanelSmartGlass endpoint 8066 (Closure Panel Smart-Glass, Modulation shape) CHIP conformance is green ✅ for the automated harness tests covering the `ClosureDimension` cluster.
51
+ - [chip]: WindowCoveringLift endpoint 803 CHIP conformance is green ✅ for the automated harness tests covering the `WindowCovering` cluster.
52
+ - [chip]: WindowCoveringTilt endpoint 8031 CHIP conformance is green ✅ for the automated harness tests covering the `WindowCovering` cluster.
53
+ - [chip]: WindowCoveringLiftTilt endpoint 8032 CHIP conformance is green ✅ for the automated harness tests covering the `WindowCovering` cluster.
54
+
55
+ - [endpoint]: Clarify `addCommandHandler()` JSDoc after [#617](https://github.com/Luligu/matterbridge/issues/617): command handlers run before the Matter behavior command implementation starts its cluster-specific validation and state checks, so handlers with real side effects must validate the relevant Matter preconditions and current cluster state before acting; use `subscribeAttribute()` when actions should run only after Matterbridge accepts a command and updates the corresponding attributes.
46
56
 
47
57
  ### Added
48
58
 
@@ -52,10 +62,13 @@ If you like this project and find it useful, please consider giving it a star on
52
62
  - [closureDimension]: Add the `movementDuration` option to `ClosurePanelOptions`; `MatterbridgeClosureDimensionServer` can now simulate SetTarget/Step completion (`CurrentState` converging to `TargetState`), opt-in via `state.movementDuration` (disabled by default; automatically enabled under `MATTERBRIDGE_CHIP_TEST`).
53
63
  - [doorlock]: Add Week Day Access Schedules (WDSCH), Year Day Access Schedules (YDSCH), and Holiday Schedules (HDSCH) feature support. Thanks Ludovic BOUÉ.
54
64
  - [ElectricalUtilityMeter]: Add the option to expose an Electrical Energy Tariff on the same meter endpoint. Thanks Ludovic BOUÉ.
65
+ - [ElectricalUtilityMeter]: Add the full `CommodityTariff` day/tariff schedule fields (`startDate`, `dayEntries`, `dayPatterns`, `calendarPeriods`, `individualDays`, `currentDay`, `nextDay`, `currentDayEntry`, `currentDayEntryDate`, `nextDayEntry`, `nextDayEntryDate`, `tariffComponents`, `tariffPeriods`, `currentTariffComponents`, `nextTariffComponents`) to `ElectricalEnergyTariffOptions`, so `addElectricalMeter()`/`addElectricalEnergyTariff()` can seed a real schedule at construction time instead of leaving it null. Thanks Ludovic BOUÉ (https://github.com/Luligu/matterbridge/issues/625).
55
66
  - [matterbridge]: Add the `--root-power-source` param to opt in to a wired AC PowerSource cluster on the Root endpoint (disabled by default, since it was found to break ElectricalPowerMeasurement rendering in Apple Home).
56
67
  - [endpoint]: Add typed overloads for the `getClusterServerOptions()` typed surface when called with `Behavior.Type` or `ClusterType`.
57
68
  - [buntest]: Add `wssTest.test.ts`, auditing a `wss` (WebSocket over TLS) mTLS handshake under Bun with both the global `WebSocket` and the `ws` package client, documenting that the `ws` client silently ignores top-level TLS options under Bun and requires them nested under `tls` (see [README-BUN.md](./README-BUN.md) known issues, and upstream [oven-sh/bun#31396](https://github.com/oven-sh/bun/issues/31396)).
58
69
  - [utils]: Add spec compliant `luxToMatter` and `matterToLux` utilities.
70
+ - [WindowCovering]: Add `createDefaultTiltWindowCoveringClusterServer()` to `MatterbridgeEndpoint`, creating a tilt-only WindowCovering cluster server (Tilt and PositionAwareTilt features), mirroring `createDefaultWindowCoveringClusterServer()`.
71
+ - [WindowCovering]: `MatterbridgeWindowCoveringServer` can now simulate lift/tilt movement completion, opt-in via the new `state.movementDuration` (disabled by default; automatically enabled under `MATTERBRIDGE_CHIP_TEST`).
59
72
 
60
73
  ### Changed
61
74
 
package/README-DEV.md CHANGED
@@ -107,6 +107,14 @@ Dev containers have networking limitations depending on the host OS and Docker s
107
107
 
108
108
  - ✅ Matterbridge frontend works normally
109
109
 
110
+ ## CHIP conformance tests
111
+
112
+ Matterbridge is validated against the Matter CHIP certification test suite (both the Python test scripts and
113
+ the YAML certification tests used by the CSA's own CI), running weekly and on demand via
114
+ [`chip-tests.yml`](.github/workflows/chip-tests.yml) — see the badge at the top of the [README](README.md).
115
+ The full harness is composed of 368 tests and the latest run's
116
+ pass/fail summary is available here [`chipTestsSummary.log`](latestChipTestsSummary.log).
117
+
110
118
  ## Copilot instructions
111
119
 
112
120
  | File | Notes |
package/README.md CHANGED
@@ -8,6 +8,7 @@
8
8
  [![Docker Pulls](https://img.shields.io/docker/pulls/luligu/matterbridge?label=docker%20pulls)](https://hub.docker.com/r/luligu/matterbridge)
9
9
  ![Node.js CI](https://github.com/Luligu/matterbridge/actions/workflows/build.yml/badge.svg)
10
10
  ![CodeQL](https://github.com/Luligu/matterbridge/actions/workflows/codeql.yml/badge.svg)
11
+ [![CHIP tests](https://github.com/Luligu/matterbridge/actions/workflows/chip-tests.yml/badge.svg)](https://github.com/Luligu/matterbridge/actions/workflows/chip-tests.yml)
11
12
  [![Codecov](https://codecov.io/gh/Luligu/matterbridge/branch/main/graph/badge.svg)](https://codecov.io/gh/Luligu/matterbridge)
12
13
  [![tested with Vitest](https://img.shields.io/badge/tested_with-Vitest-6E9F18.svg?logo=vitest&logoColor=white)](https://vitest.dev)
13
14
  [![styled with Oxc](https://img.shields.io/badge/styled_with-Oxc-9BE4E0.svg?logo=oxc&logoColor=white)](https://oxc.rs/docs/guide/usage/formatter.html)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.10.8-dev-20260831-e73fc65",
3
+ "version": "3.10.8-dev-20260901-971f7bf",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",
@@ -229,21 +229,21 @@
229
229
  ]
230
230
  },
231
231
  "dependencies": {
232
- "@matterbridge/core": "3.10.8-dev-20260831-e73fc65",
233
- "@matterbridge/dgram": "3.10.8-dev-20260831-e73fc65",
234
- "@matterbridge/jest-utils": "3.10.8-dev-20260831-e73fc65",
235
- "@matterbridge/test-utils": "3.10.8-dev-20260831-e73fc65",
236
- "@matterbridge/thread": "3.10.8-dev-20260831-e73fc65",
237
- "@matterbridge/types": "3.10.8-dev-20260831-e73fc65",
238
- "@matterbridge/utils": "3.10.8-dev-20260831-e73fc65",
239
- "@matterbridge/vitest-utils": "3.10.8-dev-20260831-e73fc65",
232
+ "@matterbridge/core": "3.10.8-dev-20260901-971f7bf",
233
+ "@matterbridge/dgram": "3.10.8-dev-20260901-971f7bf",
234
+ "@matterbridge/jest-utils": "3.10.8-dev-20260901-971f7bf",
235
+ "@matterbridge/test-utils": "3.10.8-dev-20260901-971f7bf",
236
+ "@matterbridge/thread": "3.10.8-dev-20260901-971f7bf",
237
+ "@matterbridge/types": "3.10.8-dev-20260901-971f7bf",
238
+ "@matterbridge/utils": "3.10.8-dev-20260901-971f7bf",
239
+ "@matterbridge/vitest-utils": "3.10.8-dev-20260901-971f7bf",
240
240
  "node-ansi-logger": "3.3.1",
241
241
  "node-persist-manager": "2.1.1"
242
242
  },
243
243
  "build": {
244
244
  "version": "3.10.8",
245
- "sha": "e73fc653685efc1e1e2354f9a93cd8defc40a9d5",
246
- "sha7": "e73fc65",
245
+ "sha": "971f7bfc3f56a43ccebb90719b9419fdf2294d29",
246
+ "sha7": "971f7bf",
247
247
  "event": "workflow_dispatch",
248
248
  "workflow": "Publish to npm and trigger docker builds",
249
249
  "type": "branch",