@deconz-community/ddf-validator 2.33.2 → 2.35.0

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.
@@ -1,6 +1,750 @@
1
1
  import { ZodType, ZodError } from "zod";
2
2
 
3
- export type DDF = any;
3
+ export type DDF = {
4
+ $schema?: string | undefined;
5
+ schema: "devcap1.schema.json";
6
+ uuid?: string | undefined;
7
+ ddfvalidate?: boolean | undefined;
8
+ version?: string | undefined;
9
+ version_deconz?: string | undefined;
10
+ "doc:path"?: string | undefined;
11
+ "doc:hdr"?: string | undefined;
12
+ /** Changelogs for this device, markdown file. */
13
+ "md:changelogs"?: string[] | undefined;
14
+ /** Notes info for this device, markdown file. */
15
+ "md:info"?: string[] | undefined;
16
+ /** Notes warning for this device, markdown file. */
17
+ "md:warning"?: string[] | undefined;
18
+ /** Know issues for this device, markdown file. */
19
+ "md:known_issues"?: string[] | undefined;
20
+ /** Manufacturer name from Basic Cluster. */
21
+ manufacturername: ("$MF_AQARA" | "$MF_BOSCH" | "$MF_IKEA" | "$MF_LUMI" | "$MF_LUTRON" | "$MF_PHILIPS" | "$MF_SAMJIN" | "$MF_SIGNIFY" | "$MF_TUYA" | "$MF_XIAOMI") | string | (("$MF_AQARA" | "$MF_BOSCH" | "$MF_IKEA" | "$MF_LUMI" | "$MF_LUTRON" | "$MF_PHILIPS" | "$MF_SAMJIN" | "$MF_SIGNIFY" | "$MF_TUYA" | "$MF_XIAOMI") | string)[];
22
+ /** Model ID from Basic Cluster. */
23
+ modelid: string | string[];
24
+ /** Friendly name of the manufacturer. */
25
+ vendor?: string | undefined;
26
+ /** Friendly name of the product. */
27
+ product?: string | undefined;
28
+ comment?: string | undefined;
29
+ /** Need to return true for the DDF be used. */
30
+ matchexpr?: string | undefined;
31
+ /** DDF path, useless, can be removed. */
32
+ path?: string | undefined;
33
+ /** Sleeping devices can only receive when awake. */
34
+ sleeper?: boolean | undefined;
35
+ supportsMgmtBind?: boolean | undefined;
36
+ /** The code quality of the DDF file. */
37
+ status: "Draft" | "Bronze" | "Silver" | "Gold";
38
+ /** Devices section. */
39
+ subdevices: {
40
+ type: ("$TYPE_AIR_PURIFIER" | "$TYPE_AIR_QUALITY_SENSOR" | "$TYPE_CARBONDIOXIDE_SENSOR" | "$TYPE_CARBONMONOXIDE_SENSOR" | "$TYPE_FORMALDEHYDE_SENSOR" | "$TYPE_PARTICULATEMATTER_SENSOR" | "$TYPE_ALARM_SENSOR" | "$TYPE_ANCILLARY_CONTROL" | "$TYPE_BATTERY_SENSOR" | "$TYPE_COLOR_LIGHT" | "$TYPE_COLOR_TEMPERATURE_LIGHT" | "$TYPE_CONSUMPTION_SENSOR" | "$TYPE_DIMMABLE_LIGHT" | "$TYPE_DIMMABLE_PLUGIN_UNIT" | "$TYPE_DIMMER_SWITCH" | "$TYPE_DOOR_LOCK" | "$TYPE_DOOR_LOCK_CONTROLLER" | "$TYPE_DOOR_LOCK_SENSOR" | "$TYPE_EXTENDED_COLOR_LIGHT" | "$TYPE_FIRE_SENSOR" | "$TYPE_HUMIDITY_SENSOR" | "$TYPE_LEVEL_CONTROL_SWITCH" | "$TYPE_LIGHT_LEVEL_SENSOR" | "$TYPE_MOISTURE_SENSOR" | "$TYPE_ON_OFF_LIGHT" | "$TYPE_ON_OFF_LIGHT_SWITCH" | "$TYPE_ON_OFF_OUTPUT" | "$TYPE_ON_OFF_PLUGIN_UNIT" | "$TYPE_ON_OFF_SWITCH" | "$TYPE_OPEN_CLOSE_SENSOR" | "$TYPE_POWER_SENSOR" | "$TYPE_PRESENCE_SENSOR" | "$TYPE_PRESSURE_SENSOR" | "$TYPE_RANGE_EXTENDER" | "$TYPE_RELATIVE_ROTARY" | "$TYPE_SMART_PLUG" | "$TYPE_SPECTRAL_SENSOR" | "$TYPE_SWITCH" | "$TYPE_TEMPERATURE_SENSOR" | "$TYPE_THERMOSTAT" | "$TYPE_TIME" | "$TYPE_VIBRATION_SENSOR" | "$TYPE_WARNING_DEVICE" | "$TYPE_WATER_LEAK_SENSOR" | "$TYPE_WINDOW_COVERING_DEVICE" | "$TYPE_ZGP_SWITCH") | string;
41
+ restapi: "/lights" | "/sensors";
42
+ uuid: [
43
+ "$address.ext",
44
+ string
45
+ ] | [
46
+ "$address.ext",
47
+ string,
48
+ string
49
+ ];
50
+ fingerprint?: {
51
+ profile: string;
52
+ device: string;
53
+ endpoint: string | number;
54
+ in?: string[] | undefined;
55
+ out?: string[] | undefined;
56
+ [x: string]: never;
57
+ } | undefined;
58
+ meta?: {
59
+ values: any;
60
+ "group.endpoints"?: number[] | undefined;
61
+ [x: string]: never;
62
+ } | undefined;
63
+ buttons?: any | undefined;
64
+ buttonevents?: any | undefined;
65
+ items: {
66
+ ddfvalidate?: boolean | undefined;
67
+ /** Item description, better to do not use it. */
68
+ description?: string | undefined;
69
+ /** TODO: What is this ? What the difference with description ? */
70
+ comment?: string | undefined;
71
+ /** Date of deprecation, if the item is deprecated, it's better to use the new one. */
72
+ deprecated?: string | undefined;
73
+ /** Data type of the item. */
74
+ datatype?: ("String" | "Bool" | "Int8" | "Int16" | "Int32" | "Int64" | "UInt8" | "UInt16" | "UInt32" | "UInt64" | "Double" | "Array" | "Array[3]" | "ISO 8601 timestamp") | undefined;
75
+ /** Access mode for this item, some of them are not editable. */
76
+ access?: ("R" | "W" | "RW") | undefined;
77
+ /** Item visible on the API. */
78
+ public?: boolean | undefined;
79
+ /** TODO: What is this ? */
80
+ implicit?: boolean | undefined;
81
+ /** TODO: What is this ? */
82
+ managed?: boolean | undefined;
83
+ /** The device is considered awake when this item is set due a incoming command. */
84
+ awake?: boolean | undefined;
85
+ /** A static default value is fixed and can be not changed. */
86
+ static?: (string | number | boolean) | undefined;
87
+ /** Values range limit. */
88
+ range?: [
89
+ number,
90
+ number
91
+ ] | undefined;
92
+ /** TODO: What is this ? */
93
+ virtual?: boolean | undefined;
94
+ /** Fonction used to read value. */
95
+ read?: ({
96
+ fn: "none";
97
+ [x: string]: never;
98
+ } | {
99
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
100
+ ep?: (string | number) | undefined;
101
+ /** Cluster ID. */
102
+ cl: string;
103
+ /** Attribute ID. */
104
+ at?: (string | string[]) | undefined;
105
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
106
+ mf?: string | undefined;
107
+ /** Zigbee command. */
108
+ cmd?: ("any" | string) | undefined;
109
+ /** Zigbee command frame control. */
110
+ fc?: (string | number) | undefined;
111
+ /** Javascript expression to transform the attribute value to the Item value. */
112
+ eval?: string | undefined;
113
+ /** Relative path of a Javascript .js file. */
114
+ script?: string | undefined;
115
+ /** Generic function to read ZCL attributes. */
116
+ fn?: undefined;
117
+ [x: string]: never;
118
+ } | {
119
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
120
+ ep?: (string | number) | undefined;
121
+ /** Cluster ID. */
122
+ cl: string;
123
+ /** Attribute ID. */
124
+ at?: (string | string[]) | undefined;
125
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
126
+ mf?: string | undefined;
127
+ /** Zigbee command. */
128
+ cmd?: ("any" | string) | undefined;
129
+ /** Zigbee command frame control. */
130
+ fc?: (string | number) | undefined;
131
+ /** Javascript expression to transform the attribute value to the Item value. */
132
+ eval?: string | undefined;
133
+ /** Relative path of a Javascript .js file. */
134
+ script?: string | undefined;
135
+ /** Generic function to parse ZCL values from read/report commands. */
136
+ fn: "zcl:attr";
137
+ [x: string]: never;
138
+ } | {
139
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
140
+ ep?: (string | number) | undefined;
141
+ /** Cluster ID. */
142
+ cl: string;
143
+ /** Attribute ID. */
144
+ at?: (string | string[]) | undefined;
145
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
146
+ mf?: string | undefined;
147
+ /** Zigbee command. */
148
+ cmd?: ("any" | string) | undefined;
149
+ /** Zigbee command frame control. */
150
+ fc?: (string | number) | undefined;
151
+ /** Javascript expression to transform the attribute value to the Item value. */
152
+ eval?: string | undefined;
153
+ /** Relative path of a Javascript .js file. */
154
+ script?: string | undefined;
155
+ /** Generic function to parse ZCL values from read/report commands. */
156
+ fn: "zcl:cmd";
157
+ [x: string]: never;
158
+ } | {
159
+ /** Generic function to read all Tuya datapoints. It has no parameters. */
160
+ fn: "tuya";
161
+ [x: string]: never;
162
+ }) | undefined;
163
+ /** Fonction used to parse incoming values. */
164
+ parse?: ({
165
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
166
+ ep?: (string | number) | undefined;
167
+ /** Cluster ID. */
168
+ cl: string;
169
+ /** Attribute ID. */
170
+ at?: (string | string[]) | undefined;
171
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
172
+ mf?: string | undefined;
173
+ /** Zigbee command. */
174
+ cmd?: ("any" | string) | undefined;
175
+ /** Zigbee command frame control. */
176
+ fc?: (string | number) | undefined;
177
+ /** Javascript expression to transform the attribute value to the Item value. */
178
+ eval?: string | undefined;
179
+ /** Relative path of a Javascript .js file. */
180
+ script?: string | undefined;
181
+ /** Generic function to read ZCL attributes. */
182
+ fn?: undefined;
183
+ cppsrc?: string | undefined;
184
+ [x: string]: never;
185
+ } | {
186
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
187
+ ep?: (string | number) | undefined;
188
+ /** Cluster ID. */
189
+ cl: string;
190
+ /** Attribute ID. */
191
+ at?: (string | string[]) | undefined;
192
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
193
+ mf?: string | undefined;
194
+ /** Zigbee command. */
195
+ cmd?: ("any" | string) | undefined;
196
+ /** Zigbee command frame control. */
197
+ fc?: (string | number) | undefined;
198
+ /** Javascript expression to transform the attribute value to the Item value. */
199
+ eval?: string | undefined;
200
+ /** Relative path of a Javascript .js file. */
201
+ script?: string | undefined;
202
+ /** Generic function to parse ZCL values from read/report commands. */
203
+ fn: "zcl:attr";
204
+ [x: string]: never;
205
+ } | {
206
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
207
+ ep?: (string | number) | undefined;
208
+ /** Cluster ID. */
209
+ cl: string;
210
+ /** Attribute ID. */
211
+ at?: (string | string[]) | undefined;
212
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
213
+ mf?: string | undefined;
214
+ /** Zigbee command. */
215
+ cmd?: ("any" | string) | undefined;
216
+ /** Zigbee command frame control. */
217
+ fc?: (string | number) | undefined;
218
+ /** Javascript expression to transform the attribute value to the Item value. */
219
+ eval?: string | undefined;
220
+ /** Relative path of a Javascript .js file. */
221
+ script?: string | undefined;
222
+ /** Generic function to parse ZCL values from read/report commands. */
223
+ fn: "zcl:cmd";
224
+ [x: string]: never;
225
+ } | {
226
+ /** Generic function to parse IAS ZONE status change notifications or zone status from read/report command. */
227
+ fn: "ias:zonestatus";
228
+ /** Sets the bitmask for Alert1 and Alert2 item of the IAS Zone status. */
229
+ mask?: (("alarm1" | "alarm2") | "alarm1,alarm2") | undefined;
230
+ [x: string]: never;
231
+ } | {
232
+ /** Generic function to to convert number to string. */
233
+ fn: "numtostr";
234
+ /** The source item holding the number. */
235
+ srcitem: "state/y" | "state/x" | "state/windowopen" | "state/water" | "state/water_bis" | "state/voltage" | "state/vibrationstrength" | "state/vibration" | "state/valve" | "state/utc" | "state/tiltangle" | "state/tilt" | "state/test" | "state/temperature" | "state/temperature_bis" | "state/targetdistance" | "state/tampered" | "state/speed" | "state/seconds_remaining" | "state/sat" | "state/rotaryevent" | "state/replacefilter" | "state/reachable" | "state/production" | "state/pressure" | "state/pressure_bis" | "state/presenceevent" | "state/presence" | "state/power" | "state/power_divisor" | "state/pm2_5" | "state/panel" | "state/orientation_z" | "state/orientation_y" | "state/orientation_x" | "state/open" | "state/open_bis" | "state/on" | "state/music_sync" | "state/mountingmodeactive" | "state/moisture" | "state/measured_value" | "state/lux" | "state/lowbattery" | "state/lockstate" | "state/localtime" | "state/lightlevel" | "state/lift" | "state/lastupdated" | "state/lastset" | "state/lastcheckin" | "state/humidity" | "state/humidity_bis" | "state/hue" | "state/heating" | "state/gradient" | "state/gesture" | "state/flow" | "state/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/distance" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/current" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/colormode" | "state/charging" | "state/carbonmonoxide" | "state/buttonevent" | "state/bri" | "state/battery" | "state/angle" | "state/alert" | "state/alarm" | "state/airqualityppb" | "state/airqualityppb_bis" | "state/airquality" | "state/airquality_bis" | "state/action" | "config/windowopendetectionenabled" | "config/windowopen_set" | "config/windowcoveringtype" | "config/volume" | "config/usertest" | "config/unoccupiedheatsetpoint" | "config/tuya_unlock" | "config/triggerdistance" | "config/triggerdistance_bis" | "config/tholdoffset" | "config/tholddark" | "config/temperature" | "config/swingmode" | "config/speed" | "config/setvalve" | "config/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/radiatorcovered" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/loadbalancing" | "config/ledindication" | "config/lastchange_time" | "config/lastchange_source" | "config/lastchange_amount" | "config/interfacemode" | "config/heatsetpoint" | "config/group" | "config/filterlifetime" | "config/fanmode" | "config/fadingtime" | "config/externalwindowopen" | "config/externalsensortemp" | "config/enrolled" | "config/duration" | "config/displayflipped" | "config/devicemode" | "config/devicemode_bis" | "config/detectionrange" | "config/delay" | "config/ctmin" | "config/ctmax" | "config/coolsetpoint" | "config/controlsequence" | "config/configured" | "config/colorcapabilities" | "config/color/xy/startup_y" | "config/color/xy/startup_x" | "config/color/gradient/reversed" | "config/color/gradient/pixel_count" | "config/color/execute_if_off" | "config/color/ct/startup" | "config/clickmode" | "config/checkin" | "config/bri/startup" | "config/bri/options" | "config/bri/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/bri/couple_ct" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/otau/manufacturer_code" | "cap/otau/image_type" | "cap/otau/file_version" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/quantity" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "cap/group" | "cap/color/xy/red_y" | "cap/color/xy/red_x" | "cap/color/xy/green_y" | "cap/color/xy/green_x" | "cap/color/xy/blue_y" | "cap/color/xy/blue_x" | "cap/color/gradient/styles" | "cap/color/gradient/pixel_length" | "cap/color/gradient/pixel_count" | "cap/color/gradient/max_segments" | "cap/color/gamut_type" | "cap/color/effects" | "cap/color/ct/min" | "cap/color/ct/max" | "cap/color/ct/computes_xy" | "cap/color/capabilities" | "cap/bri/move_with_onoff" | "cap/bri/min_dim_level" | "cap/alert/trigger_effect" | "attr/zonetype" | "attr/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/otaversion" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id" | "attr/ddf_policy" | "attr/ddf_hash" | "attr/appversion";
236
+ /** Comparison operator (lt | le | eq | gt | ge) */
237
+ op: "lt" | "le" | "eq" | "gt" | "ge";
238
+ /** Array of (num, string) mappings */
239
+ to: any;
240
+ [x: string]: never;
241
+ } | {
242
+ /** Specialized function to parse time, local and last set time from read/report commands of the time cluster and auto-sync time if needed. */
243
+ fn: "time";
244
+ [x: string]: never;
245
+ } | {
246
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
247
+ ep?: (string | number) | undefined;
248
+ /** Attribute ID. */
249
+ at?: (string | string[]) | undefined;
250
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
251
+ mf?: string | undefined;
252
+ /** Javascript expression to transform the attribute value to the Item value. */
253
+ eval?: string | undefined;
254
+ /** Relative path of a Javascript .js file. */
255
+ script?: string | undefined;
256
+ /** Generic function to parse custom Xiaomi attributes and commands. */
257
+ fn: "xiaomi:special";
258
+ /** A 8-bit string hex value. */
259
+ idx: string;
260
+ [x: string]: never;
261
+ } | {
262
+ /** Javascript expression to transform the attribute value to the Item value. */
263
+ eval?: string | undefined;
264
+ /** Relative path of a Javascript .js file. */
265
+ script?: string | undefined;
266
+ /** Generic function to parse Tuya data. */
267
+ fn: "tuya";
268
+ /** Data point ID. 1-255 the datapoint ID. */
269
+ dpid: number;
270
+ [x: string]: never;
271
+ }) | undefined;
272
+ /** Fonction used to write value. */
273
+ write?: ({
274
+ fn: "none";
275
+ [x: string]: never;
276
+ } | {
277
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
278
+ ep?: (string | number) | undefined;
279
+ /** Cluster ID. */
280
+ cl: string;
281
+ /** Attribute ID. */
282
+ at?: (string | string[]) | undefined;
283
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
284
+ mf?: string | undefined;
285
+ /** Zigbee command. */
286
+ cmd?: ("any" | string) | undefined;
287
+ /** Zigbee command frame control. */
288
+ fc?: (string | number) | undefined;
289
+ /** Javascript expression to transform the attribute value to the Item value. */
290
+ eval?: string | undefined;
291
+ /** Relative path of a Javascript .js file. */
292
+ script?: string | undefined;
293
+ "state.timeout"?: number | undefined;
294
+ "change.timeout"?: number | undefined;
295
+ /** Data type. */
296
+ dt?: string | undefined;
297
+ /** Generic function to read ZCL attributes. */
298
+ fn?: undefined;
299
+ cppsrc?: string | undefined;
300
+ [x: string]: never;
301
+ } | {
302
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
303
+ ep?: (string | number) | undefined;
304
+ /** Cluster ID. */
305
+ cl: string;
306
+ /** Attribute ID. */
307
+ at?: (string | string[]) | undefined;
308
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
309
+ mf?: string | undefined;
310
+ /** Zigbee command. */
311
+ cmd?: ("any" | string) | undefined;
312
+ /** Zigbee command frame control. */
313
+ fc?: (string | number) | undefined;
314
+ /** Javascript expression to transform the attribute value to the Item value. */
315
+ eval?: string | undefined;
316
+ /** Relative path of a Javascript .js file. */
317
+ script?: string | undefined;
318
+ "state.timeout"?: number | undefined;
319
+ "change.timeout"?: number | undefined;
320
+ /** Data type. */
321
+ dt?: string | undefined;
322
+ /** Generic function to parse ZCL values from read/report commands. */
323
+ fn: "zcl:attr";
324
+ [x: string]: never;
325
+ } | {
326
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
327
+ ep?: (string | number) | undefined;
328
+ /** Cluster ID. */
329
+ cl: string;
330
+ /** Attribute ID. */
331
+ at?: (string | string[]) | undefined;
332
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
333
+ mf?: string | undefined;
334
+ /** Zigbee command. */
335
+ cmd?: ("any" | string) | undefined;
336
+ /** Zigbee command frame control. */
337
+ fc?: (string | number) | undefined;
338
+ /** Javascript expression to transform the attribute value to the Item value. */
339
+ eval?: string | undefined;
340
+ /** Relative path of a Javascript .js file. */
341
+ script?: string | undefined;
342
+ "state.timeout"?: number | undefined;
343
+ "change.timeout"?: number | undefined;
344
+ /** Data type. */
345
+ dt?: string | undefined;
346
+ /** Generic function to parse ZCL values from read/report commands. */
347
+ fn: "zcl:cmd";
348
+ [x: string]: never;
349
+ } | {
350
+ /** Javascript expression to transform the attribute value to the Item value. */
351
+ eval?: string | undefined;
352
+ /** Relative path of a Javascript .js file. */
353
+ script?: string | undefined;
354
+ /** Generic function to write Tuya data. */
355
+ fn: "tuya";
356
+ /** Data point ID. 1-255 the datapoint ID. */
357
+ dpid: number;
358
+ /** Data type. */
359
+ dt: string;
360
+ [x: string]: never;
361
+ }) | undefined;
362
+ /** Refresh interval used for read fonction, NEED to be superior at value used in binding part. */
363
+ "refresh.interval"?: number | undefined;
364
+ /** TODO: What is this ? */
365
+ values?: unknown | undefined;
366
+ /** Defaut value. */
367
+ default?: unknown | undefined;
368
+ /** Item name. */
369
+ name: "state/y" | "state/x" | "state/windowopen" | "state/water" | "state/water_bis" | "state/voltage" | "state/vibrationstrength" | "state/vibration" | "state/valve" | "state/utc" | "state/tiltangle" | "state/tilt" | "state/test" | "state/temperature" | "state/temperature_bis" | "state/targetdistance" | "state/tampered" | "state/speed" | "state/seconds_remaining" | "state/sat" | "state/rotaryevent" | "state/replacefilter" | "state/reachable" | "state/production" | "state/pressure" | "state/pressure_bis" | "state/presenceevent" | "state/presence" | "state/power" | "state/power_divisor" | "state/pm2_5" | "state/panel" | "state/orientation_z" | "state/orientation_y" | "state/orientation_x" | "state/open" | "state/open_bis" | "state/on" | "state/music_sync" | "state/mountingmodeactive" | "state/moisture" | "state/measured_value" | "state/lux" | "state/lowbattery" | "state/lockstate" | "state/localtime" | "state/lightlevel" | "state/lift" | "state/lastupdated" | "state/lastset" | "state/lastcheckin" | "state/humidity" | "state/humidity_bis" | "state/hue" | "state/heating" | "state/gradient" | "state/gesture" | "state/flow" | "state/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/distance" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/current" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/colormode" | "state/charging" | "state/carbonmonoxide" | "state/buttonevent" | "state/bri" | "state/battery" | "state/angle" | "state/alert" | "state/alarm" | "state/airqualityppb" | "state/airqualityppb_bis" | "state/airquality" | "state/airquality_bis" | "state/action" | "config/windowopendetectionenabled" | "config/windowopen_set" | "config/windowcoveringtype" | "config/volume" | "config/usertest" | "config/unoccupiedheatsetpoint" | "config/tuya_unlock" | "config/triggerdistance" | "config/triggerdistance_bis" | "config/tholdoffset" | "config/tholddark" | "config/temperature" | "config/swingmode" | "config/speed" | "config/setvalve" | "config/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/radiatorcovered" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/loadbalancing" | "config/ledindication" | "config/lastchange_time" | "config/lastchange_source" | "config/lastchange_amount" | "config/interfacemode" | "config/heatsetpoint" | "config/group" | "config/filterlifetime" | "config/fanmode" | "config/fadingtime" | "config/externalwindowopen" | "config/externalsensortemp" | "config/enrolled" | "config/duration" | "config/displayflipped" | "config/devicemode" | "config/devicemode_bis" | "config/detectionrange" | "config/delay" | "config/ctmin" | "config/ctmax" | "config/coolsetpoint" | "config/controlsequence" | "config/configured" | "config/colorcapabilities" | "config/color/xy/startup_y" | "config/color/xy/startup_x" | "config/color/gradient/reversed" | "config/color/gradient/pixel_count" | "config/color/execute_if_off" | "config/color/ct/startup" | "config/clickmode" | "config/checkin" | "config/bri/startup" | "config/bri/options" | "config/bri/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/bri/couple_ct" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/otau/manufacturer_code" | "cap/otau/image_type" | "cap/otau/file_version" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/quantity" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "cap/group" | "cap/color/xy/red_y" | "cap/color/xy/red_x" | "cap/color/xy/green_y" | "cap/color/xy/green_x" | "cap/color/xy/blue_y" | "cap/color/xy/blue_x" | "cap/color/gradient/styles" | "cap/color/gradient/pixel_length" | "cap/color/gradient/pixel_count" | "cap/color/gradient/max_segments" | "cap/color/gamut_type" | "cap/color/effects" | "cap/color/ct/min" | "cap/color/ct/max" | "cap/color/ct/computes_xy" | "cap/color/capabilities" | "cap/bri/move_with_onoff" | "cap/bri/min_dim_level" | "cap/alert/trigger_effect" | "attr/zonetype" | "attr/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/otaversion" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id" | "attr/ddf_policy" | "attr/ddf_hash" | "attr/appversion";
370
+ [x: string]: never;
371
+ }[];
372
+ example?: unknown | undefined;
373
+ [x: string]: never;
374
+ }[];
375
+ /** Bindings section. */
376
+ bindings?: ({
377
+ bind: "unicast";
378
+ /** Source endpoint. */
379
+ "src.ep": string | number;
380
+ /** Destination endpoint, generaly 0x01. */
381
+ "dst.ep"?: (string | number) | undefined;
382
+ /** Cluster. */
383
+ cl: string;
384
+ report?: {
385
+ at: string;
386
+ dt: string;
387
+ mf?: string | undefined;
388
+ min: number;
389
+ max: number;
390
+ change?: (string | number) | undefined;
391
+ [x: string]: never;
392
+ }[] | undefined;
393
+ [x: string]: never;
394
+ } | {
395
+ bind: "groupcast";
396
+ /** Source endpoint. */
397
+ "src.ep": string | number;
398
+ /** Cluster. */
399
+ cl: string;
400
+ "config.group": number;
401
+ [x: string]: never;
402
+ })[] | undefined;
403
+ [x: string]: never;
404
+ } | {
405
+ $schema?: string | undefined;
406
+ schema: "constants1.schema.json";
407
+ ddfvalidate?: boolean | undefined;
408
+ manufacturers: {
409
+ [key: string]: string;
410
+ };
411
+ "device-types": {
412
+ [key: string]: string;
413
+ };
414
+ [x: string]: never;
415
+ } | {
416
+ $schema?: string | undefined;
417
+ schema: "constants2.schema.json";
418
+ ddfvalidate?: boolean | undefined;
419
+ [x: string]: unknown;
420
+ } | {
421
+ $schema?: string | undefined;
422
+ schema: "resourceitem1.schema.json";
423
+ id: string;
424
+ ddfvalidate?: boolean | undefined;
425
+ /** Item description, better to do not use it. */
426
+ description?: string | undefined;
427
+ /** TODO: What is this ? What the difference with description ? */
428
+ comment?: string | undefined;
429
+ /** Date of deprecation, if the item is deprecated, it's better to use the new one. */
430
+ deprecated?: string | undefined;
431
+ /** Data type of the item. */
432
+ datatype?: ("String" | "Bool" | "Int8" | "Int16" | "Int32" | "Int64" | "UInt8" | "UInt16" | "UInt32" | "UInt64" | "Double" | "Array" | "Array[3]" | "ISO 8601 timestamp") | undefined;
433
+ /** Access mode for this item, some of them are not editable. */
434
+ access?: ("R" | "W" | "RW") | undefined;
435
+ /** Item visible on the API. */
436
+ public?: boolean | undefined;
437
+ /** TODO: What is this ? */
438
+ implicit?: boolean | undefined;
439
+ /** TODO: What is this ? */
440
+ managed?: boolean | undefined;
441
+ /** The device is considered awake when this item is set due a incoming command. */
442
+ awake?: boolean | undefined;
443
+ /** A static default value is fixed and can be not changed. */
444
+ static?: (string | number | boolean) | undefined;
445
+ /** Values range limit. */
446
+ range?: [
447
+ number,
448
+ number
449
+ ] | undefined;
450
+ /** TODO: What is this ? */
451
+ virtual?: boolean | undefined;
452
+ /** Fonction used to read value. */
453
+ read?: ({
454
+ fn: "none";
455
+ [x: string]: never;
456
+ } | {
457
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
458
+ ep?: (string | number) | undefined;
459
+ /** Cluster ID. */
460
+ cl: string;
461
+ /** Attribute ID. */
462
+ at?: (string | string[]) | undefined;
463
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
464
+ mf?: string | undefined;
465
+ /** Zigbee command. */
466
+ cmd?: ("any" | string) | undefined;
467
+ /** Zigbee command frame control. */
468
+ fc?: (string | number) | undefined;
469
+ /** Javascript expression to transform the attribute value to the Item value. */
470
+ eval?: string | undefined;
471
+ /** Relative path of a Javascript .js file. */
472
+ script?: string | undefined;
473
+ /** Generic function to read ZCL attributes. */
474
+ fn?: undefined;
475
+ [x: string]: never;
476
+ } | {
477
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
478
+ ep?: (string | number) | undefined;
479
+ /** Cluster ID. */
480
+ cl: string;
481
+ /** Attribute ID. */
482
+ at?: (string | string[]) | undefined;
483
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
484
+ mf?: string | undefined;
485
+ /** Zigbee command. */
486
+ cmd?: ("any" | string) | undefined;
487
+ /** Zigbee command frame control. */
488
+ fc?: (string | number) | undefined;
489
+ /** Javascript expression to transform the attribute value to the Item value. */
490
+ eval?: string | undefined;
491
+ /** Relative path of a Javascript .js file. */
492
+ script?: string | undefined;
493
+ /** Generic function to parse ZCL values from read/report commands. */
494
+ fn: "zcl:attr";
495
+ [x: string]: never;
496
+ } | {
497
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
498
+ ep?: (string | number) | undefined;
499
+ /** Cluster ID. */
500
+ cl: string;
501
+ /** Attribute ID. */
502
+ at?: (string | string[]) | undefined;
503
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
504
+ mf?: string | undefined;
505
+ /** Zigbee command. */
506
+ cmd?: ("any" | string) | undefined;
507
+ /** Zigbee command frame control. */
508
+ fc?: (string | number) | undefined;
509
+ /** Javascript expression to transform the attribute value to the Item value. */
510
+ eval?: string | undefined;
511
+ /** Relative path of a Javascript .js file. */
512
+ script?: string | undefined;
513
+ /** Generic function to parse ZCL values from read/report commands. */
514
+ fn: "zcl:cmd";
515
+ [x: string]: never;
516
+ } | {
517
+ /** Generic function to read all Tuya datapoints. It has no parameters. */
518
+ fn: "tuya";
519
+ [x: string]: never;
520
+ }) | undefined;
521
+ /** Fonction used to parse incoming values. */
522
+ parse?: ({
523
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
524
+ ep?: (string | number) | undefined;
525
+ /** Cluster ID. */
526
+ cl: string;
527
+ /** Attribute ID. */
528
+ at?: (string | string[]) | undefined;
529
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
530
+ mf?: string | undefined;
531
+ /** Zigbee command. */
532
+ cmd?: ("any" | string) | undefined;
533
+ /** Zigbee command frame control. */
534
+ fc?: (string | number) | undefined;
535
+ /** Javascript expression to transform the attribute value to the Item value. */
536
+ eval?: string | undefined;
537
+ /** Relative path of a Javascript .js file. */
538
+ script?: string | undefined;
539
+ /** Generic function to read ZCL attributes. */
540
+ fn?: undefined;
541
+ cppsrc?: string | undefined;
542
+ [x: string]: never;
543
+ } | {
544
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
545
+ ep?: (string | number) | undefined;
546
+ /** Cluster ID. */
547
+ cl: string;
548
+ /** Attribute ID. */
549
+ at?: (string | string[]) | undefined;
550
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
551
+ mf?: string | undefined;
552
+ /** Zigbee command. */
553
+ cmd?: ("any" | string) | undefined;
554
+ /** Zigbee command frame control. */
555
+ fc?: (string | number) | undefined;
556
+ /** Javascript expression to transform the attribute value to the Item value. */
557
+ eval?: string | undefined;
558
+ /** Relative path of a Javascript .js file. */
559
+ script?: string | undefined;
560
+ /** Generic function to parse ZCL values from read/report commands. */
561
+ fn: "zcl:attr";
562
+ [x: string]: never;
563
+ } | {
564
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
565
+ ep?: (string | number) | undefined;
566
+ /** Cluster ID. */
567
+ cl: string;
568
+ /** Attribute ID. */
569
+ at?: (string | string[]) | undefined;
570
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
571
+ mf?: string | undefined;
572
+ /** Zigbee command. */
573
+ cmd?: ("any" | string) | undefined;
574
+ /** Zigbee command frame control. */
575
+ fc?: (string | number) | undefined;
576
+ /** Javascript expression to transform the attribute value to the Item value. */
577
+ eval?: string | undefined;
578
+ /** Relative path of a Javascript .js file. */
579
+ script?: string | undefined;
580
+ /** Generic function to parse ZCL values from read/report commands. */
581
+ fn: "zcl:cmd";
582
+ [x: string]: never;
583
+ } | {
584
+ /** Generic function to parse IAS ZONE status change notifications or zone status from read/report command. */
585
+ fn: "ias:zonestatus";
586
+ /** Sets the bitmask for Alert1 and Alert2 item of the IAS Zone status. */
587
+ mask?: (("alarm1" | "alarm2") | "alarm1,alarm2") | undefined;
588
+ [x: string]: never;
589
+ } | {
590
+ /** Generic function to to convert number to string. */
591
+ fn: "numtostr";
592
+ /** The source item holding the number. */
593
+ srcitem: "state/y" | "state/x" | "state/windowopen" | "state/water" | "state/water_bis" | "state/voltage" | "state/vibrationstrength" | "state/vibration" | "state/valve" | "state/utc" | "state/tiltangle" | "state/tilt" | "state/test" | "state/temperature" | "state/temperature_bis" | "state/targetdistance" | "state/tampered" | "state/speed" | "state/seconds_remaining" | "state/sat" | "state/rotaryevent" | "state/replacefilter" | "state/reachable" | "state/production" | "state/pressure" | "state/pressure_bis" | "state/presenceevent" | "state/presence" | "state/power" | "state/power_divisor" | "state/pm2_5" | "state/panel" | "state/orientation_z" | "state/orientation_y" | "state/orientation_x" | "state/open" | "state/open_bis" | "state/on" | "state/music_sync" | "state/mountingmodeactive" | "state/moisture" | "state/measured_value" | "state/lux" | "state/lowbattery" | "state/lockstate" | "state/localtime" | "state/lightlevel" | "state/lift" | "state/lastupdated" | "state/lastset" | "state/lastcheckin" | "state/humidity" | "state/humidity_bis" | "state/hue" | "state/heating" | "state/gradient" | "state/gesture" | "state/flow" | "state/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/distance" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/current" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/colormode" | "state/charging" | "state/carbonmonoxide" | "state/buttonevent" | "state/bri" | "state/battery" | "state/angle" | "state/alert" | "state/alarm" | "state/airqualityppb" | "state/airqualityppb_bis" | "state/airquality" | "state/airquality_bis" | "state/action" | "config/windowopendetectionenabled" | "config/windowopen_set" | "config/windowcoveringtype" | "config/volume" | "config/usertest" | "config/unoccupiedheatsetpoint" | "config/tuya_unlock" | "config/triggerdistance" | "config/triggerdistance_bis" | "config/tholdoffset" | "config/tholddark" | "config/temperature" | "config/swingmode" | "config/speed" | "config/setvalve" | "config/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/radiatorcovered" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/loadbalancing" | "config/ledindication" | "config/lastchange_time" | "config/lastchange_source" | "config/lastchange_amount" | "config/interfacemode" | "config/heatsetpoint" | "config/group" | "config/filterlifetime" | "config/fanmode" | "config/fadingtime" | "config/externalwindowopen" | "config/externalsensortemp" | "config/enrolled" | "config/duration" | "config/displayflipped" | "config/devicemode" | "config/devicemode_bis" | "config/detectionrange" | "config/delay" | "config/ctmin" | "config/ctmax" | "config/coolsetpoint" | "config/controlsequence" | "config/configured" | "config/colorcapabilities" | "config/color/xy/startup_y" | "config/color/xy/startup_x" | "config/color/gradient/reversed" | "config/color/gradient/pixel_count" | "config/color/execute_if_off" | "config/color/ct/startup" | "config/clickmode" | "config/checkin" | "config/bri/startup" | "config/bri/options" | "config/bri/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/bri/couple_ct" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/otau/manufacturer_code" | "cap/otau/image_type" | "cap/otau/file_version" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/quantity" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "cap/group" | "cap/color/xy/red_y" | "cap/color/xy/red_x" | "cap/color/xy/green_y" | "cap/color/xy/green_x" | "cap/color/xy/blue_y" | "cap/color/xy/blue_x" | "cap/color/gradient/styles" | "cap/color/gradient/pixel_length" | "cap/color/gradient/pixel_count" | "cap/color/gradient/max_segments" | "cap/color/gamut_type" | "cap/color/effects" | "cap/color/ct/min" | "cap/color/ct/max" | "cap/color/ct/computes_xy" | "cap/color/capabilities" | "cap/bri/move_with_onoff" | "cap/bri/min_dim_level" | "cap/alert/trigger_effect" | "attr/zonetype" | "attr/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/otaversion" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id" | "attr/ddf_policy" | "attr/ddf_hash" | "attr/appversion";
594
+ /** Comparison operator (lt | le | eq | gt | ge) */
595
+ op: "lt" | "le" | "eq" | "gt" | "ge";
596
+ /** Array of (num, string) mappings */
597
+ to: any;
598
+ [x: string]: never;
599
+ } | {
600
+ /** Specialized function to parse time, local and last set time from read/report commands of the time cluster and auto-sync time if needed. */
601
+ fn: "time";
602
+ [x: string]: never;
603
+ } | {
604
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
605
+ ep?: (string | number) | undefined;
606
+ /** Attribute ID. */
607
+ at?: (string | string[]) | undefined;
608
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
609
+ mf?: string | undefined;
610
+ /** Javascript expression to transform the attribute value to the Item value. */
611
+ eval?: string | undefined;
612
+ /** Relative path of a Javascript .js file. */
613
+ script?: string | undefined;
614
+ /** Generic function to parse custom Xiaomi attributes and commands. */
615
+ fn: "xiaomi:special";
616
+ /** A 8-bit string hex value. */
617
+ idx: string;
618
+ [x: string]: never;
619
+ } | {
620
+ /** Javascript expression to transform the attribute value to the Item value. */
621
+ eval?: string | undefined;
622
+ /** Relative path of a Javascript .js file. */
623
+ script?: string | undefined;
624
+ /** Generic function to parse Tuya data. */
625
+ fn: "tuya";
626
+ /** Data point ID. 1-255 the datapoint ID. */
627
+ dpid: number;
628
+ [x: string]: never;
629
+ }) | undefined;
630
+ /** Fonction used to write value. */
631
+ write?: ({
632
+ fn: "none";
633
+ [x: string]: never;
634
+ } | {
635
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
636
+ ep?: (string | number) | undefined;
637
+ /** Cluster ID. */
638
+ cl: string;
639
+ /** Attribute ID. */
640
+ at?: (string | string[]) | undefined;
641
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
642
+ mf?: string | undefined;
643
+ /** Zigbee command. */
644
+ cmd?: ("any" | string) | undefined;
645
+ /** Zigbee command frame control. */
646
+ fc?: (string | number) | undefined;
647
+ /** Javascript expression to transform the attribute value to the Item value. */
648
+ eval?: string | undefined;
649
+ /** Relative path of a Javascript .js file. */
650
+ script?: string | undefined;
651
+ "state.timeout"?: number | undefined;
652
+ "change.timeout"?: number | undefined;
653
+ /** Data type. */
654
+ dt?: string | undefined;
655
+ /** Generic function to read ZCL attributes. */
656
+ fn?: undefined;
657
+ cppsrc?: string | undefined;
658
+ [x: string]: never;
659
+ } | {
660
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
661
+ ep?: (string | number) | undefined;
662
+ /** Cluster ID. */
663
+ cl: string;
664
+ /** Attribute ID. */
665
+ at?: (string | string[]) | undefined;
666
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
667
+ mf?: string | undefined;
668
+ /** Zigbee command. */
669
+ cmd?: ("any" | string) | undefined;
670
+ /** Zigbee command frame control. */
671
+ fc?: (string | number) | undefined;
672
+ /** Javascript expression to transform the attribute value to the Item value. */
673
+ eval?: string | undefined;
674
+ /** Relative path of a Javascript .js file. */
675
+ script?: string | undefined;
676
+ "state.timeout"?: number | undefined;
677
+ "change.timeout"?: number | undefined;
678
+ /** Data type. */
679
+ dt?: string | undefined;
680
+ /** Generic function to parse ZCL values from read/report commands. */
681
+ fn: "zcl:attr";
682
+ [x: string]: never;
683
+ } | {
684
+ /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
685
+ ep?: (string | number) | undefined;
686
+ /** Cluster ID. */
687
+ cl: string;
688
+ /** Attribute ID. */
689
+ at?: (string | string[]) | undefined;
690
+ /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
691
+ mf?: string | undefined;
692
+ /** Zigbee command. */
693
+ cmd?: ("any" | string) | undefined;
694
+ /** Zigbee command frame control. */
695
+ fc?: (string | number) | undefined;
696
+ /** Javascript expression to transform the attribute value to the Item value. */
697
+ eval?: string | undefined;
698
+ /** Relative path of a Javascript .js file. */
699
+ script?: string | undefined;
700
+ "state.timeout"?: number | undefined;
701
+ "change.timeout"?: number | undefined;
702
+ /** Data type. */
703
+ dt?: string | undefined;
704
+ /** Generic function to parse ZCL values from read/report commands. */
705
+ fn: "zcl:cmd";
706
+ [x: string]: never;
707
+ } | {
708
+ /** Javascript expression to transform the attribute value to the Item value. */
709
+ eval?: string | undefined;
710
+ /** Relative path of a Javascript .js file. */
711
+ script?: string | undefined;
712
+ /** Generic function to write Tuya data. */
713
+ fn: "tuya";
714
+ /** Data point ID. 1-255 the datapoint ID. */
715
+ dpid: number;
716
+ /** Data type. */
717
+ dt: string;
718
+ [x: string]: never;
719
+ }) | undefined;
720
+ /** Refresh interval used for read fonction, NEED to be superior at value used in binding part. */
721
+ "refresh.interval"?: number | undefined;
722
+ /** TODO: What is this ? */
723
+ values?: unknown | undefined;
724
+ /** Defaut value. */
725
+ default?: unknown | undefined;
726
+ [x: string]: never;
727
+ } | {
728
+ $schema?: string | undefined;
729
+ schema: "subdevice1.schema.json";
730
+ ddfvalidate?: boolean | undefined;
731
+ type: ("$TYPE_AIR_PURIFIER" | "$TYPE_AIR_QUALITY_SENSOR" | "$TYPE_CARBONDIOXIDE_SENSOR" | "$TYPE_CARBONMONOXIDE_SENSOR" | "$TYPE_FORMALDEHYDE_SENSOR" | "$TYPE_PARTICULATEMATTER_SENSOR" | "$TYPE_ALARM_SENSOR" | "$TYPE_ANCILLARY_CONTROL" | "$TYPE_BATTERY_SENSOR" | "$TYPE_COLOR_LIGHT" | "$TYPE_COLOR_TEMPERATURE_LIGHT" | "$TYPE_CONSUMPTION_SENSOR" | "$TYPE_DIMMABLE_LIGHT" | "$TYPE_DIMMABLE_PLUGIN_UNIT" | "$TYPE_DIMMER_SWITCH" | "$TYPE_DOOR_LOCK" | "$TYPE_DOOR_LOCK_CONTROLLER" | "$TYPE_DOOR_LOCK_SENSOR" | "$TYPE_EXTENDED_COLOR_LIGHT" | "$TYPE_FIRE_SENSOR" | "$TYPE_HUMIDITY_SENSOR" | "$TYPE_LEVEL_CONTROL_SWITCH" | "$TYPE_LIGHT_LEVEL_SENSOR" | "$TYPE_MOISTURE_SENSOR" | "$TYPE_ON_OFF_LIGHT" | "$TYPE_ON_OFF_LIGHT_SWITCH" | "$TYPE_ON_OFF_OUTPUT" | "$TYPE_ON_OFF_PLUGIN_UNIT" | "$TYPE_ON_OFF_SWITCH" | "$TYPE_OPEN_CLOSE_SENSOR" | "$TYPE_POWER_SENSOR" | "$TYPE_PRESENCE_SENSOR" | "$TYPE_PRESSURE_SENSOR" | "$TYPE_RANGE_EXTENDER" | "$TYPE_RELATIVE_ROTARY" | "$TYPE_SMART_PLUG" | "$TYPE_SPECTRAL_SENSOR" | "$TYPE_SWITCH" | "$TYPE_TEMPERATURE_SENSOR" | "$TYPE_THERMOSTAT" | "$TYPE_TIME" | "$TYPE_VIBRATION_SENSOR" | "$TYPE_WARNING_DEVICE" | "$TYPE_WATER_LEAK_SENSOR" | "$TYPE_WINDOW_COVERING_DEVICE" | "$TYPE_ZGP_SWITCH") | string;
732
+ name: string;
733
+ ui_name: string;
734
+ restapi: "/lights" | "/sensors";
735
+ order: number;
736
+ uuid: [
737
+ "$address.ext",
738
+ string
739
+ ] | [
740
+ "$address.ext",
741
+ string,
742
+ string
743
+ ];
744
+ items: ("state/y" | "state/x" | "state/windowopen" | "state/water" | "state/water_bis" | "state/voltage" | "state/vibrationstrength" | "state/vibration" | "state/valve" | "state/utc" | "state/tiltangle" | "state/tilt" | "state/test" | "state/temperature" | "state/temperature_bis" | "state/targetdistance" | "state/tampered" | "state/speed" | "state/seconds_remaining" | "state/sat" | "state/rotaryevent" | "state/replacefilter" | "state/reachable" | "state/production" | "state/pressure" | "state/pressure_bis" | "state/presenceevent" | "state/presence" | "state/power" | "state/power_divisor" | "state/pm2_5" | "state/panel" | "state/orientation_z" | "state/orientation_y" | "state/orientation_x" | "state/open" | "state/open_bis" | "state/on" | "state/music_sync" | "state/mountingmodeactive" | "state/moisture" | "state/measured_value" | "state/lux" | "state/lowbattery" | "state/lockstate" | "state/localtime" | "state/lightlevel" | "state/lift" | "state/lastupdated" | "state/lastset" | "state/lastcheckin" | "state/humidity" | "state/humidity_bis" | "state/hue" | "state/heating" | "state/gradient" | "state/gesture" | "state/flow" | "state/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/distance" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/current" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/colormode" | "state/charging" | "state/carbonmonoxide" | "state/buttonevent" | "state/bri" | "state/battery" | "state/angle" | "state/alert" | "state/alarm" | "state/airqualityppb" | "state/airqualityppb_bis" | "state/airquality" | "state/airquality_bis" | "state/action" | "config/windowopendetectionenabled" | "config/windowopen_set" | "config/windowcoveringtype" | "config/volume" | "config/usertest" | "config/unoccupiedheatsetpoint" | "config/tuya_unlock" | "config/triggerdistance" | "config/triggerdistance_bis" | "config/tholdoffset" | "config/tholddark" | "config/temperature" | "config/swingmode" | "config/speed" | "config/setvalve" | "config/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/radiatorcovered" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/loadbalancing" | "config/ledindication" | "config/lastchange_time" | "config/lastchange_source" | "config/lastchange_amount" | "config/interfacemode" | "config/heatsetpoint" | "config/group" | "config/filterlifetime" | "config/fanmode" | "config/fadingtime" | "config/externalwindowopen" | "config/externalsensortemp" | "config/enrolled" | "config/duration" | "config/displayflipped" | "config/devicemode" | "config/devicemode_bis" | "config/detectionrange" | "config/delay" | "config/ctmin" | "config/ctmax" | "config/coolsetpoint" | "config/controlsequence" | "config/configured" | "config/colorcapabilities" | "config/color/xy/startup_y" | "config/color/xy/startup_x" | "config/color/gradient/reversed" | "config/color/gradient/pixel_count" | "config/color/execute_if_off" | "config/color/ct/startup" | "config/clickmode" | "config/checkin" | "config/bri/startup" | "config/bri/options" | "config/bri/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/bri/couple_ct" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/otau/manufacturer_code" | "cap/otau/image_type" | "cap/otau/file_version" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/quantity" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "cap/group" | "cap/color/xy/red_y" | "cap/color/xy/red_x" | "cap/color/xy/green_y" | "cap/color/xy/green_x" | "cap/color/xy/blue_y" | "cap/color/xy/blue_x" | "cap/color/gradient/styles" | "cap/color/gradient/pixel_length" | "cap/color/gradient/pixel_count" | "cap/color/gradient/max_segments" | "cap/color/gamut_type" | "cap/color/effects" | "cap/color/ct/min" | "cap/color/ct/max" | "cap/color/ct/computes_xy" | "cap/color/capabilities" | "cap/bri/move_with_onoff" | "cap/bri/min_dim_level" | "cap/alert/trigger_effect" | "attr/zonetype" | "attr/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/otaversion" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id" | "attr/ddf_policy" | "attr/ddf_hash" | "attr/appversion")[];
745
+ items_optional?: ("state/y" | "state/x" | "state/windowopen" | "state/water" | "state/water_bis" | "state/voltage" | "state/vibrationstrength" | "state/vibration" | "state/valve" | "state/utc" | "state/tiltangle" | "state/tilt" | "state/test" | "state/temperature" | "state/temperature_bis" | "state/targetdistance" | "state/tampered" | "state/speed" | "state/seconds_remaining" | "state/sat" | "state/rotaryevent" | "state/replacefilter" | "state/reachable" | "state/production" | "state/pressure" | "state/pressure_bis" | "state/presenceevent" | "state/presence" | "state/power" | "state/power_divisor" | "state/pm2_5" | "state/panel" | "state/orientation_z" | "state/orientation_y" | "state/orientation_x" | "state/open" | "state/open_bis" | "state/on" | "state/music_sync" | "state/mountingmodeactive" | "state/moisture" | "state/measured_value" | "state/lux" | "state/lowbattery" | "state/lockstate" | "state/localtime" | "state/lightlevel" | "state/lift" | "state/lastupdated" | "state/lastset" | "state/lastcheckin" | "state/humidity" | "state/humidity_bis" | "state/hue" | "state/heating" | "state/gradient" | "state/gesture" | "state/flow" | "state/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/distance" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/current" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/colormode" | "state/charging" | "state/carbonmonoxide" | "state/buttonevent" | "state/bri" | "state/battery" | "state/angle" | "state/alert" | "state/alarm" | "state/airqualityppb" | "state/airqualityppb_bis" | "state/airquality" | "state/airquality_bis" | "state/action" | "config/windowopendetectionenabled" | "config/windowopen_set" | "config/windowcoveringtype" | "config/volume" | "config/usertest" | "config/unoccupiedheatsetpoint" | "config/tuya_unlock" | "config/triggerdistance" | "config/triggerdistance_bis" | "config/tholdoffset" | "config/tholddark" | "config/temperature" | "config/swingmode" | "config/speed" | "config/setvalve" | "config/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/radiatorcovered" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/loadbalancing" | "config/ledindication" | "config/lastchange_time" | "config/lastchange_source" | "config/lastchange_amount" | "config/interfacemode" | "config/heatsetpoint" | "config/group" | "config/filterlifetime" | "config/fanmode" | "config/fadingtime" | "config/externalwindowopen" | "config/externalsensortemp" | "config/enrolled" | "config/duration" | "config/displayflipped" | "config/devicemode" | "config/devicemode_bis" | "config/detectionrange" | "config/delay" | "config/ctmin" | "config/ctmax" | "config/coolsetpoint" | "config/controlsequence" | "config/configured" | "config/colorcapabilities" | "config/color/xy/startup_y" | "config/color/xy/startup_x" | "config/color/gradient/reversed" | "config/color/gradient/pixel_count" | "config/color/execute_if_off" | "config/color/ct/startup" | "config/clickmode" | "config/checkin" | "config/bri/startup" | "config/bri/options" | "config/bri/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/bri/couple_ct" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/otau/manufacturer_code" | "cap/otau/image_type" | "cap/otau/file_version" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/quantity" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "cap/group" | "cap/color/xy/red_y" | "cap/color/xy/red_x" | "cap/color/xy/green_y" | "cap/color/xy/green_x" | "cap/color/xy/blue_y" | "cap/color/xy/blue_x" | "cap/color/gradient/styles" | "cap/color/gradient/pixel_length" | "cap/color/gradient/pixel_count" | "cap/color/gradient/max_segments" | "cap/color/gamut_type" | "cap/color/effects" | "cap/color/ct/min" | "cap/color/ct/max" | "cap/color/ct/computes_xy" | "cap/color/capabilities" | "cap/bri/move_with_onoff" | "cap/bri/min_dim_level" | "cap/alert/trigger_effect" | "attr/zonetype" | "attr/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/otaversion" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id" | "attr/ddf_policy" | "attr/ddf_hash" | "attr/appversion")[] | undefined;
746
+ [x: string]: never;
747
+ };
4
748
 
5
749
  export interface GenericsData {
6
750
  attributes: string[]