def __init__(self):
        # Initialize process framework attributes so we can start using them
        RPiProcessFramework.__init__(self, default_log_level='INFO')

        # Initialize all installed PiFace boards
        self.logger_instance.debug("RPiOutputVentilator - Initializing PiFace boards")
        RPiPiface.__init__(self)
        # Let's share some log information
        if RPiPiface.get_number_of_boards(self) == 0:
            self.logger_instance.critical(
                "RPiOutputVentilator - No PiFace boards detected. \
                Unable to process input signals"
                )
            self.run_process = False    # No need to continue
        elif RPiPiface.get_number_of_boards(self) == 1:
            self.logger_instance.info("RPiOutputVentilator - One PiFace boards detected")
        else:
            self.logger_instance.warning(
                "RPiOutputVentilator - More than one PiFace board detected." +\
                "Address of last detected board = {}".format(RPiPiface.get_number_of_boards(self)-1))

        # Initialize the output relay dictionary
        self.output_relays = self.create_output_relay_list(self.process_attributes.__repr__())
        # Initialize the relay timer dictionary
        self.relays_timer = self.create_relay_timer_list(self.process_attributes.__repr__())
        # Initialize the process logic dictionary
        self.process_logic = self.create_process_logic_dictionary()
    def __init__(self):
        # Initialize process framework attributes so we can start using them
        RPiProcessFramework.__init__(self, default_log_level='INFO')

        # We make use of a PiFace, so let's initialize an instance
        RPiPiface.__init__(self)
        if self.get_number_of_boards() == 0:
            self.logger_instance.critical(
                "RPiInputButton - No PiFace boards detected. \
                Unable to process input signals")
            self.run_process = False  # No need to continue
        elif self.get_number_of_boards() == 4:
            self.logger_instance.info(
                "RPiInputButton - Four PiFace boards detected")
        else:
            self.logger_instance.warning(
                "RPiInputButton - Potentially not all PiFace boards detected." +\
                "Address of last detected board = {}".format(self.get_number_of_boards()-1))

        # Initialize the input buttons dictionary
        self.input_buttons = self.create_inputbutton_list(
            self.process_attributes.__repr__())

        # Initialize message sender handles so we can send messages
        self.process_consumers = self.create_message_senders(
            self.process_attributes.__repr__())

        # Initialize the message sender handler
        output_queue_configuration = {
            'exchangeName': 'HOMEDOMOTICA',
            'host': 'localhost'
        }
        self.process_output_queue_handler = RPiMessageSender(
            output_queue_configuration, self.logger_instance)
    def __init__(self):
        # Initialize process framework attributes so we can start using them
        RPiProcessFramework.__init__(self, default_log_level='INFO')

        # We make use of a PiFace, so let's initialize an instance
        RPiPiface.__init__(self)
        if self.get_number_of_boards() == 0:
            self.logger_instance.critical(
                "RPiOutputLights - No PiFace boards detected. \
                Unable to process input signals")
            self.run_process = False  # No need to continue
        elif self.get_number_of_boards() == 4:
            self.logger_instance.info(
                "RPiOutputLights - Four PiFace boards detected")
        else:
            self.logger_instance.warning(
                "RPiOutputLights - Potentially not all PiFace boards detected." +\
                "Address of last detected board = {}".format(self.get_number_of_boards()-1))

        # Initialize the output lights dictionary
        self.output_lights = self.create_output_lights_list(
            self.process_attributes.__repr__())
        # Initialize the process logic dictionary
        self.process_logic = self.create_process_logic_dictionary()