export declare const devicesSchema: { readonly generic: { readonly category: "generic"; readonly channels: { readonly generic: { readonly category: "generic"; readonly required: false; readonly multiple: true; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; }; }; readonly air_conditioner: { readonly category: "air_conditioner"; readonly channels: { readonly cooler: { readonly category: "cooler"; readonly required: true; readonly multiple: false; }; readonly fan: { readonly category: "fan"; readonly required: true; readonly multiple: false; }; readonly temperature: { readonly category: "temperature"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly heater: { readonly category: "heater"; readonly required: false; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: false; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly filter: { readonly category: "filter"; readonly required: false; readonly multiple: false; }; }; }; readonly air_dehumidifier: { readonly category: "air_dehumidifier"; readonly channels: { readonly dehumidifier: { readonly category: "dehumidifier"; readonly required: true; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly fan: { readonly category: "fan"; readonly required: false; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly temperature: { readonly category: "temperature"; readonly required: false; readonly multiple: false; }; }; }; readonly air_humidifier: { readonly category: "air_humidifier"; readonly channels: { readonly humidifier: { readonly category: "humidifier"; readonly required: true; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly fan: { readonly category: "fan"; readonly required: false; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly temperature: { readonly category: "temperature"; readonly required: false; readonly multiple: false; }; }; }; readonly air_purifier: { readonly category: "air_purifier"; readonly channels: { readonly fan: { readonly category: "fan"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly air_quality: { readonly category: "air_quality"; readonly required: false; readonly multiple: false; }; readonly filter: { readonly category: "filter"; readonly required: false; readonly multiple: false; }; readonly air_particulate: { readonly category: "air_particulate"; readonly required: false; readonly multiple: false; }; readonly carbon_dioxide: { readonly category: "carbon_dioxide"; readonly required: false; readonly multiple: false; }; readonly carbon_monoxide: { readonly category: "carbon_monoxide"; readonly required: false; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly nitrogen_dioxide: { readonly category: "nitrogen_dioxide"; readonly required: false; readonly multiple: false; }; readonly ozone: { readonly category: "ozone"; readonly required: false; readonly multiple: false; }; readonly pressure: { readonly category: "pressure"; readonly required: false; readonly multiple: false; }; readonly sulphur_dioxide: { readonly category: "sulphur_dioxide"; readonly required: false; readonly multiple: false; }; readonly temperature: { readonly category: "temperature"; readonly required: false; readonly multiple: false; }; readonly volatile_organic_compounds: { readonly category: "volatile_organic_compounds"; readonly required: false; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; }; }; readonly thermostat: { readonly category: "thermostat"; readonly channels: { readonly temperature: { readonly category: "temperature"; readonly required: true; readonly multiple: false; }; readonly thermostat: { readonly category: "thermostat"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: false; }; readonly cooler: { readonly category: "cooler"; readonly required: false; readonly multiple: false; }; readonly heater: { readonly category: "heater"; readonly required: false; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: false; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; }; }; readonly alarm: { readonly category: "alarm"; readonly channels: { readonly alarm: { readonly category: "alarm"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly battery: { readonly category: "battery"; readonly required: false; readonly multiple: false; }; }; }; readonly camera: { readonly category: "camera"; readonly channels: { readonly camera: { readonly category: "camera"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly battery: { readonly category: "battery"; readonly required: false; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: false; readonly multiple: false; }; readonly light: { readonly category: "light"; readonly required: false; readonly multiple: false; }; readonly microphone: { readonly category: "microphone"; readonly required: false; readonly multiple: false; }; readonly motion: { readonly category: "motion"; readonly required: false; readonly multiple: false; }; readonly speaker: { readonly category: "speaker"; readonly required: false; readonly multiple: false; }; readonly temperature: { readonly category: "temperature"; readonly required: false; readonly multiple: false; }; }; }; readonly doorbell: { readonly category: "doorbell"; readonly channels: { readonly doorbell: { readonly category: "doorbell"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly battery: { readonly category: "battery"; readonly required: false; readonly multiple: false; }; readonly camera: { readonly category: "camera"; readonly required: false; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: false; }; readonly light: { readonly category: "light"; readonly required: false; readonly multiple: false; }; readonly lock: { readonly category: "lock"; readonly required: false; readonly multiple: false; }; readonly microphone: { readonly category: "microphone"; readonly required: false; readonly multiple: false; }; readonly motion: { readonly category: "motion"; readonly required: false; readonly multiple: false; }; readonly speaker: { readonly category: "speaker"; readonly required: false; readonly multiple: false; }; }; }; readonly door: { readonly category: "door"; readonly channels: { readonly door: { readonly category: "door"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly battery: { readonly category: "battery"; readonly required: false; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: false; }; readonly lock: { readonly category: "lock"; readonly required: false; readonly multiple: false; }; readonly motion: { readonly category: "motion"; readonly required: false; readonly multiple: false; }; }; }; readonly lock: { readonly category: "lock"; readonly channels: { readonly lock: { readonly category: "lock"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly battery: { readonly category: "battery"; readonly required: false; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: false; }; readonly motion: { readonly category: "motion"; readonly required: false; readonly multiple: false; }; }; }; readonly fan: { readonly category: "fan"; readonly channels: { readonly fan: { readonly category: "fan"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; }; }; readonly heating_unit: { readonly category: "heating_unit"; readonly channels: { readonly heater: { readonly category: "heater"; readonly required: true; readonly multiple: false; }; readonly temperature: { readonly category: "temperature"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: false; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: false; }; }; }; readonly water_heater: { readonly category: "water_heater"; readonly channels: { readonly heater: { readonly category: "heater"; readonly required: true; readonly multiple: false; }; readonly temperature: { readonly category: "temperature"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; }; }; readonly lighting: { readonly category: "lighting"; readonly channels: { readonly light: { readonly category: "light"; readonly required: true; readonly multiple: true; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly illuminance: { readonly category: "illuminance"; readonly required: false; readonly multiple: false; }; }; }; readonly outlet: { readonly category: "outlet"; readonly channels: { readonly outlet: { readonly category: "outlet"; readonly required: true; readonly multiple: true; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; }; }; readonly pump: { readonly category: "pump"; readonly channels: { readonly flow: { readonly category: "flow"; readonly required: false; readonly multiple: false; }; readonly switcher: { readonly category: "switcher"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly pressure: { readonly category: "pressure"; readonly required: false; readonly multiple: false; }; }; }; readonly sprinkler: { readonly category: "sprinkler"; readonly channels: { readonly valve: { readonly category: "valve"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly flow: { readonly category: "flow"; readonly required: false; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly pressure: { readonly category: "pressure"; readonly required: false; readonly multiple: false; }; }; }; readonly switcher: { readonly category: "switcher"; readonly constraints: { readonly oneOrMoreOf: readonly [readonly ["outlet", "switcher"]]; readonly mutuallyExclusiveGroups: readonly [readonly [readonly ["outlet"], readonly ["switcher"]]]; }; readonly channels: { readonly outlet: { readonly category: "outlet"; readonly required: false; readonly multiple: true; }; readonly switcher: { readonly category: "switcher"; readonly required: false; readonly multiple: true; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; }; }; readonly valve: { readonly category: "valve"; readonly channels: { readonly valve: { readonly category: "valve"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly battery: { readonly category: "battery"; readonly required: false; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly flow: { readonly category: "flow"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly pressure: { readonly category: "pressure"; readonly required: false; readonly multiple: false; }; }; }; readonly window_covering: { readonly category: "window_covering"; readonly channels: { readonly window_covering: { readonly category: "window_covering"; readonly required: true; readonly multiple: true; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly battery: { readonly category: "battery"; readonly required: false; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; }; }; readonly media: { readonly category: "media"; readonly channels: { readonly switcher: { readonly category: "switcher"; readonly required: false; readonly multiple: false; }; readonly media_input: { readonly category: "media_input"; readonly required: false; readonly multiple: false; }; readonly media_playback: { readonly category: "media_playback"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly microphone: { readonly category: "microphone"; readonly required: false; readonly multiple: false; }; readonly speaker: { readonly category: "speaker"; readonly required: false; readonly multiple: false; }; }; }; readonly speaker: { readonly category: "speaker"; readonly channels: { readonly switcher: { readonly category: "switcher"; readonly required: false; readonly multiple: false; }; readonly speaker: { readonly category: "speaker"; readonly required: true; readonly multiple: true; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly media_input: { readonly category: "media_input"; readonly required: false; readonly multiple: false; }; readonly media_playback: { readonly category: "media_playback"; readonly required: false; readonly multiple: false; }; }; }; readonly television: { readonly category: "television"; readonly channels: { readonly speaker: { readonly category: "speaker"; readonly required: true; readonly multiple: false; }; readonly television: { readonly category: "television"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly media_playback: { readonly category: "media_playback"; readonly required: false; readonly multiple: false; }; readonly media_input: { readonly category: "media_input"; readonly required: false; readonly multiple: false; }; }; }; readonly projector: { readonly category: "projector"; readonly channels: { readonly projector: { readonly category: "projector"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly speaker: { readonly category: "speaker"; readonly required: false; readonly multiple: false; }; readonly media_playback: { readonly category: "media_playback"; readonly required: false; readonly multiple: false; }; readonly media_input: { readonly category: "media_input"; readonly required: false; readonly multiple: false; }; }; }; readonly av_receiver: { readonly category: "av_receiver"; readonly channels: { readonly switcher: { readonly category: "switcher"; readonly required: false; readonly multiple: false; }; readonly speaker: { readonly category: "speaker"; readonly required: true; readonly multiple: true; }; readonly media_input: { readonly category: "media_input"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly media_playback: { readonly category: "media_playback"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; }; }; readonly set_top_box: { readonly category: "set_top_box"; readonly channels: { readonly switcher: { readonly category: "switcher"; readonly required: false; readonly multiple: false; }; readonly media_playback: { readonly category: "media_playback"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly media_input: { readonly category: "media_input"; readonly required: false; readonly multiple: false; }; readonly speaker: { readonly category: "speaker"; readonly required: false; readonly multiple: false; }; }; }; readonly game_console: { readonly category: "game_console"; readonly channels: { readonly switcher: { readonly category: "switcher"; readonly required: false; readonly multiple: false; }; readonly media_playback: { readonly category: "media_playback"; readonly required: false; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; }; }; readonly streaming_service: { readonly category: "streaming_service"; readonly channels: { readonly media_playback: { readonly category: "media_playback"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; }; }; readonly robot_vacuum: { readonly category: "robot_vacuum"; readonly channels: { readonly battery: { readonly category: "battery"; readonly required: true; readonly multiple: false; }; readonly robot_vacuum: { readonly category: "robot_vacuum"; readonly required: true; readonly multiple: false; }; readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly filter: { readonly category: "filter"; readonly required: false; readonly multiple: false; }; }; }; readonly sensor: { readonly category: "sensor"; readonly channels: { readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly air_particulate: { readonly category: "air_particulate"; readonly required: false; readonly multiple: false; }; readonly battery: { readonly category: "battery"; readonly required: false; readonly multiple: false; }; readonly carbon_dioxide: { readonly category: "carbon_dioxide"; readonly required: false; readonly multiple: false; }; readonly carbon_monoxide: { readonly category: "carbon_monoxide"; readonly required: false; readonly multiple: false; }; readonly gas: { readonly category: "gas"; readonly required: false; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: false; }; readonly humidity: { readonly category: "humidity"; readonly required: false; readonly multiple: false; }; readonly illuminance: { readonly category: "illuminance"; readonly required: false; readonly multiple: false; }; readonly leak: { readonly category: "leak"; readonly required: false; readonly multiple: false; }; readonly motion: { readonly category: "motion"; readonly required: false; readonly multiple: false; }; readonly nitrogen_dioxide: { readonly category: "nitrogen_dioxide"; readonly required: false; readonly multiple: false; }; readonly occupancy: { readonly category: "occupancy"; readonly required: false; readonly multiple: false; }; readonly ozone: { readonly category: "ozone"; readonly required: false; readonly multiple: false; }; readonly pressure: { readonly category: "pressure"; readonly required: false; readonly multiple: false; }; readonly smoke: { readonly category: "smoke"; readonly required: false; readonly multiple: false; }; readonly sulphur_dioxide: { readonly category: "sulphur_dioxide"; readonly required: false; readonly multiple: false; }; readonly temperature: { readonly category: "temperature"; readonly required: false; readonly multiple: false; }; readonly volatile_organic_compounds: { readonly category: "volatile_organic_compounds"; readonly required: false; readonly multiple: false; }; readonly electrical_energy: { readonly category: "electrical_energy"; readonly required: false; readonly multiple: false; }; readonly electrical_power: { readonly category: "electrical_power"; readonly required: false; readonly multiple: false; }; }; }; readonly terminal: { readonly category: "terminal"; readonly channels: { readonly device_information: { readonly category: "device_information"; readonly required: true; readonly multiple: false; }; readonly button: { readonly category: "button"; readonly required: false; readonly multiple: true; }; readonly indicator: { readonly category: "indicator"; readonly required: false; readonly multiple: true; }; readonly buzzer: { readonly category: "buzzer"; readonly required: false; readonly multiple: false; }; readonly illuminance: { readonly category: "illuminance"; readonly required: false; readonly multiple: false; }; readonly accelerometer: { readonly category: "accelerometer"; readonly required: false; readonly multiple: false; }; readonly contact: { readonly category: "contact"; readonly required: false; readonly multiple: true; }; readonly switcher: { readonly category: "switcher"; readonly required: false; readonly multiple: true; }; readonly temperature: { readonly category: "temperature"; readonly required: false; readonly multiple: false; }; }; }; }; export type DeviceCategory = keyof typeof devicesSchema; export type DeviceDefinition = typeof devicesSchema[DeviceCategory];