@deconz-community/ddf-validator 2.18.0 → 2.20.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.
@@ -4,6 +4,7 @@ export type DDF = {
4
4
  $schema?: string | undefined;
5
5
  schema: "devcap1.schema.json";
6
6
  uuid?: string | undefined;
7
+ ddfvalidate?: boolean | undefined;
7
8
  version?: string | undefined;
8
9
  version_deconz?: string | undefined;
9
10
  "doc:path"?: string | undefined;
@@ -54,6 +55,7 @@ export type DDF = {
54
55
  buttons?: any | undefined;
55
56
  buttonevents?: any | undefined;
56
57
  items: {
58
+ ddfvalidate?: boolean | undefined;
57
59
  /** Item description, better to do not use it. */
58
60
  description?: string | undefined;
59
61
  /** TODO: What is this ? What the difference with description ? */
@@ -85,128 +87,109 @@ export type DDF = {
85
87
  read?: ({
86
88
  fn: "none";
87
89
  } | {
88
- /** Generic function to read ZCL attributes. */
89
- fn?: undefined;
90
- /** Attribute ID. */
91
- at: string | string[];
92
- /** Cluster ID. */
93
- cl: string;
94
90
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
95
91
  ep?: (string | number) | undefined;
96
- /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
97
- mf?: string | undefined;
98
- /** Javascript expression to transform the raw value. */
99
- eval?: string | undefined;
100
- } | {
101
- /** Generic function to read ZCL attributes. */
102
- fn: "zcl";
103
- /** Attribute ID. */
104
- at: string | string[];
105
92
  /** Cluster ID. */
106
93
  cl: string;
107
- /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
108
- ep?: (string | number) | undefined;
94
+ /** Attribute ID. */
95
+ at?: (string | string[]) | undefined;
109
96
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
110
97
  mf?: string | undefined;
111
- /** Javascript expression to transform the raw value. */
98
+ /** Zigbee command. */
99
+ cmd?: string | undefined;
100
+ /** Javascript expression to transform the attribute value to the Item value. */
112
101
  eval?: string | undefined;
113
102
  /** Relative path of a Javascript .js file. */
114
103
  script?: string | undefined;
104
+ /** Zigbee command frame control. */
105
+ fc?: (string | number) | undefined;
106
+ /** Generic function to read ZCL attributes. */
107
+ fn?: undefined;
115
108
  } | {
116
- /** Generic function to parse ZCL values from read/report commands. */
117
- fn: "zcl:attr";
118
- /** String hex value or array of string hex values. */
119
- at: string | string[];
120
- /** Cluster ID. */
121
- cl: string;
122
109
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
123
110
  ep?: (string | number) | undefined;
111
+ /** Cluster ID. */
112
+ cl: string;
113
+ /** Attribute ID. */
114
+ at?: (string | string[]) | undefined;
124
115
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
125
116
  mf?: string | undefined;
117
+ /** Zigbee command. */
118
+ cmd?: string | undefined;
126
119
  /** Javascript expression to transform the attribute value to the Item value. */
127
120
  eval?: string | undefined;
128
121
  /** Relative path of a Javascript .js file. */
129
122
  script?: string | undefined;
130
- } | {
123
+ /** Zigbee command frame control. */
124
+ fc?: (string | number) | undefined;
131
125
  /** Generic function to parse ZCL values from read/report commands. */
132
- fn: "zcl:cmd";
133
- /** Cluster ID. */
134
- cl: string;
126
+ fn: "zcl:attr";
127
+ } | {
135
128
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
136
129
  ep?: (string | number) | undefined;
130
+ /** Cluster ID. */
131
+ cl: string;
132
+ /** Attribute ID. */
133
+ at?: (string | string[]) | undefined;
137
134
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
138
135
  mf?: string | undefined;
139
136
  /** Zigbee command. */
140
137
  cmd?: string | undefined;
141
138
  /** Javascript expression to transform the attribute value to the Item value. */
142
139
  eval?: string | undefined;
143
- /** Zigbee command frame control. */
144
- fc?: (string | number) | undefined;
145
140
  /** Relative path of a Javascript .js file. */
146
141
  script?: string | undefined;
142
+ /** Zigbee command frame control. */
143
+ fc?: (string | number) | undefined;
144
+ /** Generic function to parse ZCL values from read/report commands. */
145
+ fn: "zcl:cmd";
147
146
  } | {
148
147
  /** Generic function to read all Tuya datapoints. It has no parameters. */
149
148
  fn: "tuya";
150
149
  }) | undefined;
151
150
  /** Fonction used to parse incoming values. */
152
151
  parse?: ({
153
- /** Generic function to parse ZCL attributes and commands. */
154
- fn?: undefined;
155
- /** Attribute ID. */
156
- at?: (string | string[]) | undefined;
157
- /** Cluster ID. */
158
- cl: string;
159
- cppsrc?: string | undefined;
160
152
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
161
153
  ep?: (string | number) | undefined;
162
- /** Zigbee command. */
163
- cmd?: string | undefined;
164
- /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
165
- mf?: string | undefined;
166
- /** Javascript expression to transform the raw value. */
167
- eval?: string | undefined;
168
- /** Relative path of a Javascript .js file. */
169
- script?: string | undefined;
170
- } | {
171
- /** Generic function to parse ZCL attributes and commands. */
172
- fn: "zcl";
173
- /** Attribute ID. */
174
- at?: (string | string[]) | undefined;
175
154
  /** Cluster ID. */
176
155
  cl: string;
177
- cppsrc?: string | undefined;
178
- /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
179
- ep?: (string | number) | undefined;
180
- /** Zigbee command. */
181
- cmd?: string | undefined;
156
+ /** Attribute ID. */
157
+ at?: (string | string[]) | undefined;
182
158
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
183
159
  mf?: string | undefined;
184
- /** Javascript expression to transform the raw value. */
160
+ /** Zigbee command. */
161
+ cmd?: string | undefined;
162
+ /** Javascript expression to transform the attribute value to the Item value. */
185
163
  eval?: string | undefined;
186
164
  /** Relative path of a Javascript .js file. */
187
165
  script?: string | undefined;
166
+ /** Generic function to read ZCL attributes. */
167
+ fn?: undefined;
168
+ cppsrc?: string | undefined;
188
169
  } | {
189
- /** Generic function to parse ZCL values from read/report commands. */
190
- fn: "zcl:attr";
191
- /** String hex value or array of string hex values. */
192
- at: string | string[];
193
- /** Cluster ID. */
194
- cl: string;
195
170
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
196
171
  ep?: (string | number) | undefined;
172
+ /** Cluster ID. */
173
+ cl: string;
174
+ /** Attribute ID. */
175
+ at?: (string | string[]) | undefined;
197
176
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
198
177
  mf?: string | undefined;
178
+ /** Zigbee command. */
179
+ cmd?: string | undefined;
199
180
  /** Javascript expression to transform the attribute value to the Item value. */
200
181
  eval?: string | undefined;
201
182
  /** Relative path of a Javascript .js file. */
202
183
  script?: string | undefined;
203
- } | {
204
184
  /** Generic function to parse ZCL values from read/report commands. */
205
- fn: "zcl:cmd";
206
- /** Cluster ID. */
207
- cl: string;
185
+ fn: "zcl:attr";
186
+ } | {
208
187
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
209
188
  ep?: (string | number) | undefined;
189
+ /** Cluster ID. */
190
+ cl: string;
191
+ /** Attribute ID. */
192
+ at?: (string | string[]) | undefined;
210
193
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
211
194
  mf?: string | undefined;
212
195
  /** Zigbee command. */
@@ -215,6 +198,8 @@ export type DDF = {
215
198
  eval?: string | undefined;
216
199
  /** Relative path of a Javascript .js file. */
217
200
  script?: string | undefined;
201
+ /** Generic function to parse ZCL values from read/report commands. */
202
+ fn: "zcl:cmd";
218
203
  } | {
219
204
  /** Generic function to parse IAS ZONE status change notifications or zone status from read/report command. */
220
205
  fn: "ias:zonestatus";
@@ -224,7 +209,7 @@ export type DDF = {
224
209
  /** Generic function to to convert number to string. */
225
210
  fn: "numtostr";
226
211
  /** The source item holding the number. */
227
- srcitem: "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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/y" | "state/x" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id";
212
+ 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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id";
228
213
  /** Comparison operator (lt | le | eq | gt | ge) */
229
214
  op: "lt" | "le" | "eq" | "gt" | "ge";
230
215
  /** Array of (num, string) mappings */
@@ -233,114 +218,108 @@ export type DDF = {
233
218
  /** Specialized function to parse time, local and last set time from read/report commands of the time cluster and auto-sync time if needed. */
234
219
  fn: "time";
235
220
  } | {
236
- /** Generic function to parse custom Xiaomi attributes and commands. */
237
- fn: "xiaomi:special";
238
221
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
239
222
  ep?: (string | number) | undefined;
223
+ /** Attribute ID. */
224
+ at?: (string | string[]) | undefined;
240
225
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
241
226
  mf?: string | undefined;
242
- /** Attribute ID. The attribute to parse, shall be 0xff01, 0xff02 or 0x00f7 */
243
- at?: string | undefined;
227
+ /** Javascript expression to transform the attribute value to the Item value. */
228
+ eval?: string | undefined;
229
+ /** Relative path of a Javascript .js file. */
230
+ script?: string | undefined;
231
+ /** Generic function to parse custom Xiaomi attributes and commands. */
232
+ fn: "xiaomi:special";
244
233
  /** A 8-bit string hex value. */
245
234
  idx: string;
246
- /** Javascript expression to transform the raw value. */
235
+ } | {
236
+ /** Javascript expression to transform the attribute value to the Item value. */
247
237
  eval?: string | undefined;
248
238
  /** Relative path of a Javascript .js file. */
249
239
  script?: string | undefined;
250
- } | {
251
240
  /** Generic function to parse Tuya data. */
252
241
  fn: "tuya";
253
242
  /** Data point ID. 1-255 the datapoint ID. */
254
243
  dpid: number;
255
- /** Javascript expression to transform the raw value. */
256
- eval?: string | undefined;
257
- /** Relative path of a Javascript .js file. */
258
- script?: string | undefined;
259
244
  }) | undefined;
260
245
  /** Fonction used to write value. */
261
246
  write?: ({
262
247
  fn: "none";
263
248
  } | {
264
- fn?: undefined;
265
- /** Attribute ID. */
266
- at?: (string | string[]) | undefined;
267
- "state.timeout"?: number | undefined;
268
- "change.timeout"?: number | undefined;
269
- /** Cluster ID. */
270
- cl: string;
271
- /** Data type. */
272
- dt: string;
273
249
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
274
250
  ep?: (string | number) | undefined;
251
+ /** Cluster ID. */
252
+ cl: string;
253
+ /** Attribute ID. */
254
+ at?: (string | string[]) | undefined;
275
255
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
276
256
  mf?: string | undefined;
277
- /** Javascript expression to transform the raw value. */
257
+ /** Zigbee command. */
258
+ cmd?: string | undefined;
259
+ /** Javascript expression to transform the attribute value to the Item value. */
278
260
  eval?: string | undefined;
279
261
  /** Relative path of a Javascript .js file. */
280
262
  script?: string | undefined;
281
- } | {
282
- fn: "zcl";
283
- /** Attribute ID. */
284
- at?: (string | string[]) | undefined;
285
263
  "state.timeout"?: number | undefined;
286
264
  "change.timeout"?: number | undefined;
287
- /** Cluster ID. */
288
- cl: string;
289
265
  /** Data type. */
290
- dt: string;
266
+ dt?: string | undefined;
267
+ /** Generic function to read ZCL attributes. */
268
+ fn?: undefined;
269
+ cppsrc?: string | undefined;
270
+ } | {
291
271
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
292
272
  ep?: (string | number) | undefined;
273
+ /** Cluster ID. */
274
+ cl: string;
275
+ /** Attribute ID. */
276
+ at?: (string | string[]) | undefined;
293
277
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
294
278
  mf?: string | undefined;
295
- /** Javascript expression to transform the raw value. */
279
+ /** Zigbee command. */
280
+ cmd?: string | undefined;
281
+ /** Javascript expression to transform the attribute value to the Item value. */
296
282
  eval?: string | undefined;
297
283
  /** Relative path of a Javascript .js file. */
298
284
  script?: string | undefined;
299
- } | {
300
- /** Generic function to parse ZCL values from read/report commands. */
301
- fn: "zcl:attr";
302
- /** String hex value or array of string hex values. */
303
- at: string | string[];
304
285
  "state.timeout"?: number | undefined;
305
286
  "change.timeout"?: number | undefined;
306
- /** Cluster ID. */
307
- cl: string;
308
287
  /** Data type. */
309
- dt: string;
288
+ dt?: string | undefined;
289
+ /** Generic function to parse ZCL values from read/report commands. */
290
+ fn: "zcl:attr";
291
+ } | {
310
292
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
311
293
  ep?: (string | number) | undefined;
294
+ /** Cluster ID. */
295
+ cl: string;
296
+ /** Attribute ID. */
297
+ at?: (string | string[]) | undefined;
312
298
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
313
299
  mf?: string | undefined;
300
+ /** Zigbee command. */
301
+ cmd?: string | undefined;
314
302
  /** Javascript expression to transform the attribute value to the Item value. */
315
303
  eval?: string | undefined;
316
304
  /** Relative path of a Javascript .js file. */
317
305
  script?: string | undefined;
318
- } | {
306
+ "state.timeout"?: number | undefined;
307
+ "change.timeout"?: number | undefined;
308
+ /** Data type. */
309
+ dt?: string | undefined;
319
310
  /** Generic function to parse ZCL values from read/report commands. */
320
311
  fn: "zcl:cmd";
321
- /** Cluster ID. */
322
- cl: string;
323
- /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
324
- ep?: (string | number) | undefined;
325
- /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
326
- mf?: string | undefined;
327
- /** Zigbee command. */
328
- cmd?: string | undefined;
312
+ } | {
329
313
  /** Javascript expression to transform the attribute value to the Item value. */
330
314
  eval?: string | undefined;
331
315
  /** Relative path of a Javascript .js file. */
332
316
  script?: string | undefined;
333
- } | {
334
317
  /** Generic function to write Tuya data. */
335
318
  fn: "tuya";
336
319
  /** Data point ID. 1-255 the datapoint ID. */
337
320
  dpid: number;
338
321
  /** Data type. */
339
322
  dt: string;
340
- /** Javascript expression to transform the raw value. */
341
- eval?: string | undefined;
342
- /** Relative path of a Javascript .js file. */
343
- script?: string | undefined;
344
323
  }) | undefined;
345
324
  /** Refresh interval used for read fonction, NEED to be superior at value used in binding part. */
346
325
  "refresh.interval"?: number | undefined;
@@ -349,7 +328,7 @@ export type DDF = {
349
328
  /** Defaut value. */
350
329
  default?: unknown | undefined;
351
330
  /** Item name. */
352
- name: "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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/y" | "state/x" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id";
331
+ 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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id";
353
332
  }[];
354
333
  example?: unknown | undefined;
355
334
  }[];
@@ -381,6 +360,7 @@ export type DDF = {
381
360
  } | {
382
361
  $schema?: string | undefined;
383
362
  schema: "constants1.schema.json";
363
+ ddfvalidate?: boolean | undefined;
384
364
  manufacturers: {
385
365
  [x: string]: string;
386
366
  };
@@ -390,10 +370,12 @@ export type DDF = {
390
370
  } | {
391
371
  $schema?: string | undefined;
392
372
  schema: "constants2.schema.json";
373
+ ddfvalidate?: boolean | undefined;
393
374
  } | {
394
375
  $schema?: string | undefined;
395
376
  schema: "resourceitem1.schema.json";
396
377
  id: string;
378
+ ddfvalidate?: boolean | undefined;
397
379
  /** Item description, better to do not use it. */
398
380
  description?: string | undefined;
399
381
  /** TODO: What is this ? What the difference with description ? */
@@ -425,128 +407,109 @@ export type DDF = {
425
407
  read?: ({
426
408
  fn: "none";
427
409
  } | {
428
- /** Generic function to read ZCL attributes. */
429
- fn?: undefined;
430
- /** Attribute ID. */
431
- at: string | string[];
432
- /** Cluster ID. */
433
- cl: string;
434
410
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
435
411
  ep?: (string | number) | undefined;
436
- /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
437
- mf?: string | undefined;
438
- /** Javascript expression to transform the raw value. */
439
- eval?: string | undefined;
440
- } | {
441
- /** Generic function to read ZCL attributes. */
442
- fn: "zcl";
443
- /** Attribute ID. */
444
- at: string | string[];
445
412
  /** Cluster ID. */
446
413
  cl: string;
447
- /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
448
- ep?: (string | number) | undefined;
414
+ /** Attribute ID. */
415
+ at?: (string | string[]) | undefined;
449
416
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
450
417
  mf?: string | undefined;
451
- /** Javascript expression to transform the raw value. */
418
+ /** Zigbee command. */
419
+ cmd?: string | undefined;
420
+ /** Javascript expression to transform the attribute value to the Item value. */
452
421
  eval?: string | undefined;
453
422
  /** Relative path of a Javascript .js file. */
454
423
  script?: string | undefined;
424
+ /** Zigbee command frame control. */
425
+ fc?: (string | number) | undefined;
426
+ /** Generic function to read ZCL attributes. */
427
+ fn?: undefined;
455
428
  } | {
456
- /** Generic function to parse ZCL values from read/report commands. */
457
- fn: "zcl:attr";
458
- /** String hex value or array of string hex values. */
459
- at: string | string[];
460
- /** Cluster ID. */
461
- cl: string;
462
429
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
463
430
  ep?: (string | number) | undefined;
431
+ /** Cluster ID. */
432
+ cl: string;
433
+ /** Attribute ID. */
434
+ at?: (string | string[]) | undefined;
464
435
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
465
436
  mf?: string | undefined;
437
+ /** Zigbee command. */
438
+ cmd?: string | undefined;
466
439
  /** Javascript expression to transform the attribute value to the Item value. */
467
440
  eval?: string | undefined;
468
441
  /** Relative path of a Javascript .js file. */
469
442
  script?: string | undefined;
470
- } | {
443
+ /** Zigbee command frame control. */
444
+ fc?: (string | number) | undefined;
471
445
  /** Generic function to parse ZCL values from read/report commands. */
472
- fn: "zcl:cmd";
473
- /** Cluster ID. */
474
- cl: string;
446
+ fn: "zcl:attr";
447
+ } | {
475
448
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
476
449
  ep?: (string | number) | undefined;
450
+ /** Cluster ID. */
451
+ cl: string;
452
+ /** Attribute ID. */
453
+ at?: (string | string[]) | undefined;
477
454
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
478
455
  mf?: string | undefined;
479
456
  /** Zigbee command. */
480
457
  cmd?: string | undefined;
481
458
  /** Javascript expression to transform the attribute value to the Item value. */
482
459
  eval?: string | undefined;
483
- /** Zigbee command frame control. */
484
- fc?: (string | number) | undefined;
485
460
  /** Relative path of a Javascript .js file. */
486
461
  script?: string | undefined;
462
+ /** Zigbee command frame control. */
463
+ fc?: (string | number) | undefined;
464
+ /** Generic function to parse ZCL values from read/report commands. */
465
+ fn: "zcl:cmd";
487
466
  } | {
488
467
  /** Generic function to read all Tuya datapoints. It has no parameters. */
489
468
  fn: "tuya";
490
469
  }) | undefined;
491
470
  /** Fonction used to parse incoming values. */
492
471
  parse?: ({
493
- /** Generic function to parse ZCL attributes and commands. */
494
- fn?: undefined;
495
- /** Attribute ID. */
496
- at?: (string | string[]) | undefined;
497
- /** Cluster ID. */
498
- cl: string;
499
- cppsrc?: string | undefined;
500
472
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
501
473
  ep?: (string | number) | undefined;
502
- /** Zigbee command. */
503
- cmd?: string | undefined;
504
- /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
505
- mf?: string | undefined;
506
- /** Javascript expression to transform the raw value. */
507
- eval?: string | undefined;
508
- /** Relative path of a Javascript .js file. */
509
- script?: string | undefined;
510
- } | {
511
- /** Generic function to parse ZCL attributes and commands. */
512
- fn: "zcl";
513
- /** Attribute ID. */
514
- at?: (string | string[]) | undefined;
515
474
  /** Cluster ID. */
516
475
  cl: string;
517
- cppsrc?: string | undefined;
518
- /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
519
- ep?: (string | number) | undefined;
520
- /** Zigbee command. */
521
- cmd?: string | undefined;
476
+ /** Attribute ID. */
477
+ at?: (string | string[]) | undefined;
522
478
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
523
479
  mf?: string | undefined;
524
- /** Javascript expression to transform the raw value. */
480
+ /** Zigbee command. */
481
+ cmd?: string | undefined;
482
+ /** Javascript expression to transform the attribute value to the Item value. */
525
483
  eval?: string | undefined;
526
484
  /** Relative path of a Javascript .js file. */
527
485
  script?: string | undefined;
486
+ /** Generic function to read ZCL attributes. */
487
+ fn?: undefined;
488
+ cppsrc?: string | undefined;
528
489
  } | {
529
- /** Generic function to parse ZCL values from read/report commands. */
530
- fn: "zcl:attr";
531
- /** String hex value or array of string hex values. */
532
- at: string | string[];
533
- /** Cluster ID. */
534
- cl: string;
535
490
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
536
491
  ep?: (string | number) | undefined;
492
+ /** Cluster ID. */
493
+ cl: string;
494
+ /** Attribute ID. */
495
+ at?: (string | string[]) | undefined;
537
496
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
538
497
  mf?: string | undefined;
498
+ /** Zigbee command. */
499
+ cmd?: string | undefined;
539
500
  /** Javascript expression to transform the attribute value to the Item value. */
540
501
  eval?: string | undefined;
541
502
  /** Relative path of a Javascript .js file. */
542
503
  script?: string | undefined;
543
- } | {
544
504
  /** Generic function to parse ZCL values from read/report commands. */
545
- fn: "zcl:cmd";
546
- /** Cluster ID. */
547
- cl: string;
505
+ fn: "zcl:attr";
506
+ } | {
548
507
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
549
508
  ep?: (string | number) | undefined;
509
+ /** Cluster ID. */
510
+ cl: string;
511
+ /** Attribute ID. */
512
+ at?: (string | string[]) | undefined;
550
513
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
551
514
  mf?: string | undefined;
552
515
  /** Zigbee command. */
@@ -555,6 +518,8 @@ export type DDF = {
555
518
  eval?: string | undefined;
556
519
  /** Relative path of a Javascript .js file. */
557
520
  script?: string | undefined;
521
+ /** Generic function to parse ZCL values from read/report commands. */
522
+ fn: "zcl:cmd";
558
523
  } | {
559
524
  /** Generic function to parse IAS ZONE status change notifications or zone status from read/report command. */
560
525
  fn: "ias:zonestatus";
@@ -564,7 +529,7 @@ export type DDF = {
564
529
  /** Generic function to to convert number to string. */
565
530
  fn: "numtostr";
566
531
  /** The source item holding the number. */
567
- srcitem: "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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/y" | "state/x" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id";
532
+ 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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id";
568
533
  /** Comparison operator (lt | le | eq | gt | ge) */
569
534
  op: "lt" | "le" | "eq" | "gt" | "ge";
570
535
  /** Array of (num, string) mappings */
@@ -573,114 +538,108 @@ export type DDF = {
573
538
  /** Specialized function to parse time, local and last set time from read/report commands of the time cluster and auto-sync time if needed. */
574
539
  fn: "time";
575
540
  } | {
576
- /** Generic function to parse custom Xiaomi attributes and commands. */
577
- fn: "xiaomi:special";
578
541
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
579
542
  ep?: (string | number) | undefined;
543
+ /** Attribute ID. */
544
+ at?: (string | string[]) | undefined;
580
545
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
581
546
  mf?: string | undefined;
582
- /** Attribute ID. The attribute to parse, shall be 0xff01, 0xff02 or 0x00f7 */
583
- at?: string | undefined;
547
+ /** Javascript expression to transform the attribute value to the Item value. */
548
+ eval?: string | undefined;
549
+ /** Relative path of a Javascript .js file. */
550
+ script?: string | undefined;
551
+ /** Generic function to parse custom Xiaomi attributes and commands. */
552
+ fn: "xiaomi:special";
584
553
  /** A 8-bit string hex value. */
585
554
  idx: string;
586
- /** Javascript expression to transform the raw value. */
555
+ } | {
556
+ /** Javascript expression to transform the attribute value to the Item value. */
587
557
  eval?: string | undefined;
588
558
  /** Relative path of a Javascript .js file. */
589
559
  script?: string | undefined;
590
- } | {
591
560
  /** Generic function to parse Tuya data. */
592
561
  fn: "tuya";
593
562
  /** Data point ID. 1-255 the datapoint ID. */
594
563
  dpid: number;
595
- /** Javascript expression to transform the raw value. */
596
- eval?: string | undefined;
597
- /** Relative path of a Javascript .js file. */
598
- script?: string | undefined;
599
564
  }) | undefined;
600
565
  /** Fonction used to write value. */
601
566
  write?: ({
602
567
  fn: "none";
603
568
  } | {
604
- fn?: undefined;
605
- /** Attribute ID. */
606
- at?: (string | string[]) | undefined;
607
- "state.timeout"?: number | undefined;
608
- "change.timeout"?: number | undefined;
609
- /** Cluster ID. */
610
- cl: string;
611
- /** Data type. */
612
- dt: string;
613
569
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
614
570
  ep?: (string | number) | undefined;
571
+ /** Cluster ID. */
572
+ cl: string;
573
+ /** Attribute ID. */
574
+ at?: (string | string[]) | undefined;
615
575
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
616
576
  mf?: string | undefined;
617
- /** Javascript expression to transform the raw value. */
577
+ /** Zigbee command. */
578
+ cmd?: string | undefined;
579
+ /** Javascript expression to transform the attribute value to the Item value. */
618
580
  eval?: string | undefined;
619
581
  /** Relative path of a Javascript .js file. */
620
582
  script?: string | undefined;
621
- } | {
622
- fn: "zcl";
623
- /** Attribute ID. */
624
- at?: (string | string[]) | undefined;
625
583
  "state.timeout"?: number | undefined;
626
584
  "change.timeout"?: number | undefined;
627
- /** Cluster ID. */
628
- cl: string;
629
585
  /** Data type. */
630
- dt: string;
586
+ dt?: string | undefined;
587
+ /** Generic function to read ZCL attributes. */
588
+ fn?: undefined;
589
+ cppsrc?: string | undefined;
590
+ } | {
631
591
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
632
592
  ep?: (string | number) | undefined;
593
+ /** Cluster ID. */
594
+ cl: string;
595
+ /** Attribute ID. */
596
+ at?: (string | string[]) | undefined;
633
597
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
634
598
  mf?: string | undefined;
635
- /** Javascript expression to transform the raw value. */
599
+ /** Zigbee command. */
600
+ cmd?: string | undefined;
601
+ /** Javascript expression to transform the attribute value to the Item value. */
636
602
  eval?: string | undefined;
637
603
  /** Relative path of a Javascript .js file. */
638
604
  script?: string | undefined;
639
- } | {
640
- /** Generic function to parse ZCL values from read/report commands. */
641
- fn: "zcl:attr";
642
- /** String hex value or array of string hex values. */
643
- at: string | string[];
644
605
  "state.timeout"?: number | undefined;
645
606
  "change.timeout"?: number | undefined;
646
- /** Cluster ID. */
647
- cl: string;
648
607
  /** Data type. */
649
- dt: string;
608
+ dt?: string | undefined;
609
+ /** Generic function to parse ZCL values from read/report commands. */
610
+ fn: "zcl:attr";
611
+ } | {
650
612
  /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
651
613
  ep?: (string | number) | undefined;
614
+ /** Cluster ID. */
615
+ cl: string;
616
+ /** Attribute ID. */
617
+ at?: (string | string[]) | undefined;
652
618
  /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
653
619
  mf?: string | undefined;
620
+ /** Zigbee command. */
621
+ cmd?: string | undefined;
654
622
  /** Javascript expression to transform the attribute value to the Item value. */
655
623
  eval?: string | undefined;
656
624
  /** Relative path of a Javascript .js file. */
657
625
  script?: string | undefined;
658
- } | {
626
+ "state.timeout"?: number | undefined;
627
+ "change.timeout"?: number | undefined;
628
+ /** Data type. */
629
+ dt?: string | undefined;
659
630
  /** Generic function to parse ZCL values from read/report commands. */
660
631
  fn: "zcl:cmd";
661
- /** Cluster ID. */
662
- cl: string;
663
- /** Endpoint, 255 means any endpoint, 0 means auto selected from subdevice. */
664
- ep?: (string | number) | undefined;
665
- /** Manufacturer code, must be set to 0x0000 for non manufacturer specific commands. */
666
- mf?: string | undefined;
667
- /** Zigbee command. */
668
- cmd?: string | undefined;
632
+ } | {
669
633
  /** Javascript expression to transform the attribute value to the Item value. */
670
634
  eval?: string | undefined;
671
635
  /** Relative path of a Javascript .js file. */
672
636
  script?: string | undefined;
673
- } | {
674
637
  /** Generic function to write Tuya data. */
675
638
  fn: "tuya";
676
639
  /** Data point ID. 1-255 the datapoint ID. */
677
640
  dpid: number;
678
641
  /** Data type. */
679
642
  dt: string;
680
- /** Javascript expression to transform the raw value. */
681
- eval?: string | undefined;
682
- /** Relative path of a Javascript .js file. */
683
- script?: string | undefined;
684
643
  }) | undefined;
685
644
  /** Refresh interval used for read fonction, NEED to be superior at value used in binding part. */
686
645
  "refresh.interval"?: number | undefined;
@@ -691,6 +650,7 @@ export type DDF = {
691
650
  } | {
692
651
  $schema?: string | undefined;
693
652
  schema: "subdevice1.schema.json";
653
+ ddfvalidate?: boolean | undefined;
694
654
  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;
695
655
  name: string;
696
656
  restapi: "/lights" | "/sensors";
@@ -703,8 +663,8 @@ export type DDF = {
703
663
  string,
704
664
  string
705
665
  ];
706
- items: ("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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/y" | "state/x" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id")[];
707
- items_optional?: ("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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "state/deviceruntime" | "state/daylight" | "state/dark" | "state/current" | "state/current_P3" | "state/current_P2" | "state/current_P1" | "state/ct" | "state/consumption" | "state/consumption_2" | "state/y" | "state/x" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/on/off_with_effect" | "cap/measured_value/unit" | "cap/measured_value/substance" | "cap/measured_value/min" | "cap/measured_value/max" | "cap/groups/not_supported" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id")[] | undefined;
666
+ 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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id")[];
667
+ 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/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/fire" | "state/filterruntime" | "state/expectedrotation" | "state/expectedeventduration" | "state/eventduration" | "state/errorcode" | "state/effect" | "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/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/sensitivitymax" | "config/sensitivity" | "config/sensitivity_bis" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/reversed" | "config/resetpresence" | "config/reportgrid" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/melody" | "config/locked" | "config/lock" | "config/ledindication" | "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/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/onoff_transitiontime" | "config/bri/on_level" | "config/bri/min" | "config/bri/max" | "config/bri/execute_if_off" | "config/battery" | "config/battery_bis" | "config/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "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/uniqueid" | "attr/type" | "attr/swversion" | "attr/swversion_bis" | "attr/swconfigid" | "attr/productname" | "attr/productid" | "attr/powerup" | "attr/poweronlevel" | "attr/poweronct" | "attr/name" | "attr/modelid" | "attr/mode" | "attr/manufacturername" | "attr/lastseen" | "attr/lastannounced" | "attr/id")[] | undefined;
708
668
  };
709
669
 
710
670
  export interface GenericsData {