use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct ControlSingleExcerpt {
#[serde(rename = "AllowableMax")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowable_max: Option<f64>,
#[serde(rename = "AllowableMin")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowable_min: Option<f64>,
#[serde(rename = "ControlMode")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub control_mode: Option<models::control::v1_3_0::ControlMode>,
#[serde(rename = "DataSourceUri")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data_source_uri: Option<String>,
#[serde(rename = "DefaultSetPoint")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_set_point: Option<f64>,
#[serde(rename = "Reading")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reading: Option<f64>,
#[serde(rename = "ReadingUnits")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reading_units: Option<String>,
#[serde(rename = "SetPoint")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub set_point: Option<f64>,
}
impl crate::Metadata<'static> for ControlSingleExcerpt {
const JSON_SCHEMA: &'static str = "Control.v1_3_0.json";
}