diff --git a/src/telemetry.rs b/src/telemetry.rs index fc1f211..0968fd7 100644 --- a/src/telemetry.rs +++ b/src/telemetry.rs @@ -41,9 +41,8 @@ impl PointQuality { } } -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(tag = "kind", content = "value", rename_all = "snake_case")] -#[derive(PartialEq)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] +#[serde(untagged)] pub enum DataValue { Null, Bool(bool), @@ -81,12 +80,14 @@ pub struct PointMonitorInfo { pub point_id: Uuid, pub client_handle: u32, pub scan_mode: ScanMode, + #[serde(serialize_with = "crate::util::datetime::option_utc_to_local_str")] pub timestamp: Option>, pub quality: PointQuality, pub value: Option, pub value_type: Option, pub value_text: Option, pub old_value: Option, + #[serde(serialize_with = "crate::util::datetime::option_utc_to_local_str")] pub old_timestamp: Option>, pub value_changed: bool, }