matterbridge-example-dynamic-platform 1.0.2 → 1.0.4

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
@@ -11,3 +11,5 @@
11
11
  ---
12
12
 
13
13
  Matterbridge dynamic platform example plugin is a template to develop your own plugin using the dynamic platform.
14
+
15
+ See the guidelines on [Matterbridge](https://github.com/Luligu/matterbridge/blob/main/README.md) for more information.
@@ -1,8 +1,15 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  import { Matterbridge, MatterbridgeDevice, MatterbridgeDynamicPlatform } from 'matterbridge';
2
3
  import { AnsiLogger } from 'node-ansi-logger';
3
4
  export declare class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatform {
4
- cover: MatterbridgeDevice | undefined;
5
+ switch: MatterbridgeDevice | undefined;
5
6
  light: MatterbridgeDevice | undefined;
7
+ outlet: MatterbridgeDevice | undefined;
8
+ cover: MatterbridgeDevice | undefined;
9
+ switchInterval: NodeJS.Timeout | undefined;
10
+ lightInterval: NodeJS.Timeout | undefined;
11
+ outletInterval: NodeJS.Timeout | undefined;
12
+ coverInterval: NodeJS.Timeout | undefined;
6
13
  constructor(matterbridge: Matterbridge, log: AnsiLogger);
7
14
  onStart(reason?: string): Promise<void>;
8
15
  onConfigure(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,kCAAmC,SAAQ,2BAA2B;IACjF,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;gBAE1B,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU;IAIxC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAsCvB,WAAW;IAoDX,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;CAG1C"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,kCAAmC,SAAQ,2BAA2B;IACjF,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAE9B,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU;IAIxC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAqIvB,WAAW;IAwFX,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;CAQ1C"}
package/dist/platform.js CHANGED
@@ -1,27 +1,40 @@
1
- import { DeviceTypes, OnOffCluster, WindowCovering, WindowCoveringCluster } from 'matterbridge';
1
+ import { ColorControl, ColorControlCluster, DeviceTypes, LevelControlCluster, OnOffCluster, WindowCovering, WindowCoveringCluster, onOffSwitch } from 'matterbridge';
2
2
  import { MatterbridgeDevice, MatterbridgeDynamicPlatform } from 'matterbridge';
3
3
  export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatform {
4
- cover;
4
+ switch;
5
5
  light;
6
+ outlet;
7
+ cover;
8
+ switchInterval;
9
+ lightInterval;
10
+ outletInterval;
11
+ coverInterval;
6
12
  constructor(matterbridge, log) {
7
13
  super(matterbridge, log);
8
14
  }
9
15
  async onStart(reason) {
10
16
  this.log.info('onStart called with reason:', reason ?? 'none');
11
- this.cover = new MatterbridgeDevice(DeviceTypes.WINDOW_COVERING);
12
- this.cover.createDefaultIdentifyClusterServer();
13
- this.cover.createDefaultGroupsClusterServer();
14
- this.cover.createDefaultScenesClusterServer();
15
- this.cover.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 1', '0x01020564', 0xfff1, 'Luligu', 'Dynamic device 1');
16
- this.cover.createDefaultPowerSourceRechargableBatteryClusterServer(86);
17
- this.cover.createDefaultWindowCoveringClusterServer();
18
- await this.registerDevice(this.cover);
19
- this.cover.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
17
+ // Create a switch device
18
+ this.switch = new MatterbridgeDevice(onOffSwitch);
19
+ this.switch.createDefaultIdentifyClusterServer();
20
+ this.switch.createDefaultGroupsClusterServer();
21
+ this.switch.createDefaultScenesClusterServer();
22
+ this.switch.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 3', '0x23452164', 0xfff1, 'Luligu', 'Dynamic device 3');
23
+ this.switch.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
24
+ this.switch.createDefaultOnOffClusterServer();
25
+ await this.registerDevice(this.switch);
26
+ this.switch.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
20
27
  this.log.info(`Command identify called identifyTime:${identifyTime}`);
21
28
  });
22
- this.cover.addCommandHandler('goToLiftPercentage', async ({ request: { liftPercent100thsValue } }) => {
23
- this.log.info(`Command goToLiftPercentage called liftPercent100thsValue:${liftPercent100thsValue}`);
29
+ this.switch.addCommandHandler('on', async () => {
30
+ this.switch?.getClusterServer(OnOffCluster)?.setOnOffAttribute(true);
31
+ this.log.info('Command on called');
24
32
  });
33
+ this.switch.addCommandHandler('off', async () => {
34
+ this.switch?.getClusterServer(OnOffCluster)?.setOnOffAttribute(false);
35
+ this.log.info('Command off called');
36
+ });
37
+ // Create a light device
25
38
  this.light = new MatterbridgeDevice(DeviceTypes.ON_OFF_LIGHT);
26
39
  this.light.createDefaultIdentifyClusterServer();
27
40
  this.light.createDefaultGroupsClusterServer();
@@ -29,35 +42,151 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
29
42
  this.light.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 2', '0x23480564', 0xfff1, 'Luligu', 'Dynamic device 2');
30
43
  this.light.createDefaultPowerSourceReplaceableBatteryClusterServer(70);
31
44
  this.light.createDefaultOnOffClusterServer();
45
+ this.light.createDefaultLevelControlClusterServer();
46
+ this.light.createDefaultColorControlClusterServer();
32
47
  await this.registerDevice(this.light);
33
48
  this.light.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
34
49
  this.log.info(`Command identify called identifyTime:${identifyTime}`);
35
50
  });
36
51
  this.light.addCommandHandler('on', async () => {
52
+ this.light?.getClusterServer(OnOffCluster)?.setOnOffAttribute(true);
37
53
  this.log.info('Command on called');
38
54
  });
39
55
  this.light.addCommandHandler('off', async () => {
56
+ this.light?.getClusterServer(OnOffCluster)?.setOnOffAttribute(false);
40
57
  this.log.info('Command off called');
41
58
  });
42
- }
43
- async onConfigure() {
44
- this.log.info('onConfigure called');
45
- if (!this.cover)
46
- return;
47
- const coverCluster = this.cover.getClusterServer(WindowCoveringCluster.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift));
48
- if (coverCluster && coverCluster.getCurrentPositionLiftPercent100thsAttribute) {
49
- const position = coverCluster.getCurrentPositionLiftPercent100thsAttribute();
50
- if (position === null)
51
- return;
52
- this.log.debug(`**onConfigure called. Current PositionLiftPercent100ths is ${position}. Set target and status.`);
53
- coverCluster.setTargetPositionLiftPercent100thsAttribute(position);
54
- coverCluster.setOperationalStatusAttribute({
59
+ this.light.addCommandHandler('moveToLevel', async ({ request: { level }, attributes: { currentLevel } }) => {
60
+ this.light?.getClusterServer(LevelControlCluster)?.setCurrentLevelAttribute(level);
61
+ this.log.debug(`Command moveToLevel called request: ${level} attributes: ${currentLevel?.getLocal()}`);
62
+ });
63
+ this.light.addCommandHandler('moveToLevelWithOnOff', async ({ request: { level }, attributes: { currentLevel } }) => {
64
+ this.light?.getClusterServer(LevelControlCluster)?.setCurrentLevelAttribute(level);
65
+ this.log.debug(`Command moveToLevelWithOnOff called request: ${level} attributes: ${currentLevel?.getLocal()}`);
66
+ });
67
+ this.light.addCommandHandler('moveToHueAndSaturation', async ({ request: { hue, saturation }, attributes: { currentHue, currentSaturation } }) => {
68
+ this.light?.getClusterServer(ColorControlCluster.with(ColorControl.Feature.HueSaturation))?.setCurrentHueAttribute(hue);
69
+ this.light?.getClusterServer(ColorControlCluster.with(ColorControl.Feature.HueSaturation))?.setCurrentSaturationAttribute(saturation);
70
+ this.log.debug(`Command moveToHueAndSaturation called request: hue ${hue} saturation ${saturation} attributes: hue ${currentHue?.getLocal()} saturation ${currentSaturation?.getLocal()}`);
71
+ });
72
+ this.light.addCommandHandler('moveToColorTemperature', async ({ request, attributes }) => {
73
+ this.light?.getClusterServer(ColorControl.Complete)?.setColorTemperatureMiredsAttribute(request.colorTemperatureMireds);
74
+ this.log.debug(`Command moveToColorTemperature called request: ${request.colorTemperatureMireds} attributes: ${attributes.colorTemperatureMireds?.getLocal()}`);
75
+ });
76
+ // Create an outlet device
77
+ this.outlet = new MatterbridgeDevice(DeviceTypes.ON_OFF_PLUGIN_UNIT);
78
+ this.outlet.createDefaultIdentifyClusterServer();
79
+ this.outlet.createDefaultGroupsClusterServer();
80
+ this.outlet.createDefaultScenesClusterServer();
81
+ this.outlet.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 4', '0x29252164', 0xfff1, 'Luligu', 'Dynamic device 4');
82
+ this.outlet.createDefaultPowerSourceWiredClusterServer();
83
+ this.outlet.createDefaultOnOffClusterServer();
84
+ await this.registerDevice(this.outlet);
85
+ this.outlet.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
86
+ this.log.info(`Command identify called identifyTime:${identifyTime}`);
87
+ });
88
+ this.outlet.addCommandHandler('on', async () => {
89
+ this.outlet?.getClusterServer(OnOffCluster)?.setOnOffAttribute(true);
90
+ this.log.info('Command on called');
91
+ });
92
+ this.outlet.addCommandHandler('off', async () => {
93
+ this.outlet?.getClusterServer(OnOffCluster)?.setOnOffAttribute(false);
94
+ this.log.info('Command off called');
95
+ });
96
+ // Create a window covering device
97
+ this.cover = new MatterbridgeDevice(DeviceTypes.WINDOW_COVERING);
98
+ this.cover.createDefaultIdentifyClusterServer();
99
+ this.cover.createDefaultGroupsClusterServer();
100
+ this.cover.createDefaultScenesClusterServer();
101
+ this.cover.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 1', '0x01020564', 0xfff1, 'Luligu', 'Dynamic device 1');
102
+ this.cover.createDefaultPowerSourceRechargeableBatteryClusterServer(86);
103
+ this.cover.createDefaultWindowCoveringClusterServer();
104
+ await this.registerDevice(this.cover);
105
+ this.cover.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
106
+ this.log.info(`Command identify called identifyTime:${identifyTime}`);
107
+ });
108
+ this.cover.addCommandHandler('stopMotion', async ({ attributes: { currentPositionLiftPercent100ths, targetPositionLiftPercent100ths, operationalStatus } }) => {
109
+ const position = currentPositionLiftPercent100ths?.getLocal();
110
+ if (position !== null && position !== undefined)
111
+ targetPositionLiftPercent100ths?.setLocal(position);
112
+ operationalStatus.setLocal({
55
113
  global: WindowCovering.MovementStatus.Stopped,
56
114
  lift: WindowCovering.MovementStatus.Stopped,
57
115
  tilt: WindowCovering.MovementStatus.Stopped,
58
116
  });
59
- }
60
- setInterval(() => {
117
+ this.log.debug(`Command stopMotion called. Attributes: currentPositionLiftPercent100ths: ${currentPositionLiftPercent100ths?.getLocal()}`);
118
+ this.log.debug(`Command stopMotion called. Attributes: targetPositionLiftPercent100ths: ${targetPositionLiftPercent100ths?.getLocal()}`);
119
+ this.log.debug(`Command stopMotion called. Attributes: operationalStatus: ${operationalStatus?.getLocal().lift}`);
120
+ });
121
+ this.cover.addCommandHandler('goToLiftPercentage', async ({ request: { liftPercent100thsValue }, attributes: { currentPositionLiftPercent100ths, targetPositionLiftPercent100ths, operationalStatus } }) => {
122
+ currentPositionLiftPercent100ths?.setLocal(liftPercent100thsValue);
123
+ targetPositionLiftPercent100ths?.setLocal(liftPercent100thsValue);
124
+ operationalStatus.setLocal({
125
+ global: WindowCovering.MovementStatus.Stopped,
126
+ lift: WindowCovering.MovementStatus.Stopped,
127
+ tilt: WindowCovering.MovementStatus.Stopped,
128
+ });
129
+ this.log.info(`Command goToLiftPercentage called. Request: liftPercent100thsValue: ${liftPercent100thsValue} `);
130
+ this.log.debug(`Command goToLiftPercentage called. Attributes: currentPositionLiftPercent100ths: ${currentPositionLiftPercent100ths?.getLocal()}`);
131
+ this.log.debug(`Command goToLiftPercentage called. Attributes: targetPositionLiftPercent100ths: ${targetPositionLiftPercent100ths?.getLocal()}`);
132
+ this.log.debug(`Command goToLiftPercentage called. Attributes: operationalStatus: ${operationalStatus?.getLocal().lift}`);
133
+ });
134
+ }
135
+ async onConfigure() {
136
+ this.log.info('onConfigure called');
137
+ // Set switch to off
138
+ this.switch?.getClusterServer(OnOffCluster)?.setOnOffAttribute(false);
139
+ this.log.info('Set switch initial onOff to false');
140
+ this.switchInterval = setInterval(() => {
141
+ if (!this.switch)
142
+ return;
143
+ const status = this.switch.getClusterServer(OnOffCluster)?.getOnOffAttribute();
144
+ this.switch.getClusterServer(OnOffCluster)?.setOnOffAttribute(!status);
145
+ this.log.info(`Set switch onOff to ${status}`);
146
+ }, 60 * 1000 + 100);
147
+ // Set light to off, level to 0 and hue to 0 and saturation to 50% (pink color)
148
+ this.light?.getClusterServer(OnOffCluster)?.setOnOffAttribute(false);
149
+ this.light?.getClusterServer(LevelControlCluster)?.setCurrentLevelAttribute(0);
150
+ this.light?.getClusterServer(ColorControlCluster.with(ColorControl.Feature.HueSaturation))?.setCurrentHueAttribute(0);
151
+ this.light?.getClusterServer(ColorControlCluster.with(ColorControl.Feature.HueSaturation))?.setCurrentSaturationAttribute(128);
152
+ this.log.info('Set light initial onOff to false, currentLevel to 0, hue to 0 and saturation to 50%.');
153
+ this.lightInterval = setInterval(() => {
154
+ if (!this.light)
155
+ return;
156
+ const lightLevelControlCluster = this.light.getClusterServer(LevelControlCluster);
157
+ if (lightLevelControlCluster) {
158
+ let level = lightLevelControlCluster.getCurrentLevelAttribute();
159
+ if (level === null)
160
+ return;
161
+ level += 10;
162
+ if (level > 254) {
163
+ level = 0;
164
+ this.light.getClusterServer(OnOffCluster)?.setOnOffAttribute(false);
165
+ this.log.info('Set light onOff to false');
166
+ return;
167
+ }
168
+ else {
169
+ this.light.getClusterServer(OnOffCluster)?.setOnOffAttribute(true);
170
+ this.log.info('Set light onOff to true');
171
+ }
172
+ lightLevelControlCluster.setCurrentLevelAttribute(level);
173
+ this.log.info(`Set light currentLevel to ${level}`);
174
+ }
175
+ }, 60 * 1000 + 200);
176
+ // Set outlet to off
177
+ this.outlet?.getClusterServer(OnOffCluster)?.setOnOffAttribute(false);
178
+ this.log.info('Set outlet initial onOff to false');
179
+ this.outletInterval = setInterval(() => {
180
+ if (!this.outlet)
181
+ return;
182
+ const status = this.outlet.getClusterServer(OnOffCluster)?.getOnOffAttribute();
183
+ this.outlet.getClusterServer(OnOffCluster)?.setOnOffAttribute(!status);
184
+ this.log.info(`Set outlet onOff to ${status}`);
185
+ }, 60 * 1000 + 300);
186
+ // Set cover to target = current position and status to stopped (current position is persisted in the cluster)
187
+ this.cover?.setWindowCoveringTargetAsCurrentAndStopped();
188
+ this.log.debug('Set cover initial targetPositionLiftPercent100ths = currentPositionLiftPercent100ths and operationalStatus to Stopped.');
189
+ this.coverInterval = setInterval(() => {
61
190
  if (!this.cover)
62
191
  return;
63
192
  const coverCluster = this.cover.getClusterServer(WindowCoveringCluster.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift));
@@ -73,22 +202,17 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
73
202
  lift: WindowCovering.MovementStatus.Stopped,
74
203
  tilt: WindowCovering.MovementStatus.Stopped,
75
204
  });
76
- this.log.info(`Set PositionLiftPercent100ths to ${position}`);
205
+ this.log.info(`Set cover positionLiftPercent100ths to ${position}`);
77
206
  }
78
- }, 60 * 1000 + 500);
79
- setInterval(() => {
80
- if (!this.light)
81
- return;
82
- const lightCluster = this.light.getClusterServer(OnOffCluster);
83
- if (lightCluster) {
84
- const status = lightCluster.getOnOffAttribute();
85
- lightCluster.setOnOffAttribute(!status);
86
- this.log.info(`Set onOff to ${!status}`);
87
- }
88
- }, 60 * 1000 + 200);
207
+ }, 60 * 1000 + 400);
89
208
  }
90
209
  async onShutdown(reason) {
91
210
  this.log.info('onShutdown called with reason:', reason ?? 'none');
211
+ clearInterval(this.switchInterval);
212
+ clearInterval(this.lightInterval);
213
+ clearInterval(this.outletInterval);
214
+ clearInterval(this.coverInterval);
215
+ await this.unregisterAllDevices();
92
216
  }
93
217
  }
94
218
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge-example-dynamic-platform",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Matterbridge dynamic platform plugin example",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "MIT",
@@ -9,7 +9,7 @@
9
9
  "types": "dist/index.d.js",
10
10
  "repository": {
11
11
  "type": "git",
12
- "url": "https://github.com/Luligu/matterbridge-example-dynamic-platform"
12
+ "url": "git+https://github.com/Luligu/matterbridge-example-dynamic-platform.git"
13
13
  },
14
14
  "bugs": {
15
15
  "url": "https://github.com/Luligu/matterbridge-example-dynamic-platform/issues"
@@ -52,16 +52,16 @@
52
52
  "install": "node link-matterbridge-script.js && npm run build"
53
53
  },
54
54
  "devDependencies": {
55
- "@stylistic/eslint-plugin": "^1.6.3",
55
+ "@stylistic/eslint-plugin": "^1.7.0",
56
56
  "@tsconfig/node-lts": "^20.1.1",
57
- "@types/node": "^20.11.27",
58
- "@typescript-eslint/eslint-plugin": "^7.2.0",
59
- "@typescript-eslint/parser": "^7.2.0",
57
+ "@types/node": "^20.11.30",
58
+ "@typescript-eslint/eslint-plugin": "^7.3.1",
59
+ "@typescript-eslint/parser": "^7.3.1",
60
60
  "eslint-config-prettier": "^9.1.0",
61
61
  "eslint-plugin-prettier": "^5.1.3",
62
62
  "matterbridge": "file:../matterbridge",
63
63
  "prettier": "^3.2.5",
64
- "typescript": "^5.4.2"
64
+ "typescript": "^5.4.3"
65
65
  },
66
66
  "dependencies": {
67
67
  "node-ansi-logger": "^1.9.2"