def set_virtual_sensor(): """ Set the values (temperature, humidity, brightness) of a virtual sensor. """ return MasterCommandSpec("VS", [Field.byte('sensor'), Field.svt('tmp'), Field.svt('hum'), Field.svt('bri'), Field.padding(9)], [Field.byte('sensor'), Field.svt('tmp'), Field.svt('hum'), Field.svt('bri'), Field.padding(9), Field.lit('\r\n')])
def setpoint_list(): """ Read the current setpoint of the thermostats in series of 12 """ return MasterCommandSpec("SL", [Field.byte("series"), Field.padding(12)], [Field.byte("series"), Field.svt('tmp0'), Field.svt('tmp1'), Field.svt('tmp2'), Field.svt('tmp3'), Field.svt('tmp4'), Field.svt('tmp5'), Field.svt('tmp6'), Field.svt('tmp7'), Field.svt('tmp8'), Field.svt('tmp9'), Field.svt('tmp10'), Field.svt('tmp11'), Field.lit('\r\n')])
def temperature_list(): """ Read the temperature thermostat sensor list for a series of 12 sensors """ return MasterCommandSpec("TL", [Field.byte("series"), Field.padding(12)], [Field.byte("series"), Field.svt('tmp0'), Field.svt('tmp1'), Field.svt('tmp2'), Field.svt('tmp3'), Field.svt('tmp4'), Field.svt('tmp5'), Field.svt('tmp6'), Field.svt('tmp7'), Field.svt('tmp8'), Field.svt('tmp9'), Field.svt('tmp10'), Field.svt('tmp11'), Field.lit('\r\n')])
def write_setpoint(): """ Write a setpoints of a thermostats """ return MasterCommandSpec("ws", [ Field.byte("thermostat"), Field.byte("config"), Field.svt("temp"), Field.padding(10) ], [ Field.byte("thermostat"), Field.byte("config"), Field.svt("temp"), Field.padding(10), Field.lit('\r\n') ])
def sensor_brightness_list(): """ Reads the list brightness values of the 32 (0-31) sensors. """ return MasterCommandSpec("bl", [Field.padding(13)], [Field.svt('bri0'), Field.svt('bri1'), Field.svt('bri2'), Field.svt('bri3'), Field.svt('bri4'), Field.svt('bri5'), Field.svt('bri6'), Field.svt('bri7'), Field.svt('bri8'), Field.svt('bri9'), Field.svt('bri10'), Field.svt('bri11'), Field.svt('bri12'), Field.svt('bri13'), Field.svt('bri14'), Field.svt('bri15'), Field.svt('bri16'), Field.svt('bri17'), Field.svt('bri18'), Field.svt('bri19'), Field.svt('bri20'), Field.svt('bri21'), Field.svt('bri22'), Field.svt('bri23'), Field.svt('bri24'), Field.svt('bri25'), Field.svt('bri26'), Field.svt('bri27'), Field.svt('bri28'), Field.svt('bri29'), Field.svt('bri30'), Field.svt('bri31'), Field.crc(), Field.lit('\r\n')])
def sensor_temperature_list(): """ Reads the list temperature values of the 32 (0-31) sensors. """ return MasterCommandSpec("cl", [Field.padding(13)], [Field.svt('tmp0'), Field.svt('tmp1'), Field.svt('tmp2'), Field.svt('tmp3'), Field.svt('tmp4'), Field.svt('tmp5'), Field.svt('tmp6'), Field.svt('tmp7'), Field.svt('tmp8'), Field.svt('tmp9'), Field.svt('tmp10'), Field.svt('tmp11'), Field.svt('tmp12'), Field.svt('tmp13'), Field.svt('tmp14'), Field.svt('tmp15'), Field.svt('tmp16'), Field.svt('tmp17'), Field.svt('tmp18'), Field.svt('tmp19'), Field.svt('tmp20'), Field.svt('tmp21'), Field.svt('tmp22'), Field.svt('tmp23'), Field.svt('tmp24'), Field.svt('tmp25'), Field.svt('tmp26'), Field.svt('tmp27'), Field.svt('tmp28'), Field.svt('tmp29'), Field.svt('tmp30'), Field.svt('tmp31'), Field.crc(), Field.lit('\r\n')])
def sensor_humidity_list(): """ Reads the list humidity values of the 32 (0-31) sensors. """ return MasterCommandSpec("hl", [Field.padding(13)], [Field.svt('hum0'), Field.svt('hum1'), Field.svt('hum2'), Field.svt('hum3'), Field.svt('hum4'), Field.svt('hum5'), Field.svt('hum6'), Field.svt('hum7'), Field.svt('hum8'), Field.svt('hum9'), Field.svt('hum10'), Field.svt('hum11'), Field.svt('hum12'), Field.svt('hum13'), Field.svt('hum14'), Field.svt('hum15'), Field.svt('hum16'), Field.svt('hum17'), Field.svt('hum18'), Field.svt('hum19'), Field.svt('hum20'), Field.svt('hum21'), Field.svt('hum22'), Field.svt('hum23'), Field.svt('hum24'), Field.svt('hum25'), Field.svt('hum26'), Field.svt('hum27'), Field.svt('hum28'), Field.svt('hum29'), Field.svt('hum30'), Field.svt('hum31'), Field.crc(), Field.lit('\r\n')])
def thermostat_list(): """ Read the thermostat mode, the outside temperature, the temperature of each thermostat, as well as the setpoint. """ return MasterCommandSpec("tl", [Field.padding(13)], [Field.byte('mode'), Field.svt('outside'), Field.svt('tmp0'), Field.svt('tmp1'), Field.svt('tmp2'), Field.svt('tmp3'), Field.svt('tmp4'), Field.svt('tmp5'), Field.svt('tmp6'), Field.svt('tmp7'), Field.svt('tmp8'), Field.svt('tmp9'), Field.svt('tmp10'), Field.svt('tmp11'), Field.svt('tmp12'), Field.svt('tmp13'), Field.svt('tmp14'), Field.svt('tmp15'), Field.svt('tmp16'), Field.svt('tmp17'), Field.svt('tmp18'), Field.svt('tmp19'), Field.svt('tmp20'), Field.svt('tmp21'), Field.svt('tmp22'), Field.svt('tmp23'), Field.svt('tmp24'), Field.svt('tmp25'), Field.svt('tmp26'), Field.svt('tmp27'), Field.svt('tmp28'), Field.svt('tmp29'), Field.svt('tmp30'), Field.svt('tmp31'), Field.svt('setp0'), Field.svt('setp1'), Field.svt('setp2'), Field.svt('setp3'), Field.svt('setp4'), Field.svt('setp5'), Field.svt('setp6'), Field.svt('setp7'), Field.svt('setp8'), Field.svt('setp9'), Field.svt('setp10'), Field.svt('setp11'), Field.svt('setp12'), Field.svt('setp13'), Field.svt('setp14'), Field.svt('setp15'), Field.svt('setp16'), Field.svt('setp17'), Field.svt('setp18'), Field.svt('setp19'), Field.svt('setp20'), Field.svt('setp21'), Field.svt('setp22'), Field.svt('setp23'), Field.svt('setp24'), Field.svt('setp25'), Field.svt('setp26'), Field.svt('setp27'), Field.svt('setp28'), Field.svt('setp29'), Field.svt('setp30'), Field.svt('setp31'), Field.crc(), Field.lit('\r\n')])
def write_setpoint(): """ Write a setpoints of a thermostats """ return MasterCommandSpec("ws", [Field.byte("thermostat"), Field.byte("config"), Field.svt("temp"), Field.padding(10)], [Field.byte("thermostat"), Field.byte("config"), Field.svt("temp"), Field.padding(10), Field.lit('\r\n')])
def read_setpoint(): """ Read the programmed setpoint of a thermostat """ return MasterCommandSpec("rs", [Field.byte('thermostat'), Field.padding(12)], [Field.byte('thermostat'), Field.svt('act'), Field.svt('csetp'), Field.svt('psetp0'), Field.svt('psetp1'), Field.svt('psetp2'), Field.svt('psetp3'), Field.svt('psetp4'), Field.svt('psetp5'), Field.byte('sensor_nr'), Field.byte('output0_nr'), Field.byte('output1_nr'), Field.byte('output0'), Field.byte('output1'), Field.svt('outside'), Field.byte('mode'), Field.str('name', 16), Field.byte('pid_p'), Field.byte('pid_i'), Field.byte('pid_d'), Field.byte('pid_ithresh'), Field.svt('threshold_temp'), Field.byte('days'), Field.byte('hours'), Field.byte('minutes'), Field.svt('mon_start_d1'), Field.svt('mon_stop_d1'), Field.svt('mon_start_d2'), Field.svt('mon_stop_d2'), Field.svt('tue_start_d1'), Field.svt('tue_stop_d1'), Field.svt('tue_start_d2'), Field.svt('tue_stop_d2'), Field.svt('wed_start_d1'), Field.svt('wed_stop_d1'), Field.svt('wed_start_d2'), Field.svt('wed_stop_d2'), Field.svt('thu_start_d1'), Field.svt('thu_stop_d1'), Field.svt('thu_start_d2'), Field.svt('thu_stop_d2'), Field.svt('fri_start_d1'), Field.svt('fri_stop_d1'), Field.svt('fri_start_d2'), Field.svt('fri_stop_d2'), Field.svt('sat_start_d1'), Field.svt('sat_stop_d1'), Field.svt('sat_start_d2'), Field.svt('sat_stop_d2'), Field.svt('sun_start_d1'), Field.svt('sun_stop_d1'), Field.svt('sun_start_d2'), Field.svt('sun_stop_d2'), Field.lit('T'), Field.svt('mon_temp_d1'), Field.svt('tue_temp_d1'), Field.svt('wed_temp_d1'), Field.svt('thu_temp_d1'), Field.svt('fri_temp_d1'), Field.svt('sat_temp_d1'), Field.svt('sun_temp_d1'), Field.svt('mon_temp_d2'), Field.svt('tue_temp_d2'), Field.svt('wed_temp_d2'), Field.svt('thu_temp_d2'), Field.svt('fri_temp_d2'), Field.svt('sat_temp_d2'), Field.svt('sun_temp_d2'), Field.svt('mon_temp_n'), Field.svt('tue_temp_n'), Field.svt('wed_temp_n'), Field.svt('thu_temp_n'), Field.svt('fri_temp_n'), Field.svt('sat_temp_n'), Field.svt('sun_temp_n'), Field.crc(), Field.lit('\r\n')])