def get(self): lat = self.get_argument("lat") lng = self.get_argument("lng") alarmOn = self.get_argument("alarmOn") alarmHour = self.get_argument("alarmHour") alarmMin = self.get_argument("alarmMin") data = {"lat" : lat, "lng" : lng, "alarmOn" : alarmOn ,"alarmHour" : alarmHour , "alarmMin" : alarmMin } storage.writedata(data) self.write(lat + " " + lng)
def run(): while(True): lat = 40.7143528 lng = -74.0059731 alarmOn = 'on' alarmHour = 1 alarmMin = 0 try: data = storage.readdata() lat = data['lat'] lng = data['lng'] alarmOn = str(data['alarmOn']) alarmHour = int(data['alarmHour']) alarmMin = int(data['alarmMin']) except Exception as e: print e print "error while reading data" alarmMode = False if alarmOn == 'on': now = datetime.time(datetime.now()) hour = now.hour minute = now.minute if alarmHour == hour: alarmMode = True print "in alarm mode" stateCity = json.loads(getCurrentTempreture.getStateCityByLatLng(lat,lng)) print stateCity['state'].decode('utf-8'), stateCity['city'].decode('utf-8') temperature = 59 weather = 'Clear' try: weatherResult = getCurrentTempreture.getCurrentTempretureByStateCity(stateCity['state'].decode('utf-8'), stateCity['city'].decode('utf-8')) temperature = float(json.loads(weatherResult)['temperature']) weather = json.loads(weatherResult)['weather'] print temperature, weather except Exception as e: print "error when getting temperature.", e sat = storage.weatherTable()[weather] flashWeather = ['rain', 'storm', 'drizzle', 'mist', 'overcast', 'fog', 'smoke', 'volcanic ash', 'dust', 'sand', 'haze', 'spray', 'unknown'] flashMode = False for item in flashWeather: if item in weather.lower(): flashMode = True break hue = 46000 - (math.pow(temperature, 2) * 5) if hue < 0: hue = 0 if alarmMode == False : if flashMode == False: controller.setLight("true", hue, 125, sat) #sleep 10s time.sleep(3) else: for i in range(30): if i % 2 == 0: controller.setLight("true",hue,125,sat) else: controller.setLight("true",hue,0,sat) time.sleep(0.5) else : bri = 0 i = 0 bri = 1 controller.setLight("true", hue, 0 , sat) time.sleep(1) for i in range(100000): if bri > 125 : bri = 125 data['alarmOn'] = 'off' storage.writedata(data) break bri = bri * 1.55 controller.setLight("true", hue, int(bri), sat) time.sleep(0.2)