title | description | lead | date | draft | images | menu | weight | toc | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Characteristic Properties |
What is a Characteristic Property and how to use it |
What is a Characteristic Property and how to use it. |
2022-02-08 15:27:48 UTC |
false |
|
60 |
true |
A Service node is made up of one or more characteristics. The Characteristic Properties tell the Home.app to adapt its display to the chosen settings. It also allows you to define default values and usage limitations.
{{< alert icon="💡" >}}The Characteristics available for each service are displayed on each page of the [Service]({{< ref "/wiki/service/" >}} "Service") section and information about each characteristic in the [Characteristic]({{< ref "/wiki/characteristic" >}} "Characteristic") section.{{< /alert >}}
Go to the section called Characteristic Properties
of your HomeKit Service Node.
To indicate that some Characteristic is used:
{ "Characteristic": true }
To indicate a default value for some characteristic (20 for example):
{ "Characteristic": {"defaultValue": 20 }}
To tell the Home.app some usage limitations on a characteristic:
Option | Description |
---|---|
defaultValue |
Value by default |
minValue |
Minimum value authorized |
maxValue |
Maximum value authorized |
minStep |
Minimum step (gap) authorized |
validValues |
Value authorized [ ] |
Below is an example list of characteristics.
{
"TargetHorizontalTiltAngle": {
"defaultValue": 45,
"minValue": 0,
"maxValue": 90
}
}
{}
{
"Brightness": true
}
{
"Brightness": true,
"Hue": true,
"Saturation": true
}
It is also possible to define the range of the lightbulb if it has a light that can change temperature.
You should watch out, that these values are in Reciprocal megakelvin
so you have to 'convert' to this if your lamp is using Kelvin values (1000000 / Kelvin).
{
"ColorTemperature": {
"minValue": 150,
"maxValue": 500
}
}
{
"Brightness": {
"minStep": 5
}
}
{
"SecuritySystemCurrentState": {
"validValues": [0, 1, 3, 4]
},
"SecuritySystemTargetState": {
"validValues": [0, 1, 3, 4]
}
}
{
"ValveType": {
"minValue": 1,
"maxValue": 1
}
}