示例#1
0
文件: nodes.py 项目: StratusPrint/HUB
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
示例#2
0
文件: nodes.py 项目: StratusPrint/HUB
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