| // Copyright 2016 The Weave Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| namespace standard_traits { | |
| const char kTraits[] = R"({ | |
| "lock": { | |
| "commands": { | |
| "setConfig": { | |
| "minimalRole": "user", | |
| "parameters": { | |
| "lockedState": { | |
| "type": "string", | |
| "enum": [ "locked", "unlocked" ] | |
| } | |
| }, | |
| "errors": [ "jammed", "lockingNotSupported" ] | |
| } | |
| }, | |
| "state": { | |
| "lockedState": { | |
| "type": "string", | |
| "enum": [ "locked", "unlocked", "partiallyLocked" ], | |
| "isRequired": true | |
| }, | |
| "isLockingSupported": { | |
| "type": "boolean", | |
| "isRequired": true | |
| } | |
| } | |
| }, | |
| "onOff": { | |
| "commands": { | |
| "setConfig": { | |
| "minimalRole": "user", | |
| "parameters": { | |
| "state": { | |
| "type": "string", | |
| "enum": [ "on", "off" ] | |
| } | |
| } | |
| } | |
| }, | |
| "state": { | |
| "state": { | |
| "type": "string", | |
| "enum": [ "on", "off" ], | |
| "isRequired": true | |
| } | |
| } | |
| }, | |
| "brightness": { | |
| "commands": { | |
| "setConfig": { | |
| "minimalRole": "user", | |
| "parameters": { | |
| "brightness": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| } | |
| } | |
| } | |
| }, | |
| "state": { | |
| "brightness": { | |
| "isRequired": true, | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| } | |
| } | |
| }, | |
| "colorTemp": { | |
| "commands": { | |
| "setConfig": { | |
| "minimalRole": "user", | |
| "parameters": { | |
| "colorTemp": { | |
| "type": "integer" | |
| } | |
| } | |
| } | |
| }, | |
| "state": { | |
| "colorTemp": { | |
| "isRequired": true, | |
| "type": "integer" | |
| }, | |
| "minColorTemp": { | |
| "isRequired": true, | |
| "type": "integer" | |
| }, | |
| "maxColorTemp": { | |
| "isRequired": true, | |
| "type": "integer" | |
| } | |
| } | |
| }, | |
| "colorXy": { | |
| "commands": { | |
| "setConfig": { | |
| "minimalRole": "user", | |
| "parameters": { | |
| "colorSetting": { | |
| "type": "object", | |
| "required": [ | |
| "colorX", | |
| "colorY" | |
| ], | |
| "properties": { | |
| "colorX": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| }, | |
| "colorY": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "errors": ["colorOutOfRange"] | |
| } | |
| }, | |
| "state": { | |
| "colorSetting": { | |
| "type": "object", | |
| "isRequired": true, | |
| "required": [ "colorX", "colorY" ], | |
| "properties": { | |
| "colorX": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| }, | |
| "colorY": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| } | |
| } | |
| }, | |
| "colorCapRed": { | |
| "type": "object", | |
| "isRequired": true, | |
| "required": [ "colorX", "colorY" ], | |
| "properties": { | |
| "colorX": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| }, | |
| "colorY": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| } | |
| } | |
| }, | |
| "colorCapGreen": { | |
| "type": "object", | |
| "isRequired": true, | |
| "required": [ "colorX", "colorY" ], | |
| "properties": { | |
| "colorX": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| }, | |
| "colorY": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| } | |
| } | |
| }, | |
| "colorCapBlue": { | |
| "type": "object", | |
| "isRequired": true, | |
| "required": [ "colorX", "colorY" ], | |
| "properties": { | |
| "colorX": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| }, | |
| "colorY": { | |
| "type": "number", | |
| "minimum": 0.0, | |
| "maximum": 1.0 | |
| } | |
| } | |
| } | |
| } | |
| } | |
| })"; | |
| const char kDefaultState[] = R"({ | |
| "lock":{"isLockingSupported": true}, | |
| "onOff":{"state": "on"}, | |
| "brightness":{"brightness": 0.0}, | |
| "colorTemp":{"colorTemp": 0}, | |
| "colorXy": { | |
| "colorSetting": {"colorX": 0.0, "colorY": 0.0}, | |
| "colorCapRed": {"colorX": 0.674, "colorY": 0.322}, | |
| "colorCapGreen":{"colorX": 0.408, "colorY": 0.517}, | |
| "colorCapBlue": {"colorX": 0.168, "colorY": 0.041} | |
| } | |
| })"; | |
| const char kComponent[] = "testdevice"; | |
| } // namespace standard_traits |