def node_add_sensors(node_id): """ Add a Sensor Registers sensor on nodes --- tags: - sensors definitions: - schema: id: Post_Sensor required: - id - type - pin properties: id: type: integer description: id of the sensor type: type: string description: type of sensor enum: ['door','temperature','trigger','led'] pin: type: integer description: the gpio pin number the sensor is on parameters: - in: body name: Sensor description: Sensor object to be added to the hub schema: $ref: '#/definitions/Post_Sensor' responses: 201: description: Returns the information received about the sensor """ payload = request.get_json() webid = payload.get("id") sensor = Sensor.get_by_webid(webid) if sensor: abort(409) pin = payload.get('pin') sensor_type = payload.get('type') if sensor_type == "door": sensor_type = "DOOR" elif sensor_type == "temperature": sensor_type = "TEMP" elif sensor_type == "humidity": sensor_type = "HUMI" elif sensor_type == "trigger": sensor_type = "TRIG" elif sensor_type == "led": sensor_type = "LED" else: abort(400) sensor = Sensor(node_id, pin, sensor_type, webid=webid) return json.jsonify({'sensor': {'node_id': node_id, 'pin': pin, 'sensor_type': sensor_type}}), 201
def sensor_delete(sensor_id): """ Delete a Sensor --- tags: - sensors responses: 200: description: Returns "Deleted" """ sensor = Sensor.get_by_webid(sensor_id) node = Node.get_by_id(sensor.node_id) node.remove_sensor(sensor.id) return json.jsonify({'message': 'Deleted'}), 201