@matterbridge/core 3.7.10 → 3.8.0-dev-20260524-92c5fdd
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/behaviors/activatedCarbonFilterMonitoringServer.d.ts +5 -2
- package/dist/behaviors/bindingServer.js +0 -2
- package/dist/behaviors/booleanStateConfigurationServer.d.ts +6 -1
- package/dist/behaviors/colorControlServer.d.ts +20 -774
- package/dist/behaviors/deviceEnergyManagementServer.d.ts +9 -299
- package/dist/behaviors/doorLockServer.d.ts +29 -47
- package/dist/behaviors/doorLockServer.js +11 -299
- package/dist/behaviors/fanControlServer.d.ts +8 -1
- package/dist/behaviors/hepaFilterMonitoringServer.d.ts +5 -2
- package/dist/behaviors/smokeCoAlarmServer.d.ts +4 -77
- package/dist/behaviors/thermostatServer.d.ts +20 -722
- package/dist/behaviors/valveConfigurationAndControlServer.d.ts +4 -1
- package/dist/behaviors/windowCoveringServer.d.ts +28 -564
- package/dist/clusters/closure-control.d.ts +130 -620
- package/dist/clusters/closure-control.js +15 -170
- package/dist/clusters/closure-dimension.d.ts +148 -814
- package/dist/clusters/closure-dimension.js +15 -202
- package/dist/clusters/export.d.ts +1 -3
- package/dist/clusters/export.js +1 -3
- package/dist/clusters/soil-measurement.d.ts +31 -31
- package/dist/clusters/soil-measurement.js +29 -19
- package/dist/devices/closure.d.ts +14 -291
- package/dist/devices/closure.js +6 -13
- package/dist/devices/closurePanel.d.ts +13 -370
- package/dist/devices/closurePanel.js +9 -15
- package/dist/devices/evse.d.ts +7 -1
- package/dist/devices/heatPump.js +5 -5
- package/dist/devices/irrigationSystem.js +2 -2
- package/dist/devices/microwaveOven.d.ts +5 -76
- package/dist/devices/roboticVacuumCleaner.js +5 -5
- package/dist/devices/soilSensor.d.ts +0 -15
- package/dist/devices/soilSensor.js +4 -20
- package/dist/devices/temperatureControl.d.ts +10 -130
- package/dist/helpers.js +0 -8
- package/dist/jestutils/jestBroadcastServerSpy.d.ts +2 -2
- package/dist/jestutils/jestMatterTest.js +4 -4
- package/dist/jestutils/jestMatterbridgeEndpointSpy.d.ts +34 -37
- package/dist/jestutils/jestMatterbridgePlatformSpy.d.ts +4 -4
- package/dist/jestutils/jestMatterbridgeTest.js +1 -1
- package/dist/matter/export.d.ts +11 -0
- package/dist/matter/export.js +11 -0
- package/dist/matterbridge.js +3 -1
- package/dist/matterbridgeDeviceTypes.d.ts +15 -0
- package/dist/matterbridgeDeviceTypes.js +305 -162
- package/dist/matterbridgeEndpoint.d.ts +35 -25
- package/dist/matterbridgeEndpoint.js +6 -7
- package/dist/matterbridgeEndpointCommandHandler.d.ts +3 -59
- package/dist/matterbridgeEndpointHelpers.d.ts +83 -1382
- package/dist/matterbridgeEndpointHelpers.js +20 -5
- package/package.json +6 -6
|
@@ -7,16 +7,26 @@ import { AdministratorCommissioning } from '@matter/types/clusters/administrator
|
|
|
7
7
|
import { AirQuality } from '@matter/types/clusters/air-quality';
|
|
8
8
|
import { ApplicationLauncher } from '@matter/types/clusters/application-launcher';
|
|
9
9
|
import { AudioOutput } from '@matter/types/clusters/audio-output';
|
|
10
|
+
import { Binding } from '@matter/types/clusters/binding';
|
|
10
11
|
import { BooleanState } from '@matter/types/clusters/boolean-state';
|
|
11
12
|
import { BooleanStateConfiguration } from '@matter/types/clusters/boolean-state-configuration';
|
|
12
13
|
import { BridgedDeviceBasicInformation } from '@matter/types/clusters/bridged-device-basic-information';
|
|
14
|
+
import { CameraAvSettingsUserLevelManagement } from '@matter/types/clusters/camera-av-settings-user-level-management';
|
|
15
|
+
import { CameraAvStreamManagement } from '@matter/types/clusters/camera-av-stream-management';
|
|
13
16
|
import { CarbonDioxideConcentrationMeasurement } from '@matter/types/clusters/carbon-dioxide-concentration-measurement';
|
|
14
17
|
import { CarbonMonoxideConcentrationMeasurement } from '@matter/types/clusters/carbon-monoxide-concentration-measurement';
|
|
15
18
|
import { Channel } from '@matter/types/clusters/channel';
|
|
19
|
+
import { Chime } from '@matter/types/clusters/chime';
|
|
20
|
+
import { ClosureControl } from '@matter/types/clusters/closure-control';
|
|
21
|
+
import { ClosureDimension } from '@matter/types/clusters/closure-dimension';
|
|
16
22
|
import { ColorControl } from '@matter/types/clusters/color-control';
|
|
17
23
|
import { CommissionerControl } from '@matter/types/clusters/commissioner-control';
|
|
24
|
+
import { CommodityMetering } from '@matter/types/clusters/commodity-metering';
|
|
25
|
+
import { CommodityPrice } from '@matter/types/clusters/commodity-price';
|
|
26
|
+
import { CommodityTariff } from '@matter/types/clusters/commodity-tariff';
|
|
18
27
|
import { ContentControl } from '@matter/types/clusters/content-control';
|
|
19
28
|
import { ContentLauncher } from '@matter/types/clusters/content-launcher';
|
|
29
|
+
import { Descriptor } from '@matter/types/clusters/descriptor';
|
|
20
30
|
import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-management';
|
|
21
31
|
import { DeviceEnergyManagementMode } from '@matter/types/clusters/device-energy-management-mode';
|
|
22
32
|
import { DishwasherAlarm } from '@matter/types/clusters/dishwasher-alarm';
|
|
@@ -24,11 +34,13 @@ import { DishwasherMode } from '@matter/types/clusters/dishwasher-mode';
|
|
|
24
34
|
import { DoorLock } from '@matter/types/clusters/door-lock';
|
|
25
35
|
import { EcosystemInformation } from '@matter/types/clusters/ecosystem-information';
|
|
26
36
|
import { ElectricalEnergyMeasurement } from '@matter/types/clusters/electrical-energy-measurement';
|
|
37
|
+
import { ElectricalGridConditions } from '@matter/types/clusters/electrical-grid-conditions';
|
|
27
38
|
import { ElectricalPowerMeasurement } from '@matter/types/clusters/electrical-power-measurement';
|
|
28
39
|
import { EnergyEvse } from '@matter/types/clusters/energy-evse';
|
|
29
40
|
import { EnergyEvseMode } from '@matter/types/clusters/energy-evse-mode';
|
|
30
41
|
import { EnergyPreference } from '@matter/types/clusters/energy-preference';
|
|
31
42
|
import { FanControl } from '@matter/types/clusters/fan-control';
|
|
43
|
+
import { FixedLabel } from '@matter/types/clusters/fixed-label';
|
|
32
44
|
import { FlowMeasurement } from '@matter/types/clusters/flow-measurement';
|
|
33
45
|
import { FormaldehydeConcentrationMeasurement } from '@matter/types/clusters/formaldehyde-concentration-measurement';
|
|
34
46
|
import { Groups } from '@matter/types/clusters/groups';
|
|
@@ -44,6 +56,7 @@ import { LowPower } from '@matter/types/clusters/low-power';
|
|
|
44
56
|
import { MediaInput } from '@matter/types/clusters/media-input';
|
|
45
57
|
import { MediaPlayback } from '@matter/types/clusters/media-playback';
|
|
46
58
|
import { Messages } from '@matter/types/clusters/messages';
|
|
59
|
+
import { MeterIdentification } from '@matter/types/clusters/meter-identification';
|
|
47
60
|
import { MicrowaveOvenControl } from '@matter/types/clusters/microwave-oven-control';
|
|
48
61
|
import { MicrowaveOvenMode } from '@matter/types/clusters/microwave-oven-mode';
|
|
49
62
|
import { ModeSelect } from '@matter/types/clusters/mode-select';
|
|
@@ -63,6 +76,7 @@ import { PowerSource } from '@matter/types/clusters/power-source';
|
|
|
63
76
|
import { PowerTopology } from '@matter/types/clusters/power-topology';
|
|
64
77
|
import { PressureMeasurement } from '@matter/types/clusters/pressure-measurement';
|
|
65
78
|
import { PumpConfigurationAndControl } from '@matter/types/clusters/pump-configuration-and-control';
|
|
79
|
+
import { PushAvStreamTransport } from '@matter/types/clusters/push-av-stream-transport';
|
|
66
80
|
import { RadonConcentrationMeasurement } from '@matter/types/clusters/radon-concentration-measurement';
|
|
67
81
|
import { RefrigeratorAlarm } from '@matter/types/clusters/refrigerator-alarm';
|
|
68
82
|
import { RefrigeratorAndTemperatureControlledCabinetMode } from '@matter/types/clusters/refrigerator-and-temperature-controlled-cabinet-mode';
|
|
@@ -73,6 +87,7 @@ import { RvcRunMode } from '@matter/types/clusters/rvc-run-mode';
|
|
|
73
87
|
import { ScenesManagement } from '@matter/types/clusters/scenes-management';
|
|
74
88
|
import { ServiceArea } from '@matter/types/clusters/service-area';
|
|
75
89
|
import { SmokeCoAlarm } from '@matter/types/clusters/smoke-co-alarm';
|
|
90
|
+
import { SoilMeasurement } from '@matter/types/clusters/soil-measurement';
|
|
76
91
|
import { Switch } from '@matter/types/clusters/switch';
|
|
77
92
|
import { TargetNavigator } from '@matter/types/clusters/target-navigator';
|
|
78
93
|
import { TemperatureControl } from '@matter/types/clusters/temperature-control';
|
|
@@ -80,15 +95,16 @@ import { TemperatureMeasurement } from '@matter/types/clusters/temperature-measu
|
|
|
80
95
|
import { Thermostat } from '@matter/types/clusters/thermostat';
|
|
81
96
|
import { ThermostatUserInterfaceConfiguration } from '@matter/types/clusters/thermostat-user-interface-configuration';
|
|
82
97
|
import { TotalVolatileOrganicCompoundsConcentrationMeasurement } from '@matter/types/clusters/total-volatile-organic-compounds-concentration-measurement';
|
|
98
|
+
import { UserLabel } from '@matter/types/clusters/user-label';
|
|
83
99
|
import { ValveConfigurationAndControl } from '@matter/types/clusters/valve-configuration-and-control';
|
|
84
100
|
import { WakeOnLan } from '@matter/types/clusters/wake-on-lan';
|
|
85
101
|
import { WaterHeaterManagement } from '@matter/types/clusters/water-heater-management';
|
|
86
102
|
import { WaterHeaterMode } from '@matter/types/clusters/water-heater-mode';
|
|
103
|
+
import { WebRtcTransportProvider } from '@matter/types/clusters/web-rtc-transport-provider';
|
|
104
|
+
import { WebRtcTransportRequestor } from '@matter/types/clusters/web-rtc-transport-requestor';
|
|
87
105
|
import { WindowCovering } from '@matter/types/clusters/window-covering';
|
|
106
|
+
import { ZoneManagement } from '@matter/types/clusters/zone-management';
|
|
88
107
|
import { DeviceTypeId } from '@matter/types/datatype';
|
|
89
|
-
import { ClosureControl } from './clusters/closure-control.js';
|
|
90
|
-
import { ClosureDimension } from './clusters/closure-dimension.js';
|
|
91
|
-
import { SoilMeasurement } from './clusters/soil-measurement.js';
|
|
92
108
|
export var DeviceClasses;
|
|
93
109
|
(function (DeviceClasses) {
|
|
94
110
|
DeviceClasses["Node"] = "Node";
|
|
@@ -112,11 +128,19 @@ export const DeviceTypeDefinition = ({ name, code, deviceClass, revision, requir
|
|
|
112
128
|
requiredClientClusters,
|
|
113
129
|
optionalClientClusters,
|
|
114
130
|
});
|
|
131
|
+
export const baseDevice = DeviceTypeDefinition({
|
|
132
|
+
name: 'MA-baseDevice',
|
|
133
|
+
code: 0x0000,
|
|
134
|
+
deviceClass: DeviceClasses.Simple,
|
|
135
|
+
revision: 3,
|
|
136
|
+
requiredServerClusters: [Descriptor.id],
|
|
137
|
+
optionalServerClusters: [Binding.id, FixedLabel.id, UserLabel.id],
|
|
138
|
+
});
|
|
115
139
|
export const rootNode = DeviceTypeDefinition({
|
|
116
140
|
name: 'MA-rootNode',
|
|
117
141
|
code: 0x0016,
|
|
118
142
|
deviceClass: DeviceClasses.Node,
|
|
119
|
-
revision:
|
|
143
|
+
revision: 4,
|
|
120
144
|
requiredServerClusters: [],
|
|
121
145
|
optionalServerClusters: [],
|
|
122
146
|
});
|
|
@@ -125,7 +149,7 @@ export const powerSource = DeviceTypeDefinition({
|
|
|
125
149
|
code: 0x0011,
|
|
126
150
|
deviceClass: DeviceClasses.Utility,
|
|
127
151
|
revision: 1,
|
|
128
|
-
requiredServerClusters: [PowerSource.
|
|
152
|
+
requiredServerClusters: [PowerSource.id],
|
|
129
153
|
optionalServerClusters: [],
|
|
130
154
|
});
|
|
131
155
|
export const OTARequestor = DeviceTypeDefinition({
|
|
@@ -133,9 +157,9 @@ export const OTARequestor = DeviceTypeDefinition({
|
|
|
133
157
|
code: 0x0012,
|
|
134
158
|
deviceClass: DeviceClasses.Utility,
|
|
135
159
|
revision: 1,
|
|
136
|
-
requiredServerClusters: [OtaSoftwareUpdateRequestor.
|
|
160
|
+
requiredServerClusters: [OtaSoftwareUpdateRequestor.id],
|
|
137
161
|
optionalServerClusters: [],
|
|
138
|
-
requiredClientClusters: [OtaSoftwareUpdateProvider.
|
|
162
|
+
requiredClientClusters: [OtaSoftwareUpdateProvider.id],
|
|
139
163
|
optionalClientClusters: [],
|
|
140
164
|
});
|
|
141
165
|
export const OTAProvider = DeviceTypeDefinition({
|
|
@@ -143,9 +167,9 @@ export const OTAProvider = DeviceTypeDefinition({
|
|
|
143
167
|
code: 0x0014,
|
|
144
168
|
deviceClass: DeviceClasses.Utility,
|
|
145
169
|
revision: 1,
|
|
146
|
-
requiredServerClusters: [OtaSoftwareUpdateProvider.
|
|
170
|
+
requiredServerClusters: [OtaSoftwareUpdateProvider.id],
|
|
147
171
|
optionalServerClusters: [],
|
|
148
|
-
requiredClientClusters: [OtaSoftwareUpdateRequestor.
|
|
172
|
+
requiredClientClusters: [OtaSoftwareUpdateRequestor.id],
|
|
149
173
|
optionalClientClusters: [],
|
|
150
174
|
});
|
|
151
175
|
export const bridgedNode = DeviceTypeDefinition({
|
|
@@ -153,39 +177,39 @@ export const bridgedNode = DeviceTypeDefinition({
|
|
|
153
177
|
code: 0x0013,
|
|
154
178
|
deviceClass: DeviceClasses.Utility,
|
|
155
179
|
revision: 3,
|
|
156
|
-
requiredServerClusters: [BridgedDeviceBasicInformation.
|
|
157
|
-
optionalServerClusters: [PowerSource.
|
|
180
|
+
requiredServerClusters: [BridgedDeviceBasicInformation.id],
|
|
181
|
+
optionalServerClusters: [PowerSource.id, EcosystemInformation.id, AdministratorCommissioning.id],
|
|
158
182
|
});
|
|
159
183
|
export const electricalSensor = DeviceTypeDefinition({
|
|
160
184
|
name: 'MA-electricalSensor',
|
|
161
185
|
code: 0x0510,
|
|
162
186
|
deviceClass: DeviceClasses.Utility,
|
|
163
187
|
revision: 1,
|
|
164
|
-
requiredServerClusters: [PowerTopology.
|
|
165
|
-
optionalServerClusters: [ElectricalPowerMeasurement.
|
|
188
|
+
requiredServerClusters: [PowerTopology.id],
|
|
189
|
+
optionalServerClusters: [ElectricalPowerMeasurement.id, ElectricalEnergyMeasurement.id],
|
|
166
190
|
});
|
|
167
191
|
export const deviceEnergyManagement = DeviceTypeDefinition({
|
|
168
192
|
name: 'MA-deviceEnergyManagement',
|
|
169
193
|
code: 0x050d,
|
|
170
194
|
deviceClass: DeviceClasses.Utility,
|
|
171
|
-
revision:
|
|
172
|
-
requiredServerClusters: [DeviceEnergyManagement.
|
|
173
|
-
optionalServerClusters: [DeviceEnergyManagementMode.
|
|
195
|
+
revision: 3,
|
|
196
|
+
requiredServerClusters: [DeviceEnergyManagement.id],
|
|
197
|
+
optionalServerClusters: [DeviceEnergyManagementMode.id],
|
|
174
198
|
});
|
|
175
199
|
export const onOffLight = DeviceTypeDefinition({
|
|
176
200
|
name: 'MA-onofflight',
|
|
177
201
|
code: 0x0100,
|
|
178
202
|
deviceClass: DeviceClasses.Simple,
|
|
179
203
|
revision: 3,
|
|
180
|
-
requiredServerClusters: [Identify.
|
|
181
|
-
optionalServerClusters: [LevelControl.
|
|
204
|
+
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id],
|
|
205
|
+
optionalServerClusters: [LevelControl.id],
|
|
182
206
|
});
|
|
183
207
|
export const dimmableLight = DeviceTypeDefinition({
|
|
184
208
|
name: 'MA-dimmablelight',
|
|
185
209
|
code: 0x0101,
|
|
186
210
|
deviceClass: DeviceClasses.Simple,
|
|
187
211
|
revision: 3,
|
|
188
|
-
requiredServerClusters: [Identify.
|
|
212
|
+
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id],
|
|
189
213
|
optionalServerClusters: [],
|
|
190
214
|
});
|
|
191
215
|
export const colorTemperatureLight = DeviceTypeDefinition({
|
|
@@ -193,7 +217,7 @@ export const colorTemperatureLight = DeviceTypeDefinition({
|
|
|
193
217
|
code: 0x010c,
|
|
194
218
|
deviceClass: DeviceClasses.Simple,
|
|
195
219
|
revision: 4,
|
|
196
|
-
requiredServerClusters: [Identify.
|
|
220
|
+
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id, ColorControl.id],
|
|
197
221
|
optionalServerClusters: [],
|
|
198
222
|
});
|
|
199
223
|
export const extendedColorLight = DeviceTypeDefinition({
|
|
@@ -201,7 +225,7 @@ export const extendedColorLight = DeviceTypeDefinition({
|
|
|
201
225
|
code: 0x010d,
|
|
202
226
|
deviceClass: DeviceClasses.Simple,
|
|
203
227
|
revision: 4,
|
|
204
|
-
requiredServerClusters: [Identify.
|
|
228
|
+
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id, ColorControl.id],
|
|
205
229
|
optionalServerClusters: [],
|
|
206
230
|
});
|
|
207
231
|
export const onOffOutlet = DeviceTypeDefinition({
|
|
@@ -209,15 +233,15 @@ export const onOffOutlet = DeviceTypeDefinition({
|
|
|
209
233
|
code: 0x010a,
|
|
210
234
|
deviceClass: DeviceClasses.Simple,
|
|
211
235
|
revision: 4,
|
|
212
|
-
requiredServerClusters: [Identify.
|
|
213
|
-
optionalServerClusters: [LevelControl.
|
|
236
|
+
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id],
|
|
237
|
+
optionalServerClusters: [LevelControl.id],
|
|
214
238
|
});
|
|
215
239
|
export const dimmableOutlet = DeviceTypeDefinition({
|
|
216
240
|
name: 'MA-dimmablepluginunit',
|
|
217
241
|
code: 0x010b,
|
|
218
242
|
deviceClass: DeviceClasses.Simple,
|
|
219
243
|
revision: 5,
|
|
220
|
-
requiredServerClusters: [Identify.
|
|
244
|
+
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id],
|
|
221
245
|
optionalServerClusters: [],
|
|
222
246
|
});
|
|
223
247
|
export const onOffMountedSwitch = DeviceTypeDefinition({
|
|
@@ -225,15 +249,15 @@ export const onOffMountedSwitch = DeviceTypeDefinition({
|
|
|
225
249
|
code: 0x010f,
|
|
226
250
|
deviceClass: DeviceClasses.Simple,
|
|
227
251
|
revision: 2,
|
|
228
|
-
requiredServerClusters: [Identify.
|
|
229
|
-
optionalServerClusters: [LevelControl.
|
|
252
|
+
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id],
|
|
253
|
+
optionalServerClusters: [LevelControl.id],
|
|
230
254
|
});
|
|
231
255
|
export const dimmableMountedSwitch = DeviceTypeDefinition({
|
|
232
256
|
name: 'MA-dimmablemountedswitch',
|
|
233
257
|
code: 0x0110,
|
|
234
258
|
deviceClass: DeviceClasses.Simple,
|
|
235
259
|
revision: 2,
|
|
236
|
-
requiredServerClusters: [Identify.
|
|
260
|
+
requiredServerClusters: [Identify.id, Groups.id, ScenesManagement.id, OnOff.id, LevelControl.id],
|
|
237
261
|
optionalServerClusters: [],
|
|
238
262
|
});
|
|
239
263
|
export const pumpDevice = DeviceTypeDefinition({
|
|
@@ -241,54 +265,47 @@ export const pumpDevice = DeviceTypeDefinition({
|
|
|
241
265
|
code: 0x303,
|
|
242
266
|
deviceClass: DeviceClasses.Simple,
|
|
243
267
|
revision: 3,
|
|
244
|
-
requiredServerClusters: [OnOff.
|
|
245
|
-
optionalServerClusters: [
|
|
246
|
-
LevelControl.Cluster.id,
|
|
247
|
-
Groups.Cluster.id,
|
|
248
|
-
ScenesManagement.Cluster.id,
|
|
249
|
-
TemperatureMeasurement.Cluster.id,
|
|
250
|
-
PressureMeasurement.Cluster.id,
|
|
251
|
-
FlowMeasurement.Cluster.id,
|
|
252
|
-
],
|
|
268
|
+
requiredServerClusters: [OnOff.id, PumpConfigurationAndControl.id, Identify.id],
|
|
269
|
+
optionalServerClusters: [LevelControl.id, Groups.id, ScenesManagement.id, TemperatureMeasurement.id, PressureMeasurement.id, FlowMeasurement.id],
|
|
253
270
|
});
|
|
254
271
|
export const waterValve = DeviceTypeDefinition({
|
|
255
272
|
name: 'MA-waterValve',
|
|
256
273
|
code: 0x42,
|
|
257
274
|
deviceClass: DeviceClasses.Simple,
|
|
258
275
|
revision: 1,
|
|
259
|
-
requiredServerClusters: [Identify.
|
|
260
|
-
optionalServerClusters: [FlowMeasurement.
|
|
276
|
+
requiredServerClusters: [Identify.id, ValveConfigurationAndControl.id],
|
|
277
|
+
optionalServerClusters: [FlowMeasurement.id],
|
|
261
278
|
});
|
|
262
279
|
export const onOffSwitch = DeviceTypeDefinition({
|
|
263
280
|
name: 'MA-onoffswitch',
|
|
264
281
|
code: 0x0103,
|
|
265
282
|
deviceClass: DeviceClasses.Simple,
|
|
266
283
|
revision: 3,
|
|
267
|
-
requiredServerClusters: [Identify.
|
|
268
|
-
optionalServerClusters: [Groups.
|
|
284
|
+
requiredServerClusters: [Identify.id, OnOff.id],
|
|
285
|
+
optionalServerClusters: [Groups.id, ScenesManagement.id],
|
|
269
286
|
});
|
|
270
287
|
export const dimmableSwitch = DeviceTypeDefinition({
|
|
271
288
|
name: 'MA-dimmableswitch',
|
|
272
289
|
code: 0x0104,
|
|
273
290
|
deviceClass: DeviceClasses.Simple,
|
|
274
291
|
revision: 3,
|
|
275
|
-
requiredServerClusters: [Identify.
|
|
276
|
-
optionalServerClusters: [Groups.
|
|
292
|
+
requiredServerClusters: [Identify.id, OnOff.id, LevelControl.id],
|
|
293
|
+
optionalServerClusters: [Groups.id, ScenesManagement.id],
|
|
277
294
|
});
|
|
278
295
|
export const colorTemperatureSwitch = DeviceTypeDefinition({
|
|
279
296
|
name: 'MA-colortemperatureswitch',
|
|
280
297
|
code: 0x0105,
|
|
281
298
|
deviceClass: DeviceClasses.Simple,
|
|
282
299
|
revision: 3,
|
|
283
|
-
requiredServerClusters: [Identify.
|
|
284
|
-
optionalServerClusters: [Groups.
|
|
300
|
+
requiredServerClusters: [Identify.id, OnOff.id, LevelControl.id, ColorControl.id],
|
|
301
|
+
optionalServerClusters: [Groups.id, ScenesManagement.id],
|
|
285
302
|
});
|
|
286
303
|
export const genericSwitch = DeviceTypeDefinition({
|
|
287
304
|
name: 'MA-genericswitch',
|
|
288
305
|
code: 0x000f,
|
|
289
306
|
deviceClass: DeviceClasses.Simple,
|
|
290
307
|
revision: 3,
|
|
291
|
-
requiredServerClusters: [Identify.
|
|
308
|
+
requiredServerClusters: [Identify.id, Switch.id],
|
|
292
309
|
optionalServerClusters: [],
|
|
293
310
|
});
|
|
294
311
|
export const contactSensor = DeviceTypeDefinition({
|
|
@@ -296,79 +313,80 @@ export const contactSensor = DeviceTypeDefinition({
|
|
|
296
313
|
code: 0x0015,
|
|
297
314
|
deviceClass: DeviceClasses.Simple,
|
|
298
315
|
revision: 2,
|
|
299
|
-
requiredServerClusters: [Identify.
|
|
300
|
-
optionalServerClusters: [BooleanStateConfiguration.
|
|
316
|
+
requiredServerClusters: [Identify.id, BooleanState.id],
|
|
317
|
+
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
301
318
|
});
|
|
302
319
|
export const lightSensor = DeviceTypeDefinition({
|
|
303
320
|
name: 'MA-lightsensor',
|
|
304
321
|
code: 0x0106,
|
|
305
322
|
deviceClass: DeviceClasses.Simple,
|
|
306
|
-
revision:
|
|
307
|
-
requiredServerClusters: [Identify.
|
|
323
|
+
revision: 4,
|
|
324
|
+
requiredServerClusters: [Identify.id, IlluminanceMeasurement.id],
|
|
308
325
|
});
|
|
309
326
|
export const occupancySensor = DeviceTypeDefinition({
|
|
310
327
|
name: 'MA-occupancysensor',
|
|
311
328
|
code: 0x0107,
|
|
312
329
|
deviceClass: DeviceClasses.Simple,
|
|
313
330
|
revision: 4,
|
|
314
|
-
requiredServerClusters: [Identify.
|
|
315
|
-
optionalServerClusters: [BooleanStateConfiguration.
|
|
331
|
+
requiredServerClusters: [Identify.id, OccupancySensing.id],
|
|
332
|
+
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
316
333
|
});
|
|
317
334
|
export const temperatureSensor = DeviceTypeDefinition({
|
|
318
335
|
name: 'MA-tempsensor',
|
|
319
336
|
code: 0x0302,
|
|
320
337
|
deviceClass: DeviceClasses.Simple,
|
|
321
|
-
revision:
|
|
322
|
-
requiredServerClusters: [Identify.
|
|
338
|
+
revision: 3,
|
|
339
|
+
requiredServerClusters: [Identify.id, TemperatureMeasurement.id],
|
|
340
|
+
optionalServerClusters: [ThermostatUserInterfaceConfiguration.id],
|
|
323
341
|
});
|
|
324
342
|
export const pressureSensor = DeviceTypeDefinition({
|
|
325
343
|
name: 'MA-pressuresensor',
|
|
326
344
|
code: 0x0305,
|
|
327
345
|
deviceClass: DeviceClasses.Simple,
|
|
328
|
-
revision:
|
|
329
|
-
requiredServerClusters: [Identify.
|
|
346
|
+
revision: 3,
|
|
347
|
+
requiredServerClusters: [Identify.id, PressureMeasurement.id],
|
|
330
348
|
});
|
|
331
349
|
export const flowSensor = DeviceTypeDefinition({
|
|
332
350
|
name: 'MA-flowsensor',
|
|
333
351
|
code: 0x0306,
|
|
334
352
|
deviceClass: DeviceClasses.Simple,
|
|
335
|
-
revision:
|
|
336
|
-
requiredServerClusters: [Identify.
|
|
353
|
+
revision: 3,
|
|
354
|
+
requiredServerClusters: [Identify.id, FlowMeasurement.id],
|
|
337
355
|
});
|
|
338
356
|
export const humiditySensor = DeviceTypeDefinition({
|
|
339
357
|
name: 'MA-humiditysensor',
|
|
340
358
|
code: 0x0307,
|
|
341
359
|
deviceClass: DeviceClasses.Simple,
|
|
342
|
-
revision:
|
|
343
|
-
requiredServerClusters: [Identify.
|
|
360
|
+
revision: 3,
|
|
361
|
+
requiredServerClusters: [Identify.id, RelativeHumidityMeasurement.id],
|
|
344
362
|
});
|
|
345
363
|
export const smokeCoAlarm = DeviceTypeDefinition({
|
|
346
364
|
name: 'MA-smokeCoAlarm',
|
|
347
365
|
code: 0x0076,
|
|
348
366
|
deviceClass: DeviceClasses.Simple,
|
|
349
367
|
revision: 1,
|
|
350
|
-
requiredServerClusters: [Identify.
|
|
351
|
-
optionalServerClusters: [Groups.
|
|
368
|
+
requiredServerClusters: [Identify.id, SmokeCoAlarm.id],
|
|
369
|
+
optionalServerClusters: [Groups.id, TemperatureMeasurement.id, RelativeHumidityMeasurement.id, CarbonMonoxideConcentrationMeasurement.id],
|
|
352
370
|
});
|
|
353
371
|
export const airQualitySensor = DeviceTypeDefinition({
|
|
354
372
|
name: 'MA-airQualitySensor',
|
|
355
373
|
code: 0x002c,
|
|
356
374
|
deviceClass: DeviceClasses.Simple,
|
|
357
375
|
revision: 1,
|
|
358
|
-
requiredServerClusters: [Identify.
|
|
376
|
+
requiredServerClusters: [Identify.id, AirQuality.id],
|
|
359
377
|
optionalServerClusters: [
|
|
360
|
-
TemperatureMeasurement.
|
|
361
|
-
RelativeHumidityMeasurement.
|
|
362
|
-
CarbonMonoxideConcentrationMeasurement.
|
|
363
|
-
CarbonDioxideConcentrationMeasurement.
|
|
364
|
-
NitrogenDioxideConcentrationMeasurement.
|
|
365
|
-
OzoneConcentrationMeasurement.
|
|
366
|
-
FormaldehydeConcentrationMeasurement.
|
|
367
|
-
Pm1ConcentrationMeasurement.
|
|
368
|
-
Pm25ConcentrationMeasurement.
|
|
369
|
-
Pm10ConcentrationMeasurement.
|
|
370
|
-
RadonConcentrationMeasurement.
|
|
371
|
-
TotalVolatileOrganicCompoundsConcentrationMeasurement.
|
|
378
|
+
TemperatureMeasurement.id,
|
|
379
|
+
RelativeHumidityMeasurement.id,
|
|
380
|
+
CarbonMonoxideConcentrationMeasurement.id,
|
|
381
|
+
CarbonDioxideConcentrationMeasurement.id,
|
|
382
|
+
NitrogenDioxideConcentrationMeasurement.id,
|
|
383
|
+
OzoneConcentrationMeasurement.id,
|
|
384
|
+
FormaldehydeConcentrationMeasurement.id,
|
|
385
|
+
Pm1ConcentrationMeasurement.id,
|
|
386
|
+
Pm25ConcentrationMeasurement.id,
|
|
387
|
+
Pm10ConcentrationMeasurement.id,
|
|
388
|
+
RadonConcentrationMeasurement.id,
|
|
389
|
+
TotalVolatileOrganicCompoundsConcentrationMeasurement.id,
|
|
372
390
|
],
|
|
373
391
|
});
|
|
374
392
|
export const waterFreezeDetector = DeviceTypeDefinition({
|
|
@@ -376,99 +394,90 @@ export const waterFreezeDetector = DeviceTypeDefinition({
|
|
|
376
394
|
code: 0x0041,
|
|
377
395
|
deviceClass: DeviceClasses.Simple,
|
|
378
396
|
revision: 1,
|
|
379
|
-
requiredServerClusters: [Identify.
|
|
380
|
-
optionalServerClusters: [BooleanStateConfiguration.
|
|
397
|
+
requiredServerClusters: [Identify.id, BooleanState.id],
|
|
398
|
+
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
381
399
|
});
|
|
382
400
|
export const waterLeakDetector = DeviceTypeDefinition({
|
|
383
401
|
name: 'MA-waterLeakDetector',
|
|
384
402
|
code: 0x0043,
|
|
385
403
|
deviceClass: DeviceClasses.Simple,
|
|
386
404
|
revision: 1,
|
|
387
|
-
requiredServerClusters: [Identify.
|
|
388
|
-
optionalServerClusters: [BooleanStateConfiguration.
|
|
405
|
+
requiredServerClusters: [Identify.id, BooleanState.id],
|
|
406
|
+
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
389
407
|
});
|
|
390
408
|
export const rainSensor = DeviceTypeDefinition({
|
|
391
409
|
name: 'MA-rainSensor',
|
|
392
410
|
code: 0x0044,
|
|
393
411
|
deviceClass: DeviceClasses.Simple,
|
|
394
412
|
revision: 1,
|
|
395
|
-
requiredServerClusters: [Identify.
|
|
396
|
-
optionalServerClusters: [BooleanStateConfiguration.
|
|
413
|
+
requiredServerClusters: [Identify.id, BooleanState.id],
|
|
414
|
+
optionalServerClusters: [BooleanStateConfiguration.id],
|
|
397
415
|
});
|
|
398
416
|
export const doorLockDevice = DeviceTypeDefinition({
|
|
399
417
|
name: 'MA-doorLock',
|
|
400
418
|
code: 0xa,
|
|
401
419
|
deviceClass: DeviceClasses.Simple,
|
|
402
|
-
revision:
|
|
403
|
-
requiredServerClusters: [Identify.
|
|
404
|
-
optionalServerClusters: [
|
|
420
|
+
revision: 4,
|
|
421
|
+
requiredServerClusters: [Identify.id, DoorLock.id],
|
|
422
|
+
optionalServerClusters: [],
|
|
405
423
|
});
|
|
406
424
|
export const coverDevice = DeviceTypeDefinition({
|
|
407
425
|
name: 'MA-windowCovering',
|
|
408
426
|
code: 0x202,
|
|
409
427
|
deviceClass: DeviceClasses.Simple,
|
|
410
|
-
revision:
|
|
411
|
-
requiredServerClusters: [Identify.
|
|
412
|
-
optionalServerClusters: [Groups.
|
|
428
|
+
revision: 6,
|
|
429
|
+
requiredServerClusters: [Identify.id, WindowCovering.id],
|
|
430
|
+
optionalServerClusters: [Groups.id],
|
|
413
431
|
});
|
|
414
432
|
export const thermostatDevice = DeviceTypeDefinition({
|
|
415
433
|
name: 'MA-thermostat',
|
|
416
434
|
code: 0x301,
|
|
417
435
|
deviceClass: DeviceClasses.Simple,
|
|
418
|
-
revision:
|
|
419
|
-
requiredServerClusters: [Identify.
|
|
420
|
-
optionalServerClusters: [Groups.
|
|
436
|
+
revision: 5,
|
|
437
|
+
requiredServerClusters: [Identify.id, Thermostat.id],
|
|
438
|
+
optionalServerClusters: [Groups.id, ThermostatUserInterfaceConfiguration.id, EnergyPreference.id],
|
|
421
439
|
});
|
|
422
440
|
export const fanDevice = DeviceTypeDefinition({
|
|
423
441
|
name: 'MA-fan',
|
|
424
442
|
code: 0x2b,
|
|
425
443
|
deviceClass: DeviceClasses.Simple,
|
|
426
|
-
revision:
|
|
427
|
-
requiredServerClusters: [Identify.
|
|
428
|
-
optionalServerClusters: [OnOff.
|
|
444
|
+
revision: 4,
|
|
445
|
+
requiredServerClusters: [Identify.id, Groups.id, FanControl.id],
|
|
446
|
+
optionalServerClusters: [OnOff.id],
|
|
429
447
|
});
|
|
430
448
|
export const airPurifier = DeviceTypeDefinition({
|
|
431
449
|
name: 'MA-airPurifier',
|
|
432
450
|
code: 0x2d,
|
|
433
451
|
deviceClass: DeviceClasses.Simple,
|
|
434
452
|
revision: 2,
|
|
435
|
-
requiredServerClusters: [Identify.
|
|
436
|
-
optionalServerClusters: [Groups.
|
|
453
|
+
requiredServerClusters: [Identify.id, FanControl.id],
|
|
454
|
+
optionalServerClusters: [Groups.id, OnOff.id, HepaFilterMonitoring.id, ActivatedCarbonFilterMonitoring.id],
|
|
437
455
|
});
|
|
438
456
|
export const basicVideoPlayer = DeviceTypeDefinition({
|
|
439
457
|
name: 'MA-basicVideoPlayer',
|
|
440
458
|
code: 0x0028,
|
|
441
459
|
deviceClass: DeviceClasses.Simple,
|
|
442
460
|
revision: 2,
|
|
443
|
-
requiredServerClusters: [OnOff.
|
|
444
|
-
optionalServerClusters: [
|
|
445
|
-
WakeOnLan.Cluster.id,
|
|
446
|
-
Channel.Cluster.id,
|
|
447
|
-
TargetNavigator.Cluster.id,
|
|
448
|
-
MediaInput.Cluster.id,
|
|
449
|
-
LowPower.Cluster.id,
|
|
450
|
-
AudioOutput.Cluster.id,
|
|
451
|
-
ContentControl.Cluster.id,
|
|
452
|
-
Messages.Cluster.id,
|
|
453
|
-
],
|
|
461
|
+
requiredServerClusters: [OnOff.id, MediaPlayback.id, KeypadInput.id],
|
|
462
|
+
optionalServerClusters: [WakeOnLan.id, Channel.id, TargetNavigator.id, MediaInput.id, LowPower.id, AudioOutput.id, ContentControl.id, Messages.id],
|
|
454
463
|
});
|
|
455
464
|
export const castingVideoPlayer = DeviceTypeDefinition({
|
|
456
465
|
name: 'MA-castingVideoPlayer',
|
|
457
466
|
code: 0x0023,
|
|
458
467
|
deviceClass: DeviceClasses.Simple,
|
|
459
468
|
revision: 2,
|
|
460
|
-
requiredServerClusters: [OnOff.
|
|
469
|
+
requiredServerClusters: [OnOff.id, MediaPlayback.id, KeypadInput.id, ContentLauncher.id],
|
|
461
470
|
optionalServerClusters: [
|
|
462
|
-
WakeOnLan.
|
|
463
|
-
Channel.
|
|
464
|
-
TargetNavigator.
|
|
465
|
-
MediaInput.
|
|
466
|
-
LowPower.
|
|
467
|
-
AudioOutput.
|
|
468
|
-
ApplicationLauncher.
|
|
469
|
-
AccountLogin.
|
|
470
|
-
ContentControl.
|
|
471
|
-
Messages.
|
|
471
|
+
WakeOnLan.id,
|
|
472
|
+
Channel.id,
|
|
473
|
+
TargetNavigator.id,
|
|
474
|
+
MediaInput.id,
|
|
475
|
+
LowPower.id,
|
|
476
|
+
AudioOutput.id,
|
|
477
|
+
ApplicationLauncher.id,
|
|
478
|
+
AccountLogin.id,
|
|
479
|
+
ContentControl.id,
|
|
480
|
+
Messages.id,
|
|
472
481
|
],
|
|
473
482
|
});
|
|
474
483
|
export const speakerDevice = DeviceTypeDefinition({
|
|
@@ -476,7 +485,7 @@ export const speakerDevice = DeviceTypeDefinition({
|
|
|
476
485
|
code: 0x0022,
|
|
477
486
|
deviceClass: DeviceClasses.Simple,
|
|
478
487
|
revision: 1,
|
|
479
|
-
requiredServerClusters: [OnOff.
|
|
488
|
+
requiredServerClusters: [OnOff.id, LevelControl.id],
|
|
480
489
|
optionalServerClusters: [],
|
|
481
490
|
});
|
|
482
491
|
export const modeSelect = DeviceTypeDefinition({
|
|
@@ -484,7 +493,7 @@ export const modeSelect = DeviceTypeDefinition({
|
|
|
484
493
|
code: 0x27,
|
|
485
494
|
deviceClass: DeviceClasses.Simple,
|
|
486
495
|
revision: 1,
|
|
487
|
-
requiredServerClusters: [ModeSelect.
|
|
496
|
+
requiredServerClusters: [ModeSelect.id],
|
|
488
497
|
});
|
|
489
498
|
export const aggregator = DeviceTypeDefinition({
|
|
490
499
|
name: 'MA-aggregator',
|
|
@@ -492,7 +501,7 @@ export const aggregator = DeviceTypeDefinition({
|
|
|
492
501
|
deviceClass: DeviceClasses.Dynamic,
|
|
493
502
|
revision: 2,
|
|
494
503
|
requiredServerClusters: [],
|
|
495
|
-
optionalServerClusters: [Actions.
|
|
504
|
+
optionalServerClusters: [Actions.id, Identify.id, CommissionerControl.id],
|
|
496
505
|
});
|
|
497
506
|
export const bridge = aggregator;
|
|
498
507
|
export const roboticVacuumCleaner = DeviceTypeDefinition({
|
|
@@ -500,16 +509,16 @@ export const roboticVacuumCleaner = DeviceTypeDefinition({
|
|
|
500
509
|
code: 0x74,
|
|
501
510
|
deviceClass: DeviceClasses.Simple,
|
|
502
511
|
revision: 4,
|
|
503
|
-
requiredServerClusters: [Identify.
|
|
504
|
-
optionalServerClusters: [RvcCleanMode.
|
|
512
|
+
requiredServerClusters: [Identify.id, RvcRunMode.id, RvcOperationalState.id],
|
|
513
|
+
optionalServerClusters: [RvcCleanMode.id, ServiceArea.id],
|
|
505
514
|
});
|
|
506
515
|
export const laundryWasher = DeviceTypeDefinition({
|
|
507
516
|
name: 'MA-laundrywasher',
|
|
508
517
|
code: 0x73,
|
|
509
518
|
deviceClass: DeviceClasses.Simple,
|
|
510
519
|
revision: 2,
|
|
511
|
-
requiredServerClusters: [OperationalState.
|
|
512
|
-
optionalServerClusters: [Identify.
|
|
520
|
+
requiredServerClusters: [OperationalState.id],
|
|
521
|
+
optionalServerClusters: [Identify.id, LaundryWasherMode.id, OnOff.id, LaundryWasherControls.id, TemperatureControl.id],
|
|
513
522
|
});
|
|
514
523
|
export const refrigerator = DeviceTypeDefinition({
|
|
515
524
|
name: 'MA-refrigerator',
|
|
@@ -517,21 +526,23 @@ export const refrigerator = DeviceTypeDefinition({
|
|
|
517
526
|
deviceClass: DeviceClasses.Simple,
|
|
518
527
|
revision: 2,
|
|
519
528
|
requiredServerClusters: [],
|
|
520
|
-
optionalServerClusters: [Identify.
|
|
529
|
+
optionalServerClusters: [Identify.id, RefrigeratorAndTemperatureControlledCabinetMode.id, RefrigeratorAlarm.id],
|
|
521
530
|
});
|
|
522
531
|
export const airConditioner = DeviceTypeDefinition({
|
|
523
532
|
name: 'MA-airConditioner',
|
|
524
533
|
code: 0x72,
|
|
525
534
|
deviceClass: DeviceClasses.Simple,
|
|
526
|
-
revision:
|
|
527
|
-
requiredServerClusters: [Identify.
|
|
535
|
+
revision: 4,
|
|
536
|
+
requiredServerClusters: [Identify.id, OnOff.id, Thermostat.id],
|
|
528
537
|
optionalServerClusters: [
|
|
529
|
-
Groups.
|
|
530
|
-
ScenesManagement.
|
|
531
|
-
FanControl.
|
|
532
|
-
ThermostatUserInterfaceConfiguration.
|
|
533
|
-
TemperatureMeasurement.
|
|
534
|
-
RelativeHumidityMeasurement.
|
|
538
|
+
Groups.id,
|
|
539
|
+
ScenesManagement.id,
|
|
540
|
+
FanControl.id,
|
|
541
|
+
ThermostatUserInterfaceConfiguration.id,
|
|
542
|
+
TemperatureMeasurement.id,
|
|
543
|
+
RelativeHumidityMeasurement.id,
|
|
544
|
+
HepaFilterMonitoring.id,
|
|
545
|
+
ActivatedCarbonFilterMonitoring.id,
|
|
535
546
|
],
|
|
536
547
|
});
|
|
537
548
|
export const temperatureControlledCabinetCooler = DeviceTypeDefinition({
|
|
@@ -539,32 +550,32 @@ export const temperatureControlledCabinetCooler = DeviceTypeDefinition({
|
|
|
539
550
|
code: 0x71,
|
|
540
551
|
deviceClass: DeviceClasses.Simple,
|
|
541
552
|
revision: 5,
|
|
542
|
-
requiredServerClusters: [TemperatureControl.
|
|
543
|
-
optionalServerClusters: [TemperatureMeasurement.
|
|
553
|
+
requiredServerClusters: [TemperatureControl.id, RefrigeratorAndTemperatureControlledCabinetMode.id],
|
|
554
|
+
optionalServerClusters: [TemperatureMeasurement.id],
|
|
544
555
|
});
|
|
545
556
|
export const temperatureControlledCabinetHeater = DeviceTypeDefinition({
|
|
546
557
|
name: 'MA-temperaturecontrolledcabinetheater',
|
|
547
558
|
code: 0x71,
|
|
548
559
|
deviceClass: DeviceClasses.Simple,
|
|
549
560
|
revision: 5,
|
|
550
|
-
requiredServerClusters: [TemperatureControl.
|
|
551
|
-
optionalServerClusters: [TemperatureMeasurement.
|
|
561
|
+
requiredServerClusters: [TemperatureControl.id, OvenMode.id, OvenCavityOperationalState.id],
|
|
562
|
+
optionalServerClusters: [TemperatureMeasurement.id],
|
|
552
563
|
});
|
|
553
564
|
export const dishwasher = DeviceTypeDefinition({
|
|
554
565
|
name: 'MA-dishwasher',
|
|
555
566
|
code: 0x75,
|
|
556
567
|
deviceClass: DeviceClasses.Simple,
|
|
557
568
|
revision: 2,
|
|
558
|
-
requiredServerClusters: [OperationalState.
|
|
559
|
-
optionalServerClusters: [Identify.
|
|
569
|
+
requiredServerClusters: [OperationalState.id],
|
|
570
|
+
optionalServerClusters: [Identify.id, OnOff.id, TemperatureControl.id, DishwasherMode.id, DishwasherAlarm.id],
|
|
560
571
|
});
|
|
561
572
|
export const laundryDryer = DeviceTypeDefinition({
|
|
562
573
|
name: 'MA-laundrydryer',
|
|
563
574
|
code: 0x7c,
|
|
564
575
|
deviceClass: DeviceClasses.Simple,
|
|
565
576
|
revision: 2,
|
|
566
|
-
requiredServerClusters: [OperationalState.
|
|
567
|
-
optionalServerClusters: [Identify.
|
|
577
|
+
requiredServerClusters: [OperationalState.id],
|
|
578
|
+
optionalServerClusters: [Identify.id, LaundryWasherMode.id, OnOff.id, LaundryDryerControls.id, TemperatureControl.id],
|
|
568
579
|
});
|
|
569
580
|
export const cookSurface = DeviceTypeDefinition({
|
|
570
581
|
name: 'MA-cooksurface',
|
|
@@ -572,15 +583,15 @@ export const cookSurface = DeviceTypeDefinition({
|
|
|
572
583
|
deviceClass: DeviceClasses.Simple,
|
|
573
584
|
revision: 2,
|
|
574
585
|
requiredServerClusters: [],
|
|
575
|
-
optionalServerClusters: [TemperatureControl.
|
|
586
|
+
optionalServerClusters: [TemperatureControl.id, TemperatureMeasurement.id, OnOff.id],
|
|
576
587
|
});
|
|
577
588
|
export const cooktop = DeviceTypeDefinition({
|
|
578
589
|
name: 'MA-cooktop',
|
|
579
590
|
code: 0x78,
|
|
580
591
|
deviceClass: DeviceClasses.Simple,
|
|
581
592
|
revision: 1,
|
|
582
|
-
requiredServerClusters: [OnOff.
|
|
583
|
-
optionalServerClusters: [Identify.
|
|
593
|
+
requiredServerClusters: [OnOff.id],
|
|
594
|
+
optionalServerClusters: [Identify.id],
|
|
584
595
|
});
|
|
585
596
|
export const oven = DeviceTypeDefinition({
|
|
586
597
|
name: 'MA-oven',
|
|
@@ -588,39 +599,39 @@ export const oven = DeviceTypeDefinition({
|
|
|
588
599
|
deviceClass: DeviceClasses.Simple,
|
|
589
600
|
revision: 2,
|
|
590
601
|
requiredServerClusters: [],
|
|
591
|
-
optionalServerClusters: [Identify.
|
|
602
|
+
optionalServerClusters: [Identify.id],
|
|
592
603
|
});
|
|
593
604
|
export const extractorHood = DeviceTypeDefinition({
|
|
594
605
|
name: 'MA-extractorhood',
|
|
595
606
|
code: 0x7a,
|
|
596
607
|
deviceClass: DeviceClasses.Simple,
|
|
597
608
|
revision: 1,
|
|
598
|
-
requiredServerClusters: [FanControl.
|
|
599
|
-
optionalServerClusters: [Identify.
|
|
609
|
+
requiredServerClusters: [FanControl.id],
|
|
610
|
+
optionalServerClusters: [Identify.id, HepaFilterMonitoring.id, ActivatedCarbonFilterMonitoring.id],
|
|
600
611
|
});
|
|
601
612
|
export const microwaveOven = DeviceTypeDefinition({
|
|
602
613
|
name: 'MA-microwaveoven',
|
|
603
614
|
code: 0x79,
|
|
604
615
|
deviceClass: DeviceClasses.Simple,
|
|
605
616
|
revision: 2,
|
|
606
|
-
requiredServerClusters: [OperationalState.
|
|
607
|
-
optionalServerClusters: [Identify.
|
|
617
|
+
requiredServerClusters: [OperationalState.id, MicrowaveOvenMode.id, MicrowaveOvenControl.id],
|
|
618
|
+
optionalServerClusters: [Identify.id, FanControl.id],
|
|
608
619
|
});
|
|
609
620
|
export const evse = DeviceTypeDefinition({
|
|
610
621
|
name: 'MA-evse',
|
|
611
622
|
code: 0x050c,
|
|
612
623
|
deviceClass: DeviceClasses.Simple,
|
|
613
624
|
revision: 2,
|
|
614
|
-
requiredServerClusters: [EnergyEvse.
|
|
615
|
-
optionalServerClusters: [Identify.
|
|
625
|
+
requiredServerClusters: [EnergyEvse.id, EnergyEvseMode.id],
|
|
626
|
+
optionalServerClusters: [Identify.id, TemperatureMeasurement.id],
|
|
616
627
|
});
|
|
617
628
|
export const waterHeater = DeviceTypeDefinition({
|
|
618
629
|
name: 'MA-waterheater',
|
|
619
630
|
code: 0x050f,
|
|
620
631
|
deviceClass: DeviceClasses.Simple,
|
|
621
632
|
revision: 1,
|
|
622
|
-
requiredServerClusters: [Thermostat.
|
|
623
|
-
optionalServerClusters: [Identify.
|
|
633
|
+
requiredServerClusters: [Thermostat.id, WaterHeaterManagement.id, WaterHeaterMode.id],
|
|
634
|
+
optionalServerClusters: [Identify.id],
|
|
624
635
|
});
|
|
625
636
|
export const solarPower = DeviceTypeDefinition({
|
|
626
637
|
name: 'MA-solarpower',
|
|
@@ -628,15 +639,15 @@ export const solarPower = DeviceTypeDefinition({
|
|
|
628
639
|
deviceClass: DeviceClasses.Simple,
|
|
629
640
|
revision: 1,
|
|
630
641
|
requiredServerClusters: [],
|
|
631
|
-
optionalServerClusters: [Identify.
|
|
642
|
+
optionalServerClusters: [Identify.id],
|
|
632
643
|
});
|
|
633
644
|
export const batteryStorage = DeviceTypeDefinition({
|
|
634
645
|
name: 'MA-batterystorage',
|
|
635
646
|
code: 0x0018,
|
|
636
647
|
deviceClass: DeviceClasses.Simple,
|
|
637
|
-
revision:
|
|
648
|
+
revision: 2,
|
|
638
649
|
requiredServerClusters: [],
|
|
639
|
-
optionalServerClusters: [Identify.
|
|
650
|
+
optionalServerClusters: [Identify.id],
|
|
640
651
|
});
|
|
641
652
|
export const heatPump = DeviceTypeDefinition({
|
|
642
653
|
name: 'MA-heatpump',
|
|
@@ -644,15 +655,15 @@ export const heatPump = DeviceTypeDefinition({
|
|
|
644
655
|
deviceClass: DeviceClasses.Simple,
|
|
645
656
|
revision: 1,
|
|
646
657
|
requiredServerClusters: [],
|
|
647
|
-
optionalServerClusters: [Identify.
|
|
658
|
+
optionalServerClusters: [Identify.id, Thermostat.id],
|
|
648
659
|
});
|
|
649
660
|
export const soilSensor = DeviceTypeDefinition({
|
|
650
661
|
name: 'MA-soilSensor',
|
|
651
662
|
code: 0x0045,
|
|
652
663
|
deviceClass: DeviceClasses.Simple,
|
|
653
664
|
revision: 1,
|
|
654
|
-
requiredServerClusters: [Identify.
|
|
655
|
-
optionalServerClusters: [TemperatureMeasurement.
|
|
665
|
+
requiredServerClusters: [Identify.id, SoilMeasurement.id],
|
|
666
|
+
optionalServerClusters: [TemperatureMeasurement.id],
|
|
656
667
|
});
|
|
657
668
|
export const irrigationSystem = DeviceTypeDefinition({
|
|
658
669
|
name: 'MA-irrigationSystem',
|
|
@@ -660,16 +671,16 @@ export const irrigationSystem = DeviceTypeDefinition({
|
|
|
660
671
|
deviceClass: DeviceClasses.Simple,
|
|
661
672
|
revision: 1,
|
|
662
673
|
requiredServerClusters: [],
|
|
663
|
-
optionalServerClusters: [Identify.
|
|
674
|
+
optionalServerClusters: [Identify.id, OperationalState.id, FlowMeasurement.id],
|
|
664
675
|
requiredClientClusters: [],
|
|
665
|
-
optionalClientClusters: [FlowMeasurement.
|
|
676
|
+
optionalClientClusters: [FlowMeasurement.id],
|
|
666
677
|
});
|
|
667
678
|
export const closure = DeviceTypeDefinition({
|
|
668
679
|
name: 'MA-closure',
|
|
669
680
|
code: 0x0230,
|
|
670
681
|
deviceClass: DeviceClasses.Simple,
|
|
671
682
|
revision: 1,
|
|
672
|
-
requiredServerClusters: [Identify.
|
|
683
|
+
requiredServerClusters: [Identify.id, ClosureControl.id],
|
|
673
684
|
optionalServerClusters: [],
|
|
674
685
|
});
|
|
675
686
|
export const closurePanel = DeviceTypeDefinition({
|
|
@@ -677,6 +688,138 @@ export const closurePanel = DeviceTypeDefinition({
|
|
|
677
688
|
code: 0x0231,
|
|
678
689
|
deviceClass: DeviceClasses.Simple,
|
|
679
690
|
revision: 1,
|
|
680
|
-
requiredServerClusters: [ClosureDimension.
|
|
691
|
+
requiredServerClusters: [ClosureDimension.id],
|
|
692
|
+
optionalServerClusters: [],
|
|
693
|
+
});
|
|
694
|
+
export const closureController = DeviceTypeDefinition({
|
|
695
|
+
name: 'MA-closureController',
|
|
696
|
+
code: 0x023e,
|
|
697
|
+
deviceClass: DeviceClasses.Simple,
|
|
698
|
+
revision: 1,
|
|
699
|
+
requiredServerClusters: [],
|
|
700
|
+
optionalServerClusters: [],
|
|
701
|
+
requiredClientClusters: [ClosureControl.id],
|
|
702
|
+
optionalClientClusters: [Identify.id, Groups.id, ClosureDimension.id],
|
|
703
|
+
});
|
|
704
|
+
export const meterReferencePoint = DeviceTypeDefinition({
|
|
705
|
+
name: 'MA-meterReferencePoint',
|
|
706
|
+
code: 0x0512,
|
|
707
|
+
deviceClass: DeviceClasses.Simple,
|
|
708
|
+
revision: 1,
|
|
709
|
+
requiredServerClusters: [Identify.id],
|
|
710
|
+
optionalServerClusters: [],
|
|
711
|
+
});
|
|
712
|
+
export const electricalEnergyTariff = DeviceTypeDefinition({
|
|
713
|
+
name: 'MA-electricalEnergyTariff',
|
|
714
|
+
code: 0x0513,
|
|
715
|
+
deviceClass: DeviceClasses.Simple,
|
|
716
|
+
revision: 1,
|
|
717
|
+
requiredServerClusters: [],
|
|
718
|
+
optionalServerClusters: [CommodityPrice.id, ElectricalGridConditions.id, CommodityTariff.id],
|
|
719
|
+
});
|
|
720
|
+
export const electricalMeter = DeviceTypeDefinition({
|
|
721
|
+
name: 'MA-electricalMeter',
|
|
722
|
+
code: 0x0514,
|
|
723
|
+
deviceClass: DeviceClasses.Simple,
|
|
724
|
+
revision: 1,
|
|
725
|
+
requiredServerClusters: [ElectricalPowerMeasurement.id, ElectricalEnergyMeasurement.id],
|
|
726
|
+
optionalServerClusters: [CommodityMetering.id],
|
|
727
|
+
});
|
|
728
|
+
export const electricalUtilityMeter = DeviceTypeDefinition({
|
|
729
|
+
name: 'MA-electricalUtilityMeter',
|
|
730
|
+
code: 0x0511,
|
|
731
|
+
deviceClass: DeviceClasses.Simple,
|
|
732
|
+
revision: 1,
|
|
733
|
+
requiredServerClusters: [MeterIdentification.id],
|
|
734
|
+
optionalServerClusters: [],
|
|
735
|
+
});
|
|
736
|
+
export const camera = DeviceTypeDefinition({
|
|
737
|
+
name: 'MA-camera',
|
|
738
|
+
code: 0x0142,
|
|
739
|
+
deviceClass: DeviceClasses.Simple,
|
|
740
|
+
revision: 1,
|
|
741
|
+
requiredServerClusters: [CameraAvStreamManagement.id, WebRtcTransportProvider.id],
|
|
742
|
+
optionalServerClusters: [Identify.id, OccupancySensing.id, ZoneManagement.id, CameraAvSettingsUserLevelManagement.id, WebRtcTransportRequestor.id, PushAvStreamTransport.id],
|
|
743
|
+
requiredClientClusters: [WebRtcTransportRequestor.id],
|
|
744
|
+
optionalClientClusters: [WebRtcTransportProvider.id],
|
|
745
|
+
});
|
|
746
|
+
export const floodlightCamera = DeviceTypeDefinition({
|
|
747
|
+
name: 'MA-floodlightCamera',
|
|
748
|
+
code: 0x0144,
|
|
749
|
+
deviceClass: DeviceClasses.Simple,
|
|
750
|
+
revision: 1,
|
|
751
|
+
requiredServerClusters: [],
|
|
752
|
+
optionalServerClusters: [],
|
|
753
|
+
});
|
|
754
|
+
export const videoDoorbell = DeviceTypeDefinition({
|
|
755
|
+
name: 'MA-videoDoorbell',
|
|
756
|
+
code: 0x0143,
|
|
757
|
+
deviceClass: DeviceClasses.Simple,
|
|
758
|
+
revision: 1,
|
|
759
|
+
requiredServerClusters: [],
|
|
760
|
+
optionalServerClusters: [],
|
|
761
|
+
});
|
|
762
|
+
export const intercom = DeviceTypeDefinition({
|
|
763
|
+
name: 'MA-intercom',
|
|
764
|
+
code: 0x0140,
|
|
765
|
+
deviceClass: DeviceClasses.Simple,
|
|
766
|
+
revision: 2,
|
|
767
|
+
requiredServerClusters: [CameraAvStreamManagement.id, WebRtcTransportProvider.id, WebRtcTransportRequestor.id],
|
|
768
|
+
optionalServerClusters: [Identify.id, CameraAvSettingsUserLevelManagement.id],
|
|
769
|
+
requiredClientClusters: [WebRtcTransportProvider.id, WebRtcTransportRequestor.id],
|
|
770
|
+
optionalClientClusters: [Chime.id],
|
|
771
|
+
});
|
|
772
|
+
export const audioDoorbell = DeviceTypeDefinition({
|
|
773
|
+
name: 'MA-audioDoorbell',
|
|
774
|
+
code: 0x0141,
|
|
775
|
+
deviceClass: DeviceClasses.Simple,
|
|
776
|
+
revision: 2,
|
|
777
|
+
requiredServerClusters: [Identify.id, Switch.id, CameraAvStreamManagement.id, WebRtcTransportProvider.id],
|
|
778
|
+
optionalServerClusters: [WebRtcTransportRequestor.id, PushAvStreamTransport.id],
|
|
779
|
+
requiredClientClusters: [WebRtcTransportRequestor.id, Chime.id],
|
|
780
|
+
optionalClientClusters: [WebRtcTransportProvider.id],
|
|
781
|
+
});
|
|
782
|
+
export const snapshotCamera = DeviceTypeDefinition({
|
|
783
|
+
name: 'MA-snapshotCamera',
|
|
784
|
+
code: 0x0145,
|
|
785
|
+
deviceClass: DeviceClasses.Simple,
|
|
786
|
+
revision: 1,
|
|
787
|
+
requiredServerClusters: [CameraAvStreamManagement.id],
|
|
788
|
+
optionalServerClusters: [Identify.id, OccupancySensing.id, ZoneManagement.id, CameraAvSettingsUserLevelManagement.id],
|
|
789
|
+
});
|
|
790
|
+
export const chime = DeviceTypeDefinition({
|
|
791
|
+
name: 'MA-chime',
|
|
792
|
+
code: 0x0146,
|
|
793
|
+
deviceClass: DeviceClasses.Simple,
|
|
794
|
+
revision: 1,
|
|
795
|
+
requiredServerClusters: [Chime.id],
|
|
796
|
+
optionalServerClusters: [Identify.id],
|
|
797
|
+
});
|
|
798
|
+
export const cameraController = DeviceTypeDefinition({
|
|
799
|
+
name: 'MA-cameraController',
|
|
800
|
+
code: 0x0147,
|
|
801
|
+
deviceClass: DeviceClasses.Simple,
|
|
802
|
+
revision: 1,
|
|
803
|
+
requiredServerClusters: [WebRtcTransportRequestor.id],
|
|
804
|
+
optionalServerClusters: [],
|
|
805
|
+
requiredClientClusters: [WebRtcTransportProvider.id],
|
|
806
|
+
optionalClientClusters: [
|
|
807
|
+
Identify.id,
|
|
808
|
+
PowerSource.id,
|
|
809
|
+
OccupancySensing.id,
|
|
810
|
+
ZoneManagement.id,
|
|
811
|
+
CameraAvStreamManagement.id,
|
|
812
|
+
CameraAvSettingsUserLevelManagement.id,
|
|
813
|
+
WebRtcTransportRequestor.id,
|
|
814
|
+
PushAvStreamTransport.id,
|
|
815
|
+
],
|
|
816
|
+
});
|
|
817
|
+
export const doorbell = DeviceTypeDefinition({
|
|
818
|
+
name: 'MA-doorbell',
|
|
819
|
+
code: 0x0148,
|
|
820
|
+
deviceClass: DeviceClasses.Simple,
|
|
821
|
+
revision: 2,
|
|
822
|
+
requiredServerClusters: [Identify.id, Switch.id],
|
|
681
823
|
optionalServerClusters: [],
|
|
824
|
+
requiredClientClusters: [Chime.id],
|
|
682
825
|
});
|