diff --git a/backend/src/domain/relay/types/relaystate.rs b/backend/src/domain/relay/types/relaystate.rs index e651d27..f77859e 100644 --- a/backend/src/domain/relay/types/relaystate.rs +++ b/backend/src/domain/relay/types/relaystate.rs @@ -1,11 +1,13 @@ /// State of a relay (on or off). /// /// Represents the binary state of a relay channel in the Modbus controller. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] pub enum RelayState { /// Relay is energized (circuit closed). + #[serde(rename = "on")] On, /// Relay is de-energized (circuit open). + #[serde(rename = "off")] Off, } diff --git a/specs/001-modbus-relay-control/tasks.md b/specs/001-modbus-relay-control/tasks.md index ae5f6aa..eda7f91 100644 --- a/specs/001-modbus-relay-control/tasks.md +++ b/specs/001-modbus-relay-control/tasks.md @@ -225,7 +225,7 @@ - **File**: src/domain/relay.rs - **Complexity**: Low | **Uncertainty**: Low -- [ ] **T020** [P] [US1] [TDD] Implement RelayState enum +- [x] **T020** [P] [US1] [TDD] Implement RelayState enum - Enum: On, Off - Implement Display, Debug, Clone, Copy, PartialEq, Eq, serde::Serialize/Deserialize - **File**: src/domain/relay.rs