def startInputs(self, global_data):
        ''' Start Home Monitor Input routines '''

        input_queue = global_data[Constants.GlobalData.INPUT_QUEUE]
        self.input = ProcessInput(input_queue)

        # Start thread for inputing data
        if (not self.options.in_test_mode):
            self.logger.debug('Starting xbee input')
            self.xbee_thread = XBeeInputThread(input_queue)
            self.xbee_thread.start()

        # The following will test various inputs
        if (self.options.in_test_mode):
            self.logger.debug('Starting test thread')
            self.test_input = TestInputThread(input_queue)
            self.test_input.start()

        self.logger.debug('Starting scheduler')
        self.sched = HMScheduler(input_queue)
        self.sched.start()

        if (sys.platform[:5] == 'linux' and not self.options.in_test_mode):
            self.logger.debug('Starting ComputerMonitor')
            self.computer_monitor = ComputerMonitor(input_queue)
            self.computer_monitor.start()
Exemple #2
0
 def test_ProcessInput_work_status_request(self, process, config, receive):
     envelope = DataEnvelope(Constants.EnvelopeTypes.STATUS)
     que = HMQueue()
     pi = ProcessInput(que)
     que.receive.return_value = envelope
     pi.work()
     que.receive.assert_called_oncy_with()
     pi.commands[envelope.type].process.assert_called_once_with(envelope)
Exemple #3
0
 def test_input(self, receive, work, config):
     que = HMQueue()
     self.pi = ProcessInput(que)
     work.side_effect = self.side_effect
     self.pi.input()
     self.pi.work.assert_called_once_with()
Exemple #4
0
 def test_ProcessInput_logger_name(self, config):
     devices = {'device': {'port': {}}}
     pi = ProcessInput(devices)
     self.assertEqual(pi.logger_name, Constants.LogKeys.inputs)
Exemple #5
0
 def testProcessInput_configuration_file_name(self, config):
     devices = {'device': {'port': {}}}
     pi = ProcessInput(devices)
     self.assertEqual(pi.configuration_file_name,
                      'housemonitor.inputs.processinput')
Exemple #6
0
 def testProcessInput_topic_name(self, config):
     devices = {'device': {'port': {}}}
     pi = ProcessInput(devices)
     self.assertEqual(pi.topic_name, Constants.TopicNames.ProcessInputs)