def set_the_temp(self, message, temp): temp = int(temp) nest = Nest( username=settings.NEST_USERNAME, password=settings.NEST_PASSWORD, serial=settings.NEST_SERIAL, units="F", ) nest.login() nest.set_temperature(temp) self.reply(message, "Done. I set the temp to %sF." % temp)
def main(): parser = create_parser() (opts, args) = parser.parse_args() if (len(args) == 0) or (args[0] == "help"): help() sys.exit(-1) if (not opts.user) or (not opts.password): print "how about specifying a --user and --password option next time?" sys.exit(-1) if opts.celsius: units = "C" else: units = "F" n = Nest(opts.user, opts.password, opts.serial, opts.index, units=units) n.login() n.get_status() cmd = args[0] if (cmd == "temp"): if len(args) < 2: print "please specify a temperature" sys.exit(-1) n.set_temperature(int(args[1])) elif (cmd == "fan"): if len(args) < 2: print "please specify a fan state of 'on' or 'auto'" sys.exit(-1) n.set_fan(args[1]) elif (cmd == "show"): n.show_status() elif (cmd == "curtemp"): n.show_curtemp() elif (cmd == "curhumid"): print n.status["device"][n.serial]["current_humidity"] else: print "misunderstood command:", cmd print "do 'nest.py help' for help"
def main(): parser = create_parser() (opts, args) = parser.parse_args() if (len(args)==0) or (args[0]=="help"): help() sys.exit(-1) if (not opts.user) or (not opts.password): print "how about specifying a --user and --password option next time?" sys.exit(-1) if opts.celsius: units = "C" else: units = "F" n = Nest(opts.user, opts.password, opts.serial, opts.index, units=units) n.login() n.get_status() cmd = args[0] if (cmd == "temp"): if len(args)<2: print "please specify a temperature" sys.exit(-1) n.set_temperature(int(args[1])) elif (cmd == "fan"): if len(args)<2: print "please specify a fan state of 'on' or 'auto'" sys.exit(-1) n.set_fan(args[1]) elif (cmd == "show"): n.show_status() elif (cmd == "curtemp"): n.show_curtemp() elif (cmd == "curhumid"): print n.status["device"][n.serial]["current_humidity"] else: print "misunderstood command:", cmd print "do 'nest.py help' for help"
class Control: nest = None bridge = None def __init__(self): global logger logger = logging.getLogger(__name__) # connect to nest try: from nest import Nest self.nest = Nest(username=settings.NEST_LOGIN, password=settings.NEST_PASS) self.nest.login() self.nest.get_status() except: logger.error("Unable to connect to NEST.") # connect to phillips hue self.bridge = Bridge(settings.HUE_BRIDGE) try: self.bridge.connect() self.bridge.get_api() except: logger.error("Unable to connect to Hue.") def execute_command(self, command): if command.action == 'power': light_state = (command.value == 'on') for light_index in settings.LIGHT_GROUPS[command.room]: logger.debug('Setting light %s: %s' % (str(light_index), str(light_state))) self.bridge.set_light(light_index, 'on', light_state) if light_state: # reset color self.bridge.set_light(light_index, 'hue', 15331) self.bridge.set_light(light_index, 'sat', 121) return True elif command.action == 'dim': for light_index in settings.LIGHT_GROUPS[command.room]: brightness = int(255 * (command.value * 0.1)) logger.debug('Setting bright %s: %s' % (str(light_index), str(brightness))) self.bridge.set_light(light_index, 'bri', brightness) return True elif command.action == 'hue': curr_group = settings.LIGHT_GROUPS[command.room] for index, light_index in enumerate(curr_group): # iterates over each color for fades, gradients,etc value = command.value[index % len(command.value)] logger.debug('Setting hue %s: %s' % (str(light_index), value)) self.bridge.set_light(light_index, 'on', True) self.bridge.set_light(light_index, 'hue', value) self.bridge.set_light(light_index, 'sat', 255) return True elif command.action == 'temperature': if not self.nest: logger.error('Nest thermostat not initialized.') return False if command.value: self.nest.set_temperature(command.value) return True else: logger.error('Could not determine a temperature.') return False
class Control: nest = None bridge = None def __init__(self): global logger logger = logging.getLogger(__name__) # connect to nest try: from nest import Nest self.nest = Nest( username=settings.NEST_LOGIN, password=settings.NEST_PASS ) self.nest.login() self.nest.get_status() except: logger.error("Unable to connect to NEST.") # connect to phillips hue self.bridge = Bridge( settings.HUE_BRIDGE ) try: self.bridge.connect() self.bridge.get_api() except: logger.error("Unable to connect to Hue.") def execute_command(self, command): if command.action == 'power': light_state = (command.value == 'on') for light_index in settings.LIGHT_GROUPS[command.room]: logger.debug('Setting light %s: %s' % ( str(light_index), str(light_state) )) self.bridge.set_light(light_index, 'on', light_state) if light_state: # reset color self.bridge.set_light(light_index, 'hue', 15331) self.bridge.set_light(light_index, 'sat', 121) return True elif command.action == 'dim': for light_index in settings.LIGHT_GROUPS[command.room]: brightness = int(255 * (command.value*0.1)) logger.debug('Setting bright %s: %s' % ( str(light_index), str(brightness) )) self.bridge.set_light(light_index, 'bri', brightness) return True elif command.action == 'hue': curr_group = settings.LIGHT_GROUPS[command.room] for index, light_index in enumerate(curr_group): # iterates over each color for fades, gradients,etc value = command.value[index % len(command.value)] logger.debug('Setting hue %s: %s' % ( str(light_index), value )) self.bridge.set_light(light_index, 'on', True) self.bridge.set_light(light_index, 'hue', value) self.bridge.set_light(light_index, 'sat', 255) return True elif command.action == 'temperature': if not self.nest: logger.error('Nest thermostat not initialized.') return False if command.value: self.nest.set_temperature(command.value) return True else: logger.error('Could not determine a temperature.') return False