@deconz-community/ddf-validator 1.3.0 → 2.0.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,3 +1,4 @@
1
+ import { ZodType } from "zod";
1
2
 
2
3
  export type DDF = {
3
4
  $schema?: string | undefined;
@@ -17,7 +18,7 @@ export type DDF = {
17
18
  /** The code quality of the DDF file. */
18
19
  status: "Draft" | "Bronze" | "Silver" | "Gold";
19
20
  subdevices: {
20
- type: "$TYPE_AIR_PURIFIER" | "$TYPE_AIR_QUALITY_SENSOR" | "$TYPE_ALARM_SENSOR" | "$TYPE_BATTERY_SENSOR" | "$TYPE_COLOR_DIMMABLE_LIGHT" | "$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_EXTENDED_COLOR_LIGHT" | "$TYPE_FIRE_SENSOR" | "$TYPE_HUMIDITY_SENSOR" | "$TYPE_LIGHT_LEVEL_SENSOR" | "$TYPE_ON_OFF_LIGHT" | "$TYPE_ON_OFF_OUTPUT" | "$TYPE_ON_OFF_PLUGIN_UNIT" | "$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_VIBRATION_SENSOR" | "$TYPE_WARNING_DEVICE" | "$TYPE_WATER_LEAK_SENSOR" | "$TYPE_WINDOW_COVERING_DEVICE" | "$TYPE_ZGP_SWITCH" | "Color dimmable light" | "Color light" | "Color temperature light" | "Dimmable light" | "Dimmable plug-in unit" | "Dimmer switch" | "Door lock controller" | "Door Lock" | "Extended color light" | "On/Off light" | "On/Off output" | "On/Off plug-in unit" | "Range extender" | "Smart plug" | "Warning device" | "Window covering device" | "ZGPSwitch" | "ZHAAirPurifier" | "ZHAAirQuality" | "ZHAAlarm" | "ZHAAncillaryControl" | "ZHABattery" | "ZHACarbonMonoxide" | "ZHAConsumption" | "ZHADoorLock" | "ZHAFire" | "ZHAHumidity" | "ZHALightLevel" | "ZHAOpenClose" | "ZHAPower" | "ZHAPresence" | "ZHAPressure" | "ZHARelativeRotary" | "ZHASpectral" | "ZHASwitch" | "ZHATemperature" | "ZHAThermostat" | "ZHATime" | "ZHAVibration" | "ZHAWater";
21
+ type: ("$TYPE_AIR_PURIFIER" | "$TYPE_AIR_QUALITY_SENSOR" | "$TYPE_ALARM_SENSOR" | "$TYPE_ANCILLARY_CONTROL" | "$TYPE_BATTERY_SENSOR" | "$TYPE_CARBON_MONOXIDE" | "$TYPE_COLOR_DIMMABLE_LIGHT" | "$TYPE_COLOR_LIGHT" | "$TYPE_COLOR_TEMPERATURE_LIGHT" | "$TYPE_CONSUMPTION_SENSOR" | "$TYPE_DIMMABLE_LIGHT" | "$TYPE_DIMMABLE_PLUGIN_UNIT" | "$TYPE_DIMMER_SWITCH" | "$TYPE_DOOR_LOCK_CONTROLLER" | "$TYPE_DOOR_LOCK" | "$TYPE_EXTENDED_COLOR_LIGHT" | "$TYPE_FIRE_SENSOR" | "$TYPE_HUMIDITY_SENSOR" | "$TYPE_LIGHT_LEVEL_SENSOR" | "$TYPE_ON_OFF_LIGHT" | "$TYPE_ON_OFF_OUTPUT" | "$TYPE_ON_OFF_PLUGIN_UNIT" | "$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") | ("ZHAAirPurifier" | "ZHAAirQuality" | "ZHAAlarm" | "ZHAAncillaryControl" | "ZHABattery" | "ZHACarbonMonoxide" | "Color dimmable light" | "Color light" | "Color temperature light" | "ZHAConsumption" | "Dimmable light" | "Dimmable plug-in unit" | "Dimmer switch" | "Door lock controller" | "ZHADoorLock" | "Extended color light" | "ZHAFire" | "ZHAHumidity" | "ZHALightLevel" | "On/Off light" | "On/Off output" | "On/Off plug-in unit" | "ZHAOpenClose" | "ZHAPower" | "ZHAPresence" | "ZHAPressure" | "Range extender" | "ZHARelativeRotary" | "Smart plug" | "ZHASpectral" | "ZHASwitch" | "ZHATemperature" | "ZHAThermostat" | "ZHATime" | "ZHAVibration" | "Warning device" | "ZHAWater" | "Window covering device" | "ZGPSwitch");
21
22
  restapi: "/lights" | "/sensors";
22
23
  uuid: [
23
24
  "$address.ext",
@@ -41,7 +42,7 @@ export type DDF = {
41
42
  buttons?: any | undefined;
42
43
  buttonevents?: any | undefined;
43
44
  items: {
44
- name: "attr/class" | "attr/configid" | "attr/extaddress" | "attr/groupaddress" | "attr/id" | "attr/lastannounced" | "attr/lastseen" | "attr/levelmin" | "attr/manufacturername" | "attr/modelid" | "attr/name" | "attr/nwkaddress" | "attr/poweronct" | "attr/poweronlevel" | "attr/powerup" | "attr/productid" | "attr/productname" | "attr/swconfigid" | "attr/swversion" | "attr/type" | "attr/uniqueid" | "state/action" | "state/airquality" | "state/airqualityppb" | "state/alarm" | "state/alert" | "state/all_on" | "state/angle" | "state/any_on" | "state/armstate" | "state/battery" | "state/bri" | "state/buttonevent" | "state/carbonmonoxide" | "state/charging" | "state/colormode" | "state/consumption" | "state/consumption_2" | "state/ct" | "state/current" | "state/current_P1" | "state/current_P2" | "state/current_P3" | "state/dark" | "state/daylight" | "state/deviceruntime" | "state/effect" | "state/errorcode" | "state/eventduration" | "state/expectedeventduration" | "state/expectedrotation" | "state/filterruntime" | "state/fire" | "state/flag" | "state/floortemperature" | "state/gpd_frame_counter" | "state/gpd_last_pair" | "state/gesture" | "state/gradient" | "state/heating" | "state/hue" | "state/humidity" | "state/lastcheckin" | "state/lastset" | "state/lastupdated" | "state/lift" | "state/lightlevel" | "state/localtime" | "state/lockstate" | "state/lowbattery" | "state/lux" | "state/moisture" | "state/mountingmodeactive" | "state/on" | "state/open" | "state/orientation_x" | "state/orientation_y" | "state/orientation_z" | "state/pm2_5" | "state/panel" | "state/power" | "state/presence" | "state/presenceevent" | "state/pressure" | "state/production" | "state/reachable" | "state/replacefilter" | "state/rotaryevent" | "state/sat" | "state/seconds_remaining" | "state/spectral_x" | "state/spectral_y" | "state/spectral_z" | "state/speed" | "state/status" | "state/sunrise" | "state/sunset" | "state/tampered" | "state/temperature" | "state/test" | "state/tilt" | "state/tiltangle" | "state/utc" | "state/valve" | "state/vibration" | "state/vibrationstrength" | "state/voltage" | "state/water" | "state/windowopen" | "state/x" | "state/y" | "cap/alert/trigger_effect" | "cap/bri/min_dim_level" | "cap/bri/move_with_onoff" | "cap/color/capabilities" | "cap/color/ct/computes_xy" | "cap/color/ct/max" | "cap/color/ct/min" | "cap/color/effects" | "cap/color/gamut_type" | "cap/color/gradient/max_segments" | "cap/color/gradient/pixel_count" | "cap/color/gradient/pixel_length" | "cap/color/gradient/styles" | "cap/color/xy/blue_x" | "cap/color/xy/blue_y" | "cap/color/xy/green_x" | "cap/color/xy/green_y" | "cap/color/xy/red_x" | "cap/color/xy/red_y" | "cap/groups/not_supported" | "cap/on/off_with_effect" | "cap/sleeper" | "cap/transition_block" | "config/alarmsystemid" | "config/alert" | "config/allowtouchlink" | "config/armmode" | "config/armed_away_entry_delay" | "config/armed_away_exit_delay" | "config/armed_away_trigger_duration" | "config/armed_night_entry_delay" | "config/armed_night_exit_delay" | "config/armed_night_trigger_duration" | "config/armed_stay_entry_delay" | "config/armed_stay_exit_delay" | "config/armed_stay_trigger_duration" | "config/battery" | "config/bri/execute_if_off" | "config/bri/max" | "config/bri/min" | "config/bri/on_level" | "config/bri/onoff_transitiontime" | "config/bri/startup" | "config/checkin" | "config/clickmode" | "config/colorcapabilities" | "config/color/ct/startup" | "config/color/execute_if_off" | "config/color/gradient/reversed" | "config/color/xy/startup_x" | "config/color/xy/startup_y" | "config/configured" | "config/controlsequence" | "config/coolsetpoint" | "config/ctmax" | "config/ctmin" | "config/delay" | "config/devicemode" | "config/disarmed_entry_delay" | "config/disarmed_exit_delay" | "config/displayflipped" | "config/duration" | "config/enrolled" | "config/externalsensortemp" | "config/externalwindowopen" | "config/fanmode" | "config/filterlifetime" | "config/gpd_device_id" | "config/gpd_key" | "config/group" | "config/heatsetpoint" | "config/hostflags" | "config/humiditymaxthreshold" | "config/humidityminthreshold" | "config/interfacemode" | "config/lastchange_amount" | "config/lastchange_source" | "config/lastchange_time" | "config/lat" | "config/ledindication" | "config/localtime" | "config/lock" | "config/locked" | "config/long" | "config/melody" | "config/mode" | "config/mountingmode" | "config/offset" | "config/on" | "config/on/startup" | "config/pending" | "config/preset" | "config/pulseconfiguration" | "config/reachable" | "config/resetpresence" | "config/schedule" | "config/schedule_on" | "config/selftest" | "config/sensitivity" | "config/sensitivitymax" | "config/setvalve" | "config/sunriseoffset" | "config/sunsetoffset" | "config/swingmode" | "config/temperaturemaxthreshold" | "config/temperatureminthreshold" | "config/temperature" | "config/temperaturemeasurement" | "config/tholddark" | "config/tholdoffset" | "config/unoccupiedheatsetpoint" | "config/triggerdistance" | "config/ubisys_j1_additionalsteps" | "config/ubisys_j1_configurationandstatus" | "config/ubisys_j1_inactivepowerthreshold" | "config/ubisys_j1_installedclosedlimitlift" | "config/ubisys_j1_installedclosedlimittilt" | "config/ubisys_j1_installedopenlimitlift" | "config/ubisys_j1_installedopenlimittilt" | "config/ubisys_j1_lifttotilttransitionsteps" | "config/ubisys_j1_lifttotilttransitionsteps2" | "config/ubisys_j1_mode" | "config/ubisys_j1_startupsteps" | "config/ubisys_j1_totalsteps" | "config/ubisys_j1_totalsteps2" | "config/ubisys_j1_turnaroundguardtime" | "config/ubisys_j1_windowcoveringtype" | "config/url" | "config/usertest" | "config/volume" | "config/windowcoveringtype" | "config/windowopen_set" | "attr/mode" | "state/orientation" | "state/airqualityformaldehyde" | "state/airqualityco2";
45
+ name: "state/windowopen" | "state/water" | "state/voltage" | "state/vibrationstrength" | "state/vibration" | "state/valve" | "state/utc" | "state/tiltangle" | "state/tilt" | "state/test" | "state/temperature" | "state/tampered" | "state/speed" | "state/seconds_remaining" | "state/sat" | "state/rotaryevent" | "state/replacefilter" | "state/reachable" | "state/production" | "state/pressure" | "state/presenceevent" | "state/presence" | "state/power" | "state/pm2_5" | "state/panel" | "state/orientation_z" | "state/orientation_y" | "state/orientation_x" | "state/orientation" | "state/open" | "state/on" | "state/mountingmodeactive" | "state/lux" | "state/lowbattery" | "state/lockstate" | "state/localtime" | "state/lightlevel" | "state/lift" | "state/lastupdated" | "state/lastset" | "state/lastcheckin" | "state/humidity" | "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/airquality" | "state/action" | "config/windowopen_set" | "config/windowcoveringtype" | "config/usertest" | "config/unoccupiedheatsetpoint" | "config/triggerdistance" | "config/tholdoffset" | "config/tholddark" | "config/temperature" | "config/swingmode" | "config/sensitivitymax" | "config/sensitivity" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/resetpresence" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/locked" | "config/lock" | "config/ledindication" | "config/interfacemode" | "config/heatsetpoint" | "config/group" | "config/filterlifetime" | "config/fanmode" | "config/externalwindowopen" | "config/externalsensortemp" | "config/enrolled" | "config/duration" | "config/displayflipped" | "config/devicemode" | "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/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/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/on/off_with_effect" | "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/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";
45
46
  description?: string | undefined;
46
47
  comment?: string | undefined;
47
48
  public?: boolean | undefined;
@@ -296,8 +297,8 @@ export type DDF = {
296
297
  } | {
297
298
  $schema?: string | undefined;
298
299
  schema: "subdevice1.schema.json";
299
- type: "$TYPE_AIR_PURIFIER" | "$TYPE_AIR_QUALITY_SENSOR" | "$TYPE_ALARM_SENSOR" | "$TYPE_BATTERY_SENSOR" | "$TYPE_COLOR_DIMMABLE_LIGHT" | "$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_EXTENDED_COLOR_LIGHT" | "$TYPE_FIRE_SENSOR" | "$TYPE_HUMIDITY_SENSOR" | "$TYPE_LIGHT_LEVEL_SENSOR" | "$TYPE_ON_OFF_LIGHT" | "$TYPE_ON_OFF_OUTPUT" | "$TYPE_ON_OFF_PLUGIN_UNIT" | "$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_VIBRATION_SENSOR" | "$TYPE_WARNING_DEVICE" | "$TYPE_WATER_LEAK_SENSOR" | "$TYPE_WINDOW_COVERING_DEVICE" | "$TYPE_ZGP_SWITCH" | "Color dimmable light" | "Color light" | "Color temperature light" | "Dimmable light" | "Dimmable plug-in unit" | "Dimmer switch" | "Door lock controller" | "Door Lock" | "Extended color light" | "On/Off light" | "On/Off output" | "On/Off plug-in unit" | "Range extender" | "Smart plug" | "Warning device" | "Window covering device" | "ZGPSwitch" | "ZHAAirPurifier" | "ZHAAirQuality" | "ZHAAlarm" | "ZHAAncillaryControl" | "ZHABattery" | "ZHACarbonMonoxide" | "ZHAConsumption" | "ZHADoorLock" | "ZHAFire" | "ZHAHumidity" | "ZHALightLevel" | "ZHAOpenClose" | "ZHAPower" | "ZHAPresence" | "ZHAPressure" | "ZHARelativeRotary" | "ZHASpectral" | "ZHASwitch" | "ZHATemperature" | "ZHAThermostat" | "ZHATime" | "ZHAVibration" | "ZHAWater";
300
- name: string;
300
+ type: "$TYPE_AIR_PURIFIER" | "$TYPE_AIR_QUALITY_SENSOR" | "$TYPE_ALARM_SENSOR" | "$TYPE_ANCILLARY_CONTROL" | "$TYPE_BATTERY_SENSOR" | "$TYPE_CARBON_MONOXIDE" | "$TYPE_COLOR_DIMMABLE_LIGHT" | "$TYPE_COLOR_LIGHT" | "$TYPE_COLOR_TEMPERATURE_LIGHT" | "$TYPE_CONSUMPTION_SENSOR" | "$TYPE_DIMMABLE_LIGHT" | "$TYPE_DIMMABLE_PLUGIN_UNIT" | "$TYPE_DIMMER_SWITCH" | "$TYPE_DOOR_LOCK_CONTROLLER" | "$TYPE_DOOR_LOCK" | "$TYPE_EXTENDED_COLOR_LIGHT" | "$TYPE_FIRE_SENSOR" | "$TYPE_HUMIDITY_SENSOR" | "$TYPE_LIGHT_LEVEL_SENSOR" | "$TYPE_ON_OFF_LIGHT" | "$TYPE_ON_OFF_OUTPUT" | "$TYPE_ON_OFF_PLUGIN_UNIT" | "$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";
301
+ name: "ZHAAirPurifier" | "ZHAAirQuality" | "ZHAAlarm" | "ZHAAncillaryControl" | "ZHABattery" | "ZHACarbonMonoxide" | "Color dimmable light" | "Color light" | "Color temperature light" | "ZHAConsumption" | "Dimmable light" | "Dimmable plug-in unit" | "Dimmer switch" | "Door lock controller" | "ZHADoorLock" | "Extended color light" | "ZHAFire" | "ZHAHumidity" | "ZHALightLevel" | "On/Off light" | "On/Off output" | "On/Off plug-in unit" | "ZHAOpenClose" | "ZHAPower" | "ZHAPresence" | "ZHAPressure" | "Range extender" | "ZHARelativeRotary" | "Smart plug" | "ZHASpectral" | "ZHASwitch" | "ZHATemperature" | "ZHAThermostat" | "ZHATime" | "ZHAVibration" | "Warning device" | "ZHAWater" | "Window covering device" | "ZGPSwitch";
301
302
  restapi: "/lights" | "/sensors";
302
303
  order: number;
303
304
  uuid: [
@@ -308,9 +309,21 @@ export type DDF = {
308
309
  string,
309
310
  string
310
311
  ];
311
- items: ("attr/class" | "attr/configid" | "attr/extaddress" | "attr/groupaddress" | "attr/id" | "attr/lastannounced" | "attr/lastseen" | "attr/levelmin" | "attr/manufacturername" | "attr/modelid" | "attr/name" | "attr/nwkaddress" | "attr/poweronct" | "attr/poweronlevel" | "attr/powerup" | "attr/productid" | "attr/productname" | "attr/swconfigid" | "attr/swversion" | "attr/type" | "attr/uniqueid" | "state/action" | "state/airquality" | "state/airqualityppb" | "state/alarm" | "state/alert" | "state/all_on" | "state/angle" | "state/any_on" | "state/armstate" | "state/battery" | "state/bri" | "state/buttonevent" | "state/carbonmonoxide" | "state/charging" | "state/colormode" | "state/consumption" | "state/consumption_2" | "state/ct" | "state/current" | "state/current_P1" | "state/current_P2" | "state/current_P3" | "state/dark" | "state/daylight" | "state/deviceruntime" | "state/effect" | "state/errorcode" | "state/eventduration" | "state/expectedeventduration" | "state/expectedrotation" | "state/filterruntime" | "state/fire" | "state/flag" | "state/floortemperature" | "state/gpd_frame_counter" | "state/gpd_last_pair" | "state/gesture" | "state/gradient" | "state/heating" | "state/hue" | "state/humidity" | "state/lastcheckin" | "state/lastset" | "state/lastupdated" | "state/lift" | "state/lightlevel" | "state/localtime" | "state/lockstate" | "state/lowbattery" | "state/lux" | "state/moisture" | "state/mountingmodeactive" | "state/on" | "state/open" | "state/orientation_x" | "state/orientation_y" | "state/orientation_z" | "state/pm2_5" | "state/panel" | "state/power" | "state/presence" | "state/presenceevent" | "state/pressure" | "state/production" | "state/reachable" | "state/replacefilter" | "state/rotaryevent" | "state/sat" | "state/seconds_remaining" | "state/spectral_x" | "state/spectral_y" | "state/spectral_z" | "state/speed" | "state/status" | "state/sunrise" | "state/sunset" | "state/tampered" | "state/temperature" | "state/test" | "state/tilt" | "state/tiltangle" | "state/utc" | "state/valve" | "state/vibration" | "state/vibrationstrength" | "state/voltage" | "state/water" | "state/windowopen" | "state/x" | "state/y" | "cap/alert/trigger_effect" | "cap/bri/min_dim_level" | "cap/bri/move_with_onoff" | "cap/color/capabilities" | "cap/color/ct/computes_xy" | "cap/color/ct/max" | "cap/color/ct/min" | "cap/color/effects" | "cap/color/gamut_type" | "cap/color/gradient/max_segments" | "cap/color/gradient/pixel_count" | "cap/color/gradient/pixel_length" | "cap/color/gradient/styles" | "cap/color/xy/blue_x" | "cap/color/xy/blue_y" | "cap/color/xy/green_x" | "cap/color/xy/green_y" | "cap/color/xy/red_x" | "cap/color/xy/red_y" | "cap/groups/not_supported" | "cap/on/off_with_effect" | "cap/sleeper" | "cap/transition_block" | "config/alarmsystemid" | "config/alert" | "config/allowtouchlink" | "config/armmode" | "config/armed_away_entry_delay" | "config/armed_away_exit_delay" | "config/armed_away_trigger_duration" | "config/armed_night_entry_delay" | "config/armed_night_exit_delay" | "config/armed_night_trigger_duration" | "config/armed_stay_entry_delay" | "config/armed_stay_exit_delay" | "config/armed_stay_trigger_duration" | "config/battery" | "config/bri/execute_if_off" | "config/bri/max" | "config/bri/min" | "config/bri/on_level" | "config/bri/onoff_transitiontime" | "config/bri/startup" | "config/checkin" | "config/clickmode" | "config/colorcapabilities" | "config/color/ct/startup" | "config/color/execute_if_off" | "config/color/gradient/reversed" | "config/color/xy/startup_x" | "config/color/xy/startup_y" | "config/configured" | "config/controlsequence" | "config/coolsetpoint" | "config/ctmax" | "config/ctmin" | "config/delay" | "config/devicemode" | "config/disarmed_entry_delay" | "config/disarmed_exit_delay" | "config/displayflipped" | "config/duration" | "config/enrolled" | "config/externalsensortemp" | "config/externalwindowopen" | "config/fanmode" | "config/filterlifetime" | "config/gpd_device_id" | "config/gpd_key" | "config/group" | "config/heatsetpoint" | "config/hostflags" | "config/humiditymaxthreshold" | "config/humidityminthreshold" | "config/interfacemode" | "config/lastchange_amount" | "config/lastchange_source" | "config/lastchange_time" | "config/lat" | "config/ledindication" | "config/localtime" | "config/lock" | "config/locked" | "config/long" | "config/melody" | "config/mode" | "config/mountingmode" | "config/offset" | "config/on" | "config/on/startup" | "config/pending" | "config/preset" | "config/pulseconfiguration" | "config/reachable" | "config/resetpresence" | "config/schedule" | "config/schedule_on" | "config/selftest" | "config/sensitivity" | "config/sensitivitymax" | "config/setvalve" | "config/sunriseoffset" | "config/sunsetoffset" | "config/swingmode" | "config/temperaturemaxthreshold" | "config/temperatureminthreshold" | "config/temperature" | "config/temperaturemeasurement" | "config/tholddark" | "config/tholdoffset" | "config/unoccupiedheatsetpoint" | "config/triggerdistance" | "config/ubisys_j1_additionalsteps" | "config/ubisys_j1_configurationandstatus" | "config/ubisys_j1_inactivepowerthreshold" | "config/ubisys_j1_installedclosedlimitlift" | "config/ubisys_j1_installedclosedlimittilt" | "config/ubisys_j1_installedopenlimitlift" | "config/ubisys_j1_installedopenlimittilt" | "config/ubisys_j1_lifttotilttransitionsteps" | "config/ubisys_j1_lifttotilttransitionsteps2" | "config/ubisys_j1_mode" | "config/ubisys_j1_startupsteps" | "config/ubisys_j1_totalsteps" | "config/ubisys_j1_totalsteps2" | "config/ubisys_j1_turnaroundguardtime" | "config/ubisys_j1_windowcoveringtype" | "config/url" | "config/usertest" | "config/volume" | "config/windowcoveringtype" | "config/windowopen_set" | "attr/mode" | "state/orientation" | "state/airqualityformaldehyde" | "state/airqualityco2")[];
312
+ items: ("state/windowopen" | "state/water" | "state/voltage" | "state/vibrationstrength" | "state/vibration" | "state/valve" | "state/utc" | "state/tiltangle" | "state/tilt" | "state/test" | "state/temperature" | "state/tampered" | "state/speed" | "state/seconds_remaining" | "state/sat" | "state/rotaryevent" | "state/replacefilter" | "state/reachable" | "state/production" | "state/pressure" | "state/presenceevent" | "state/presence" | "state/power" | "state/pm2_5" | "state/panel" | "state/orientation_z" | "state/orientation_y" | "state/orientation_x" | "state/orientation" | "state/open" | "state/on" | "state/mountingmodeactive" | "state/lux" | "state/lowbattery" | "state/lockstate" | "state/localtime" | "state/lightlevel" | "state/lift" | "state/lastupdated" | "state/lastset" | "state/lastcheckin" | "state/humidity" | "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/airquality" | "state/action" | "config/windowopen_set" | "config/windowcoveringtype" | "config/usertest" | "config/unoccupiedheatsetpoint" | "config/triggerdistance" | "config/tholdoffset" | "config/tholddark" | "config/temperature" | "config/swingmode" | "config/sensitivitymax" | "config/sensitivity" | "config/selftest" | "config/schedule_on" | "config/schedule" | "config/resetpresence" | "config/reachable" | "config/pulseconfiguration" | "config/preset" | "config/pending" | "config/on/startup" | "config/on" | "config/offset" | "config/mountingmode" | "config/mode" | "config/locked" | "config/lock" | "config/ledindication" | "config/interfacemode" | "config/heatsetpoint" | "config/group" | "config/filterlifetime" | "config/fanmode" | "config/externalwindowopen" | "config/externalsensortemp" | "config/enrolled" | "config/duration" | "config/displayflipped" | "config/devicemode" | "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/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/allowtouchlink" | "config/alert" | "cap/transition_block" | "cap/sleeper" | "cap/on/off_with_effect" | "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/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")[];
312
313
  };
313
314
 
314
- export declare function validate(data: unknown): DDF
315
+ export interface GenericsData {
316
+ attributes: string[]
317
+ manufacturers: Record<string, string>
318
+ deviceTypes: Record<string, string>
319
+ }
320
+
321
+
322
+ export declare function createValidator(generics?: GenericsData): {
323
+ generics: GenericsData;
324
+ loadGeneric: (data: unknown) => DDF;
325
+ validate: (data: unknown) => DDF;
326
+ getSchema: () => ZodType<DDF>;
327
+ };
315
328
 
316
329
  export {};