use serde::{Serialize, Deserialize};
use super::*;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AlarmDefinitionCollectionAdaptor {
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "DatatypeAlarmDefinition", default, skip_serializing_if = "Vec::is_empty")]
pub datatype_alarm_definition: Vec<DatatypeAlarmDefinition>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AlarmConfig {
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "Messages", default, skip_serializing_if = "Option::is_none")]
pub messages: Option<AlarmMessageCollection>,
#[serde(rename = "AlarmClass", default, skip_serializing_if = "Option::is_none")]
pub alarm_class: Option<String>,
#[serde(rename = "HMICmd", default, skip_serializing_if = "Option::is_none")]
pub hmicmd: Option<String>,
#[serde(rename = "HMIGroup", default, skip_serializing_if = "Option::is_none")]
pub hmigroup: Option<String>,
#[serde(rename = "$text", default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AlarmMessageCollection {
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "Message", default, skip_serializing_if = "Vec::is_empty")]
pub message: Vec<AlarmMessage>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AlarmMessage {
#[serde(rename = "@Type", default)]
pub r#type: String,
#[serde(rename = "@ID", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "Text", default, skip_serializing_if = "Vec::is_empty")]
pub text: Vec<TextWide>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AlarmMessageText {
#[serde(rename = "@Lang", default, skip_serializing_if = "Option::is_none")]
pub lang: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "$text", default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AlarmAnalog {
#[serde(rename = "@EnableIn", default, skip_serializing_if = "Option::is_none")]
pub enable_in: Option<String>,
#[serde(rename = "@InFault", default, skip_serializing_if = "Option::is_none")]
pub in_fault: Option<String>,
#[serde(rename = "@HHEnabled", default, skip_serializing_if = "Option::is_none")]
pub hhenabled: Option<String>,
#[serde(rename = "@HEnabled", default, skip_serializing_if = "Option::is_none")]
pub henabled: Option<String>,
#[serde(rename = "@LEnabled", default, skip_serializing_if = "Option::is_none")]
pub lenabled: Option<String>,
#[serde(rename = "@LLEnabled", default, skip_serializing_if = "Option::is_none")]
pub llenabled: Option<String>,
#[serde(rename = "@AckRequired", default, skip_serializing_if = "Option::is_none")]
pub ack_required: Option<String>,
#[serde(rename = "@ProgAckAll", default, skip_serializing_if = "Option::is_none")]
pub prog_ack_all: Option<String>,
#[serde(rename = "@OperAckAll", default, skip_serializing_if = "Option::is_none")]
pub oper_ack_all: Option<String>,
#[serde(rename = "@HHProgAck", default, skip_serializing_if = "Option::is_none")]
pub hhprog_ack: Option<String>,
#[serde(rename = "@HHOperAck", default, skip_serializing_if = "Option::is_none")]
pub hhoper_ack: Option<String>,
#[serde(rename = "@HProgAck", default, skip_serializing_if = "Option::is_none")]
pub hprog_ack: Option<String>,
#[serde(rename = "@HOperAck", default, skip_serializing_if = "Option::is_none")]
pub hoper_ack: Option<String>,
#[serde(rename = "@LProgAck", default, skip_serializing_if = "Option::is_none")]
pub lprog_ack: Option<String>,
#[serde(rename = "@LOperAck", default, skip_serializing_if = "Option::is_none")]
pub loper_ack: Option<String>,
#[serde(rename = "@LLProgAck", default, skip_serializing_if = "Option::is_none")]
pub llprog_ack: Option<String>,
#[serde(rename = "@LLOperAck", default, skip_serializing_if = "Option::is_none")]
pub lloper_ack: Option<String>,
#[serde(rename = "@ROCPosProgAck", default, skip_serializing_if = "Option::is_none")]
pub rocpos_prog_ack: Option<String>,
#[serde(rename = "@ROCPosOperAck", default, skip_serializing_if = "Option::is_none")]
pub rocpos_oper_ack: Option<String>,
#[serde(rename = "@ROCNegProgAck", default, skip_serializing_if = "Option::is_none")]
pub rocneg_prog_ack: Option<String>,
#[serde(rename = "@ROCNegOperAck", default, skip_serializing_if = "Option::is_none")]
pub rocneg_oper_ack: Option<String>,
#[serde(rename = "@ProgSuppress", default, skip_serializing_if = "Option::is_none")]
pub prog_suppress: Option<String>,
#[serde(rename = "@OperSuppress", default, skip_serializing_if = "Option::is_none")]
pub oper_suppress: Option<String>,
#[serde(rename = "@ProgUnsuppress", default, skip_serializing_if = "Option::is_none")]
pub prog_unsuppress: Option<String>,
#[serde(rename = "@OperUnsuppress", default, skip_serializing_if = "Option::is_none")]
pub oper_unsuppress: Option<String>,
#[serde(rename = "@HHOperShelve", default, skip_serializing_if = "Option::is_none")]
pub hhoper_shelve: Option<String>,
#[serde(rename = "@HOperShelve", default, skip_serializing_if = "Option::is_none")]
pub hoper_shelve: Option<String>,
#[serde(rename = "@LOperShelve", default, skip_serializing_if = "Option::is_none")]
pub loper_shelve: Option<String>,
#[serde(rename = "@LLOperShelve", default, skip_serializing_if = "Option::is_none")]
pub lloper_shelve: Option<String>,
#[serde(rename = "@ROCPosOperShelve", default, skip_serializing_if = "Option::is_none")]
pub rocpos_oper_shelve: Option<String>,
#[serde(rename = "@ROCNegOperShelve", default, skip_serializing_if = "Option::is_none")]
pub rocneg_oper_shelve: Option<String>,
#[serde(rename = "@ProgUnshelveAll", default, skip_serializing_if = "Option::is_none")]
pub prog_unshelve_all: Option<String>,
#[serde(rename = "@HHOperUnshelve", default, skip_serializing_if = "Option::is_none")]
pub hhoper_unshelve: Option<String>,
#[serde(rename = "@HOperUnshelve", default, skip_serializing_if = "Option::is_none")]
pub hoper_unshelve: Option<String>,
#[serde(rename = "@LOperUnshelve", default, skip_serializing_if = "Option::is_none")]
pub loper_unshelve: Option<String>,
#[serde(rename = "@LLOperUnshelve", default, skip_serializing_if = "Option::is_none")]
pub lloper_unshelve: Option<String>,
#[serde(rename = "@ROCPosOperUnshelve", default, skip_serializing_if = "Option::is_none")]
pub rocpos_oper_unshelve: Option<String>,
#[serde(rename = "@ROCNegOperUnshelve", default, skip_serializing_if = "Option::is_none")]
pub rocneg_oper_unshelve: Option<String>,
#[serde(rename = "@ProgDisable", default, skip_serializing_if = "Option::is_none")]
pub prog_disable: Option<String>,
#[serde(rename = "@OperDisable", default, skip_serializing_if = "Option::is_none")]
pub oper_disable: Option<String>,
#[serde(rename = "@ProgEnable", default, skip_serializing_if = "Option::is_none")]
pub prog_enable: Option<String>,
#[serde(rename = "@OperEnable", default, skip_serializing_if = "Option::is_none")]
pub oper_enable: Option<String>,
#[serde(rename = "@AlarmCountReset", default, skip_serializing_if = "Option::is_none")]
pub alarm_count_reset: Option<String>,
#[serde(rename = "@HHMinDurationEnable", default, skip_serializing_if = "Option::is_none")]
pub hhmin_duration_enable: Option<String>,
#[serde(rename = "@HMinDurationEnable", default, skip_serializing_if = "Option::is_none")]
pub hmin_duration_enable: Option<String>,
#[serde(rename = "@LMinDurationEnable", default, skip_serializing_if = "Option::is_none")]
pub lmin_duration_enable: Option<String>,
#[serde(rename = "@LLMinDurationEnable", default, skip_serializing_if = "Option::is_none")]
pub llmin_duration_enable: Option<String>,
#[serde(rename = "@In", default, skip_serializing_if = "Option::is_none")]
pub r#in: Option<String>,
#[serde(rename = "@HHLimit", default, skip_serializing_if = "Option::is_none")]
pub hhlimit: Option<String>,
#[serde(rename = "@HHSeverity", default, skip_serializing_if = "Option::is_none")]
pub hhseverity: Option<String>,
#[serde(rename = "@HLimit", default, skip_serializing_if = "Option::is_none")]
pub hlimit: Option<String>,
#[serde(rename = "@HSeverity", default, skip_serializing_if = "Option::is_none")]
pub hseverity: Option<String>,
#[serde(rename = "@LLimit", default, skip_serializing_if = "Option::is_none")]
pub llimit: Option<String>,
#[serde(rename = "@LSeverity", default, skip_serializing_if = "Option::is_none")]
pub lseverity: Option<String>,
#[serde(rename = "@LLLimit", default, skip_serializing_if = "Option::is_none")]
pub lllimit: Option<String>,
#[serde(rename = "@LLSeverity", default, skip_serializing_if = "Option::is_none")]
pub llseverity: Option<String>,
#[serde(rename = "@MinDurationPRE", default, skip_serializing_if = "Option::is_none")]
pub min_duration_pre: Option<String>,
#[serde(rename = "@ShelveDuration", default, skip_serializing_if = "Option::is_none")]
pub shelve_duration: Option<String>,
#[serde(rename = "@MaxShelveDuration", default, skip_serializing_if = "Option::is_none")]
pub max_shelve_duration: Option<String>,
#[serde(rename = "@Deadband", default, skip_serializing_if = "Option::is_none")]
pub deadband: Option<String>,
#[serde(rename = "@ROCPosLimit", default, skip_serializing_if = "Option::is_none")]
pub rocpos_limit: Option<String>,
#[serde(rename = "@ROCPosSeverity", default, skip_serializing_if = "Option::is_none")]
pub rocpos_severity: Option<String>,
#[serde(rename = "@ROCNegLimit", default, skip_serializing_if = "Option::is_none")]
pub rocneg_limit: Option<String>,
#[serde(rename = "@ROCNegSeverity", default, skip_serializing_if = "Option::is_none")]
pub rocneg_severity: Option<String>,
#[serde(rename = "@ROCPeriod", default, skip_serializing_if = "Option::is_none")]
pub rocperiod: Option<String>,
#[serde(rename = "@AssocTag1", default, skip_serializing_if = "Option::is_none")]
pub assoc_tag1: Option<String>,
#[serde(rename = "@AssocTag2", default, skip_serializing_if = "Option::is_none")]
pub assoc_tag2: Option<String>,
#[serde(rename = "@AssocTag3", default, skip_serializing_if = "Option::is_none")]
pub assoc_tag3: Option<String>,
#[serde(rename = "@AssocTag4", default, skip_serializing_if = "Option::is_none")]
pub assoc_tag4: Option<String>,
#[serde(rename = "@EnableOut", default, skip_serializing_if = "Option::is_none")]
pub enable_out: Option<String>,
#[serde(rename = "@InAlarm", default, skip_serializing_if = "Option::is_none")]
pub in_alarm: Option<String>,
#[serde(rename = "@AnyInAlarmUnack", default, skip_serializing_if = "Option::is_none")]
pub any_in_alarm_unack: Option<String>,
#[serde(rename = "@HHInAlarm", default, skip_serializing_if = "Option::is_none")]
pub hhin_alarm: Option<String>,
#[serde(rename = "@HHAcked", default, skip_serializing_if = "Option::is_none")]
pub hhacked: Option<String>,
#[serde(rename = "@HHInAlarmUnack", default, skip_serializing_if = "Option::is_none")]
pub hhin_alarm_unack: Option<String>,
#[serde(rename = "@HInAlarm", default, skip_serializing_if = "Option::is_none")]
pub hin_alarm: Option<String>,
#[serde(rename = "@HAcked", default, skip_serializing_if = "Option::is_none")]
pub hacked: Option<String>,
#[serde(rename = "@HInAlarmUnack", default, skip_serializing_if = "Option::is_none")]
pub hin_alarm_unack: Option<String>,
#[serde(rename = "@LInAlarm", default, skip_serializing_if = "Option::is_none")]
pub lin_alarm: Option<String>,
#[serde(rename = "@LAcked", default, skip_serializing_if = "Option::is_none")]
pub lacked: Option<String>,
#[serde(rename = "@LInAlarmUnack", default, skip_serializing_if = "Option::is_none")]
pub lin_alarm_unack: Option<String>,
#[serde(rename = "@LLInAlarm", default, skip_serializing_if = "Option::is_none")]
pub llin_alarm: Option<String>,
#[serde(rename = "@LLAcked", default, skip_serializing_if = "Option::is_none")]
pub llacked: Option<String>,
#[serde(rename = "@LLInAlarmUnack", default, skip_serializing_if = "Option::is_none")]
pub llin_alarm_unack: Option<String>,
#[serde(rename = "@ROCPosInAlarm", default, skip_serializing_if = "Option::is_none")]
pub rocpos_in_alarm: Option<String>,
#[serde(rename = "@ROCPosAcked", default, skip_serializing_if = "Option::is_none")]
pub rocpos_acked: Option<String>,
#[serde(rename = "@ROCPosInAlarmUnack", default, skip_serializing_if = "Option::is_none")]
pub rocpos_in_alarm_unack: Option<String>,
#[serde(rename = "@ROCNegInAlarm", default, skip_serializing_if = "Option::is_none")]
pub rocneg_in_alarm: Option<String>,
#[serde(rename = "@ROCNegAcked", default, skip_serializing_if = "Option::is_none")]
pub rocneg_acked: Option<String>,
#[serde(rename = "@ROCNegInAlarmUnack", default, skip_serializing_if = "Option::is_none")]
pub rocneg_in_alarm_unack: Option<String>,
#[serde(rename = "@Suppressed", default, skip_serializing_if = "Option::is_none")]
pub suppressed: Option<String>,
#[serde(rename = "@HHShelved", default, skip_serializing_if = "Option::is_none")]
pub hhshelved: Option<String>,
#[serde(rename = "@HShelved", default, skip_serializing_if = "Option::is_none")]
pub hshelved: Option<String>,
#[serde(rename = "@LShelved", default, skip_serializing_if = "Option::is_none")]
pub lshelved: Option<String>,
#[serde(rename = "@LLShelved", default, skip_serializing_if = "Option::is_none")]
pub llshelved: Option<String>,
#[serde(rename = "@ROCPosShelved", default, skip_serializing_if = "Option::is_none")]
pub rocpos_shelved: Option<String>,
#[serde(rename = "@ROCNegShelved", default, skip_serializing_if = "Option::is_none")]
pub rocneg_shelved: Option<String>,
#[serde(rename = "@Disabled", default, skip_serializing_if = "Option::is_none")]
pub disabled: Option<String>,
#[serde(rename = "@HHInAlarmTime", default, skip_serializing_if = "Option::is_none")]
pub hhin_alarm_time: Option<String>,
#[serde(rename = "@HHAlarmCount", default, skip_serializing_if = "Option::is_none")]
pub hhalarm_count: Option<String>,
#[serde(rename = "@HInAlarmTime", default, skip_serializing_if = "Option::is_none")]
pub hin_alarm_time: Option<String>,
#[serde(rename = "@HAlarmCount", default, skip_serializing_if = "Option::is_none")]
pub halarm_count: Option<String>,
#[serde(rename = "@LInAlarmTime", default, skip_serializing_if = "Option::is_none")]
pub lin_alarm_time: Option<String>,
#[serde(rename = "@LAlarmCount", default, skip_serializing_if = "Option::is_none")]
pub lalarm_count: Option<String>,
#[serde(rename = "@LLInAlarmTime", default, skip_serializing_if = "Option::is_none")]
pub llin_alarm_time: Option<String>,
#[serde(rename = "@LLAlarmCount", default, skip_serializing_if = "Option::is_none")]
pub llalarm_count: Option<String>,
#[serde(rename = "@ROCPosInAlarmTime", default, skip_serializing_if = "Option::is_none")]
pub rocpos_in_alarm_time: Option<String>,
#[serde(rename = "@ROCPosAlarmCnt", default, skip_serializing_if = "Option::is_none")]
pub rocpos_alarm_cnt: Option<String>,
#[serde(rename = "@ROCNegInAlarmTime", default, skip_serializing_if = "Option::is_none")]
pub rocneg_in_alarm_time: Option<String>,
#[serde(rename = "@ROCNegAlarmCnt", default, skip_serializing_if = "Option::is_none")]
pub rocneg_alarm_cnt: Option<String>,
#[serde(rename = "@AckTime", default, skip_serializing_if = "Option::is_none")]
pub ack_time: Option<String>,
#[serde(rename = "@RetToNormalTime", default, skip_serializing_if = "Option::is_none")]
pub ret_to_normal_time: Option<String>,
#[serde(rename = "@AlarmCountResetTime", default, skip_serializing_if = "Option::is_none")]
pub alarm_count_reset_time: Option<String>,
#[serde(rename = "@ShelveTime", default, skip_serializing_if = "Option::is_none")]
pub shelve_time: Option<String>,
#[serde(rename = "@UnshelveTime", default, skip_serializing_if = "Option::is_none")]
pub unshelve_time: Option<String>,
#[serde(rename = "@InstructFault", default, skip_serializing_if = "Option::is_none")]
pub instruct_fault: Option<String>,
#[serde(rename = "@InFaulted", default, skip_serializing_if = "Option::is_none")]
pub in_faulted: Option<String>,
#[serde(rename = "@SeverityInv", default, skip_serializing_if = "Option::is_none")]
pub severity_inv: Option<String>,
#[serde(rename = "@AlarmLimitsInv", default, skip_serializing_if = "Option::is_none")]
pub alarm_limits_inv: Option<String>,
#[serde(rename = "@DeadbandInv", default, skip_serializing_if = "Option::is_none")]
pub deadband_inv: Option<String>,
#[serde(rename = "@ROCPosLimitInv", default, skip_serializing_if = "Option::is_none")]
pub rocpos_limit_inv: Option<String>,
#[serde(rename = "@ROCNegLimitInv", default, skip_serializing_if = "Option::is_none")]
pub rocneg_limit_inv: Option<String>,
#[serde(rename = "@ROCPeriodInv", default, skip_serializing_if = "Option::is_none")]
pub rocperiod_inv: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AlarmDigital {
#[serde(rename = "@EnableIn", default, skip_serializing_if = "Option::is_none")]
pub enable_in: Option<String>,
#[serde(rename = "@In", default, skip_serializing_if = "Option::is_none")]
pub r#in: Option<String>,
#[serde(rename = "@InFault", default, skip_serializing_if = "Option::is_none")]
pub in_fault: Option<String>,
#[serde(rename = "@Condition", default, skip_serializing_if = "Option::is_none")]
pub condition: Option<String>,
#[serde(rename = "@AckRequired", default, skip_serializing_if = "Option::is_none")]
pub ack_required: Option<String>,
#[serde(rename = "@Latched", default, skip_serializing_if = "Option::is_none")]
pub latched: Option<String>,
#[serde(rename = "@ProgAck", default, skip_serializing_if = "Option::is_none")]
pub prog_ack: Option<String>,
#[serde(rename = "@OperAck", default, skip_serializing_if = "Option::is_none")]
pub oper_ack: Option<String>,
#[serde(rename = "@ProgReset", default, skip_serializing_if = "Option::is_none")]
pub prog_reset: Option<String>,
#[serde(rename = "@OperReset", default, skip_serializing_if = "Option::is_none")]
pub oper_reset: Option<String>,
#[serde(rename = "@ProgSuppress", default, skip_serializing_if = "Option::is_none")]
pub prog_suppress: Option<String>,
#[serde(rename = "@OperSuppress", default, skip_serializing_if = "Option::is_none")]
pub oper_suppress: Option<String>,
#[serde(rename = "@ProgUnsuppress", default, skip_serializing_if = "Option::is_none")]
pub prog_unsuppress: Option<String>,
#[serde(rename = "@OperUnsuppress", default, skip_serializing_if = "Option::is_none")]
pub oper_unsuppress: Option<String>,
#[serde(rename = "@OperShelve", default, skip_serializing_if = "Option::is_none")]
pub oper_shelve: Option<String>,
#[serde(rename = "@ProgUnshelve", default, skip_serializing_if = "Option::is_none")]
pub prog_unshelve: Option<String>,
#[serde(rename = "@OperUnshelve", default, skip_serializing_if = "Option::is_none")]
pub oper_unshelve: Option<String>,
#[serde(rename = "@ProgDisable", default, skip_serializing_if = "Option::is_none")]
pub prog_disable: Option<String>,
#[serde(rename = "@OperDisable", default, skip_serializing_if = "Option::is_none")]
pub oper_disable: Option<String>,
#[serde(rename = "@ProgEnable", default, skip_serializing_if = "Option::is_none")]
pub prog_enable: Option<String>,
#[serde(rename = "@OperEnable", default, skip_serializing_if = "Option::is_none")]
pub oper_enable: Option<String>,
#[serde(rename = "@AlarmCountReset", default, skip_serializing_if = "Option::is_none")]
pub alarm_count_reset: Option<String>,
#[serde(rename = "@UseProgTime", default, skip_serializing_if = "Option::is_none")]
pub use_prog_time: Option<String>,
#[serde(rename = "@Severity", default, skip_serializing_if = "Option::is_none")]
pub severity: Option<String>,
#[serde(rename = "@MinDurationPRE", default, skip_serializing_if = "Option::is_none")]
pub min_duration_pre: Option<String>,
#[serde(rename = "@ShelveDuration", default, skip_serializing_if = "Option::is_none")]
pub shelve_duration: Option<String>,
#[serde(rename = "@MaxShelveDuration", default, skip_serializing_if = "Option::is_none")]
pub max_shelve_duration: Option<String>,
#[serde(rename = "@ProgTime", default, skip_serializing_if = "Option::is_none")]
pub prog_time: Option<String>,
#[serde(rename = "@AssocTag1", default, skip_serializing_if = "Option::is_none")]
pub assoc_tag1: Option<String>,
#[serde(rename = "@AssocTag2", default, skip_serializing_if = "Option::is_none")]
pub assoc_tag2: Option<String>,
#[serde(rename = "@AssocTag3", default, skip_serializing_if = "Option::is_none")]
pub assoc_tag3: Option<String>,
#[serde(rename = "@AssocTag4", default, skip_serializing_if = "Option::is_none")]
pub assoc_tag4: Option<String>,
#[serde(rename = "@EnableOut", default, skip_serializing_if = "Option::is_none")]
pub enable_out: Option<String>,
#[serde(rename = "@InAlarm", default, skip_serializing_if = "Option::is_none")]
pub in_alarm: Option<String>,
#[serde(rename = "@Acked", default, skip_serializing_if = "Option::is_none")]
pub acked: Option<String>,
#[serde(rename = "@InAlarmUnack", default, skip_serializing_if = "Option::is_none")]
pub in_alarm_unack: Option<String>,
#[serde(rename = "@Suppressed", default, skip_serializing_if = "Option::is_none")]
pub suppressed: Option<String>,
#[serde(rename = "@Shelved", default, skip_serializing_if = "Option::is_none")]
pub shelved: Option<String>,
#[serde(rename = "@Disabled", default, skip_serializing_if = "Option::is_none")]
pub disabled: Option<String>,
#[serde(rename = "@AlarmCount", default, skip_serializing_if = "Option::is_none")]
pub alarm_count: Option<String>,
#[serde(rename = "@InAlarmTime", default, skip_serializing_if = "Option::is_none")]
pub in_alarm_time: Option<String>,
#[serde(rename = "@AckTime", default, skip_serializing_if = "Option::is_none")]
pub ack_time: Option<String>,
#[serde(rename = "@RetToNormalTime", default, skip_serializing_if = "Option::is_none")]
pub ret_to_normal_time: Option<String>,
#[serde(rename = "@AlarmCountResetTime", default, skip_serializing_if = "Option::is_none")]
pub alarm_count_reset_time: Option<String>,
#[serde(rename = "@ShelveTime", default, skip_serializing_if = "Option::is_none")]
pub shelve_time: Option<String>,
#[serde(rename = "@UnshelveTime", default, skip_serializing_if = "Option::is_none")]
pub unshelve_time: Option<String>,
#[serde(rename = "@InstructFault", default, skip_serializing_if = "Option::is_none")]
pub instruct_fault: Option<String>,
#[serde(rename = "@InFaulted", default, skip_serializing_if = "Option::is_none")]
pub in_faulted: Option<String>,
#[serde(rename = "@SeverityInv", default, skip_serializing_if = "Option::is_none")]
pub severity_inv: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
}