def handle(self, *args, **options): # Get node UUID from arg tuple node_id = int(args[0]) # Get value from arg tuple args = args[1] # Create float from arg out = '' for arg in args: out += arg out = float(out) # Create new record and add value new_record = Record() new_record.value = out try: new_record.sensor = Sensor.objects.get(pk=node_id) except: new_sensor = Sensor() new_sensor.node = Node.objects.get(pk=1) new_sensor.name = "Auto Add" new_sensor.save() new_record.sensor = new_sensor print str(new_record.sensor) + " has been added" # Try to match node to existing node # objects.get() raises DNE exception if not found # Catch and create and save new node with nodeID try: new_record.node = Node.objects.get(pk=1) except: new_node = Node() new_node.node_id = node_id new_node.save() new_record.node = new_node print str(new_record) + " has been added" new_record.save()
def handle(self, *args, **options): # Lookups for sensor pin number types = {'14': 'Temperature', '15': 'Humidity', '16': 'Soil Moisture'} units = {'14': 'C', '15': '%', '16': '%'} # Get node UUID from arg tuple sensor_id = str(args[0]) # Get value from arg tuple value = args[1] # Create new record and add value new_record = Record() new_record.value = value try: new_record.sensor = Sensor.objects.get(pk=sensor_id) except: new_sensor = Sensor() new_sensor.pk = sensor_id new_sensor.node = Node.objects.get(pk=1) new_sensor.name = types[sensor_id] new_sensor.type = types[sensor_id] new_sensor.unit = units[sensor_id] new_sensor.save() new_record.sensor = new_sensor print "Sensor " + str(new_record.sensor) + " has been added" # Try to match node to existing node # objects.get() raises DNE exception if not found # Catch and create and save new node with nodeID try: new_record.node = Node.objects.get(pk=1) except: new_node = Node() new_node.node_id = 1 new_node.save() new_record.node = new_node print str(new_record.sensor.name) + " " + str(new_record.value) + " has been added" new_record.save()