1use tracing::debug;
2
3use crate::traits::HandleFrame;
4
5#[derive(Debug, Clone, Default)]
6pub struct AcSpec {
10 pub voltage: Option<f64>,
11 pub power: Option<f64>,
12 pub frequency: Option<f64>,
13}
14
15impl HandleFrame for AcSpec {
16 fn handle_frame(&mut self, parts: &[&str], value: Option<f64>) {
17 match parts {
18 ["L1", "V"] => self.voltage = value,
19 ["L1", "P"] => self.power = value,
20 ["L1", "F"] => self.frequency = value,
21 _ => {
22 debug!("Unhandled AcSpec parts: {:?}, value: {:?}", parts, value);
23 }
24 }
25 }
26}