@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.
@@ -120,10 +120,17 @@ export var DeviceClasses;
120
120
  DeviceClasses["Duplicate"] = "Duplicate";
121
121
  DeviceClasses["BridgedPowerSourceInfo"] = "BridgedPowerSourceInfo";
122
122
  })(DeviceClasses || (DeviceClasses = {}));
123
- export const DeviceTypeDefinition = ({ name, code, deviceClass, revision, requiredServerClusters = [], optionalServerClusters = [], requiredClientClusters = [], optionalClientClusters = [], }) => ({
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
- revision: 4,
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: [],