Index: dialin/dg/valves.py =================================================================== diff -u -rae1e423f7cf68432e1e3daf01b50a162de4563e4 -r9858b03b175512995a5a3ef0d1ea8dc64b96b7dc --- dialin/dg/valves.py (.../valves.py) (revision ae1e423f7cf68432e1e3daf01b50a162de4563e4) +++ dialin/dg/valves.py (.../valves.py) (revision 9858b03b175512995a5a3ef0d1ea8dc64b96b7dc) @@ -19,13 +19,14 @@ from ..utils.conversions import integer_to_bytearray from .constants import NO_RESET from ..protocols.CAN import (DenaliMessage, DenaliChannels) +from ..utils.base import _AbstractSubSystem, _publish # Valve states ENERGIZED = True DEENERGIZED = False -class DGValves: +class DGValves(_AbstractSubSystem): """ Dialysate Generation (DG) interface for valve related commands. """ @@ -60,6 +61,8 @@ @param can_interface: Denali CAN Messenger object """ + super().__init__() + self.can_interface = can_interface if self.can_interface is not None: @@ -130,6 +133,22 @@ else: return DEENERGIZED + @_publish([ + "valve_states_all", + "valve_state_VRF", + "valve_state_VRI", + "valve_state_VRD", + "valve_state_VRO", + "valve_state_VPO", + "valve_state_VBF", + "valve_state_VRC", + "valve_state_VDR", + "valve_state_VPI", + "valve_state_VSP", + "valve_state_VR1", + "valve_state_VR2", + "valve_state_VPD" + ]) def _handler_valves_sync(self, message): """ Handles published valves states message.