@matterbridge/core 3.8.0-dev-20260603-c7525fb → 3.8.0-dev-20260604-48352af
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/backendWsServer.js +2 -1
- package/dist/behaviors/bindingServer.js +5 -1
- package/dist/frontend.js +2 -1
- package/dist/jestutils/jestMatterbridgeTest.js +1 -0
- package/dist/matterbridge.js +3 -262
- package/dist/matterbridgeDeviceTypes.d.ts +14 -6
- package/dist/matterbridgeDeviceTypes.js +213 -46
- package/dist/matterbridgeEndpoint.js +10 -0
- package/dist/matterbridgeEndpointCommandHandler.js +1 -1
- package/dist/matterbridgeEndpointHelpers.d.ts +1 -1
- package/dist/matterbridgeEndpointHelpers.js +86 -15
- package/package.json +6 -6
|
@@ -120,10 +120,17 @@ export var DeviceClasses;
|
|
|
120
120
|
DeviceClasses["Duplicate"] = "Duplicate";
|
|
121
121
|
DeviceClasses["BridgedPowerSourceInfo"] = "BridgedPowerSourceInfo";
|
|
122
122
|
})(DeviceClasses || (DeviceClasses = {}));
|
|
123
|
-
export
|
|
123
|
+
export var DeviceScopes;
|
|
124
|
+
(function (DeviceScopes) {
|
|
125
|
+
DeviceScopes["Endpoint"] = "endpoint";
|
|
126
|
+
DeviceScopes["Node"] = "node";
|
|
127
|
+
})(DeviceScopes || (DeviceScopes = {}));
|
|
128
|
+
export const DeviceTypeDefinition = ({ name, deviceName, code, deviceClass, deviceScope, revision, requiredServerClusters = [], optionalServerClusters = [], requiredClientClusters = [], optionalClientClusters = [], }) => ({
|
|
124
129
|
name,
|
|
130
|
+
deviceName,
|
|
125
131
|
code: DeviceTypeId(code),
|
|
126
132
|
deviceClass,
|
|
133
|
+
deviceScope,
|
|
127
134
|
revision,
|
|
128
135
|
requiredServerClusters,
|
|
129
136
|
optionalServerClusters,
|
|
@@ -132,32 +139,40 @@ export const DeviceTypeDefinition = ({ name, code, deviceClass, revision, requir
|
|
|
132
139
|
});
|
|
133
140
|
export const baseDevice = DeviceTypeDefinition({
|
|
134
141
|
name: 'MA-baseDevice',
|
|
142
|
+
deviceName: 'Base Device Type',
|
|
135
143
|
code: 0x0000,
|
|
136
144
|
deviceClass: DeviceClasses.Simple,
|
|
145
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
137
146
|
revision: 3,
|
|
138
147
|
requiredServerClusters: [Descriptor.id],
|
|
139
148
|
optionalServerClusters: [Binding.id, FixedLabel.id, UserLabel.id],
|
|
140
149
|
});
|
|
141
150
|
export const rootNode = DeviceTypeDefinition({
|
|
142
151
|
name: 'MA-rootNode',
|
|
152
|
+
deviceName: 'Root Node',
|
|
143
153
|
code: 0x0016,
|
|
144
154
|
deviceClass: DeviceClasses.Node,
|
|
155
|
+
deviceScope: DeviceScopes.Node,
|
|
145
156
|
revision: 4,
|
|
146
157
|
requiredServerClusters: [],
|
|
147
158
|
optionalServerClusters: [],
|
|
148
159
|
});
|
|
149
160
|
export const powerSource = DeviceTypeDefinition({
|
|
150
161
|
name: 'MA-powerSource',
|
|
162
|
+
deviceName: 'Power Source',
|
|
151
163
|
code: 0x0011,
|
|
152
164
|
deviceClass: DeviceClasses.Utility,
|
|
165
|
+
deviceScope: DeviceScopes.Node,
|
|
153
166
|
revision: 1,
|
|
154
167
|
requiredServerClusters: [PowerSource.id],
|
|
155
168
|
optionalServerClusters: [],
|
|
156
169
|
});
|
|
157
170
|
export const OTARequestor = DeviceTypeDefinition({
|
|
158
171
|
name: 'MA-OTARequestor',
|
|
172
|
+
deviceName: 'OTA Requestor',
|
|
159
173
|
code: 0x0012,
|
|
160
174
|
deviceClass: DeviceClasses.Utility,
|
|
175
|
+
deviceScope: DeviceScopes.Node,
|
|
161
176
|
revision: 1,
|
|
162
177
|
requiredServerClusters: [OtaSoftwareUpdateRequestor.id],
|
|
163
178
|
optionalServerClusters: [],
|
|
@@ -166,8 +181,10 @@ export const OTARequestor = DeviceTypeDefinition({
|
|
|
166
181
|
});
|
|
167
182
|
export const OTAProvider = DeviceTypeDefinition({
|
|
168
183
|
name: 'MA-OTAProvider',
|
|
184
|
+
deviceName: 'OTA Provider',
|
|
169
185
|
code: 0x0014,
|
|
170
186
|
deviceClass: DeviceClasses.Utility,
|
|
187
|
+
deviceScope: DeviceScopes.Node,
|
|
171
188
|
revision: 1,
|
|
172
189
|
requiredServerClusters: [OtaSoftwareUpdateProvider.id],
|
|
173
190
|
optionalServerClusters: [],
|
|
@@ -176,24 +193,30 @@ export const OTAProvider = DeviceTypeDefinition({
|
|
|
176
193
|
});
|
|
177
194
|
export const bridgedNode = DeviceTypeDefinition({
|
|
178
195
|
name: 'MA-bridgedNode',
|
|
196
|
+
deviceName: 'Bridged Node',
|
|
179
197
|
code: 0x0013,
|
|
180
198
|
deviceClass: DeviceClasses.Utility,
|
|
199
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
181
200
|
revision: 3,
|
|
182
201
|
requiredServerClusters: [BridgedDeviceBasicInformation.id],
|
|
183
202
|
optionalServerClusters: [PowerSource.id, EcosystemInformation.id, AdministratorCommissioning.id],
|
|
184
203
|
});
|
|
185
204
|
export const electricalSensor = DeviceTypeDefinition({
|
|
186
205
|
name: 'MA-electricalSensor',
|
|
206
|
+
deviceName: 'Electrical Sensor',
|
|
187
207
|
code: 0x0510,
|
|
188
208
|
deviceClass: DeviceClasses.Utility,
|
|
209
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
189
210
|
revision: 1,
|
|
190
211
|
requiredServerClusters: [PowerTopology.id],
|
|
191
212
|
optionalServerClusters: [ElectricalPowerMeasurement.id, ElectricalEnergyMeasurement.id],
|
|
192
213
|
});
|
|
193
214
|
export const deviceEnergyManagement = DeviceTypeDefinition({
|
|
194
215
|
name: 'MA-deviceEnergyManagement',
|
|
216
|
+
deviceName: 'Device Energy Management',
|
|
195
217
|
code: 0x050d,
|
|
196
218
|
deviceClass: DeviceClasses.Utility,
|
|
219
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
197
220
|
revision: 3,
|
|
198
221
|
requiredServerClusters: [DeviceEnergyManagement.id],
|
|
199
222
|
optionalServerClusters: [DeviceEnergyManagementMode.id],
|
|
@@ -202,8 +225,10 @@ export const deviceEnergyManagement = DeviceTypeDefinition({
|
|
|
202
225
|
});
|
|
203
226
|
export const onOffLight = DeviceTypeDefinition({
|
|
204
227
|
name: 'MA-onofflight',
|
|
228
|
+
deviceName: 'OnOff Light',
|
|
205
229
|
code: 0x0100,
|
|
206
230
|
deviceClass: DeviceClasses.Simple,
|
|
231
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
207
232
|
revision: 3,
|
|
208
233
|
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id],
|
|
209
234
|
optionalServerClusters: [LevelControl.id],
|
|
@@ -212,8 +237,10 @@ export const onOffLight = DeviceTypeDefinition({
|
|
|
212
237
|
});
|
|
213
238
|
export const dimmableLight = DeviceTypeDefinition({
|
|
214
239
|
name: 'MA-dimmablelight',
|
|
240
|
+
deviceName: 'Dimmable Light',
|
|
215
241
|
code: 0x0101,
|
|
216
242
|
deviceClass: DeviceClasses.Simple,
|
|
243
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
217
244
|
revision: 3,
|
|
218
245
|
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id],
|
|
219
246
|
optionalServerClusters: [],
|
|
@@ -222,8 +249,10 @@ export const dimmableLight = DeviceTypeDefinition({
|
|
|
222
249
|
});
|
|
223
250
|
export const colorTemperatureLight = DeviceTypeDefinition({
|
|
224
251
|
name: 'MA-colortemperaturelight',
|
|
252
|
+
deviceName: 'Color Temperature Light',
|
|
225
253
|
code: 0x010c,
|
|
226
254
|
deviceClass: DeviceClasses.Simple,
|
|
255
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
227
256
|
revision: 4,
|
|
228
257
|
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id, ColorControl.id],
|
|
229
258
|
optionalServerClusters: [],
|
|
@@ -232,8 +261,10 @@ export const colorTemperatureLight = DeviceTypeDefinition({
|
|
|
232
261
|
});
|
|
233
262
|
export const extendedColorLight = DeviceTypeDefinition({
|
|
234
263
|
name: 'MA-extendedcolorlight',
|
|
264
|
+
deviceName: 'Extended Color Light',
|
|
235
265
|
code: 0x010d,
|
|
236
266
|
deviceClass: DeviceClasses.Simple,
|
|
267
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
237
268
|
revision: 4,
|
|
238
269
|
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id, ColorControl.id],
|
|
239
270
|
optionalServerClusters: [],
|
|
@@ -242,8 +273,10 @@ export const extendedColorLight = DeviceTypeDefinition({
|
|
|
242
273
|
});
|
|
243
274
|
export const onOffOutlet = DeviceTypeDefinition({
|
|
244
275
|
name: 'MA-onoffpluginunit',
|
|
276
|
+
deviceName: 'OnOff Plugin Unit',
|
|
245
277
|
code: 0x010a,
|
|
246
278
|
deviceClass: DeviceClasses.Simple,
|
|
279
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
247
280
|
revision: 4,
|
|
248
281
|
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id],
|
|
249
282
|
optionalServerClusters: [LevelControl.id],
|
|
@@ -252,8 +285,10 @@ export const onOffOutlet = DeviceTypeDefinition({
|
|
|
252
285
|
});
|
|
253
286
|
export const dimmableOutlet = DeviceTypeDefinition({
|
|
254
287
|
name: 'MA-dimmablepluginunit',
|
|
288
|
+
deviceName: 'Dimmable PlugIn Unit',
|
|
255
289
|
code: 0x010b,
|
|
256
290
|
deviceClass: DeviceClasses.Simple,
|
|
291
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
257
292
|
revision: 5,
|
|
258
293
|
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id],
|
|
259
294
|
optionalServerClusters: [],
|
|
@@ -262,8 +297,10 @@ export const dimmableOutlet = DeviceTypeDefinition({
|
|
|
262
297
|
});
|
|
263
298
|
export const onOffMountedSwitch = DeviceTypeDefinition({
|
|
264
299
|
name: 'MA-onoffmountedswitch',
|
|
300
|
+
deviceName: 'Mounted OnOff Control',
|
|
265
301
|
code: 0x010f,
|
|
266
302
|
deviceClass: DeviceClasses.Simple,
|
|
303
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
267
304
|
revision: 2,
|
|
268
305
|
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id],
|
|
269
306
|
optionalServerClusters: [LevelControl.id],
|
|
@@ -272,8 +309,10 @@ export const onOffMountedSwitch = DeviceTypeDefinition({
|
|
|
272
309
|
});
|
|
273
310
|
export const dimmableMountedSwitch = DeviceTypeDefinition({
|
|
274
311
|
name: 'MA-dimmablemountedswitch',
|
|
312
|
+
deviceName: 'Mounted Dimmable Load Control',
|
|
275
313
|
code: 0x0110,
|
|
276
314
|
deviceClass: DeviceClasses.Simple,
|
|
315
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
277
316
|
revision: 2,
|
|
278
317
|
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id],
|
|
279
318
|
optionalServerClusters: [],
|
|
@@ -282,8 +321,10 @@ export const dimmableMountedSwitch = DeviceTypeDefinition({
|
|
|
282
321
|
});
|
|
283
322
|
export const pumpDevice = DeviceTypeDefinition({
|
|
284
323
|
name: 'MA-pump',
|
|
324
|
+
deviceName: 'Pump',
|
|
285
325
|
code: 0x303,
|
|
286
326
|
deviceClass: DeviceClasses.Simple,
|
|
327
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
287
328
|
revision: 3,
|
|
288
329
|
requiredServerClusters: [OnOff.id, PumpConfigurationAndControl.id, Identify.id],
|
|
289
330
|
optionalServerClusters: [LevelControl.id, Groups.id, ScenesManagement.id, TemperatureMeasurement.id, PressureMeasurement.id, FlowMeasurement.id],
|
|
@@ -292,18 +333,34 @@ export const pumpDevice = DeviceTypeDefinition({
|
|
|
292
333
|
});
|
|
293
334
|
export const waterValve = DeviceTypeDefinition({
|
|
294
335
|
name: 'MA-waterValve',
|
|
336
|
+
deviceName: 'Water Valve',
|
|
295
337
|
code: 0x42,
|
|
296
338
|
deviceClass: DeviceClasses.Simple,
|
|
339
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
297
340
|
revision: 1,
|
|
298
341
|
requiredServerClusters: [Identify.id, ValveConfigurationAndControl.id],
|
|
299
342
|
optionalServerClusters: [FlowMeasurement.id],
|
|
300
343
|
requiredClientClusters: [],
|
|
301
344
|
optionalClientClusters: [FlowMeasurement.id],
|
|
302
345
|
});
|
|
346
|
+
export const irrigationSystem = DeviceTypeDefinition({
|
|
347
|
+
name: 'MA-irrigationSystem',
|
|
348
|
+
deviceName: 'Irrigation System',
|
|
349
|
+
code: 0x0040,
|
|
350
|
+
deviceClass: DeviceClasses.Simple,
|
|
351
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
352
|
+
revision: 1,
|
|
353
|
+
requiredServerClusters: [],
|
|
354
|
+
optionalServerClusters: [Identify.id, OperationalState.id, FlowMeasurement.id],
|
|
355
|
+
requiredClientClusters: [],
|
|
356
|
+
optionalClientClusters: [FlowMeasurement.id],
|
|
357
|
+
});
|
|
303
358
|
export const onOffSwitch = DeviceTypeDefinition({
|
|
304
359
|
name: 'MA-onoffswitch',
|
|
360
|
+
deviceName: 'OnOff Light Switch',
|
|
305
361
|
code: 0x0103,
|
|
306
362
|
deviceClass: DeviceClasses.Simple,
|
|
363
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
307
364
|
revision: 3,
|
|
308
365
|
requiredServerClusters: [Identify.id, OnOff.id],
|
|
309
366
|
optionalServerClusters: [],
|
|
@@ -312,8 +369,10 @@ export const onOffSwitch = DeviceTypeDefinition({
|
|
|
312
369
|
});
|
|
313
370
|
export const dimmableSwitch = DeviceTypeDefinition({
|
|
314
371
|
name: 'MA-dimmableswitch',
|
|
372
|
+
deviceName: 'Dimmer Switch',
|
|
315
373
|
code: 0x0104,
|
|
316
374
|
deviceClass: DeviceClasses.Simple,
|
|
375
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
317
376
|
revision: 3,
|
|
318
377
|
requiredServerClusters: [Identify.id, OnOff.id, LevelControl.id],
|
|
319
378
|
optionalServerClusters: [],
|
|
@@ -322,8 +381,10 @@ export const dimmableSwitch = DeviceTypeDefinition({
|
|
|
322
381
|
});
|
|
323
382
|
export const colorTemperatureSwitch = DeviceTypeDefinition({
|
|
324
383
|
name: 'MA-colortemperatureswitch',
|
|
384
|
+
deviceName: 'Color Dimmer Switch',
|
|
325
385
|
code: 0x0105,
|
|
326
386
|
deviceClass: DeviceClasses.Simple,
|
|
387
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
327
388
|
revision: 3,
|
|
328
389
|
requiredServerClusters: [Identify.id, OnOff.id, LevelControl.id, ColorControl.id],
|
|
329
390
|
optionalServerClusters: [],
|
|
@@ -332,76 +393,96 @@ export const colorTemperatureSwitch = DeviceTypeDefinition({
|
|
|
332
393
|
});
|
|
333
394
|
export const genericSwitch = DeviceTypeDefinition({
|
|
334
395
|
name: 'MA-genericswitch',
|
|
396
|
+
deviceName: 'Generic Switch',
|
|
335
397
|
code: 0x000f,
|
|
336
398
|
deviceClass: DeviceClasses.Simple,
|
|
399
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
337
400
|
revision: 3,
|
|
338
401
|
requiredServerClusters: [Identify.id, Switch.id],
|
|
339
402
|
optionalServerClusters: [],
|
|
340
403
|
});
|
|
341
404
|
export const contactSensor = DeviceTypeDefinition({
|
|
342
405
|
name: 'MA-contactsensor',
|
|
406
|
+
deviceName: 'Contact Sensor',
|
|
343
407
|
code: 0x0015,
|
|
344
408
|
deviceClass: DeviceClasses.Simple,
|
|
409
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
345
410
|
revision: 2,
|
|
346
411
|
requiredServerClusters: [Identify.id, BooleanState.id],
|
|
347
412
|
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
348
413
|
});
|
|
349
414
|
export const lightSensor = DeviceTypeDefinition({
|
|
350
415
|
name: 'MA-lightsensor',
|
|
416
|
+
deviceName: 'Light Sensor',
|
|
351
417
|
code: 0x0106,
|
|
352
418
|
deviceClass: DeviceClasses.Simple,
|
|
419
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
353
420
|
revision: 4,
|
|
354
421
|
requiredServerClusters: [Identify.id, IlluminanceMeasurement.id],
|
|
355
422
|
});
|
|
356
423
|
export const occupancySensor = DeviceTypeDefinition({
|
|
357
424
|
name: 'MA-occupancysensor',
|
|
425
|
+
deviceName: 'Occupancy Sensor',
|
|
358
426
|
code: 0x0107,
|
|
359
427
|
deviceClass: DeviceClasses.Simple,
|
|
428
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
360
429
|
revision: 4,
|
|
361
430
|
requiredServerClusters: [Identify.id, OccupancySensing.id],
|
|
362
431
|
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
363
432
|
});
|
|
364
433
|
export const temperatureSensor = DeviceTypeDefinition({
|
|
365
434
|
name: 'MA-tempsensor',
|
|
435
|
+
deviceName: 'Temperature Sensor',
|
|
366
436
|
code: 0x0302,
|
|
367
437
|
deviceClass: DeviceClasses.Simple,
|
|
438
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
368
439
|
revision: 3,
|
|
369
440
|
requiredServerClusters: [Identify.id, TemperatureMeasurement.id],
|
|
370
441
|
optionalServerClusters: [ThermostatUserInterfaceConfiguration.id],
|
|
371
442
|
});
|
|
372
443
|
export const pressureSensor = DeviceTypeDefinition({
|
|
373
444
|
name: 'MA-pressuresensor',
|
|
445
|
+
deviceName: 'Pressure Sensor',
|
|
374
446
|
code: 0x0305,
|
|
375
447
|
deviceClass: DeviceClasses.Simple,
|
|
448
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
376
449
|
revision: 3,
|
|
377
450
|
requiredServerClusters: [Identify.id, PressureMeasurement.id],
|
|
378
451
|
});
|
|
379
452
|
export const flowSensor = DeviceTypeDefinition({
|
|
380
453
|
name: 'MA-flowsensor',
|
|
454
|
+
deviceName: 'Flow Sensor',
|
|
381
455
|
code: 0x0306,
|
|
382
456
|
deviceClass: DeviceClasses.Simple,
|
|
457
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
383
458
|
revision: 3,
|
|
384
459
|
requiredServerClusters: [Identify.id, FlowMeasurement.id],
|
|
385
460
|
});
|
|
386
461
|
export const humiditySensor = DeviceTypeDefinition({
|
|
387
462
|
name: 'MA-humiditysensor',
|
|
463
|
+
deviceName: 'Humidity Sensor',
|
|
388
464
|
code: 0x0307,
|
|
389
465
|
deviceClass: DeviceClasses.Simple,
|
|
466
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
390
467
|
revision: 3,
|
|
391
468
|
requiredServerClusters: [Identify.id, RelativeHumidityMeasurement.id],
|
|
392
469
|
});
|
|
393
470
|
export const smokeCoAlarm = DeviceTypeDefinition({
|
|
394
471
|
name: 'MA-smokeCoAlarm',
|
|
472
|
+
deviceName: 'Smoke CO Alarm',
|
|
395
473
|
code: 0x0076,
|
|
396
474
|
deviceClass: DeviceClasses.Simple,
|
|
475
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
397
476
|
revision: 1,
|
|
398
477
|
requiredServerClusters: [Identify.id, SmokeCoAlarm.id],
|
|
399
478
|
optionalServerClusters: [Groups.id, TemperatureMeasurement.id, RelativeHumidityMeasurement.id, CarbonMonoxideConcentrationMeasurement.id],
|
|
400
479
|
});
|
|
401
480
|
export const airQualitySensor = DeviceTypeDefinition({
|
|
402
481
|
name: 'MA-airQualitySensor',
|
|
482
|
+
deviceName: 'Air Quality Sensor',
|
|
403
483
|
code: 0x002c,
|
|
404
484
|
deviceClass: DeviceClasses.Simple,
|
|
485
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
405
486
|
revision: 1,
|
|
406
487
|
requiredServerClusters: [Identify.id, AirQuality.id],
|
|
407
488
|
optionalServerClusters: [
|
|
@@ -421,48 +502,102 @@ export const airQualitySensor = DeviceTypeDefinition({
|
|
|
421
502
|
});
|
|
422
503
|
export const waterFreezeDetector = DeviceTypeDefinition({
|
|
423
504
|
name: 'MA-waterFreezeDetector',
|
|
505
|
+
deviceName: 'Water Freeze Detector',
|
|
424
506
|
code: 0x0041,
|
|
425
507
|
deviceClass: DeviceClasses.Simple,
|
|
508
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
426
509
|
revision: 1,
|
|
427
510
|
requiredServerClusters: [Identify.id, BooleanState.id],
|
|
428
511
|
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
429
512
|
});
|
|
430
513
|
export const waterLeakDetector = DeviceTypeDefinition({
|
|
431
514
|
name: 'MA-waterLeakDetector',
|
|
515
|
+
deviceName: 'Water Leak Detector',
|
|
432
516
|
code: 0x0043,
|
|
433
517
|
deviceClass: DeviceClasses.Simple,
|
|
518
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
434
519
|
revision: 1,
|
|
435
520
|
requiredServerClusters: [Identify.id, BooleanState.id],
|
|
436
521
|
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
437
522
|
});
|
|
438
523
|
export const rainSensor = DeviceTypeDefinition({
|
|
439
524
|
name: 'MA-rainSensor',
|
|
525
|
+
deviceName: 'Rain Sensor',
|
|
440
526
|
code: 0x0044,
|
|
441
527
|
deviceClass: DeviceClasses.Simple,
|
|
528
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
442
529
|
revision: 1,
|
|
443
530
|
requiredServerClusters: [Identify.id, BooleanState.id],
|
|
444
531
|
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
445
532
|
});
|
|
533
|
+
export const soilSensor = DeviceTypeDefinition({
|
|
534
|
+
name: 'MA-soilSensor',
|
|
535
|
+
deviceName: 'Soil Sensor',
|
|
536
|
+
code: 0x0045,
|
|
537
|
+
deviceClass: DeviceClasses.Simple,
|
|
538
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
539
|
+
revision: 1,
|
|
540
|
+
requiredServerClusters: [Identify.id, SoilMeasurement.id],
|
|
541
|
+
optionalServerClusters: [TemperatureMeasurement.id],
|
|
542
|
+
});
|
|
446
543
|
export const doorLockDevice = DeviceTypeDefinition({
|
|
447
544
|
name: 'MA-doorLock',
|
|
545
|
+
deviceName: 'Door Lock',
|
|
448
546
|
code: 0xa,
|
|
449
547
|
deviceClass: DeviceClasses.Simple,
|
|
548
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
450
549
|
revision: 4,
|
|
451
550
|
requiredServerClusters: [Identify.id, DoorLock.id],
|
|
452
551
|
optionalServerClusters: [],
|
|
453
552
|
});
|
|
454
553
|
export const coverDevice = DeviceTypeDefinition({
|
|
455
554
|
name: 'MA-windowCovering',
|
|
555
|
+
deviceName: 'Window Covering',
|
|
456
556
|
code: 0x202,
|
|
457
557
|
deviceClass: DeviceClasses.Simple,
|
|
558
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
458
559
|
revision: 6,
|
|
459
560
|
requiredServerClusters: [Identify.id, WindowCovering.id],
|
|
460
561
|
optionalServerClusters: [Groups.id],
|
|
461
562
|
});
|
|
563
|
+
export const closure = DeviceTypeDefinition({
|
|
564
|
+
name: 'MA-closure',
|
|
565
|
+
deviceName: 'Closure',
|
|
566
|
+
code: 0x0230,
|
|
567
|
+
deviceClass: DeviceClasses.Simple,
|
|
568
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
569
|
+
revision: 1,
|
|
570
|
+
requiredServerClusters: [Identify.id, ClosureControl.id],
|
|
571
|
+
optionalServerClusters: [],
|
|
572
|
+
});
|
|
573
|
+
export const closurePanel = DeviceTypeDefinition({
|
|
574
|
+
name: 'MA-closurePanel',
|
|
575
|
+
deviceName: 'Closure Panel',
|
|
576
|
+
code: 0x0231,
|
|
577
|
+
deviceClass: DeviceClasses.Simple,
|
|
578
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
579
|
+
revision: 1,
|
|
580
|
+
requiredServerClusters: [ClosureDimension.id],
|
|
581
|
+
optionalServerClusters: [],
|
|
582
|
+
});
|
|
583
|
+
export const closureController = DeviceTypeDefinition({
|
|
584
|
+
name: 'MA-closureController',
|
|
585
|
+
deviceName: 'Closure Controller',
|
|
586
|
+
code: 0x023e,
|
|
587
|
+
deviceClass: DeviceClasses.Simple,
|
|
588
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
589
|
+
revision: 1,
|
|
590
|
+
requiredServerClusters: [],
|
|
591
|
+
optionalServerClusters: [],
|
|
592
|
+
requiredClientClusters: [ClosureControl.id],
|
|
593
|
+
optionalClientClusters: [Identify.id, Groups.id, ClosureDimension.id],
|
|
594
|
+
});
|
|
462
595
|
export const thermostatDevice = DeviceTypeDefinition({
|
|
463
596
|
name: 'MA-thermostat',
|
|
597
|
+
deviceName: 'Thermostat',
|
|
464
598
|
code: 0x301,
|
|
465
599
|
deviceClass: DeviceClasses.Simple,
|
|
600
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
466
601
|
revision: 5,
|
|
467
602
|
requiredServerClusters: [Identify.id, Thermostat.id],
|
|
468
603
|
optionalServerClusters: [Groups.id, ThermostatUserInterfaceConfiguration.id, EnergyPreference.id],
|
|
@@ -471,32 +606,40 @@ export const thermostatDevice = DeviceTypeDefinition({
|
|
|
471
606
|
});
|
|
472
607
|
export const fanDevice = DeviceTypeDefinition({
|
|
473
608
|
name: 'MA-fan',
|
|
609
|
+
deviceName: 'Fan',
|
|
474
610
|
code: 0x2b,
|
|
475
611
|
deviceClass: DeviceClasses.Simple,
|
|
612
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
476
613
|
revision: 4,
|
|
477
614
|
requiredServerClusters: [Identify.id, Groups.id, FanControl.id],
|
|
478
615
|
optionalServerClusters: [OnOff.id],
|
|
479
616
|
});
|
|
480
617
|
export const airPurifier = DeviceTypeDefinition({
|
|
481
618
|
name: 'MA-airPurifier',
|
|
619
|
+
deviceName: 'Air Purifier',
|
|
482
620
|
code: 0x2d,
|
|
483
621
|
deviceClass: DeviceClasses.Simple,
|
|
622
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
484
623
|
revision: 2,
|
|
485
624
|
requiredServerClusters: [Identify.id, FanControl.id],
|
|
486
625
|
optionalServerClusters: [Groups.id, OnOff.id, HepaFilterMonitoring.id, ActivatedCarbonFilterMonitoring.id],
|
|
487
626
|
});
|
|
488
627
|
export const basicVideoPlayer = DeviceTypeDefinition({
|
|
489
628
|
name: 'MA-basicVideoPlayer',
|
|
629
|
+
deviceName: 'Basic Video Player',
|
|
490
630
|
code: 0x0028,
|
|
491
631
|
deviceClass: DeviceClasses.Simple,
|
|
632
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
492
633
|
revision: 2,
|
|
493
634
|
requiredServerClusters: [OnOff.id, MediaPlayback.id, KeypadInput.id],
|
|
494
635
|
optionalServerClusters: [WakeOnLan.id, Channel.id, TargetNavigator.id, MediaInput.id, LowPower.id, AudioOutput.id, ContentControl.id, Messages.id],
|
|
495
636
|
});
|
|
496
637
|
export const castingVideoPlayer = DeviceTypeDefinition({
|
|
497
638
|
name: 'MA-castingVideoPlayer',
|
|
639
|
+
deviceName: 'Casting Video Player',
|
|
498
640
|
code: 0x0023,
|
|
499
641
|
deviceClass: DeviceClasses.Simple,
|
|
642
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
500
643
|
revision: 2,
|
|
501
644
|
requiredServerClusters: [OnOff.id, MediaPlayback.id, KeypadInput.id, ContentLauncher.id],
|
|
502
645
|
optionalServerClusters: [
|
|
@@ -514,23 +657,29 @@ export const castingVideoPlayer = DeviceTypeDefinition({
|
|
|
514
657
|
});
|
|
515
658
|
export const speakerDevice = DeviceTypeDefinition({
|
|
516
659
|
name: 'MA-speaker',
|
|
660
|
+
deviceName: 'Speaker',
|
|
517
661
|
code: 0x0022,
|
|
518
662
|
deviceClass: DeviceClasses.Simple,
|
|
663
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
519
664
|
revision: 1,
|
|
520
665
|
requiredServerClusters: [OnOff.id, LevelControl.id],
|
|
521
666
|
optionalServerClusters: [],
|
|
522
667
|
});
|
|
523
668
|
export const modeSelect = DeviceTypeDefinition({
|
|
524
669
|
name: 'MA-modeselect',
|
|
670
|
+
deviceName: 'Mode Select',
|
|
525
671
|
code: 0x27,
|
|
526
672
|
deviceClass: DeviceClasses.Simple,
|
|
673
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
527
674
|
revision: 1,
|
|
528
675
|
requiredServerClusters: [ModeSelect.id],
|
|
529
676
|
});
|
|
530
677
|
export const aggregator = DeviceTypeDefinition({
|
|
531
678
|
name: 'MA-aggregator',
|
|
679
|
+
deviceName: 'Aggregator',
|
|
532
680
|
code: 0x000e,
|
|
533
681
|
deviceClass: DeviceClasses.Dynamic,
|
|
682
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
534
683
|
revision: 2,
|
|
535
684
|
requiredServerClusters: [],
|
|
536
685
|
optionalServerClusters: [Actions.id, Identify.id, CommissionerControl.id],
|
|
@@ -538,33 +687,41 @@ export const aggregator = DeviceTypeDefinition({
|
|
|
538
687
|
export const bridge = aggregator;
|
|
539
688
|
export const roboticVacuumCleaner = DeviceTypeDefinition({
|
|
540
689
|
name: 'MA-roboticvacuumcleaner',
|
|
690
|
+
deviceName: 'Robotic Vacuum Cleaner',
|
|
541
691
|
code: 0x74,
|
|
542
692
|
deviceClass: DeviceClasses.Simple,
|
|
693
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
543
694
|
revision: 4,
|
|
544
695
|
requiredServerClusters: [Identify.id, RvcRunMode.id, RvcOperationalState.id],
|
|
545
696
|
optionalServerClusters: [RvcCleanMode.id, ServiceArea.id],
|
|
546
697
|
});
|
|
547
698
|
export const laundryWasher = DeviceTypeDefinition({
|
|
548
699
|
name: 'MA-laundrywasher',
|
|
700
|
+
deviceName: 'Laundry Washer',
|
|
549
701
|
code: 0x73,
|
|
550
702
|
deviceClass: DeviceClasses.Simple,
|
|
703
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
551
704
|
revision: 2,
|
|
552
705
|
requiredServerClusters: [OperationalState.id],
|
|
553
706
|
optionalServerClusters: [Identify.id, LaundryWasherMode.id, OnOff.id, LaundryWasherControls.id, TemperatureControl.id],
|
|
554
707
|
});
|
|
555
708
|
export const refrigerator = DeviceTypeDefinition({
|
|
556
709
|
name: 'MA-refrigerator',
|
|
710
|
+
deviceName: 'Refrigerator',
|
|
557
711
|
code: 0x70,
|
|
558
712
|
deviceClass: DeviceClasses.Simple,
|
|
713
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
559
714
|
revision: 2,
|
|
560
715
|
requiredServerClusters: [],
|
|
561
716
|
optionalServerClusters: [Identify.id, RefrigeratorAndTemperatureControlledCabinetMode.id, RefrigeratorAlarm.id],
|
|
562
717
|
});
|
|
563
718
|
export const airConditioner = DeviceTypeDefinition({
|
|
564
719
|
name: 'MA-airConditioner',
|
|
720
|
+
deviceName: 'Room Air Conditioner',
|
|
565
721
|
code: 0x72,
|
|
566
722
|
deviceClass: DeviceClasses.Simple,
|
|
567
|
-
|
|
723
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
724
|
+
revision: 3,
|
|
568
725
|
requiredServerClusters: [Identify.id, OnOff.id, Thermostat.id],
|
|
569
726
|
optionalServerClusters: [
|
|
570
727
|
Groups.id,
|
|
@@ -579,198 +736,192 @@ export const airConditioner = DeviceTypeDefinition({
|
|
|
579
736
|
});
|
|
580
737
|
export const temperatureControlledCabinetCooler = DeviceTypeDefinition({
|
|
581
738
|
name: 'MA-temperaturecontrolledcabinetcooler',
|
|
739
|
+
deviceName: 'Temperature Controlled Cabinet',
|
|
582
740
|
code: 0x71,
|
|
583
741
|
deviceClass: DeviceClasses.Simple,
|
|
742
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
584
743
|
revision: 5,
|
|
585
744
|
requiredServerClusters: [TemperatureControl.id, RefrigeratorAndTemperatureControlledCabinetMode.id],
|
|
586
745
|
optionalServerClusters: [TemperatureMeasurement.id],
|
|
587
746
|
});
|
|
588
747
|
export const temperatureControlledCabinetHeater = DeviceTypeDefinition({
|
|
589
748
|
name: 'MA-temperaturecontrolledcabinetheater',
|
|
749
|
+
deviceName: 'Temperature Controlled Cabinet',
|
|
590
750
|
code: 0x71,
|
|
591
751
|
deviceClass: DeviceClasses.Simple,
|
|
752
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
592
753
|
revision: 5,
|
|
593
754
|
requiredServerClusters: [TemperatureControl.id, OvenMode.id, OvenCavityOperationalState.id],
|
|
594
755
|
optionalServerClusters: [TemperatureMeasurement.id],
|
|
595
756
|
});
|
|
596
757
|
export const dishwasher = DeviceTypeDefinition({
|
|
597
758
|
name: 'MA-dishwasher',
|
|
759
|
+
deviceName: 'Dishwasher',
|
|
598
760
|
code: 0x75,
|
|
599
761
|
deviceClass: DeviceClasses.Simple,
|
|
762
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
600
763
|
revision: 2,
|
|
601
764
|
requiredServerClusters: [OperationalState.id],
|
|
602
765
|
optionalServerClusters: [Identify.id, OnOff.id, TemperatureControl.id, DishwasherMode.id, DishwasherAlarm.id],
|
|
603
766
|
});
|
|
604
767
|
export const laundryDryer = DeviceTypeDefinition({
|
|
605
768
|
name: 'MA-laundrydryer',
|
|
769
|
+
deviceName: 'Laundry Dryer',
|
|
606
770
|
code: 0x7c,
|
|
607
771
|
deviceClass: DeviceClasses.Simple,
|
|
772
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
608
773
|
revision: 2,
|
|
609
774
|
requiredServerClusters: [OperationalState.id],
|
|
610
775
|
optionalServerClusters: [Identify.id, LaundryWasherMode.id, OnOff.id, LaundryDryerControls.id, TemperatureControl.id],
|
|
611
776
|
});
|
|
612
777
|
export const cookSurface = DeviceTypeDefinition({
|
|
613
778
|
name: 'MA-cooksurface',
|
|
779
|
+
deviceName: 'Cook Surface',
|
|
614
780
|
code: 0x77,
|
|
615
781
|
deviceClass: DeviceClasses.Simple,
|
|
782
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
616
783
|
revision: 2,
|
|
617
784
|
requiredServerClusters: [],
|
|
618
785
|
optionalServerClusters: [TemperatureControl.id, TemperatureMeasurement.id, OnOff.id],
|
|
619
786
|
});
|
|
620
787
|
export const cooktop = DeviceTypeDefinition({
|
|
621
788
|
name: 'MA-cooktop',
|
|
789
|
+
deviceName: 'Cooktop',
|
|
622
790
|
code: 0x78,
|
|
623
791
|
deviceClass: DeviceClasses.Simple,
|
|
792
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
624
793
|
revision: 1,
|
|
625
794
|
requiredServerClusters: [OnOff.id],
|
|
626
795
|
optionalServerClusters: [Identify.id],
|
|
627
796
|
});
|
|
628
797
|
export const oven = DeviceTypeDefinition({
|
|
629
798
|
name: 'MA-oven',
|
|
799
|
+
deviceName: 'Oven',
|
|
630
800
|
code: 0x7b,
|
|
631
801
|
deviceClass: DeviceClasses.Simple,
|
|
802
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
632
803
|
revision: 2,
|
|
633
804
|
requiredServerClusters: [],
|
|
634
805
|
optionalServerClusters: [Identify.id],
|
|
635
806
|
});
|
|
636
807
|
export const extractorHood = DeviceTypeDefinition({
|
|
637
808
|
name: 'MA-extractorhood',
|
|
809
|
+
deviceName: 'Extractor Hood',
|
|
638
810
|
code: 0x7a,
|
|
639
811
|
deviceClass: DeviceClasses.Simple,
|
|
812
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
640
813
|
revision: 1,
|
|
641
814
|
requiredServerClusters: [FanControl.id],
|
|
642
815
|
optionalServerClusters: [Identify.id, HepaFilterMonitoring.id, ActivatedCarbonFilterMonitoring.id],
|
|
643
816
|
});
|
|
644
817
|
export const microwaveOven = DeviceTypeDefinition({
|
|
645
818
|
name: 'MA-microwaveoven',
|
|
819
|
+
deviceName: 'Microwave Oven',
|
|
646
820
|
code: 0x79,
|
|
647
821
|
deviceClass: DeviceClasses.Simple,
|
|
822
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
648
823
|
revision: 2,
|
|
649
824
|
requiredServerClusters: [OperationalState.id, MicrowaveOvenMode.id, MicrowaveOvenControl.id],
|
|
650
825
|
optionalServerClusters: [Identify.id, FanControl.id],
|
|
651
826
|
});
|
|
652
827
|
export const evse = DeviceTypeDefinition({
|
|
653
828
|
name: 'MA-evse',
|
|
829
|
+
deviceName: 'Energy EVSE',
|
|
654
830
|
code: 0x050c,
|
|
655
831
|
deviceClass: DeviceClasses.Simple,
|
|
832
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
656
833
|
revision: 2,
|
|
657
834
|
requiredServerClusters: [EnergyEvse.id, EnergyEvseMode.id],
|
|
658
835
|
optionalServerClusters: [Identify.id, TemperatureMeasurement.id],
|
|
659
836
|
});
|
|
660
837
|
export const waterHeater = DeviceTypeDefinition({
|
|
661
838
|
name: 'MA-waterheater',
|
|
839
|
+
deviceName: 'Water Heater',
|
|
662
840
|
code: 0x050f,
|
|
663
841
|
deviceClass: DeviceClasses.Simple,
|
|
842
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
664
843
|
revision: 1,
|
|
665
844
|
requiredServerClusters: [Thermostat.id, WaterHeaterManagement.id, WaterHeaterMode.id],
|
|
666
845
|
optionalServerClusters: [Identify.id],
|
|
667
846
|
});
|
|
668
847
|
export const solarPower = DeviceTypeDefinition({
|
|
669
848
|
name: 'MA-solarpower',
|
|
849
|
+
deviceName: 'Solar Power',
|
|
670
850
|
code: 0x0017,
|
|
671
851
|
deviceClass: DeviceClasses.Simple,
|
|
852
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
672
853
|
revision: 1,
|
|
673
854
|
requiredServerClusters: [],
|
|
674
855
|
optionalServerClusters: [Identify.id],
|
|
675
856
|
});
|
|
676
857
|
export const batteryStorage = DeviceTypeDefinition({
|
|
677
858
|
name: 'MA-batterystorage',
|
|
859
|
+
deviceName: 'Battery Storage',
|
|
678
860
|
code: 0x0018,
|
|
679
861
|
deviceClass: DeviceClasses.Simple,
|
|
862
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
680
863
|
revision: 2,
|
|
681
864
|
requiredServerClusters: [],
|
|
682
865
|
optionalServerClusters: [Identify.id],
|
|
683
866
|
});
|
|
684
867
|
export const heatPump = DeviceTypeDefinition({
|
|
685
868
|
name: 'MA-heatpump',
|
|
869
|
+
deviceName: 'Heat Pump',
|
|
686
870
|
code: 0x0309,
|
|
687
871
|
deviceClass: DeviceClasses.Simple,
|
|
872
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
688
873
|
revision: 1,
|
|
689
874
|
requiredServerClusters: [],
|
|
690
875
|
optionalServerClusters: [Identify.id],
|
|
691
876
|
requiredClientClusters: [],
|
|
692
877
|
optionalClientClusters: [Thermostat.id],
|
|
693
878
|
});
|
|
694
|
-
export const soilSensor = DeviceTypeDefinition({
|
|
695
|
-
name: 'MA-soilSensor',
|
|
696
|
-
code: 0x0045,
|
|
697
|
-
deviceClass: DeviceClasses.Simple,
|
|
698
|
-
revision: 1,
|
|
699
|
-
requiredServerClusters: [Identify.id, SoilMeasurement.id],
|
|
700
|
-
optionalServerClusters: [TemperatureMeasurement.id],
|
|
701
|
-
});
|
|
702
|
-
export const irrigationSystem = DeviceTypeDefinition({
|
|
703
|
-
name: 'MA-irrigationSystem',
|
|
704
|
-
code: 0x0040,
|
|
705
|
-
deviceClass: DeviceClasses.Simple,
|
|
706
|
-
revision: 1,
|
|
707
|
-
requiredServerClusters: [],
|
|
708
|
-
optionalServerClusters: [Identify.id, OperationalState.id, FlowMeasurement.id],
|
|
709
|
-
requiredClientClusters: [],
|
|
710
|
-
optionalClientClusters: [FlowMeasurement.id],
|
|
711
|
-
});
|
|
712
|
-
export const closure = DeviceTypeDefinition({
|
|
713
|
-
name: 'MA-closure',
|
|
714
|
-
code: 0x0230,
|
|
715
|
-
deviceClass: DeviceClasses.Simple,
|
|
716
|
-
revision: 1,
|
|
717
|
-
requiredServerClusters: [Identify.id, ClosureControl.id],
|
|
718
|
-
optionalServerClusters: [],
|
|
719
|
-
});
|
|
720
|
-
export const closurePanel = DeviceTypeDefinition({
|
|
721
|
-
name: 'MA-closurePanel',
|
|
722
|
-
code: 0x0231,
|
|
723
|
-
deviceClass: DeviceClasses.Simple,
|
|
724
|
-
revision: 1,
|
|
725
|
-
requiredServerClusters: [ClosureDimension.id],
|
|
726
|
-
optionalServerClusters: [],
|
|
727
|
-
});
|
|
728
|
-
export const closureController = DeviceTypeDefinition({
|
|
729
|
-
name: 'MA-closureController',
|
|
730
|
-
code: 0x023e,
|
|
731
|
-
deviceClass: DeviceClasses.Simple,
|
|
732
|
-
revision: 1,
|
|
733
|
-
requiredServerClusters: [],
|
|
734
|
-
optionalServerClusters: [],
|
|
735
|
-
requiredClientClusters: [ClosureControl.id],
|
|
736
|
-
optionalClientClusters: [Identify.id, Groups.id, ClosureDimension.id],
|
|
737
|
-
});
|
|
738
879
|
export const meterReferencePoint = DeviceTypeDefinition({
|
|
739
880
|
name: 'MA-meterReferencePoint',
|
|
881
|
+
deviceName: 'Meter Reference Point',
|
|
740
882
|
code: 0x0512,
|
|
741
883
|
deviceClass: DeviceClasses.Simple,
|
|
884
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
742
885
|
revision: 1,
|
|
743
886
|
requiredServerClusters: [Identify.id],
|
|
744
887
|
optionalServerClusters: [],
|
|
745
888
|
});
|
|
746
889
|
export const electricalEnergyTariff = DeviceTypeDefinition({
|
|
747
890
|
name: 'MA-electricalEnergyTariff',
|
|
891
|
+
deviceName: 'Electrical Energy Tariff',
|
|
748
892
|
code: 0x0513,
|
|
749
893
|
deviceClass: DeviceClasses.Simple,
|
|
894
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
750
895
|
revision: 1,
|
|
751
896
|
requiredServerClusters: [],
|
|
752
897
|
optionalServerClusters: [CommodityPrice.id, ElectricalGridConditions.id, CommodityTariff.id],
|
|
753
898
|
});
|
|
754
899
|
export const electricalMeter = DeviceTypeDefinition({
|
|
755
900
|
name: 'MA-electricalMeter',
|
|
901
|
+
deviceName: 'Electrical Meter',
|
|
756
902
|
code: 0x0514,
|
|
757
903
|
deviceClass: DeviceClasses.Simple,
|
|
904
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
758
905
|
revision: 1,
|
|
759
906
|
requiredServerClusters: [ElectricalPowerMeasurement.id, ElectricalEnergyMeasurement.id],
|
|
760
907
|
optionalServerClusters: [CommodityMetering.id],
|
|
761
908
|
});
|
|
762
909
|
export const electricalUtilityMeter = DeviceTypeDefinition({
|
|
763
910
|
name: 'MA-electricalUtilityMeter',
|
|
911
|
+
deviceName: 'Electrical Utility Meter',
|
|
764
912
|
code: 0x0511,
|
|
765
913
|
deviceClass: DeviceClasses.Simple,
|
|
914
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
766
915
|
revision: 1,
|
|
767
916
|
requiredServerClusters: [MeterIdentification.id],
|
|
768
917
|
optionalServerClusters: [],
|
|
769
918
|
});
|
|
770
919
|
export const camera = DeviceTypeDefinition({
|
|
771
920
|
name: 'MA-camera',
|
|
921
|
+
deviceName: 'Camera',
|
|
772
922
|
code: 0x0142,
|
|
773
923
|
deviceClass: DeviceClasses.Simple,
|
|
924
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
774
925
|
revision: 1,
|
|
775
926
|
requiredServerClusters: [CameraAvStreamManagement.id, WebRtcTransportProvider.id],
|
|
776
927
|
optionalServerClusters: [Identify.id, OccupancySensing.id, ZoneManagement.id, CameraAvSettingsUserLevelManagement.id, WebRtcTransportRequestor.id, PushAvStreamTransport.id],
|
|
@@ -779,24 +930,30 @@ export const camera = DeviceTypeDefinition({
|
|
|
779
930
|
});
|
|
780
931
|
export const floodlightCamera = DeviceTypeDefinition({
|
|
781
932
|
name: 'MA-floodlightCamera',
|
|
933
|
+
deviceName: 'Floodlight Camera',
|
|
782
934
|
code: 0x0144,
|
|
783
935
|
deviceClass: DeviceClasses.Simple,
|
|
936
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
784
937
|
revision: 1,
|
|
785
938
|
requiredServerClusters: [],
|
|
786
939
|
optionalServerClusters: [],
|
|
787
940
|
});
|
|
788
941
|
export const videoDoorbell = DeviceTypeDefinition({
|
|
789
942
|
name: 'MA-videoDoorbell',
|
|
943
|
+
deviceName: 'Video Doorbell',
|
|
790
944
|
code: 0x0143,
|
|
791
945
|
deviceClass: DeviceClasses.Simple,
|
|
946
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
792
947
|
revision: 1,
|
|
793
948
|
requiredServerClusters: [],
|
|
794
949
|
optionalServerClusters: [],
|
|
795
950
|
});
|
|
796
951
|
export const intercom = DeviceTypeDefinition({
|
|
797
952
|
name: 'MA-intercom',
|
|
953
|
+
deviceName: 'Intercom',
|
|
798
954
|
code: 0x0140,
|
|
799
955
|
deviceClass: DeviceClasses.Simple,
|
|
956
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
800
957
|
revision: 2,
|
|
801
958
|
requiredServerClusters: [CameraAvStreamManagement.id, WebRtcTransportProvider.id, WebRtcTransportRequestor.id],
|
|
802
959
|
optionalServerClusters: [Identify.id, CameraAvSettingsUserLevelManagement.id],
|
|
@@ -805,8 +962,10 @@ export const intercom = DeviceTypeDefinition({
|
|
|
805
962
|
});
|
|
806
963
|
export const audioDoorbell = DeviceTypeDefinition({
|
|
807
964
|
name: 'MA-audioDoorbell',
|
|
965
|
+
deviceName: 'Audio Doorbell',
|
|
808
966
|
code: 0x0141,
|
|
809
967
|
deviceClass: DeviceClasses.Simple,
|
|
968
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
810
969
|
revision: 2,
|
|
811
970
|
requiredServerClusters: [Identify.id, Switch.id, CameraAvStreamManagement.id, WebRtcTransportProvider.id],
|
|
812
971
|
optionalServerClusters: [WebRtcTransportRequestor.id, PushAvStreamTransport.id],
|
|
@@ -815,24 +974,30 @@ export const audioDoorbell = DeviceTypeDefinition({
|
|
|
815
974
|
});
|
|
816
975
|
export const snapshotCamera = DeviceTypeDefinition({
|
|
817
976
|
name: 'MA-snapshotCamera',
|
|
977
|
+
deviceName: 'Snapshot Camera',
|
|
818
978
|
code: 0x0145,
|
|
819
979
|
deviceClass: DeviceClasses.Simple,
|
|
980
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
820
981
|
revision: 1,
|
|
821
982
|
requiredServerClusters: [CameraAvStreamManagement.id],
|
|
822
983
|
optionalServerClusters: [Identify.id, OccupancySensing.id, ZoneManagement.id, CameraAvSettingsUserLevelManagement.id],
|
|
823
984
|
});
|
|
824
985
|
export const chime = DeviceTypeDefinition({
|
|
825
986
|
name: 'MA-chime',
|
|
987
|
+
deviceName: 'Chime',
|
|
826
988
|
code: 0x0146,
|
|
827
989
|
deviceClass: DeviceClasses.Simple,
|
|
990
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
828
991
|
revision: 1,
|
|
829
992
|
requiredServerClusters: [Chime.id],
|
|
830
993
|
optionalServerClusters: [Identify.id],
|
|
831
994
|
});
|
|
832
995
|
export const cameraController = DeviceTypeDefinition({
|
|
833
996
|
name: 'MA-cameraController',
|
|
997
|
+
deviceName: 'Camera Controller',
|
|
834
998
|
code: 0x0147,
|
|
835
999
|
deviceClass: DeviceClasses.Simple,
|
|
1000
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
836
1001
|
revision: 1,
|
|
837
1002
|
requiredServerClusters: [WebRtcTransportRequestor.id],
|
|
838
1003
|
optionalServerClusters: [],
|
|
@@ -851,8 +1016,10 @@ export const cameraController = DeviceTypeDefinition({
|
|
|
851
1016
|
});
|
|
852
1017
|
export const doorbell = DeviceTypeDefinition({
|
|
853
1018
|
name: 'MA-doorbell',
|
|
1019
|
+
deviceName: 'Doorbell',
|
|
854
1020
|
code: 0x0148,
|
|
855
1021
|
deviceClass: DeviceClasses.Simple,
|
|
1022
|
+
deviceScope: DeviceScopes.Endpoint,
|
|
856
1023
|
revision: 2,
|
|
857
1024
|
requiredServerClusters: [Identify.id, Switch.id],
|
|
858
1025
|
optionalServerClusters: [],
|