#%RAML 0.8
title: WWST Measured Temperature
version: v1.0.0-20170911
schemas:
- Temperature: |
    {
      "id": "http://www.samsung.com/schemas/x.com.st.temperature.measured.json#",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "description": "Copyright (c) 2016, 2017 Open Connectivity Foundation, Inc. All rights reserved.",
      "title": "WWST Temperature",
      "definitions": {
        "x.com.st.temperature.measured": {
          "type": "object",
          "properties": {
            "temperature": {
              "type": "number",
              "description": "Current temperature setting or measurement"
            },
            "units": {
              "enum": [
                "C",
                "F",
                "K"
              ],
              "description": "Units for the temperature value",
              "readOnly": true
            },
            "range": {
              "type": "array",
              "description": "Array defining min,max values for this temperature on this device",
              "items": {
                "type": "number"
              },
              "readOnly": true
            }
          }
        }
      },
      "type": "object",
      "allOf": [
        {
          "$ref": "oic.baseResource.json#/definitions/oic.r.baseresource"
        },
        {
          "$ref": "#/definitions/x.com.st.temperature.measured"
        }
      ],
      "required": [
        "temperature"
      ]
    }
traits:
  - interface:
      queryParameters:
        if:
          enum: ["oic.if.s","oic.if.baseline"]

/WWSTTemperatureMeasuredResURI:
  description: |
        Indoor measured temperature. Used by thermostat, air conditioners, thermometer, etc
  displayName: WWST Measured Temperature
  is: [ interface ]

  get:
    description: |
      Indoor measured temperature. Used by thermostat, air conditioners, thermometer, etc
    queryParameters:
      units:
        displayName: Units
        enum: ["C","F","K"]
    responses:
      200:
        body:
          application/json:
            schema: Temperature
            example: |
              {
                "rt":           ["x.com.st.temperature.measured"],
                "id":           "unique_example_id",
                "temperature":  20.0,
                "units":        "C",
                "range":        [0.0,100.0]
              }

      403:
        description: |
          This response is generated by the OIC Server when the client sends:
            A retrieve with q queryParameter indicating a unit that the server does not support.
          The server responds with the current resource representation including the
          units property illustrating the supported units and the error.
        body:
          application/json:
            schema: Temperature
            example: |
              {
                "id":           "unique_example_id",
                "temperature":  20.0,
                "units":        "C"
              }
