def __init__( self, addr_conn: "ModuleConnection", num_tries: int = 3, timeout_msec: int = 1500, ): """Initialize class instance.""" self.addr_conn = addr_conn self.trh = TimeoutRetryHandler(num_tries, timeout_msec) self.trh.set_timeout_callback(self.timeout) # callback addr_conn.register_for_inputs(self.process_input)
def __init__( self, addr_conn: "ModuleConnection", num_tries: int = 3, timeout_msec: int = 1500, ): """Initialize class instance.""" self._oem_text: List[Optional[str]] = [None] * 4 self.oem_text_known = asyncio.Event() super().__init__(addr_conn, num_tries, timeout_msec) self.trhs = [] for block_id in range(4): trh = TimeoutRetryHandler(self.task_registry, num_tries, timeout_msec) trh.set_timeout_callback(self.timeout, block_id=block_id) self.trhs.append(trh)
def __init__(self, addr_conn: "ModuleConnection"): """Construct StatusRequestHandler instance.""" self.addr_conn = addr_conn self.settings = addr_conn.conn.settings self.last_requested_var_without_type_in_response = lcn_defs.Var.UNKNOWN self.last_var_lock = asyncio.Lock() # Output-port request status (0..3) self.request_status_outputs = [] for output_port in range(4): trh = TimeoutRetryHandler( -1, self.settings["MAX_STATUS_EVENTBASED_VALUEAGE_MSEC"]) trh.set_timeout_callback(self.request_status_outputs_timeout, output_port) self.request_status_outputs.append(trh) # Relay request status (all 8) self.request_status_relays = TimeoutRetryHandler( -1, self.settings["MAX_STATUS_EVENTBASED_VALUEAGE_MSEC"]) self.request_status_relays.set_timeout_callback( self.request_status_relays_timeout) # Binary-sensors request status (all 8) self.request_status_bin_sensors = TimeoutRetryHandler( -1, self.settings["MAX_STATUS_EVENTBASED_VALUEAGE_MSEC"]) self.request_status_bin_sensors.set_timeout_callback( self.request_status_bin_sensors_timeout) # Variables request status. # Lazy initialization: Will be filled once the firmware version is # known. self.request_status_vars = {} for var in lcn_defs.Var: if var != lcn_defs.Var.UNKNOWN: self.request_status_vars[var] = TimeoutRetryHandler( -1, self.settings["MAX_STATUS_EVENTBASED_VALUEAGE_MSEC"]) self.request_status_vars[var].set_timeout_callback( self.request_status_var_timeout, var=var) # LEDs and logic-operations request status (all 12+4). self.request_status_leds_and_logic_ops = TimeoutRetryHandler( -1, self.settings["MAX_STATUS_POLLED_VALUEAGE_MSEC"]) self.request_status_leds_and_logic_ops.set_timeout_callback( self.request_status_leds_and_logic_ops_timeout) # Key lock-states request status (all tables, A-D). self.request_status_locked_keys = TimeoutRetryHandler( -1, self.settings["MAX_STATUS_POLLED_VALUEAGE_MSEC"]) self.request_status_locked_keys.set_timeout_callback( self.request_status_locked_keys_timeout)