{ "description": "The thermostat interface describes devices which have a target temperature value and regulate themselves to match that target temperature. A thermostat may support detecting for open windows in which case the windowOpenDetected state should be implemented. On the other hand, a thermostat may allow setting a window open lock in which case the windowOpen state should be implemented.", "states": [ { "name": "targetTemperature", "type": "double", "unit": "DegreeCelsius", "minValue": "any", "maxValue": "any", "writable": true, "logged": true }, { "name": "temperature", "type": "double", "unit": "DegreeCelsius", "optional": true, "logged": true }, { "name": "heatingOn", "type": "bool", "optional": true, "logged": true }, { "name": "coolingOn", "type": "bool", "optional": true, "logged": true }, { "name": "boost", "type": "bool", "optional": true, "logged": true }, { "name": "windowOpen", "type": "bool", "writable": true, "optional": true, "logged": true }, { "name": "windowOpenDetected", "type": "bool", "optional": true, "logged": true } ] }