Index: leahi_dialin/dd/modules/levels.py =================================================================== diff -u -r23ad7f4e46c52fcc77452ca6cfa171305f01cfcc -r106e58f4292b0b970a3c2084af19dca26682edc5 --- leahi_dialin/dd/modules/levels.py (.../levels.py) (revision 23ad7f4e46c52fcc77452ca6cfa171305f01cfcc) +++ leahi_dialin/dd/modules/levels.py (.../levels.py) (revision 106e58f4292b0b970a3c2084af19dca26682edc5) @@ -130,3 +130,30 @@ override_text = str(status), logger = self.logger, can_interface = self.can_interface) + + + def cmd_floater_level_status_override(self, level_sensor: int, status: int, reset: int = NO_RESET) -> int: + """ + Constructs and sends level status override command. + Must be logged into DD. + + @param level_sensor: integer - level sensor id to override + @param status: integer - the status value to override + @param reset: (int) 1 to reset a previous override, 0 to override + @returns 1 if successful, zero otherwise + """ + reset_value = integer_to_bytearray(reset) + lvl_sen = integer_to_bytearray(level_sensor) + sts = integer_to_bytearray(status) + print("sts", sts) + payload = reset_value + sts + lvl_sen + + return cmd_generic_override( + payload = payload, + reset = reset, + channel_id = DenaliChannels.dialin_to_fp_ch_id, + msg_id = MsgIds.MSG_ID_DD_FLOATER_LEVEL_OVERRIDE_REQUEST, + entity_name = f'DD Floater Levels status', + override_text = f'{str(status)}', + logger = self.logger, + can_interface = self.can_interface)