def _get_historical_data(sensor, start_time, end_time): try: get_data = util.get_class("DB.api.{}.get_data_by_time".format(sensor)) dic = get_data(start_time, end_time) # print dic return [] if len(dic) == 0 else dic except ImportError: abort(400)
def _get_historical_data(sensor, start_time, end_time, res_list=[]): try: if not res_list: return [] get_data = util.get_class("DB.api.{}.get_data_by_time".format(sensor)) dic = get_data(start_time, end_time, res_list) # print dic return [] if not dic else dic except ImportError: abort(400)
def _get_sensor_data(token_dict): res = resource.list_resource(status=1, gateway_id=session['gateway_id']) ret = {'alert': {}, 'status': {}, 'data': {}} for sensor in res: typ = sensor.get('sensor_type').get('type') if typ in ALERT_GRP: latest_data = util.get_class( "DB.api.{}.get_latest_alert_by_gateway_uuid".format(typ))( gateway_id=session['gateway_id'], uuid=sensor.get('uuid'), token=token_dict[typ + '-token']) elif typ == 'power': latest_data = util.get_class( "DB.api.energy.get_latest_by_gateway_uuid")( gateway_id=session['gateway_id'], uuid=sensor.get('uuid')) else: latest_data = util.get_class( "DB.api.{}.get_latest_by_gateway_uuid".format(typ))( gateway_id=session['gateway_id'], uuid=sensor.get('uuid')) if latest_data is None: continue if typ in ALERT_GRP: ret['alert'].update({typ: latest_data.get('created_at')}) elif typ in STATUS_GRP: if typ == "rgbled": val = True if latest_data.get( 'rgbvalue') == "255,0,0" else False ret['status'].update({typ: val}) else: ret['status'].update({typ: latest_data.get('status')}) elif typ in DATA_GRP: data = None if typ == 'temperature': data = str(latest_data.get('temperature')) elif typ == 'solar': data = str(latest_data.get('tiltpercentage')) elif typ == 'illuminance': data = str(latest_data.get('illuminance')) elif typ == 'power': data = str(latest_data.get('value')) ret['data'].update({typ: data}) return ret
def _get_sensor_data(token_dict): res = resource.list_resource(status=1, gateway_id=session['gateway_id']) ret = { 'alert': {}, 'status': {}, 'data': {} } for sensor in res: typ = sensor.get('sensor_type').get('type') if typ in ALERT_GRP: latest_data = util.get_class("DB.api.{}.get_latest_alert_by_gateway_uuid".format(typ))(gateway_id=session['gateway_id'], uuid=sensor.get('uuid'), token=token_dict[typ+'-token']) elif typ == 'power': latest_data = util.get_class("DB.api.energy.get_latest_by_gateway_uuid")(gateway_id=session['gateway_id'], uuid=sensor.get('uuid')) else: latest_data = util.get_class("DB.api.{}.get_latest_by_gateway_uuid".format(typ))(gateway_id=session['gateway_id'], uuid=sensor.get('uuid')) if latest_data is None: continue if typ in ALERT_GRP: ret['alert'].update({typ: latest_data.get('created_at')}) elif typ in STATUS_GRP: if typ == "rgbled": val = True if latest_data.get('rgbvalue') == "255,0,0" else False ret['status'].update({typ: val}) else: ret['status'].update({typ: latest_data.get('status')}) elif typ in DATA_GRP: data = None if typ == 'temperature': data = str(latest_data.get('temperature')) elif typ == 'solar': data = str(latest_data.get('tiltpercentage')) elif typ == 'illuminance': data = str(latest_data.get('illuminance')) elif typ == 'power': data = str(latest_data.get('value')) ret['data'].update({typ: data}) return ret
def __init__(self, args): tf.logging.set_verbosity(tf.logging.INFO) self.layers = None self.ave_vars = None if args is not None: self.batch_size = args.batch_size self.checkpoint_dir = args.ckpt_dir self.save_inter = args.save_inter self.test_inter = args.test_inter self.disp_inter = args.disp_inter self.show_detail = args.show_detail self.lr_type = args.lr_type if self.lr_type == 'naive': self.pre_loss = [] self.cur_loss = [] self.curr_lr_num = 0 self.average_loss = 0.0 if self.lr_type == 'sgdr': self.start_T = 0 # 每个周期的起点 self.curr_T = train_config.T0 # 每个周期的终点 if args.train_list_path is not None: self.train_list_path = args.train_list_path.split(',') else: self.train_list_path = None if args.test_list_path is not None: self.test_list_path = args.test_list_path.split(',') else: self.test_list_path = None self.need_padded_batch = args.need_padded_batch self.opt_type = args.opt_type self.show_detail_summary = args.show_detail_summary self.total_epochs = int(args.total_epochs) if self.total_epochs == 0: self.total_epochs = 1000000 self.class_type = args.class_type try: self.char_to_label, self.label_to_char, self.class_num = util.get_class( self.class_type) except KeyError as e: tf.logging.info( 'class_type %s not found! you should register it in util/util.py-class_file_dict' % self.class_type) raise e self.infer_model_path = args.infer_model_path self.gpu_id = args.gpu_id.split(',') self.model_type = args.model_type self.model = name_map_models.name2models_dict[args.model_type] self.print_config(args)
def freeze_crnn_graph(args): with tf.Session() as sess: if args.input_graph is not None: # 不建议使用这个方法,因为ckpt保存下来图模型,所有带有is_training选项的都是True saver = tf.train.import_meta_graph(args.input_graph, clear_devices=True) else: model = model_dict[args.model_type] model.print_config() char_to_label, label_to_char_maps, class_num = util.get_class( args.seq_type) model.build_model(class_num, for_training=False) # var_list = util.get_trainable_vars(None) # saver = tf.train.Saver(var_list=var_list) variable_averages = tf.train.ExponentialMovingAverage(0.999) variables_to_restore = variable_averages.variables_to_restore() saver = tf.train.Saver(variables_to_restore) saver.restore(sess, args.input_checkpoint) graph = tf.get_default_graph() graph_def = graph.as_graph_def() compressed_graph_def = remove_training_nodes(graph_def) const_graph_def = graph_util.convert_variables_to_constants( sess, compressed_graph_def, ['ctc/prediction']) output_graph_def = graph_pb2.GraphDef() for input_node in const_graph_def.node: output_node = node_def_pb2.NodeDef() if input_node.name == 'input/is_training': output_node.op = "Const" output_node.name = input_node.name dtype = input_node.attr["dtype"] data = np.array(False, dtype=np.bool) output_node.attr["dtype"].CopyFrom(dtype) output_node.attr["value"].CopyFrom( attr_value_pb2.AttrValue( tensor=tensor_util.make_tensor_proto( data, dtype=dtype.type, shape=data.shape))) else: output_node.CopyFrom(input_node) output_node.device = "" output_graph_def.node.extend([output_node]) output_graph_def.library.CopyFrom(const_graph_def.library) with gfile.GFile(args.output_graph, "wb") as f: f.write(output_graph_def.SerializeToString()) print "%d ops in the final graph." % len(output_graph_def.node)
def _get_sensor_data(token_dict): res = resource.list_resource(status=1, gateway_id=session['gateway_id']) default_token = util.format_datetime(util.get_utc_now() - datetime.timedelta(minutes=1)) ret = {'alert': {}, 'status': {}, 'data': {}, 'brillo': {}, 'generic': {}} for sensor in res: typ = sensor.get('sensor_type').get('mapping_class') href = sensor.get('path') resource_id = sensor.get("id") if href.startswith("/a/"): if typ in ALERT_GRP: token = token_dict.get(str(resource_id)) if str(resource_id) in token_dict.keys() \ and token_dict.get(str(resource_id)) else default_token latest_data = util.get_class( "DB.api.{}.get_latest_alert_by_gateway_uuid".format(typ))( resource_id=resource_id, token=token) latest_data = latest_data if latest_data else { "resource_id": resource_id } elif typ == 'power': latest_data = util.get_class( "DB.api.energy.get_latest_by_gateway_uuid".format(typ))( resource_id=resource_id) else: latest_data = util.get_class( "DB.api.{}.get_latest_by_gateway_uuid".format(typ))( resource_id=resource_id) if typ == 'buzzer': status_data = util.get_class( "DB.api.{}.get_latest_by_gateway_uuid".format(typ))( resource_id=resource_id) if latest_data is None: continue # print latest_data if typ in ALERT_GRP: _compose_sensor_data(typ, latest_data, 'created_at', 'alert', ret) if typ in STATUS_GRP: if typ == "rgbled": val = True if latest_data.get( 'rgbvalue') == "[255, 0, 0]" else False _compose_sensor_data(typ, latest_data, {'value': val}, 'status', ret) elif typ == 'buzzer': _compose_sensor_data(typ, status_data, 'status', 'status', ret) else: _compose_sensor_data(typ, latest_data, 'status', 'status', ret) elif typ in DATA_GRP: # extract values from the db query result if typ in ['temperature', 'illuminance']: key_words = [typ] elif typ == 'solar': key_words = ['tiltpercentage'] elif typ == 'power': key_words = ['value'] elif typ == 'environment': key_words = [ 'temperature', 'humidity', 'pressure', 'uv_index' ] for key in key_words: sensor_type = typ if typ != "environment" else key _compose_sensor_data(sensor_type, latest_data, key, 'data', ret) elif typ == "generic": _compose_sensor_data(typ, latest_data, 'json_data', 'generic', ret) elif href.startswith("/brillo/"): latest_data = util.get_class( "DB.api.{}.get_latest_by_gateway_uuid".format(typ))( resource_id=resource_id) # print latest_data if latest_data is None: uuid = sensor.get('uuid') if ret['brillo'].get(uuid) is None: ret['brillo'].update( {uuid: { typ: { 'resource_id': resource_id } }}) else: ret['brillo'][uuid].update( {typ: { 'resource_id': resource_id }}) continue if typ in BRILLO_GRP: if typ in ['brightness']: keys = [typ] elif typ == 'rgbled': keys = ['rgbvalue'] elif typ == 'audio': keys = ['volume', 'mute'] elif typ == 'mp3player': keys = ['media_states', 'playlist', 'state', 'title'] _compose_sensor_data(typ, latest_data, keys, 'brillo', ret) return ret
def parse_data(data, **kargs): """parse the json data and save them in db.""" if data: sensor = kargs.get('sensor') uuid = kargs.get('uuid') gateway_id = kargs.get('gateway_id') resource_id = kargs.get('resource_id') if sensor == 'power': power_add = get_class("DB.api.power.new") energy_add = get_class("DB.api.energy.new") new_energy = data.get('power1') new_power = data.get('power2') if new_power != 0: content = { 'resource_id': resource_id, 'value': int(new_power), } # power_add(content) print('update power: {}'.format(str(power_add(content)))) if new_energy != 0: content = { 'resource_id': resource_id, 'value': int(new_energy), } # energy_add(content) print('update energy: {}'.format(str(energy_add(content)))) else: add_method = get_class("DB.api.{}.new".format(sensor)) status_method = get_class( "DB.api.{}.get_latest_by_gateway_uuid".format(sensor)) content = { 'resource_id': resource_id, } if sensor == 'solar': new_tilt = data.get('tiltPercentage') if new_tilt is not None: content.update({ 'tiltpercentage': new_tilt, 'lcd_first': data.get('lcd1'), 'lcd_second': data.get('lcd2'), }) # add_method(content) print('update tilt percentage: {}'.format( str(add_method(content)))) else: print("Unable to get tilt percentage.") elif sensor == 'illuminance': new_ill = data.get('illuminance') if new_ill is not None: content.update({ 'illuminance': new_ill, }) # add_method(content) print('update illuminance: {}'.format( str(add_method(content)))) else: print("Unable to get Illuminance status.") elif sensor == 'temperature': new_temp = data.get('temperature') if new_temp is not None: content.update({ 'temperature': new_temp, 'units': data.get('units'), 'range': data.get('range'), }) # add_method(content) print('update temperature: {}'.format( str(add_method(content)))) else: print("Unable to get Temperature status.") elif sensor == 'audio': if data is not None: content.update({ 'mute': data.get('mute'), 'volume': data.get('volume'), }) # add_method(content) print('update audio: {}'.format( str(add_method(content)))) else: print("Unable to get Audio sensor status .") elif sensor == 'brightness': if data is not None: content.update({ 'brightness': data.get('brightness'), }) # add_method(content) print('update brightness: {}'.format( str(add_method(content)))) else: print("Unable to get Brightness sensor status .") elif sensor == 'mp3player': if data is not None: content.update({ 'media_states': json.dumps(data.get('mediaStates')), 'playlist': json.dumps(data.get('playList')), 'state': data.get('state'), 'title': data.get('title'), }) # add_method(content) print('update mp3player: {}'.format( str(add_method(content)))) else: print("Unable to get Mp3player sensor status .") elif sensor == 'rgbled': new_rgb = data.get('rgbValue') if new_rgb is not None: content.update({ 'rgbvalue': str(new_rgb), 'range': str(data.get('range')), }) # add_method(content) print('update rdbled: {}'.format( str(add_method(content)))) else: print("Unable to get Rgbled status .") elif sensor == 'environment': if data is not None: content.update({ 'temperature': data.get('temperature'), 'pressure': data.get('pressure'), 'humidity': data.get('humidity'), 'uv_index': data.get('uvIndex'), }) # add_method(content) print('update environment: {}'.format( str(add_method(content)))) else: print("Unable to get Environment sensor status .") elif sensor == 'generic': if data is not None: content.update({ 'json_data': json.dumps(data), }) # add_method(content) print('update generic {}: {}'.format( data.get('id'), str(add_method(content)))) else: print( "Unable to get Generic sensor {} status .".format( data.get('id'))) else: obj = status_method(resource_id) status = bool(obj.get('status')) if obj else None new_sts = bool(data.get('value')) if status != new_sts: content.update({ 'status': new_sts, }) print('update {} data: {}'.format( sensor, str(add_method(content)))) if new_sts and NexmoClient.send_message( gateway_id, uuid, sensor): print( 'Sent text alert to users for {} status is True.' .format(sensor)) else: print("{} status {} has not been changed.".format( sensor, new_sts))
def parse_data(data, **kargs): """parse the json data and save them in db.""" if data: sensor = kargs.get('sensor') uuid = kargs.get('uuid') gateway_id = kargs.get('gateway_id') if sensor == 'power': power_add = get_class("DB.api.power.new") energy_add = get_class("DB.api.energy.new") new_energy = data.get('properties').get('power1') new_power = data.get('properties').get('power2') if new_power != 0: content = { 'uuid': uuid, 'gateway_id': gateway_id, 'value': new_power, } # power_add(content) print 'update power: {}'.format(str(power_add(content))) if new_energy != 0: content = { 'uuid': uuid, 'gateway_id': gateway_id, 'value': new_energy, } # energy_add(content) print 'update energy: {}'.format(str(energy_add(content))) else: # sensor = data.get('properties').get('id') add_method = get_class("DB.api.{}.new".format(sensor)) status_method = get_class( "DB.api.{}.get_latest_by_gateway_uuid".format(sensor)) content = { 'uuid': uuid, 'gateway_id': gateway_id, } # obj = status_method(gateway_id, uuid) if sensor == 'solar': new_tilt = data.get('properties').get('tiltPercentage') if new_tilt: content.update({ 'tiltpercentage': new_tilt, 'lcd_first': data.get('properties').get('lcd1'), 'lcd_second': data.get('properties').get('lcd2'), }) # add_method(content) print 'update tilt percentage: {}'.format( str(add_method(content))) else: print "Unable to get tilt percentage." elif sensor == 'illuminance': new_ill = data.get('properties').get('illuminance') if new_ill: content.update({ 'illuminance': new_ill, }) # add_method(content) print 'update illuminance: {}'.format( str(add_method(content))) else: print "Unable to get Illuminance status." elif sensor == 'temperature': new_temp = data.get('properties').get('temperature') if new_temp: content.update({ 'temperature': new_temp, 'units': data.get('properties').get('units'), 'range': data.get('properties').get('range'), }) # add_method(content) print 'update temperature: {}'.format( str(add_method(content))) else: print "Unable to get Temperature status." elif sensor == 'rgbled': new_rgb = data.get('properties').get('rgbValue') if new_rgb: content.update({ 'rgbvalue': new_rgb, 'range': data.get('properties').get('range'), }) # add_method(content) print 'update rdbled: {}'.format( str(add_method(content))) else: print "Unable to get Rgbled status ." else: obj = status_method(gateway_id, uuid) status = bool(obj.get('status')) if obj else None new_sts = bool(data.get('properties').get('value')) if status != new_sts: content.update({ 'status': new_sts, }) print 'update {} data: {}'.format( sensor, str(add_method(content))) if new_sts and NexmoClient.send_message( gateway_id, uuid, sensor): print 'Sent text alert to users for {} status is True.'.format( sensor) else: print "{} status {} has not been changed.".format( sensor, new_sts)
def parse_data(data, **kargs): """parse the json data and save them in db.""" if data: sensor = kargs.get('sensor') uuid = kargs.get('uuid') gateway_id = kargs.get('gateway_id') resource_id = kargs.get('resource_id') if sensor == 'power': power_add = get_class("DB.api.power.new") energy_add = get_class("DB.api.energy.new") new_energy = data.get('power1') new_power = data.get('power2') if new_power != 0: content = { 'resource_id': resource_id, 'value': int(new_power), } # power_add(content) print('update power: {}'.format(str(power_add(content)))) if new_energy != 0: content = { 'resource_id': resource_id, 'value': int(new_energy), } # energy_add(content) print('update energy: {}'.format(str(energy_add(content)))) else: add_method = get_class("DB.api.{}.new".format(sensor)) status_method = get_class("DB.api.{}.get_latest_by_gateway_uuid".format(sensor)) content = { 'resource_id': resource_id, } if sensor == 'solar': new_tilt = data.get('tiltPercentage') if new_tilt is not None: content.update({ 'tiltpercentage': new_tilt, 'lcd_first': data.get('lcd1'), 'lcd_second': data.get('lcd2'), }) # add_method(content) print('update tilt percentage: {}'.format(str(add_method(content)))) else: print("Unable to get tilt percentage.") elif sensor == 'illuminance': new_ill = data.get('illuminance') if new_ill is not None: content.update({ 'illuminance': new_ill, }) # add_method(content) print('update illuminance: {}'.format(str(add_method(content)))) else: print("Unable to get Illuminance status.") elif sensor == 'temperature': new_temp = data.get('temperature') if new_temp is not None: content.update({ 'temperature': new_temp, 'units': data.get('units'), 'range': data.get('range'), }) # add_method(content) print('update temperature: {}'.format(str(add_method(content)))) else: print("Unable to get Temperature status.") elif sensor == 'audio': if data is not None: content.update({ 'mute': data.get('mute'), 'volume': data.get('volume'), }) # add_method(content) print('update audio: {}'.format(str(add_method(content)))) else: print("Unable to get Audio sensor status .") elif sensor == 'brightness': if data is not None: content.update({ 'brightness': data.get('brightness'), }) # add_method(content) print('update brightness: {}'.format(str(add_method(content)))) else: print("Unable to get Brightness sensor status .") elif sensor == 'mp3player': if data is not None: content.update({ 'media_states': json.dumps(data.get('mediaStates')), 'playlist': json.dumps(data.get('playList')), 'state': data.get('state'), 'title': data.get('title'), }) # add_method(content) print('update mp3player: {}'.format(str(add_method(content)))) else: print("Unable to get Mp3player sensor status .") elif sensor == 'rgbled': new_rgb = data.get('rgbValue') if new_rgb is not None: content.update({ 'rgbvalue': str(new_rgb), 'range': str(data.get('range')), }) # add_method(content) print('update rdbled: {}'.format(str(add_method(content)))) else: print("Unable to get Rgbled status .") elif sensor == 'environment': if data is not None: content.update({ 'temperature': data.get('temperature'), 'pressure': data.get('pressure'), 'humidity': data.get('humidity'), 'uv_index': data.get('uvIndex'), }) # add_method(content) print('update environment: {}'.format(str(add_method(content)))) else: print("Unable to get Environment sensor status .") elif sensor == 'generic': if data is not None: content.update({ 'json_data': json.dumps(data), }) # add_method(content) print('update generic {}: {}'.format(data.get('id'), str(add_method(content)))) else: print("Unable to get Generic sensor {} status .".format(data.get('id'))) else: obj = status_method(resource_id) status = bool(obj.get('status')) if obj else None new_sts = bool(data.get('value')) if status != new_sts: content.update({ 'status': new_sts, }) print('update {} data: {}'.format(sensor, str(add_method(content)))) if new_sts and NexmoClient.send_message(gateway_id, uuid, sensor): print('Sent text alert to users for {} status is True.'.format(sensor)) else: print("{} status {} has not been changed.".format(sensor, new_sts))
def _get_sensor_data(token_dict): res = resource.list_resource(status=1, gateway_id=session['gateway_id']) default_token = util.format_datetime(util.get_utc_now() - datetime.timedelta(minutes=1)) ret = { 'alert': {}, 'status': {}, 'data': {}, 'brillo': {}, 'generic': {} } for sensor in res: typ = sensor.get('sensor_type').get('mapping_class') href = sensor.get('path') resource_id = sensor.get("id") if href.startswith("/a/"): if typ in ALERT_GRP: token = token_dict.get(str(resource_id)) if str(resource_id) in token_dict.keys() \ and token_dict.get(str(resource_id)) else default_token latest_data = util.get_class("DB.api.{}.get_latest_alert_by_gateway_uuid" .format(typ))(resource_id=resource_id, token=token) latest_data = latest_data if latest_data else {"resource_id": resource_id} elif typ == 'power': latest_data = util.get_class("DB.api.energy.get_latest_by_gateway_uuid".format(typ))(resource_id=resource_id) else: latest_data = util.get_class("DB.api.{}.get_latest_by_gateway_uuid".format(typ))(resource_id=resource_id) if latest_data is None: continue # print latest_data if typ in ALERT_GRP: _compose_sensor_data(typ, latest_data, 'created_at', 'alert', ret) elif typ in STATUS_GRP: if typ == "rgbled": val = True if latest_data.get('rgbvalue') == "[255, 0, 0]" else False _compose_sensor_data(typ, latest_data, {'value': val}, 'status', ret) else: _compose_sensor_data(typ, latest_data, 'status', 'status', ret) elif typ in DATA_GRP: # extract values from the db query result if typ in ['temperature', 'illuminance']: key_words = [typ] elif typ == 'solar': key_words = ['tiltpercentage'] elif typ == 'power': key_words = ['value'] elif typ == 'environment': key_words = ['temperature', 'humidity', 'pressure', 'uv_index'] for key in key_words: sensor_type = typ if typ != "environment" else key _compose_sensor_data(sensor_type, latest_data, key, 'data', ret) elif typ == "generic": _compose_sensor_data(typ, latest_data, 'json_data', 'generic', ret) elif href.startswith("/brillo/"): latest_data = util.get_class("DB.api.{}.get_latest_by_gateway_uuid".format(typ))( resource_id=resource_id) # print latest_data if latest_data is None: continue if typ in BRILLO_GRP: if typ in ['brightness']: keys = [typ] elif typ == 'rgbled': keys = ['rgbvalue'] elif typ == 'audio': keys = ['volume', 'mute'] elif typ == 'mp3player': keys = ['media_states', 'playlist', 'state', 'title'] _compose_sensor_data(typ, latest_data, keys, 'brillo', ret) return ret
def parse_data(data, **kargs): """parse the json data and save them in db.""" if data: sensor = kargs.get('sensor') uuid = kargs.get('uuid') gateway_id = kargs.get('gateway_id') if sensor == 'power': power_add = get_class("DB.api.power.new") energy_add = get_class("DB.api.energy.new") new_energy = data.get('properties').get('power1') new_power = data.get('properties').get('power2') if new_power != 0: content = { 'uuid': uuid, 'gateway_id': gateway_id, 'value': new_power, } # power_add(content) print 'update power: {}'.format(str(power_add(content))) if new_energy != 0: content = { 'uuid': uuid, 'gateway_id': gateway_id, 'value': new_energy, } # energy_add(content) print 'update energy: {}'.format(str(energy_add(content))) else: # sensor = data.get('properties').get('id') add_method = get_class("DB.api.{}.new".format(sensor)) status_method = get_class("DB.api.{}.get_latest_by_gateway_uuid".format(sensor)) content = { 'uuid': uuid, 'gateway_id': gateway_id, } # obj = status_method(gateway_id, uuid) if sensor == 'solar': new_tilt = data.get('properties').get('tiltPercentage') if new_tilt: content.update({ 'tiltpercentage': new_tilt, 'lcd_first': data.get('properties').get('lcd1'), 'lcd_second': data.get('properties').get('lcd2'), }) # add_method(content) print 'update tilt percentage: {}'.format(str(add_method(content))) else: print "Unable to get tilt percentage." elif sensor == 'illuminance': new_ill = data.get('properties').get('illuminance') if new_ill: content.update({ 'illuminance': new_ill, }) # add_method(content) print 'update illuminance: {}'.format(str(add_method(content))) else: print "Unable to get Illuminance status." elif sensor == 'temperature': new_temp = data.get('properties').get('temperature') if new_temp: content.update({ 'temperature': new_temp, 'units': data.get('properties').get('units'), 'range': data.get('properties').get('range'), }) # add_method(content) print 'update temperature: {}'.format(str(add_method(content))) else: print "Unable to get Temperature status." elif sensor == 'rgbled': new_rgb = data.get('properties').get('rgbValue') if new_rgb: content.update({ 'rgbvalue': new_rgb, 'range': data.get('properties').get('range'), }) # add_method(content) print 'update rdbled: {}'.format(str(add_method(content))) else: print "Unable to get Rgbled status ." else: obj = status_method(gateway_id, uuid) status = bool(obj.get('status')) if obj else None new_sts = bool(data.get('properties').get('value')) if status != new_sts: content.update({ 'status': new_sts, }) print 'update {} data: {}'.format(sensor, str(add_method(content))) if new_sts and NexmoClient.send_message(gateway_id, uuid, sensor): print 'Sent text alert to users for {} status is True.'.format(sensor) else: print "{} status {} has not been changed.".format(sensor, new_sts)