|  Developer
Updated on May 10, 2022

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
    }
}