homebridge 2.0.0-beta.46 → 2.0.0-beta.48

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.
Files changed (119) hide show
  1. package/dist/childBridgeService.d.ts +1 -0
  2. package/dist/childBridgeService.d.ts.map +1 -1
  3. package/dist/childBridgeService.js +7 -0
  4. package/dist/childBridgeService.js.map +1 -1
  5. package/dist/ipcService.d.ts +1 -1
  6. package/dist/ipcService.d.ts.map +1 -1
  7. package/dist/ipcService.js.map +1 -1
  8. package/dist/matter/BaseMatterManager.d.ts +1 -0
  9. package/dist/matter/BaseMatterManager.d.ts.map +1 -1
  10. package/dist/matter/BaseMatterManager.js +13 -0
  11. package/dist/matter/BaseMatterManager.js.map +1 -1
  12. package/dist/matter/ChildBridgeMatterManager.d.ts +3 -2
  13. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
  14. package/dist/matter/ChildBridgeMatterManager.js +17 -11
  15. package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
  16. package/dist/matter/ClusterCommandMapper.d.ts.map +1 -1
  17. package/dist/matter/ClusterCommandMapper.js +13 -0
  18. package/dist/matter/ClusterCommandMapper.js.map +1 -1
  19. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +1 -0
  20. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
  21. package/dist/matter/ExternalMatterAccessoryPublisher.js +2 -1
  22. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
  23. package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
  24. package/dist/matter/MatterAPIImpl.js +10 -5
  25. package/dist/matter/MatterAPIImpl.js.map +1 -1
  26. package/dist/matter/MatterBridgeManager.d.ts +7 -3
  27. package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
  28. package/dist/matter/MatterBridgeManager.js +19 -16
  29. package/dist/matter/MatterBridgeManager.js.map +1 -1
  30. package/dist/matter/behaviors/BehaviorRegistry.d.ts +3 -3
  31. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
  32. package/dist/matter/behaviors/BehaviorRegistry.js +3 -2
  33. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
  34. package/dist/matter/behaviors/ColorControlBehavior.d.ts +1 -3
  35. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -1
  36. package/dist/matter/behaviors/ColorControlBehavior.js +20 -14
  37. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -1
  38. package/dist/matter/behaviors/DoorLockBehavior.d.ts +1 -3
  39. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
  40. package/dist/matter/behaviors/DoorLockBehavior.js +9 -7
  41. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
  42. package/dist/matter/behaviors/FanControlBehavior.d.ts +1 -3
  43. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -1
  44. package/dist/matter/behaviors/FanControlBehavior.js +9 -7
  45. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -1
  46. package/dist/matter/behaviors/IdentifyBehavior.d.ts +1 -3
  47. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -1
  48. package/dist/matter/behaviors/IdentifyBehavior.js +5 -4
  49. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -1
  50. package/dist/matter/behaviors/LevelControlBehavior.d.ts +1 -3
  51. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -1
  52. package/dist/matter/behaviors/LevelControlBehavior.js +15 -10
  53. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -1
  54. package/dist/matter/behaviors/OnOffBehavior.d.ts +1 -3
  55. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -1
  56. package/dist/matter/behaviors/OnOffBehavior.js +12 -9
  57. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -1
  58. package/dist/matter/behaviors/RegistryManager.d.ts +15 -0
  59. package/dist/matter/behaviors/RegistryManager.d.ts.map +1 -0
  60. package/dist/matter/behaviors/RegistryManager.js +31 -0
  61. package/dist/matter/behaviors/RegistryManager.js.map +1 -0
  62. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +10 -4
  63. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -1
  64. package/dist/matter/behaviors/RvcCleanModeBehavior.js +10 -5
  65. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -1
  66. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +2 -3
  67. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -1
  68. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +32 -8
  69. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -1
  70. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +10 -4
  71. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -1
  72. package/dist/matter/behaviors/RvcRunModeBehavior.js +10 -5
  73. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -1
  74. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +2 -3
  75. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -1
  76. package/dist/matter/behaviors/ServiceAreaBehavior.js +31 -7
  77. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -1
  78. package/dist/matter/behaviors/ThermostatBehavior.d.ts +1 -3
  79. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -1
  80. package/dist/matter/behaviors/ThermostatBehavior.js +15 -11
  81. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -1
  82. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +1 -3
  83. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -1
  84. package/dist/matter/behaviors/WindowCoveringBehavior.js +15 -9
  85. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -1
  86. package/dist/matter/behaviors/index.d.ts +1 -0
  87. package/dist/matter/behaviors/index.d.ts.map +1 -1
  88. package/dist/matter/behaviors/index.js +1 -0
  89. package/dist/matter/behaviors/index.js.map +1 -1
  90. package/dist/matter/clusterTypes.d.ts +178 -0
  91. package/dist/matter/clusterTypes.d.ts.map +1 -0
  92. package/dist/matter/clusterTypes.js +2 -0
  93. package/dist/matter/clusterTypes.js.map +1 -0
  94. package/dist/matter/managerTypes.d.ts +57 -0
  95. package/dist/matter/managerTypes.d.ts.map +1 -0
  96. package/dist/matter/managerTypes.js +2 -0
  97. package/dist/matter/managerTypes.js.map +1 -0
  98. package/dist/matter/server.d.ts.map +1 -1
  99. package/dist/matter/server.js +17 -19
  100. package/dist/matter/server.js.map +1 -1
  101. package/dist/matter/sharedTypes.d.ts +22 -10
  102. package/dist/matter/sharedTypes.d.ts.map +1 -1
  103. package/dist/matter/sharedTypes.js.map +1 -1
  104. package/dist/matter/storage.d.ts.map +1 -1
  105. package/dist/matter/storage.js +37 -8
  106. package/dist/matter/storage.js.map +1 -1
  107. package/dist/matter/types.d.ts +9 -4
  108. package/dist/matter/types.d.ts.map +1 -1
  109. package/dist/matter/types.js +5 -1
  110. package/dist/matter/types.js.map +1 -1
  111. package/dist/matter/utils.d.ts +13 -0
  112. package/dist/matter/utils.d.ts.map +1 -0
  113. package/dist/matter/utils.js +21 -0
  114. package/dist/matter/utils.js.map +1 -0
  115. package/dist/server.d.ts +2 -0
  116. package/dist/server.d.ts.map +1 -1
  117. package/dist/server.js +84 -33
  118. package/dist/server.js.map +1 -1
  119. package/package.json +1 -1
@@ -1,9 +1,7 @@
1
1
  import type { LevelControl } from '@matter/main/clusters/level-control';
2
- import type { BehaviorRegistry } from './BehaviorRegistry.js';
3
2
  import { LevelControlServer } from '@matter/main/behaviors/level-control';
4
3
  export declare class HomebridgeLevelControlServer extends LevelControlServer {
5
- private static registry;
6
- static setRegistry(registry: BehaviorRegistry): void;
4
+ private getRegistry;
7
5
  moveToLevel(request: LevelControl.MoveToLevelRequest): Promise<void>;
8
6
  move(request: LevelControl.MoveRequest): Promise<void>;
9
7
  step(request: LevelControl.StepRequest): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"LevelControlBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/LevelControlBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAKzE,qBAAa,4BAA6B,SAAQ,kBAAkB;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAEzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOrC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BtD,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BtD,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BtD,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgC7F"}
1
+ {"version":3,"file":"LevelControlBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/LevelControlBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAMzE,qBAAa,4BAA6B,SAAQ,kBAAkB;IAIlE,OAAO,CAAC,WAAW;IAOJ,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCpE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAiC7F"}
@@ -1,17 +1,18 @@
1
1
  import { LevelControlServer } from '@matter/main/behaviors/level-control';
2
2
  import { Status, StatusResponseError } from '@matter/main/types';
3
3
  import { MatterStatus } from '../errors.js';
4
+ import { RegistryManager } from './RegistryManager.js';
4
5
  export class HomebridgeLevelControlServer extends LevelControlServer {
5
- static registry;
6
- static setRegistry(registry) {
7
- this.registry = registry;
6
+ getRegistry() {
7
+ return RegistryManager.getRegistry(this.endpoint.id);
8
8
  }
9
9
  async moveToLevel(request) {
10
10
  const endpointId = this.endpoint.id;
11
+ const registry = this.getRegistry();
11
12
  try {
12
- await HomebridgeLevelControlServer.registry.executeHandler(endpointId, 'levelControl', 'moveToLevel', request);
13
+ await registry.executeHandler(endpointId, 'levelControl', 'moveToLevel', request);
13
14
  await super.moveToLevel(request);
14
- HomebridgeLevelControlServer.registry.syncStateToCache(endpointId, 'levelControl', {
15
+ registry.syncStateToCache(endpointId, 'levelControl', {
15
16
  currentLevel: request.level,
16
17
  });
17
18
  }
@@ -25,8 +26,9 @@ export class HomebridgeLevelControlServer extends LevelControlServer {
25
26
  }
26
27
  async move(request) {
27
28
  const endpointId = this.endpoint.id;
29
+ const registry = this.getRegistry();
28
30
  try {
29
- await HomebridgeLevelControlServer.registry.executeHandler(endpointId, 'levelControl', 'move', request);
31
+ await registry.executeHandler(endpointId, 'levelControl', 'move', request);
30
32
  await super.move(request);
31
33
  }
32
34
  catch (error) {
@@ -39,8 +41,9 @@ export class HomebridgeLevelControlServer extends LevelControlServer {
39
41
  }
40
42
  async step(request) {
41
43
  const endpointId = this.endpoint.id;
44
+ const registry = this.getRegistry();
42
45
  try {
43
- await HomebridgeLevelControlServer.registry.executeHandler(endpointId, 'levelControl', 'step', request);
46
+ await registry.executeHandler(endpointId, 'levelControl', 'step', request);
44
47
  await super.step(request);
45
48
  }
46
49
  catch (error) {
@@ -53,8 +56,9 @@ export class HomebridgeLevelControlServer extends LevelControlServer {
53
56
  }
54
57
  async stop(request) {
55
58
  const endpointId = this.endpoint.id;
59
+ const registry = this.getRegistry();
56
60
  try {
57
- await HomebridgeLevelControlServer.registry.executeHandler(endpointId, 'levelControl', 'stop', request);
61
+ await registry.executeHandler(endpointId, 'levelControl', 'stop', request);
58
62
  await super.stop(request);
59
63
  }
60
64
  catch (error) {
@@ -67,10 +71,11 @@ export class HomebridgeLevelControlServer extends LevelControlServer {
67
71
  }
68
72
  async moveToLevelWithOnOff(request) {
69
73
  const endpointId = this.endpoint.id;
74
+ const registry = this.getRegistry();
70
75
  try {
71
- await HomebridgeLevelControlServer.registry.executeHandler(endpointId, 'levelControl', 'moveToLevelWithOnOff', request);
76
+ await registry.executeHandler(endpointId, 'levelControl', 'moveToLevelWithOnOff', request);
72
77
  await super.moveToLevelWithOnOff(request);
73
- HomebridgeLevelControlServer.registry.syncStateToCache(endpointId, 'levelControl', {
78
+ registry.syncStateToCache(endpointId, 'levelControl', {
74
79
  currentLevel: request.level,
75
80
  });
76
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LevelControlBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/LevelControlBehavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LevelControlBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/LevelControlBehavior.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
- import type { BehaviorRegistry } from './BehaviorRegistry.js';
2
1
  import { OnOffServer } from '@matter/main/behaviors/on-off';
3
2
  export declare class HomebridgeOnOffServer extends OnOffServer {
4
- private static registry;
5
- static setRegistry(registry: BehaviorRegistry): void;
3
+ private getRegistry;
6
4
  on(): Promise<void>;
7
5
  off(): Promise<void>;
8
6
  toggle(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"OnOffBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/OnOffBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAK3D,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOrC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BnB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BvC"}
1
+ {"version":3,"file":"OnOffBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/OnOffBehavior.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAM3D,qBAAa,qBAAsB,SAAQ,WAAW;IAIpD,OAAO,CAAC,WAAW;IAOJ,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BnB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CA4BvC"}
@@ -1,17 +1,18 @@
1
1
  import { OnOffServer } from '@matter/main/behaviors/on-off';
2
2
  import { Status, StatusResponseError } from '@matter/main/types';
3
3
  import { MatterStatus } from '../errors.js';
4
+ import { RegistryManager } from './RegistryManager.js';
4
5
  export class HomebridgeOnOffServer extends OnOffServer {
5
- static registry;
6
- static setRegistry(registry) {
7
- this.registry = registry;
6
+ getRegistry() {
7
+ return RegistryManager.getRegistry(this.endpoint.id);
8
8
  }
9
9
  async on() {
10
10
  const endpointId = this.endpoint.id;
11
+ const registry = this.getRegistry();
11
12
  try {
12
- await HomebridgeOnOffServer.registry.executeHandler(endpointId, 'onOff', 'on');
13
+ await registry.executeHandler(endpointId, 'onOff', 'on');
13
14
  await super.on();
14
- HomebridgeOnOffServer.registry.syncStateToCache(endpointId, 'onOff', { onOff: true });
15
+ registry.syncStateToCache(endpointId, 'onOff', { onOff: true });
15
16
  }
16
17
  catch (error) {
17
18
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -23,10 +24,11 @@ export class HomebridgeOnOffServer extends OnOffServer {
23
24
  }
24
25
  async off() {
25
26
  const endpointId = this.endpoint.id;
27
+ const registry = this.getRegistry();
26
28
  try {
27
- await HomebridgeOnOffServer.registry.executeHandler(endpointId, 'onOff', 'off');
29
+ await registry.executeHandler(endpointId, 'onOff', 'off');
28
30
  await super.off();
29
- HomebridgeOnOffServer.registry.syncStateToCache(endpointId, 'onOff', { onOff: false });
31
+ registry.syncStateToCache(endpointId, 'onOff', { onOff: false });
30
32
  }
31
33
  catch (error) {
32
34
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -38,12 +40,13 @@ export class HomebridgeOnOffServer extends OnOffServer {
38
40
  }
39
41
  async toggle() {
40
42
  const endpointId = this.endpoint.id;
43
+ const registry = this.getRegistry();
41
44
  try {
42
- await HomebridgeOnOffServer.registry.executeHandler(endpointId, 'onOff', 'toggle');
45
+ await registry.executeHandler(endpointId, 'onOff', 'toggle');
43
46
  await super.toggle();
44
47
  const currentState = this.state;
45
48
  const newState = !currentState.onOff;
46
- HomebridgeOnOffServer.registry.syncStateToCache(endpointId, 'onOff', { onOff: newState });
49
+ registry.syncStateToCache(endpointId, 'onOff', { onOff: newState });
47
50
  }
48
51
  catch (error) {
49
52
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -1 +1 @@
1
- {"version":3,"file":"OnOffBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/OnOffBehavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OnOffBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/OnOffBehavior.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { BehaviorRegistry } from './BehaviorRegistry.js';
2
+ declare class RegistryManagerImpl {
3
+ private endpointToRegistry;
4
+ registerEndpoint(endpointId: string, registry: BehaviorRegistry): void;
5
+ getRegistry(endpointId: string): BehaviorRegistry;
6
+ unregisterEndpoint(endpointId: string): void;
7
+ clear(): void;
8
+ getStats(): {
9
+ endpointCount: number;
10
+ endpoints: string[];
11
+ };
12
+ }
13
+ export declare const RegistryManager: RegistryManagerImpl;
14
+ export {};
15
+ //# sourceMappingURL=RegistryManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistryManager.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RegistryManager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAS7D,cAAM,mBAAmB;IACvB,OAAO,CAAC,kBAAkB,CAAsC;IAKhE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAQtE,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAWjD,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQ5C,KAAK,IAAI,IAAI;IAOb,QAAQ,IAAI;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE;CAM3D;AAKD,eAAO,MAAM,eAAe,qBAA4B,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { Logger } from '../../logger.js';
2
+ const log = Logger.withPrefix('Matter/RegistryManager');
3
+ class RegistryManagerImpl {
4
+ endpointToRegistry = new Map();
5
+ registerEndpoint(endpointId, registry) {
6
+ this.endpointToRegistry.set(endpointId, registry);
7
+ log.debug(`Registered registry for endpoint: ${endpointId}`);
8
+ }
9
+ getRegistry(endpointId) {
10
+ const registry = this.endpointToRegistry.get(endpointId);
11
+ if (!registry) {
12
+ throw new Error(`No registry found for endpoint ${endpointId}. Available endpoints: ${Array.from(this.endpointToRegistry.keys()).join(', ')}`);
13
+ }
14
+ return registry;
15
+ }
16
+ unregisterEndpoint(endpointId) {
17
+ this.endpointToRegistry.delete(endpointId);
18
+ log.debug(`Unregistered endpoint: ${endpointId}`);
19
+ }
20
+ clear() {
21
+ this.endpointToRegistry.clear();
22
+ }
23
+ getStats() {
24
+ return {
25
+ endpointCount: this.endpointToRegistry.size,
26
+ endpoints: Array.from(this.endpointToRegistry.keys()),
27
+ };
28
+ }
29
+ }
30
+ export const RegistryManager = new RegistryManagerImpl();
31
+ //# sourceMappingURL=RegistryManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistryManager.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RegistryManager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA;AAKvD,MAAM,mBAAmB;IACf,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAA;IAKhE,gBAAgB,CAAC,UAAkB,EAAE,QAA0B;QAC7D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACjD,GAAG,CAAC,KAAK,CAAC,qCAAqC,UAAU,EAAE,CAAC,CAAA;IAC9D,CAAC;IAKD,WAAW,CAAC,UAAkB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChJ,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAKD,kBAAkB,CAAC,UAAkB;QACnC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC1C,GAAG,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAA;IACnD,CAAC;IAKD,KAAK;QACH,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAA;IACjC,CAAC;IAKD,QAAQ;QACN,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;YAC3C,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;SACtD,CAAA;IACH,CAAC;CACF;AAKD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
@@ -1,8 +1,14 @@
1
- import type { BehaviorRegistry } from './BehaviorRegistry.js';
2
1
  import { RvcCleanModeServer } from '@matter/main/behaviors/rvc-clean-mode';
2
+ interface ChangeToModeRequest {
3
+ newMode: number;
4
+ }
5
+ interface ChangeToModeResponse {
6
+ status: number;
7
+ statusText: string;
8
+ }
3
9
  export declare class HomebridgeRvcCleanModeServer extends RvcCleanModeServer {
4
- private static registry;
5
- static setRegistry(registry: BehaviorRegistry): void;
6
- changeToMode(request: any): Promise<any>;
10
+ private getRegistry;
11
+ changeToMode(request: ChangeToModeRequest): Promise<ChangeToModeResponse>;
7
12
  }
13
+ export {};
8
14
  //# sourceMappingURL=RvcCleanModeBehavior.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RvcCleanModeBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcCleanModeBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAQ1E,qBAAa,4BAA6B,SAAQ,kBAAkB;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrC,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAsBxD"}
1
+ {"version":3,"file":"RvcCleanModeBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcCleanModeBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAS1E,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAA;CAChB;AAKD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB;AAKD,qBAAa,4BAA6B,SAAQ,kBAAkB;IAIlE,OAAO,CAAC,WAAW;IAWJ,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA8BzF"}
@@ -1,16 +1,21 @@
1
1
  import { RvcCleanModeServer } from '@matter/main/behaviors/rvc-clean-mode';
2
2
  import { Status, StatusResponseError } from '@matter/main/types';
3
3
  import { MatterStatus } from '../errors.js';
4
+ import { RegistryManager } from './RegistryManager.js';
4
5
  export class HomebridgeRvcCleanModeServer extends RvcCleanModeServer {
5
- static registry;
6
- static setRegistry(registry) {
7
- this.registry = registry;
6
+ getRegistry() {
7
+ return RegistryManager.getRegistry(this.endpoint.id);
8
8
  }
9
9
  async changeToMode(request) {
10
10
  const endpointId = this.endpoint.id;
11
+ const registry = this.getRegistry();
11
12
  try {
12
- await HomebridgeRvcCleanModeServer.registry.executeHandler(endpointId, 'rvcCleanMode', 'changeToMode', request);
13
- return await super.changeToMode(request);
13
+ await registry.executeHandler(endpointId, 'rvcCleanMode', 'changeToMode', request);
14
+ const result = await super.changeToMode(request);
15
+ if (request?.newMode !== undefined) {
16
+ registry.syncStateToCache(endpointId, 'rvcCleanMode', { currentMode: request.newMode });
17
+ }
18
+ return result;
14
19
  }
15
20
  catch (error) {
16
21
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -1 +1 @@
1
- {"version":3,"file":"RvcCleanModeBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcCleanModeBehavior.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,OAAO,4BAA6B,SAAQ,kBAAkB;IAC1D,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,OAAY;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,4BAA4B,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAG/G,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1F,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"RvcCleanModeBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcCleanModeBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAoBtD,MAAM,OAAO,4BAA6B,SAAQ,kBAAkB;IAI1D,WAAW;QACjB,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtD,CAAC;IASQ,KAAK,CAAC,YAAY,CAAC,OAA4B;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAGlF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAGhD,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YACzF,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1F,CAAC;IACH,CAAC;CACF"}
@@ -1,9 +1,8 @@
1
- import type { BehaviorRegistry } from './BehaviorRegistry.js';
2
1
  import { RvcOperationalStateServer } from '@matter/main/behaviors/rvc-operational-state';
3
2
  import { RvcOperationalState } from '@matter/main/clusters';
4
3
  export declare class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServer {
5
- private static registry;
6
- static setRegistry(registry: BehaviorRegistry): void;
4
+ private getRegistry;
5
+ private syncOperationalStateToCache;
7
6
  pause(): Promise<RvcOperationalState.OperationalCommandResponse>;
8
7
  resume(): Promise<RvcOperationalState.OperationalCommandResponse>;
9
8
  goHome(): Promise<RvcOperationalState.OperationalCommandResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"RvcOperationalStateBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,qBAAa,mCAAoC,SAAQ,yBAAyB;IAChF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrC,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;IAuBhE,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;IAuBjE,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;CA0BjF"}
1
+ {"version":3,"file":"RvcOperationalStateBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAsB3D,qBAAa,mCAAoC,SAAQ,yBAAyB;IAIhF,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,2BAA2B;IAkBpB,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;IAuChE,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;IAuCjE,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;CA+BjF"}
@@ -2,16 +2,32 @@ import { RvcOperationalStateServer } from '@matter/main/behaviors/rvc-operationa
2
2
  import { RvcOperationalState } from '@matter/main/clusters';
3
3
  import { Status, StatusResponseError } from '@matter/main/types';
4
4
  import { MatterStatus } from '../errors.js';
5
+ import { RegistryManager } from './RegistryManager.js';
5
6
  export class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServer {
6
- static registry;
7
- static setRegistry(registry) {
8
- this.registry = registry;
7
+ getRegistry() {
8
+ return RegistryManager.getRegistry(this.endpoint.id);
9
+ }
10
+ syncOperationalStateToCache() {
11
+ const endpointId = this.endpoint.id;
12
+ const registry = this.getRegistry();
13
+ const currentState = this.state;
14
+ if (currentState.operationalState !== undefined) {
15
+ registry.syncStateToCache(endpointId, 'rvcOperationalState', {
16
+ operationalState: currentState.operationalState,
17
+ });
18
+ }
9
19
  }
10
20
  async pause() {
11
21
  const endpointId = this.endpoint.id;
22
+ const registry = this.getRegistry();
12
23
  try {
13
- await HomebridgeRvcOperationalStateServer.registry.executeHandler(endpointId, 'rvcOperationalState', 'pause');
14
- return await super.pause();
24
+ await registry.executeHandler(endpointId, 'rvcOperationalState', 'pause');
25
+ this.syncOperationalStateToCache();
26
+ return {
27
+ commandResponseState: {
28
+ errorStateId: RvcOperationalState.ErrorState.NoError,
29
+ },
30
+ };
15
31
  }
16
32
  catch (error) {
17
33
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -23,9 +39,15 @@ export class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServ
23
39
  }
24
40
  async resume() {
25
41
  const endpointId = this.endpoint.id;
42
+ const registry = this.getRegistry();
26
43
  try {
27
- await HomebridgeRvcOperationalStateServer.registry.executeHandler(endpointId, 'rvcOperationalState', 'resume');
28
- return await super.resume();
44
+ await registry.executeHandler(endpointId, 'rvcOperationalState', 'resume');
45
+ this.syncOperationalStateToCache();
46
+ return {
47
+ commandResponseState: {
48
+ errorStateId: RvcOperationalState.ErrorState.NoError,
49
+ },
50
+ };
29
51
  }
30
52
  catch (error) {
31
53
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -37,8 +59,10 @@ export class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServ
37
59
  }
38
60
  async goHome() {
39
61
  const endpointId = this.endpoint.id;
62
+ const registry = this.getRegistry();
40
63
  try {
41
- await HomebridgeRvcOperationalStateServer.registry.executeHandler(endpointId, 'rvcOperationalState', 'goHome');
64
+ await registry.executeHandler(endpointId, 'rvcOperationalState', 'goHome');
65
+ this.syncOperationalStateToCache();
42
66
  return {
43
67
  commandResponseState: {
44
68
  errorStateId: RvcOperationalState.ErrorState.NoError,
@@ -1 +1 @@
1
- {"version":3,"file":"RvcOperationalStateBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,OAAO,mCAAoC,SAAQ,yBAAyB;IACxE,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,mCAAmC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAA;YAG7G,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,MAAM;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,mCAAmC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAA;YAG9G,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,qBAAqB,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,MAAM;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,mCAAmC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAA;YAG9G,OAAO;gBACL,oBAAoB,EAAE;oBACpB,YAAY,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO;iBACrD;aACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,sBAAsB,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAChF,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"RvcOperationalStateBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
- import type { BehaviorRegistry } from './BehaviorRegistry.js';
2
1
  import { RvcRunModeServer } from '@matter/main/behaviors/rvc-run-mode';
2
+ interface ChangeToModeRequest {
3
+ newMode: number;
4
+ }
5
+ interface ChangeToModeResponse {
6
+ status: number;
7
+ statusText: string;
8
+ }
3
9
  export declare class HomebridgeRvcRunModeServer extends RvcRunModeServer {
4
- private static registry;
5
- static setRegistry(registry: BehaviorRegistry): void;
6
- changeToMode(request: any): Promise<any>;
10
+ private getRegistry;
11
+ changeToMode(request: ChangeToModeRequest): Promise<ChangeToModeResponse>;
7
12
  }
13
+ export {};
8
14
  //# sourceMappingURL=RvcRunModeBehavior.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RvcRunModeBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAQtE,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrC,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAsBxD"}
1
+ {"version":3,"file":"RvcRunModeBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAStE,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAA;CAChB;AAKD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB;AAKD,qBAAa,0BAA2B,SAAQ,gBAAgB;IAI9D,OAAO,CAAC,WAAW;IAWJ,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA8BzF"}
@@ -1,16 +1,21 @@
1
1
  import { RvcRunModeServer } from '@matter/main/behaviors/rvc-run-mode';
2
2
  import { Status, StatusResponseError } from '@matter/main/types';
3
3
  import { MatterStatus } from '../errors.js';
4
+ import { RegistryManager } from './RegistryManager.js';
4
5
  export class HomebridgeRvcRunModeServer extends RvcRunModeServer {
5
- static registry;
6
- static setRegistry(registry) {
7
- this.registry = registry;
6
+ getRegistry() {
7
+ return RegistryManager.getRegistry(this.endpoint.id);
8
8
  }
9
9
  async changeToMode(request) {
10
10
  const endpointId = this.endpoint.id;
11
+ const registry = this.getRegistry();
11
12
  try {
12
- await HomebridgeRvcRunModeServer.registry.executeHandler(endpointId, 'rvcRunMode', 'changeToMode', request);
13
- return await super.changeToMode(request);
13
+ await registry.executeHandler(endpointId, 'rvcRunMode', 'changeToMode', request);
14
+ const result = await super.changeToMode(request);
15
+ if (request?.newMode !== undefined) {
16
+ registry.syncStateToCache(endpointId, 'rvcRunMode', { currentMode: request.newMode });
17
+ }
18
+ return result;
14
19
  }
15
20
  catch (error) {
16
21
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -1 +1 @@
1
- {"version":3,"file":"RvcRunModeBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IACtD,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,OAAY;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,0BAA0B,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAG3G,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"RvcRunModeBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAoBtD,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAItD,WAAW;QACjB,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtD,CAAC;IASQ,KAAK,CAAC,YAAY,CAAC,OAA4B;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAGhF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAGhD,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YACvF,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;CACF"}
@@ -1,9 +1,8 @@
1
1
  import type { ServiceArea } from '@matter/main/clusters';
2
- import type { BehaviorRegistry } from './BehaviorRegistry.js';
3
2
  import { ServiceAreaServer } from '@matter/main/behaviors/service-area';
4
3
  export declare class HomebridgeServiceAreaServer extends ServiceAreaServer {
5
- private static registry;
6
- static setRegistry(registry: BehaviorRegistry): void;
4
+ private getRegistry;
5
+ private syncServiceAreaStateToCache;
7
6
  selectAreas(request: ServiceArea.SelectAreasRequest): Promise<ServiceArea.SelectAreasResponse>;
8
7
  skipArea(request: ServiceArea.SkipAreaRequest): Promise<ServiceArea.SkipAreaResponse>;
9
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceAreaBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/ServiceAreaBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAQvE,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAuB9F,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC;CAsBrG"}
1
+ {"version":3,"file":"ServiceAreaBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/ServiceAreaBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAwBvE,qBAAa,2BAA4B,SAAQ,iBAAiB;IAIhE,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,2BAA2B;IA4BpB,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAoC9F,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC;CA4BrG"}
@@ -1,16 +1,37 @@
1
1
  import { ServiceAreaServer } from '@matter/main/behaviors/service-area';
2
2
  import { Status, StatusResponseError } from '@matter/main/types';
3
3
  import { MatterStatus } from '../errors.js';
4
+ import { RegistryManager } from './RegistryManager.js';
4
5
  export class HomebridgeServiceAreaServer extends ServiceAreaServer {
5
- static registry;
6
- static setRegistry(registry) {
7
- this.registry = registry;
6
+ getRegistry() {
7
+ return RegistryManager.getRegistry(this.endpoint.id);
8
+ }
9
+ syncServiceAreaStateToCache(includeProgress = false) {
10
+ const endpointId = this.endpoint.id;
11
+ const registry = this.getRegistry();
12
+ const currentState = this.state;
13
+ const stateUpdate = {};
14
+ if (currentState.selectedAreas !== undefined) {
15
+ stateUpdate.selectedAreas = currentState.selectedAreas;
16
+ }
17
+ if (currentState.currentArea !== undefined) {
18
+ stateUpdate.currentArea = currentState.currentArea;
19
+ }
20
+ if (includeProgress && currentState.progress !== undefined) {
21
+ stateUpdate.progress = currentState.progress;
22
+ }
23
+ if (Object.keys(stateUpdate).length > 0) {
24
+ registry.syncStateToCache(endpointId, 'serviceArea', stateUpdate);
25
+ }
8
26
  }
9
27
  async selectAreas(request) {
10
28
  const endpointId = this.endpoint.id;
29
+ const registry = this.getRegistry();
11
30
  try {
12
- await HomebridgeServiceAreaServer.registry.executeHandler(endpointId, 'serviceArea', 'selectAreas', request);
13
- return await super.selectAreas(request);
31
+ await registry.executeHandler(endpointId, 'serviceArea', 'selectAreas', request);
32
+ const result = await super.selectAreas(request);
33
+ this.syncServiceAreaStateToCache();
34
+ return result;
14
35
  }
15
36
  catch (error) {
16
37
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -22,9 +43,12 @@ export class HomebridgeServiceAreaServer extends ServiceAreaServer {
22
43
  }
23
44
  async skipArea(request) {
24
45
  const endpointId = this.endpoint.id;
46
+ const registry = this.getRegistry();
25
47
  try {
26
- await HomebridgeServiceAreaServer.registry.executeHandler(endpointId, 'serviceArea', 'skipArea', request);
27
- return await super.skipArea(request);
48
+ await registry.executeHandler(endpointId, 'serviceArea', 'skipArea', request);
49
+ const result = await super.skipArea(request);
50
+ this.syncServiceAreaStateToCache(true);
51
+ return result;
28
52
  }
29
53
  catch (error) {
30
54
  if (MatterStatus.isMatterProtocolError(error)) {
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceAreaBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/ServiceAreaBehavior.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,OAAO,2BAA4B,SAAQ,iBAAiB;IACxD,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,OAAuC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,2BAA2B,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;YAG5G,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,OAAoC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,2BAA2B,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;YAGzG,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ServiceAreaBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/ServiceAreaBehavior.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import type { Thermostat } from '@matter/main/clusters';
2
- import type { BehaviorRegistry } from './BehaviorRegistry.js';
3
2
  import { ThermostatServer } from '@matter/main/behaviors/thermostat';
4
3
  export declare class HomebridgeThermostatServer extends ThermostatServer {
5
4
  #private;
6
- private static registry;
7
- static setRegistry(registry: BehaviorRegistry): void;
5
+ private getRegistry;
8
6
  initialize(): void;
9
7
  setpointRaiseLower(request: Thermostat.SetpointRaiseLowerRequest): Promise<void>;
10
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ThermostatBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/ThermostatBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAQpE,qBAAa,0BAA2B,SAAQ,gBAAgB;;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAI3C,UAAU,IAAI,IAAI;IAwGZ,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAiChG"}
1
+ {"version":3,"file":"ThermostatBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/ThermostatBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AASpE,qBAAa,0BAA2B,SAAQ,gBAAgB;;IAI9D,OAAO,CAAC,WAAW;IAIV,UAAU,IAAI,IAAI;IA2GZ,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkChG"}