Ejemplo n.º 1
0
 def __set_mode(self, version, address, bytes):
     """ Set the power modules mode. """
     if address not in self.__mode or self.__mode[address] != bytes:
         LOGGER.info("Setting day/night mode to " + str(bytes))
         self.__power_communicator.do_command(
             address, power_api.set_day_night(version), *bytes)
         self.__mode[address] = bytes
Ejemplo n.º 2
0
 def __set_mode(self, version, address, bytes):
     # type: (int, str, List[int]) -> None
     """ Set the power modules mode. """
     if address not in self.__mode or self.__mode[address] != bytes:
         logger.info("Setting day/night mode to " + str(bytes))
         self.__power_communicator.do_command(address, power_api.set_day_night(version), *bytes)
         self.__mode[address] = bytes
    def test_timekeeper(self):
        """ Test the TimeKeeper. """
        SetUpTestInjections(power_db=PowerCommunicatorTest.FILE)
        power_controller = PowerController()
        power_controller.register_power_module(1, power_api.POWER_MODULE)

        time_action = power_api.set_day_night(power_api.POWER_MODULE)
        times = [power_api.NIGHT for _ in range(8)]
        action = power_api.get_voltage(power_api.POWER_MODULE)

        serial_mock = RS485(
            SerialMock([
                sin(time_action.create_input(1, 1, *times)),
                sout(time_action.create_output(1, 1)),
                sin(action.create_input(1, 2)),
                sout(action.create_output(1, 2, 243))
            ], 1))

        comm = PowerCommunicatorTest._get_communicator(
            serial_mock, 1, power_controller=power_controller)
        comm.start()

        time.sleep(1.5)

        self.assertEquals((243, ), comm.do_command(1, action))
Ejemplo n.º 4
0
    def test_timekeeper(self):
        """ Test the TimeKeeper. """
        self.store.register_power_module(1, power_api.POWER_MODULE)

        time_action = power_api.set_day_night(power_api.POWER_MODULE)
        times = [power_api.NIGHT for _ in range(8)]
        action = power_api.get_voltage(power_api.POWER_MODULE)

        self.power_data.extend([
            sin(time_action.create_input(1, 1, *times)),
            sout(time_action.create_output(1, 1)),
            sin(action.create_input(1, 2)),
            sout(action.create_output(1, 2, 243))
        ])
        self.communicator = PowerCommunicator(time_keeper_period=1)
        self.serial.start()
        self.communicator.start()

        time.sleep(1.5)
        self.assertEqual((243, ), self.communicator.do_command(1, action))
Ejemplo n.º 5
0
    def test_timekeeper(self):
        """ Test the TimeKeeper. """
        power_controller = PowerController(PowerCommunicatorTest.FILE)
        power_controller.register_power_module(1, power_api.POWER_API_8_PORTS)

        time_action = power_api.set_day_night(power_api.POWER_API_8_PORTS)
        times = [power_api.NIGHT for _ in range(8)]
        action = power_api.get_voltage(power_api.POWER_API_8_PORTS)

        serial_mock = RS485(SerialMock(
            [sin(time_action.create_input(1, 1, *times)),
             sout(time_action.create_output(1, 1)),
             sin(action.create_input(1, 2)),
             sout(action.create_output(1, 2, 243))
            ], 1))

        comm = self.__get_communicator(serial_mock, 1, power_controller=power_controller)
        comm.start()

        time.sleep(1.5)

        self.assertEquals((243, ), comm.do_command(1, action))
Ejemplo n.º 6
0
 def __set_mode(self, version, address, bytes):
     """ Set the power modules mode. """
     if address not in self.__mode or self.__mode[address] != bytes:
         LOGGER.info("Setting day/night mode to " + str(bytes))
         self.__power_communicator.do_command(address, power_api.set_day_night(version), *bytes)
         self.__mode[address] = bytes