#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
pub use super::*;
use serde::{Serialize};
use serde::Deserialize;
use yaserde_derive::YaDeserialize;
use yaserde_derive::YaSerialize;
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct VoltageRange {
#[yaserde(rename = "Min")]
#[serde(rename = "Min")]
pub min: f64,
#[yaserde(rename = "Max")]
#[serde(rename = "Max")]
pub max: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub enum Frequency {
#[default]
#[serde(rename = "50")]
Hz50,
#[serde(rename = "60")]
Hz60,
#[serde(rename = "50/60")]
Hz50_60,
#[serde(rename = "400")]
Hz400,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Voltage {
#[yaserde(rename = "VoltageRange")]
#[serde(rename = "VoltageRange")]
pub voltage_range: VoltageRange,
#[yaserde(rename = "FixedVoltage")]
#[serde(rename = "FixedVoltage")]
pub fixed_voltage: f64,
#[yaserde(rename = "Type")]
#[serde(rename = "Type")]
pub type_attr: CurrentType,
#[yaserde(rename = "Frequency")]
#[serde(rename = "Frequency")]
pub frequency: Frequency,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub enum CurrentType {
#[default]
AC,
DC,
UC,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct PowerRange {
#[yaserde(rename = "Lower")]
#[serde(rename = "Lower")]
pub lower: f64,
#[yaserde(rename = "Upper")]
#[serde(rename = "Upper")]
pub upper: f64,
#[yaserde(rename = "DefaultLightSourcePower")]
#[serde(rename = "DefaultLightSourcePower")]
pub default_light_source_power: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct EnergyLabel {
#[yaserde(rename = "region")]
#[serde(rename = "region")]
pub region: String,
#[yaserde(rename = "$value")]
pub value: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct EnergyLabels {
#[yaserde(rename = "EnergyLabel")]
#[serde(rename = "EnergyLabel")]
pub energy_label: Vec<EnergyLabel>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Interfaces {
#[yaserde(rename = "Interface")]
#[serde(rename = "Interface")]
pub interface: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ControlGear {
#[yaserde(attribute, rename = "id")]
#[serde(rename = "@id")]
pub id: String,
#[yaserde(rename = "Name")]
#[serde(rename = "Name")]
pub name: LocaleFoo,
#[yaserde(child)]
#[yaserde(rename = "Description")]
#[serde(rename = "Description")]
pub description: LocaleFoo,
#[yaserde(child)]
#[yaserde(rename = "NominalVoltage")]
#[serde(rename = "NominalVoltage", skip_serializing_if = "Option::is_none")]
pub nominal_voltage: Option<Voltage>,
#[yaserde(rename = "StandbyPower")]
#[serde(rename = "StandbyPower", skip_serializing_if = "Option::is_none")]
pub standby_power: Option<f64>,
#[yaserde(rename = "ConstantLightOutputStartPower")]
#[serde(rename = "ConstantLightOutputStartPower", skip_serializing_if = "Option::is_none")]
pub constant_light_output_start_power: Option<f64>,
#[yaserde(rename = "ConstantLightOutputEndPower")]
#[serde(rename = "ConstantLightOutputEndPower", skip_serializing_if = "Option::is_none")]
pub constant_light_output_end_power: Option<f64>,
#[yaserde(rename = "PowerConsumptionControls")]
#[serde(rename = "PowerConsumptionControls", skip_serializing_if = "Option::is_none")]
pub power_consumption_controls: Option<f64>,
#[yaserde(rename = "Dimmable")]
#[serde(rename = "Dimmable", skip_serializing_if = "Option::is_none")]
pub dimmable: Option<bool>,
#[yaserde(rename = "ColorControllable")]
#[serde(rename = "ColorControllable", skip_serializing_if = "Option::is_none")]
pub color_controllable: Option<bool>,
#[yaserde(child)]
#[yaserde(rename = "Interfaces")]
#[serde(rename = "Interfaces")]
pub interfaces: Interfaces,
#[yaserde(child)]
#[yaserde(rename = "EnergyLabels")]
#[serde(rename = "EnergyLabels", skip_serializing_if = "Option::is_none")]
pub energy_labels: Option<EnergyLabels>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ControlGears {
#[yaserde(child)]
#[yaserde(rename = "ControlGear")]
#[serde(rename = "ControlGear")]
pub control_gear: Vec<ControlGear>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ControlGearReference {
#[yaserde(attribute, rename = "controlGearId")]
#[serde(rename = "@controlGearId")]
pub control_gear_id: String,
#[yaserde(rename = "controlGearCount")]
#[serde(rename = "controlGearCount", skip_serializing_if = "Option::is_none")]
pub control_gear_count: Option<i32>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Equipment {
#[yaserde(rename = "id")]
#[serde(rename = "id")]
pub id: String,
#[yaserde(rename = "LightSourceReference")]
#[serde(rename = "LightSourceReference")]
pub light_source_reference: LightSourceReference,
#[yaserde(rename = "ControlGearReference")]
#[serde(rename = "ControlGearReference")]
pub control_gear_reference: ControlGearReference,
#[yaserde(rename = "RatedInputPower")]
#[serde(rename = "RatedInputPower")]
pub rated_input_power: f64,
#[yaserde(rename = "EmergencyBallastLumenFactor")]
#[serde(rename = "EmergencyBallastLumenFactor")]
pub emergency_ballast_lumen_factor: f64,
#[yaserde(rename = "EmergencyRatedLuminousFlux")]
#[serde(rename = "EmergencyRatedLuminousFlux")]
pub emergency_rated_luminous_flux: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Equipments {
#[yaserde(rename = "Equipment")]
#[serde(rename = "Equipment")]
pub equipment: Vec<Equipment>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct EquipmentReference {
#[yaserde(rename = "equipmentId")]
#[serde(rename = "equipmentId")]
pub equipment_id: String,
}