Esempio n. 1
0
	def __init__(self, rf_addr, room_number, boost_duration, boost_valve_position, decalc_day, decalc_hour, max_valve_setting):
		super(SetValveConfigMessage, self).__init__(SetMessage.ValveConfig, rf_addr, room_number)
		self.boost_duration = boost_duration
		self.boost_valve_position = boost_valve_position / 100.0 if isinstance(boost_valve_position, int) else boost_valve_position
		self.decalc_day = py_day_to_cube_day(decalc_day)
		self.decalc_hour = decalc_hour
		self.max_valve_setting = max_valve_setting
Esempio n. 2
0
 def __init__(self, rf_addr, room_number, boost_duration, boost_valve_position, decalc_day, decalc_hour, max_valve_setting):
     super(SetValveConfigMessage, self).__init__(SetMessage.ValveConfig, rf_addr, room_number)
     self.boost_duration = boost_duration
     self.boost_valve_position = boost_valve_position / 100.0 if isinstance(boost_valve_position, int) else boost_valve_position
     self.decalc_day = py_day_to_cube_day(decalc_day)
     self.decalc_hour = decalc_hour
     self.max_valve_setting = max_valve_setting
Esempio n. 3
0
	def get_payload(self):
		data = super(SetProgramMessage, self).get_payload()
		data += bytearray([py_day_to_cube_day(self.weekday)])

		# the cube happily accepts less than 13 * 2 bytes for the schedules on a day
		# and will replace the the rest with "low temperature till midnight" schedules
		for schedule in self.program:
			result = pack_temp_and_time(schedule.temperature, schedule.end_minutes)
			rev_temp, rev_minutes = unpack_temp_and_time(result)
			#print("{0}°C, {1} results in {2:2X} {3:2X} ({2:08b} {3:08b}), revd: {4}°C, {5} minutes ({6} h)".format(schedule.temperature, schedule.end_minutes, result[0], result[1], rev_temp, rev_minutes, rev_minutes / 60.0))
			data += result

		self.dump_bytes(data, "SetProgramMessage payload")

		return data
Esempio n. 4
0
    def get_payload(self):
        data = super(SetProgramMessage, self).get_payload()
        data += bytearray([py_day_to_cube_day(self.weekday)])

        # the cube happily accepts less than 13 * 2 bytes for the schedules on a day
        # and will replace the the rest with "low temperature till midnight" schedules
        for schedule in self.program:
            result = pack_temp_and_time(schedule.temperature, schedule.end_minutes)
            rev_temp, rev_minutes = unpack_temp_and_time(result)
            #print("{0}°C, {1} results in {2:2X} {3:2X} ({2:08b} {3:08b}), revd: {4}°C, {5} minutes ({6} h)".format(schedule.temperature, schedule.end_minutes, result[0], result[1], rev_temp, rev_minutes, rev_minutes / 60.0))
            data += result

        self.dump_bytes(data, "SetProgramMessage payload")

        return data
Esempio n. 5
0
File: util.py Progetto: ercpe/pymax
 def test_py_day_to_cube_day(self):
     for py_day, cube_day in ((0, 2), (1, 3), (2, 4), (3, 5), (4, 6), (5, 0), (6, 1)):
         self.assertEqual(py_day_to_cube_day(py_day), cube_day)