deviceSettings
- Allows user to add/override existing configuration settings for specified devices
Base json format:
{
"<device_type_id>": [
<list_of_settings>
]
}
Signature of setting:
Field | Type | Required | Description |
---|---|---|---|
name | string | + | Label of the setting |
description | string | + | Description of the setting |
type | string | + | Setting type. Supported types are: action, bool, int, rgb, token, array.token and scalable types (i.e. temperature). |
configuration | object | + | Z-Wave configuration parameter |
configuration.number | int | + | Index of target parameter |
configuration.size | int | + | Size of target parameter in bytes. Can be 1, 2 or 4. |
configuration.value | int | – | Default value. If present, this value will be applied after device is included. Note that this is always an integer representation of the setting’s type. |
- Additional fields may be required depending on type of the setting.
action
- Used for buttons.
Field | Type | Required | Description |
---|---|---|---|
label | object | + | |
label.text | string | + | Button label |
value | int | + | Corresponding Z-Wave configuration parameter value to be used |
{
"name": "Action setting",
"description": "Button",
"type": "action",
"label": {
"text": "Reset"
},
"value": 1,
"configuration": {
"number": 1,
"size": 1
}
}
bool
- Used for toggles
{
"name": "Boolean setting",
"description": "Toggle",
"type": "bool",
"configuration": {
"number": 1,
"size": 1
}
}
int
- Used for sliders or input boxes.
Field | Type | Required | Description |
---|---|---|---|
value_min | int | – | Minimal value |
value_max | int | – | Maximal value |
{
"name": "Integer setting",
"description": "Slider",
"type": "int",
"value_min": 0,
"value_max": 100,
"configuration": {
"number": 1,
"size": 1
}
}
scalable
- Used for sliders or input boxes.
Field | Type | Required | Description |
---|---|---|---|
scale | string | + | Used scale |
value_min | int | – | Minimal value |
value_max | int | – | Maximal value |
{
"name": "Scalable setting",
"description": "Slider",
"type": "temperature",
"scale": "celsius",
"value_min": 0,
"value_max": 100,
"configuration": {
"number": 1,
"size": 1
}
}
rgb
- Used for color picker.
Field | Type | Required | Description |
---|---|---|---|
components | object | + | Key: component name. Value: corresponding byte (0 based). |
{
"name": "RGB setting",
"description": "Color picker",
"type": "rgb",
"components": {
"red": 0,
"green": 1,
"blue": 2
},
"configuration": {
"number": 1,
"size": 4
}
}
token
- Used for radio buttons.
Field | Type | Required | Description |
---|---|---|---|
enum | object | + | Key: token name |
enum.value | int | + | Corresponding value |
enum.text | string | + | Label |
{
"name": "Token setting",
"description": "Radio buttons",
"type": "token",
"enum": {
"value_1": {
"value": 0,
"text": "Value 1"
},
"value_2": {
"value": 1,
"text": "Value 2"
},
"value_3": {
"value": 2,
"text": "Value 3"
},
"value_4": {
"value": 3,
"text": "Value 4"
}
},
"value": "value_1",
"configuration": {
"number": 1,
"size": 1
}
}
array-token
- Used for checkboxes.
Field | Type | Required | Description |
---|---|---|---|
enum | object | + | Key: token name |
enum.value | int | + | Corresponding value |
enum.text | string | + | Label |
{
"name": "Array of tokens setting",
"description": "Checkboxes",
"type": "array.token",
"enum": {
"value_1": {
"value": 1,
"text": "Value 1"
},
"value_2": {
"value": 2,
"text": "Value 2"
},
"value_3": {
"value": 4,
"text": "Value 3"
},
"value_4": {
"value": 8,
"text": "Value 4"
}
},
"configuration": {
"number": 1,
"size": 1
}
}