@matter/node 0.16.0-alpha.0-20251101-70c8d51d7 → 0.16.0-alpha.0-20251103-b47ffa15b
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/dist/cjs/behavior/Behavior.d.ts +2 -2
- package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
- package/dist/cjs/behavior/Behavior.js +1 -1
- package/dist/cjs/behavior/Behavior.js.map +1 -1
- package/dist/cjs/behavior/Events.js.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts +3 -2
- package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehavior.js.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.js +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/cjs/behavior/system/mqtt/MqttInterface.js +1 -1
- package/dist/cjs/behavior/system/mqtt/MqttInterface.js.map +1 -1
- package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts +2 -2
- package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/basic-information/BasicInformationServer.js +0 -3
- package/dist/cjs/behaviors/basic-information/BasicInformationServer.js.map +1 -1
- package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts +1 -1
- package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts +3 -3
- package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/color-control/ColorControlServer.js +118 -3
- package/dist/cjs/behaviors/color-control/ColorControlServer.js.map +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
- package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts +1 -1
- package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
- package/dist/cjs/behaviors/groups/GroupsServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/groups/GroupsServer.js +9 -1
- package/dist/cjs/behaviors/groups/GroupsServer.js.map +1 -1
- package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts +5 -5
- package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/level-control/LevelControlServer.js +54 -27
- package/dist/cjs/behaviors/level-control/LevelControlServer.js.map +1 -1
- package/dist/cjs/behaviors/on-off/OnOffServer.d.ts +3 -6
- package/dist/cjs/behaviors/on-off/OnOffServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/on-off/OnOffServer.js +59 -7
- package/dist/cjs/behaviors/on-off/OnOffServer.js.map +1 -1
- package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.d.ts +122 -3
- package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js +909 -1
- package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js.map +2 -2
- package/dist/cjs/behaviors/switch/SwitchServer.d.ts +1 -1
- package/dist/cjs/behaviors/switch/SwitchServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/switch/SwitchServer.js.map +1 -1
- package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js +2 -2
- package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
- package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts +1 -1
- package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/thermostat/ThermostatServer.js.map +1 -1
- package/dist/cjs/devices/color-temperature-light.d.ts +4 -4
- package/dist/cjs/devices/dimmable-light.d.ts +4 -4
- package/dist/cjs/devices/dimmable-plug-in-unit.d.ts +4 -4
- package/dist/cjs/devices/extended-color-light.d.ts +4 -4
- package/dist/cjs/devices/mounted-dimmable-load-control.d.ts +4 -4
- package/dist/cjs/devices/mounted-on-off-control.d.ts +4 -4
- package/dist/cjs/devices/on-off-light.d.ts +4 -4
- package/dist/cjs/devices/on-off-plug-in-unit.d.ts +4 -4
- package/dist/cjs/endpoint/Agent.d.ts +5 -0
- package/dist/cjs/endpoint/Agent.d.ts.map +1 -1
- package/dist/cjs/endpoint/Agent.js +9 -0
- package/dist/cjs/endpoint/Agent.js.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.js +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/cjs/node/integration/ProtocolService.js +1 -1
- package/dist/cjs/node/integration/ProtocolService.js.map +1 -1
- package/dist/esm/behavior/Behavior.d.ts +2 -2
- package/dist/esm/behavior/Behavior.d.ts.map +1 -1
- package/dist/esm/behavior/Behavior.js +1 -1
- package/dist/esm/behavior/Behavior.js.map +1 -1
- package/dist/esm/behavior/Events.js.map +1 -1
- package/dist/esm/behavior/cluster/ClusterBehavior.d.ts +3 -2
- package/dist/esm/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
- package/dist/esm/behavior/cluster/ClusterBehavior.js.map +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.js +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/esm/behavior/system/mqtt/MqttInterface.js +1 -1
- package/dist/esm/behavior/system/mqtt/MqttInterface.js.map +1 -1
- package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts +2 -2
- package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts.map +1 -1
- package/dist/esm/behaviors/basic-information/BasicInformationServer.js +1 -4
- package/dist/esm/behaviors/basic-information/BasicInformationServer.js.map +1 -1
- package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts +1 -1
- package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts.map +1 -1
- package/dist/esm/behaviors/color-control/ColorControlServer.d.ts +3 -3
- package/dist/esm/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
- package/dist/esm/behaviors/color-control/ColorControlServer.js +118 -3
- package/dist/esm/behaviors/color-control/ColorControlServer.js.map +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
- package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts +1 -1
- package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
- package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
- package/dist/esm/behaviors/groups/GroupsServer.d.ts.map +1 -1
- package/dist/esm/behaviors/groups/GroupsServer.js +9 -1
- package/dist/esm/behaviors/groups/GroupsServer.js.map +1 -1
- package/dist/esm/behaviors/level-control/LevelControlServer.d.ts +5 -5
- package/dist/esm/behaviors/level-control/LevelControlServer.d.ts.map +1 -1
- package/dist/esm/behaviors/level-control/LevelControlServer.js +55 -28
- package/dist/esm/behaviors/level-control/LevelControlServer.js.map +1 -1
- package/dist/esm/behaviors/on-off/OnOffServer.d.ts +3 -6
- package/dist/esm/behaviors/on-off/OnOffServer.d.ts.map +1 -1
- package/dist/esm/behaviors/on-off/OnOffServer.js +59 -7
- package/dist/esm/behaviors/on-off/OnOffServer.js.map +1 -1
- package/dist/esm/behaviors/scenes-management/ScenesManagementServer.d.ts +122 -3
- package/dist/esm/behaviors/scenes-management/ScenesManagementServer.d.ts.map +1 -1
- package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js +960 -1
- package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js.map +2 -2
- package/dist/esm/behaviors/switch/SwitchServer.d.ts +1 -1
- package/dist/esm/behaviors/switch/SwitchServer.d.ts.map +1 -1
- package/dist/esm/behaviors/switch/SwitchServer.js.map +1 -1
- package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js +2 -2
- package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
- package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts +1 -1
- package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
- package/dist/esm/behaviors/thermostat/ThermostatServer.js.map +1 -1
- package/dist/esm/devices/color-temperature-light.d.ts +4 -4
- package/dist/esm/devices/dimmable-light.d.ts +4 -4
- package/dist/esm/devices/dimmable-plug-in-unit.d.ts +4 -4
- package/dist/esm/devices/extended-color-light.d.ts +4 -4
- package/dist/esm/devices/mounted-dimmable-load-control.d.ts +4 -4
- package/dist/esm/devices/mounted-on-off-control.d.ts +4 -4
- package/dist/esm/devices/on-off-light.d.ts +4 -4
- package/dist/esm/devices/on-off-plug-in-unit.d.ts +4 -4
- package/dist/esm/endpoint/Agent.d.ts +5 -0
- package/dist/esm/endpoint/Agent.d.ts.map +1 -1
- package/dist/esm/endpoint/Agent.js +9 -0
- package/dist/esm/endpoint/Agent.js.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.js +1 -1
- package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/esm/node/integration/ProtocolService.js +1 -1
- package/dist/esm/node/integration/ProtocolService.js.map +1 -1
- package/package.json +7 -7
- package/src/behavior/Behavior.ts +2 -2
- package/src/behavior/Events.ts +1 -1
- package/src/behavior/cluster/ClusterBehavior.ts +4 -2
- package/src/behavior/cluster/ClusterBehaviorUtil.ts +1 -1
- package/src/behavior/internal/BehaviorBacking.ts +1 -1
- package/src/behavior/system/mqtt/MqttInterface.ts +1 -1
- package/src/behaviors/basic-information/BasicInformationServer.ts +3 -7
- package/src/behaviors/color-control/ColorControlServer.ts +132 -3
- package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +1 -1
- package/src/behaviors/group-key-management/GroupKeyManagementServer.ts +2 -2
- package/src/behaviors/groups/GroupsServer.ts +13 -1
- package/src/behaviors/level-control/LevelControlServer.ts +72 -29
- package/src/behaviors/on-off/OnOffServer.ts +78 -9
- package/src/behaviors/scenes-management/ScenesManagementServer.ts +1123 -3
- package/src/behaviors/switch/SwitchServer.ts +1 -1
- package/src/behaviors/thermostat/AtomicWriteHandler.ts +4 -4
- package/src/behaviors/thermostat/ThermostatServer.ts +1 -1
- package/src/endpoint/Agent.ts +10 -0
- package/src/endpoint/properties/Behaviors.ts +1 -1
- package/src/node/integration/ProtocolService.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/groups/GroupsServer.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["fabric"]
|
|
6
6
|
}
|
|
@@ -170,11 +170,11 @@ export declare class LevelControlBaseServer extends LevelControlBase {
|
|
|
170
170
|
* Change to a designated level.
|
|
171
171
|
*
|
|
172
172
|
* @param targetLevel the new level once transition completes; if omitted transition will stop at min or max value
|
|
173
|
-
* @param changePerS the move rate; 0 or nullish means transition instantly
|
|
173
|
+
* @param changePerS the move rate; 0 or nullish means transition instantly; use function to calculate rate based on current level after coupling logics
|
|
174
174
|
* @param withOnOff if true follows rules for On/Off command variants
|
|
175
175
|
* @param options additional options supplied by the client
|
|
176
176
|
*/
|
|
177
|
-
protected transition(targetLevel?: number, changePerS?: number | null, withOnOff?: boolean, options?: TypeFromPartialBitSchema<typeof LevelControl.Options>): MaybePromise;
|
|
177
|
+
protected transition(targetLevel?: number, changePerS?: number | null | ((currentLevel: number) => number), withOnOff?: boolean, options?: TypeFromPartialBitSchema<typeof LevelControl.Options>): MaybePromise;
|
|
178
178
|
/**
|
|
179
179
|
* Configure the current transaction to synchronize state with other clusters.
|
|
180
180
|
*
|
|
@@ -196,10 +196,10 @@ export declare class LevelControlBaseServer extends LevelControlBase {
|
|
|
196
196
|
}
|
|
197
197
|
export declare namespace LevelControlBaseServer {
|
|
198
198
|
class Internal {
|
|
199
|
-
/**
|
|
200
|
-
* Transition management.
|
|
201
|
-
*/
|
|
199
|
+
/** Transition management. */
|
|
202
200
|
transitions?: Transitions<LevelControlBaseServer>;
|
|
201
|
+
/** Internal flag to avoid on/off coupling during transitions */
|
|
202
|
+
blockOnOffCouplingOnce: boolean;
|
|
203
203
|
}
|
|
204
204
|
class State extends LevelControlBase.State {
|
|
205
205
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LevelControlServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/level-control/LevelControlServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"LevelControlServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/level-control/LevelControlServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,10 @@ import { Transitions } from "#behavior/Transitions.js";
|
|
|
7
7
|
import { ColorControlServer } from "#behaviors/color-control";
|
|
8
8
|
import { GeneralDiagnosticsBehavior } from "#behaviors/general-diagnostics";
|
|
9
9
|
import { OnOffServer } from "#behaviors/on-off";
|
|
10
|
+
import { ScenesManagementServer } from "#behaviors/scenes-management";
|
|
10
11
|
import { GeneralDiagnostics } from "#clusters/general-diagnostics";
|
|
11
12
|
import { LevelControl } from "#clusters/level-control";
|
|
12
|
-
import { AsyncObservable, Logger, MaybePromise, Millis } from "#general";
|
|
13
|
+
import { AsyncObservable, cropValueRange, Logger, MaybePromise, Millis } from "#general";
|
|
13
14
|
import { ServerNode } from "#node/ServerNode.js";
|
|
14
15
|
import { Val } from "#protocol";
|
|
15
16
|
import { ClusterType, StatusCode, StatusResponseError } from "#types";
|
|
@@ -52,6 +53,7 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
52
53
|
if (this.features.onOff && this.agent.has(OnOffServer)) {
|
|
53
54
|
this.initializeOnOff();
|
|
54
55
|
}
|
|
56
|
+
this.agent.maybeGet(ScenesManagementServer)?.implementScenes(this, this.#applySceneValues);
|
|
55
57
|
}
|
|
56
58
|
/**
|
|
57
59
|
* Create transition management instance.
|
|
@@ -158,7 +160,8 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
158
160
|
if (!this.#optionsAllowExecution(effectiveOptions)) {
|
|
159
161
|
return;
|
|
160
162
|
}
|
|
161
|
-
|
|
163
|
+
level = cropValueRange(level, this.minLevel, this.maxLevel);
|
|
164
|
+
this.#invalidateScenes();
|
|
162
165
|
return this.moveToLevelLogic(level, transitionTime, false, effectiveOptions);
|
|
163
166
|
}
|
|
164
167
|
/**
|
|
@@ -167,7 +170,8 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
167
170
|
* To replace this logic, override {@link moveToLevelLogic} whicih also implements {@link moveToLevel}.
|
|
168
171
|
*/
|
|
169
172
|
moveToLevelWithOnOff({ level, transitionTime }) {
|
|
170
|
-
|
|
173
|
+
level = cropValueRange(level, this.minLevel, this.maxLevel);
|
|
174
|
+
this.#invalidateScenes();
|
|
171
175
|
return this.moveToLevelLogic(level, transitionTime, true);
|
|
172
176
|
}
|
|
173
177
|
/**
|
|
@@ -197,8 +201,9 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
197
201
|
const effectiveTransitionTime = transitionTime ?? this.state.onOffTransitionTime ?? null;
|
|
198
202
|
let effectiveRate;
|
|
199
203
|
if (effectiveTransitionTime) {
|
|
200
|
-
effectiveRate = (level -
|
|
204
|
+
effectiveRate = (currentLevel) => (level - currentLevel) / effectiveTransitionTime * 10;
|
|
201
205
|
}
|
|
206
|
+
this.#invalidateScenes();
|
|
202
207
|
return this.transition(level, effectiveRate, withOnOff, options);
|
|
203
208
|
}
|
|
204
209
|
/**
|
|
@@ -214,6 +219,7 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
214
219
|
if (!this.#optionsAllowExecution(effectiveOptions)) {
|
|
215
220
|
return;
|
|
216
221
|
}
|
|
222
|
+
this.#invalidateScenes();
|
|
217
223
|
return this.moveLogic(moveMode, rate, false, effectiveOptions);
|
|
218
224
|
}
|
|
219
225
|
/**
|
|
@@ -225,6 +231,7 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
225
231
|
*/
|
|
226
232
|
moveWithOnOff({ moveMode, rate }) {
|
|
227
233
|
rate = this.#assertRateValue(rate);
|
|
234
|
+
this.#invalidateScenes();
|
|
228
235
|
return this.moveLogic(moveMode, rate, true);
|
|
229
236
|
}
|
|
230
237
|
/**
|
|
@@ -268,6 +275,7 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
268
275
|
if (!this.#optionsAllowExecution(effectiveOptions)) {
|
|
269
276
|
return;
|
|
270
277
|
}
|
|
278
|
+
this.#invalidateScenes();
|
|
271
279
|
return this.stepLogic(stepMode, stepSize, transitionTime, false, effectiveOptions);
|
|
272
280
|
}
|
|
273
281
|
/**
|
|
@@ -276,6 +284,7 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
276
284
|
* To replace default beahavior, override {@link stepLogic} which also implements {@link step}.
|
|
277
285
|
*/
|
|
278
286
|
stepWithOnOff({ stepMode, stepSize, transitionTime }) {
|
|
287
|
+
this.#invalidateScenes();
|
|
279
288
|
return this.stepLogic(stepMode, stepSize, transitionTime, true);
|
|
280
289
|
}
|
|
281
290
|
/**
|
|
@@ -303,6 +312,7 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
303
312
|
if (!this.#optionsAllowExecution(effectiveOptions)) {
|
|
304
313
|
return;
|
|
305
314
|
}
|
|
315
|
+
this.#invalidateScenes();
|
|
306
316
|
return this.stopLogic(effectiveOptions);
|
|
307
317
|
}
|
|
308
318
|
stopWithOnOff(request) {
|
|
@@ -318,14 +328,16 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
318
328
|
* Change to a designated level.
|
|
319
329
|
*
|
|
320
330
|
* @param targetLevel the new level once transition completes; if omitted transition will stop at min or max value
|
|
321
|
-
* @param changePerS the move rate; 0 or nullish means transition instantly
|
|
331
|
+
* @param changePerS the move rate; 0 or nullish means transition instantly; use function to calculate rate based on current level after coupling logics
|
|
322
332
|
* @param withOnOff if true follows rules for On/Off command variants
|
|
323
333
|
* @param options additional options supplied by the client
|
|
324
334
|
*/
|
|
325
335
|
transition(targetLevel, changePerS, withOnOff = false, options = {}) {
|
|
326
|
-
return MaybePromise.then(
|
|
327
|
-
|
|
328
|
-
|
|
336
|
+
return MaybePromise.then(this.couple(withOnOff, options, targetLevel), () => {
|
|
337
|
+
if (typeof changePerS === "function") {
|
|
338
|
+
changePerS = changePerS(this.currentLevel);
|
|
339
|
+
}
|
|
340
|
+
this.internal.transitions?.start({
|
|
329
341
|
name: "currentLevel",
|
|
330
342
|
owner: this,
|
|
331
343
|
changePerS,
|
|
@@ -333,8 +345,8 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
333
345
|
onStep() {
|
|
334
346
|
this.couple(withOnOff, options, targetLevel);
|
|
335
347
|
}
|
|
336
|
-
})
|
|
337
|
-
);
|
|
348
|
+
});
|
|
349
|
+
});
|
|
338
350
|
}
|
|
339
351
|
/**
|
|
340
352
|
* Configure the current transaction to synchronize state with other clusters.
|
|
@@ -342,6 +354,7 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
342
354
|
* This handles of on/off state in the On/Off cluster and color temperature in the Color Control cluster.
|
|
343
355
|
*/
|
|
344
356
|
couple(withOnOff, options = {}, targetLevel) {
|
|
357
|
+
let result = void 0;
|
|
345
358
|
if (this.features.onOff && withOnOff && this.agent.has(OnOffServer)) {
|
|
346
359
|
if (targetLevel === void 0) {
|
|
347
360
|
targetLevel = this.currentLevel;
|
|
@@ -363,7 +376,17 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
363
376
|
const onOff = this.agent.get(OnOffServer);
|
|
364
377
|
if (!onOff.state.onOff) {
|
|
365
378
|
onOff.state.onOff = true;
|
|
366
|
-
this.
|
|
379
|
+
if (this.state.onLevel !== null) {
|
|
380
|
+
result = this.handleOnOffChange(true);
|
|
381
|
+
this.internal.blockOnOffCouplingOnce = true;
|
|
382
|
+
this.context.transaction.addParticipants({
|
|
383
|
+
postCommit: () => {
|
|
384
|
+
if (this.internal.blockOnOffCouplingOnce) {
|
|
385
|
+
this.internal.blockOnOffCouplingOnce = false;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
}
|
|
367
390
|
}
|
|
368
391
|
}
|
|
369
392
|
}
|
|
@@ -380,6 +403,7 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
380
403
|
}
|
|
381
404
|
});
|
|
382
405
|
}
|
|
406
|
+
return result;
|
|
383
407
|
}
|
|
384
408
|
/**
|
|
385
409
|
* Implement mandatory interaction with the OnOff cluster on the same endpoint when "OnOff" feature is enabled
|
|
@@ -392,9 +416,14 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
392
416
|
* @param onOff The new onOff state
|
|
393
417
|
*/
|
|
394
418
|
handleOnOffChange(onOff) {
|
|
419
|
+
if (this.internal.blockOnOffCouplingOnce) {
|
|
420
|
+
this.internal.blockOnOffCouplingOnce = false;
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
395
423
|
if (!onOff || this.state.onLevel === null) {
|
|
396
424
|
return;
|
|
397
425
|
}
|
|
426
|
+
logger.debug(`OnOff changed to ON, setting level to onLevel value of ${this.state.onLevel}`);
|
|
398
427
|
this.state.currentLevel = this.state.onLevel;
|
|
399
428
|
}
|
|
400
429
|
#calculateEffectiveOptions(optionsMask, optionsOverride) {
|
|
@@ -407,26 +436,24 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
407
436
|
#optionsAllowExecution(options) {
|
|
408
437
|
return options.executeIfOff || !this.features.onOff || !this.agent.has(OnOffServer) || this.agent.get(OnOffServer).state.onOff;
|
|
409
438
|
}
|
|
410
|
-
#assertLevelValue(level) {
|
|
411
|
-
if (level < this.minLevel) {
|
|
412
|
-
throw new StatusResponseError(
|
|
413
|
-
`The level value of ${level} is invalid. It must be greater or equal to ${this.minLevel}.`,
|
|
414
|
-
StatusCode.ConstraintError
|
|
415
|
-
);
|
|
416
|
-
}
|
|
417
|
-
if (level > this.maxLevel) {
|
|
418
|
-
throw new StatusResponseError(
|
|
419
|
-
`The level value of ${level} is invalid. It must be less or equal to ${this.maxLevel}.`,
|
|
420
|
-
StatusCode.ConstraintError
|
|
421
|
-
);
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
439
|
#getBootReason() {
|
|
425
440
|
const rootEndpoint = this.env.get(ServerNode);
|
|
426
441
|
if (rootEndpoint.behaviors.has(GeneralDiagnosticsBehavior)) {
|
|
427
442
|
return rootEndpoint.stateOf(GeneralDiagnosticsBehavior).bootReason;
|
|
428
443
|
}
|
|
429
444
|
}
|
|
445
|
+
/** Apply Scene values when requested from ScenesManagement cluster */
|
|
446
|
+
#applySceneValues(values, transitionTime) {
|
|
447
|
+
const level = values.currentLevel;
|
|
448
|
+
if (typeof level !== "number" || this.state.currentLevel === level || cropValueRange(level, this.minLevel, this.maxLevel) !== level) {
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
return this.moveToLevelLogic(level, transitionTime / 100, false, { executeIfOff: true });
|
|
452
|
+
}
|
|
453
|
+
/** Invalidate all stored scenes manually for this endpoint in the Scenesmanagement cluster because SDK behavior. */
|
|
454
|
+
#invalidateScenes() {
|
|
455
|
+
this.agent.maybeGet(ScenesManagementServer)?.makeAllFabricSceneInfoEntriesInvalid();
|
|
456
|
+
}
|
|
430
457
|
async [Symbol.asyncDispose]() {
|
|
431
458
|
if (this.internal.transitions) {
|
|
432
459
|
await this.internal.transitions.close();
|
|
@@ -437,10 +464,10 @@ class LevelControlBaseServer extends LevelControlBase {
|
|
|
437
464
|
}
|
|
438
465
|
((LevelControlBaseServer2) => {
|
|
439
466
|
class Internal {
|
|
440
|
-
/**
|
|
441
|
-
* Transition management.
|
|
442
|
-
*/
|
|
467
|
+
/** Transition management. */
|
|
443
468
|
transitions;
|
|
469
|
+
/** Internal flag to avoid on/off coupling during transitions */
|
|
470
|
+
blockOnOffCouplingOnce = false;
|
|
444
471
|
}
|
|
445
472
|
LevelControlBaseServer2.Internal = Internal;
|
|
446
473
|
class State extends LevelControlBase.State {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/level-control/LevelControlServer.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AACnC,SAAS,kCAAkC;AAC3C,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AACnC,SAAS,oBAAoB;AAE7B,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["LevelControlBaseServer"]
|
|
6
6
|
}
|
|
@@ -33,14 +33,9 @@ export declare class OnOffBaseServer extends OnOffLogicBase {
|
|
|
33
33
|
/**
|
|
34
34
|
* Default implementation notes:
|
|
35
35
|
* * This implementation ignores the effect and just calls off().
|
|
36
|
-
* * Global Scene Control is not supported yet.
|
|
37
36
|
*/
|
|
38
37
|
offWithEffect(): MaybePromise;
|
|
39
|
-
|
|
40
|
-
* Default implementation notes:
|
|
41
|
-
* * Global Scene Control is not supported yet, so the device is just turned on.
|
|
42
|
-
*/
|
|
43
|
-
onWithRecallGlobalScene(): MaybePromise;
|
|
38
|
+
onWithRecallGlobalScene(): Promise<void>;
|
|
44
39
|
/**
|
|
45
40
|
* Default implementation notes:
|
|
46
41
|
* * This method uses the on/off methods when timed actions should occur. This means that it is enough to override
|
|
@@ -54,6 +49,8 @@ export declare namespace OnOffBaseServer {
|
|
|
54
49
|
class Internal {
|
|
55
50
|
timedOnTimer?: Timer;
|
|
56
51
|
delayedOffTimer?: Timer;
|
|
52
|
+
applySceneDelayTimer?: Timer;
|
|
53
|
+
applyScenePendingOnOff?: boolean;
|
|
57
54
|
}
|
|
58
55
|
}
|
|
59
56
|
declare const OnOffServer_base: import("../../index.js").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<import("@matter/types").ClusterComposer.WithFeatures<OnOff.Cluster, readonly [OnOff.Feature.Lighting]>, readonly []>, typeof OnOffBaseServer, import("./OnOffInterface.js").OnOffInterface>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnOffServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/on-off/OnOffServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"OnOffServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/on-off/OnOffServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAgB,KAAK,EAAE,MAAM,UAAU,CAAC;AAK7D,QAAA,MAAM,cAAc,4PAA6C,CAAC;AAElE;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,cAAc;;IAC/C,UAAkB,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;IAE5C,UAAU,IAAI,YAAY;IAqBpB,CAAC,MAAM,CAAC,YAAY,CAAC;IAM3B,EAAE,IAAI,YAAY;IAqBlB,GAAG,IAAI,YAAY;IAgB5B;;;;OAIG;IACM,MAAM,IAAI,YAAY;IAQ/B;;;OAGG;IACM,aAAa,IAAI,YAAY;IAavB,uBAAuB;IAsBtC;;;;OAIG;IACM,cAAc,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,qBAAqB,GAAG,YAAY;IAoBzG,SAAS,KAAK,YAAY,UAUzB;IAaD,SAAS,KAAK,eAAe,UAU5B;CAwDJ;AAED,yBAAiB,eAAe,CAAC;IAC7B,MAAa,QAAQ;QACjB,YAAY,CAAC,EAAE,KAAK,CAAC;QACrB,eAAe,CAAC,EAAE,KAAK,CAAC;QACxB,oBAAoB,CAAC,EAAE,KAAK,CAAC;QAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;KACpC;CACJ;;AAID,qBAAa,WAAY,SAAQ,gBAAsB;CAAG"}
|
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { GeneralDiagnosticsBehavior } from "#behaviors/general-diagnostics";
|
|
7
|
+
import { ScenesManagementServer } from "#behaviors/scenes-management";
|
|
7
8
|
import { GeneralDiagnostics } from "#clusters/general-diagnostics";
|
|
8
9
|
import { OnOff } from "#clusters/on-off";
|
|
9
10
|
import { Millis, Time } from "#general";
|
|
10
11
|
import { ServerNode } from "#node/ServerNode.js";
|
|
12
|
+
import { hasRemoteActor } from "#protocol";
|
|
11
13
|
import { OnOffBehavior } from "./OnOffBehavior.js";
|
|
12
14
|
const OnOffLogicBase = OnOffBehavior.with(OnOff.Feature.Lighting);
|
|
13
15
|
class OnOffBaseServer extends OnOffLogicBase {
|
|
@@ -22,6 +24,10 @@ class OnOffBaseServer extends OnOffLogicBase {
|
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
26
|
}
|
|
27
|
+
if (this.agent.has(ScenesManagementServer)) {
|
|
28
|
+
this.agent.get(ScenesManagementServer).implementScenes(this, this.#applySceneValues);
|
|
29
|
+
this.reactTo(this.events.onOff$Changed, this.#clearDelayedSceneApplyData);
|
|
30
|
+
}
|
|
25
31
|
}
|
|
26
32
|
async [Symbol.asyncDispose]() {
|
|
27
33
|
this.internal.timedOnTimer?.stop();
|
|
@@ -29,6 +35,9 @@ class OnOffBaseServer extends OnOffLogicBase {
|
|
|
29
35
|
await super[Symbol.asyncDispose]?.();
|
|
30
36
|
}
|
|
31
37
|
on() {
|
|
38
|
+
if (!this.state.onOff) {
|
|
39
|
+
this.#invalidateScenes();
|
|
40
|
+
}
|
|
32
41
|
this.state.onOff = true;
|
|
33
42
|
if (this.features.lighting) {
|
|
34
43
|
this.state.globalSceneControl = true;
|
|
@@ -40,7 +49,14 @@ class OnOffBaseServer extends OnOffLogicBase {
|
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
}
|
|
52
|
+
/** Invalidate all stored scenes manually for this endpoint in the Scenesmanagement cluster because SDK behavior. */
|
|
53
|
+
#invalidateScenes() {
|
|
54
|
+
this.agent.maybeGet(ScenesManagementServer)?.makeAllFabricSceneInfoEntriesInvalid();
|
|
55
|
+
}
|
|
43
56
|
off() {
|
|
57
|
+
if (this.state.onOff) {
|
|
58
|
+
this.#invalidateScenes();
|
|
59
|
+
}
|
|
44
60
|
this.state.onOff = false;
|
|
45
61
|
if (this.features.lighting) {
|
|
46
62
|
if (this.timedOnTimer.isRunning) {
|
|
@@ -67,27 +83,28 @@ class OnOffBaseServer extends OnOffLogicBase {
|
|
|
67
83
|
/**
|
|
68
84
|
* Default implementation notes:
|
|
69
85
|
* * This implementation ignores the effect and just calls off().
|
|
70
|
-
* * Global Scene Control is not supported yet.
|
|
71
86
|
*/
|
|
72
87
|
offWithEffect() {
|
|
73
88
|
if (this.state.globalSceneControl) {
|
|
89
|
+
if (hasRemoteActor(this.context) && this.context.session.fabric !== void 0) {
|
|
90
|
+
this.endpoint.agentFor(this.context).maybeGet(ScenesManagementServer)?.storeGlobalScene(this.context.session.fabric.fabricIndex);
|
|
91
|
+
}
|
|
74
92
|
this.state.globalSceneControl = false;
|
|
75
93
|
}
|
|
76
94
|
return this.off();
|
|
77
95
|
}
|
|
78
|
-
|
|
79
|
-
* Default implementation notes:
|
|
80
|
-
* * Global Scene Control is not supported yet, so the device is just turned on.
|
|
81
|
-
*/
|
|
82
|
-
onWithRecallGlobalScene() {
|
|
96
|
+
async onWithRecallGlobalScene() {
|
|
83
97
|
if (this.state.globalSceneControl) {
|
|
84
98
|
return;
|
|
85
99
|
}
|
|
100
|
+
if (hasRemoteActor(this.context) && this.context.session.fabric !== void 0 && this.agent.has(ScenesManagementServer)) {
|
|
101
|
+
await this.endpoint.agentFor(this.context).maybeGet(ScenesManagementServer)?.recallGlobalScene(this.context.session.fabric.fabricIndex);
|
|
102
|
+
}
|
|
86
103
|
this.state.globalSceneControl = true;
|
|
87
104
|
if (this.state.onTime === 0) {
|
|
88
105
|
this.state.offWaitTime = 0;
|
|
89
106
|
}
|
|
90
|
-
|
|
107
|
+
await this.on();
|
|
91
108
|
}
|
|
92
109
|
/**
|
|
93
110
|
* Default implementation notes:
|
|
@@ -141,6 +158,39 @@ class OnOffBaseServer extends OnOffLogicBase {
|
|
|
141
158
|
}
|
|
142
159
|
return timer;
|
|
143
160
|
}
|
|
161
|
+
/** Apply Scene values when requested from ScenesManagement cluster */
|
|
162
|
+
#applySceneValues(values, transitionTime) {
|
|
163
|
+
this.#clearDelayedSceneApplyData();
|
|
164
|
+
const onOff = values.onOff;
|
|
165
|
+
if (typeof onOff !== "boolean" || this.state.onOff === onOff) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (transitionTime === 0) {
|
|
169
|
+
this.state.onOff = onOff;
|
|
170
|
+
} else {
|
|
171
|
+
this.internal.applyScenePendingOnOff = onOff;
|
|
172
|
+
this.internal.applySceneDelayTimer = Time.getPeriodicTimer(
|
|
173
|
+
"delayed scene apply",
|
|
174
|
+
Millis(transitionTime),
|
|
175
|
+
this.callback(this.#applyDelayedSceneOnOffValue)
|
|
176
|
+
).start();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
#clearDelayedSceneApplyData() {
|
|
180
|
+
if (this.internal.applySceneDelayTimer?.isRunning) {
|
|
181
|
+
this.internal.applySceneDelayTimer.stop();
|
|
182
|
+
}
|
|
183
|
+
this.internal.applySceneDelayTimer = void 0;
|
|
184
|
+
this.internal.applyScenePendingOnOff = void 0;
|
|
185
|
+
}
|
|
186
|
+
#applyDelayedSceneOnOffValue() {
|
|
187
|
+
const onOff = this.internal.applyScenePendingOnOff;
|
|
188
|
+
this.#clearDelayedSceneApplyData();
|
|
189
|
+
if (onOff === void 0) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
this.state.onOff = onOff;
|
|
193
|
+
}
|
|
144
194
|
#delayedOffTick() {
|
|
145
195
|
let time = (this.state.offWaitTime ?? 0) - 1;
|
|
146
196
|
if (time <= 0) {
|
|
@@ -160,6 +210,8 @@ class OnOffBaseServer extends OnOffLogicBase {
|
|
|
160
210
|
class Internal {
|
|
161
211
|
timedOnTimer;
|
|
162
212
|
delayedOffTimer;
|
|
213
|
+
applySceneDelayTimer;
|
|
214
|
+
applyScenePendingOnOff;
|
|
163
215
|
}
|
|
164
216
|
OnOffBaseServer2.Internal = Internal;
|
|
165
217
|
})(OnOffBaseServer || (OnOffBaseServer = {}));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/on-off/OnOffServer.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kCAAkC;AAC3C,SAAS,0BAA0B;AACnC,SAAS,aAAa;AACtB,SAAuB,QAAQ,YAAmB;AAClD,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAE9B,MAAM,iBAAiB,cAAc,KAAK,MAAM,QAAQ,QAAQ;AAazD,MAAM,wBAAwB,eAAe;AAAA,EAGvC,aAA2B;AAChC,QAAI,KAAK,SAAS,YAAY,KAAK,eAAe,MAAM,mBAAmB,WAAW,yBAAyB;AAC3G,YAAM,oBAAoB,KAAK,MAAM,gBAAgB;AACrD,YAAM,qBAAqB,KAAK,MAAM;AACtC,UAAI,sBAAsB,MAAM;AAC5B,cAAM,mBACF,sBAAsB,MAAM,aAAa,SACnC,CAAC,qBACD,sBAAsB,MAAM,aAAa;AACnD,YAAI,qBAAqB,oBAAoB;AACzC,eAAK,MAAM,QAAQ;AAAA,QACvB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,OAAgB,OAAO,YAAY,IAAI;AACnC,SAAK,SAAS,cAAc,KAAK;AACjC,SAAK,SAAS,iBAAiB,KAAK;AACpC,UAAM,MAAM,OAAO,YAAY,IAAI;AAAA,EACvC;AAAA,EAES,KAAmB;AACxB,SAAK,MAAM,QAAQ;AACnB,QAAI,KAAK,SAAS,UAAU;AACxB,WAAK,MAAM,qBAAqB;AAChC,UAAI,CAAC,KAAK,aAAa,WAAW;AAC9B,YAAI,KAAK,gBAAgB,WAAW;AAChC,eAAK,gBAAgB,KAAK;AAAA,QAC9B;AACA,aAAK,MAAM,cAAc;AAAA,MAC7B;AAAA,IACJ;AAAA,EACJ;AAAA,EAES,MAAoB;AACzB,SAAK,MAAM,QAAQ;AACnB,QAAI,KAAK,SAAS,UAAU;AACxB,UAAI,KAAK,aAAa,WAAW;AAC7B,aAAK,aAAa,KAAK;AACvB,aAAK,KAAK,MAAM,eAAe,KAAK,GAAG;AACnC,eAAK,gBAAgB,MAAM;AAAA,QAC/B;AAAA,MACJ;AACA,WAAK,MAAM,SAAS;AAAA,IACxB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOS,SAAuB;AAC5B,QAAI,KAAK,MAAM,OAAO;AAClB,aAAO,KAAK,IAAI;AAAA,IACpB,OAAO;AACH,aAAO,KAAK,GAAG;AAAA,IACnB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["OnOffBaseServer"]
|
|
6
6
|
}
|