mirror of
https://github.com/mtan93/homebridge.git
synced 2026-03-21 21:03:28 +00:00
I found that the description was wrongly named and in the wrong folder. It is now named after the platform shim to appear next to it in listings, also the config-sample that comes along with it. As long as we do not go for own repositories and npm packages, should we consider folders for additional files if required?
131 lines
4.1 KiB
Markdown
131 lines
4.1 KiB
Markdown
# Syntax of the config.json
|
|
In the platforms section, you can insert a KNX type platform.
|
|
You need to configure all devices directly in the config.json.
|
|
````json
|
|
"platforms": [
|
|
{
|
|
"platform": "KNX",
|
|
"name": "KNX",
|
|
"knxd_ip": "192.168.178.205",
|
|
"knxd_port": 6720,
|
|
"accessories": [
|
|
{
|
|
"accessory_type": "knxdevice",
|
|
"name": "Living Room North Lamp",
|
|
"services": [
|
|
{
|
|
"type": "Lightbulb",
|
|
"description": "iOS8 Lightbulb type, supports On (Switch) and Brightness",
|
|
"name": "Living Room North Lamp",
|
|
"On": {
|
|
"Set": "1/1/6",
|
|
"Listen": [
|
|
"1/1/63"
|
|
]
|
|
},
|
|
"Brightness": {
|
|
"Set": "1/1/62",
|
|
"Listen": [
|
|
"1/1/64"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
````
|
|
In the accessories section (the array within the brackets [ ]) you can insert as many objects as you like in the following form
|
|
````json
|
|
{
|
|
"accessory_type": "knxdevice",
|
|
"name": "Here goes your display name, this will be shown in HomeKit apps",
|
|
"services": [
|
|
{
|
|
}
|
|
]
|
|
}
|
|
````
|
|
You have to add services in the following syntax:
|
|
````json
|
|
{
|
|
"type": "SERVICENAME",
|
|
"description": "This is just for you to remember things",
|
|
"name": "We need a name for each service, though it usually shows only if multiple services are present in one accessory",
|
|
"CHARACTERISTIC1": {
|
|
"Set": "1/1/6",
|
|
"Listen": [
|
|
"1/1/63"
|
|
]
|
|
},
|
|
"CHARACTERISTIC2": {
|
|
"Set": "1/1/62",
|
|
"Listen": [
|
|
"1/1/64"
|
|
]
|
|
}
|
|
}
|
|
````
|
|
`CHARACTERISTICx` are properties that are dependent on the service type, so they are listed below.
|
|
|
|
Two kinds of addresses are supported: `"Set":"1/2/3"` is a writable group address, to which changes are sent if the service supports changing values. Changes on the bus are listened to, too.
|
|
`"Listen":["1/2/3","1/2/4","1/2/5"]` is an array of addresses that are listened to additionally. To these addresses never values get written, but the on startup the service will issue *KNX read requests* to ALL addresses listed in `Set:` and in `Listen:`
|
|
|
|
|
|
# Supported Services and their characteristics
|
|
|
|
## Lightbulb
|
|
On: DPT 1, 1 as on, 0 as off
|
|
Brightness: DPT5 percentage, 100% (=255) the brightest
|
|
|
|
|
|
## LockMechanism
|
|
LockCurrentState: DPT 1, 1 as secured
|
|
OR (but not both:)
|
|
LockCurrentStateSecured0: DPT 1, 0 as secured
|
|
|
|
LockTargetState: DPT 1, 1 as secured
|
|
LockTargetStateSecured0: DPT 1, 0 as secured
|
|
|
|
## Thermostat
|
|
CurrentTemperature: DPT9 in °C [listen only]
|
|
TargetTemperature: DPT9, values 0..40°C only, all others are ignored
|
|
CurrentHeatingCoolingState: DPT5 HVAC, because of the incompatible mapping only off and heating (=auto) are shown, [listen only]
|
|
TargetHeatingCoolingState: as above
|
|
|
|
|
|
## TemperatureSensor
|
|
CurrentTemperature: DPT9 in °C [listen only]
|
|
|
|
## Window
|
|
CurrentPosition: DPT5 percentage
|
|
TargetPosition: DPT5 percentage
|
|
PositionState: DPT5 value [listen only]
|
|
|
|
## WindowCovering
|
|
CurrentPosition: DPT5 percentage
|
|
TargetPosition: DPT5 percentage
|
|
PositionState: DPT5 value [listen only]
|
|
|
|
### not yet supported
|
|
HoldPosition
|
|
TargetHorizontalTiltAngle
|
|
TargetVerticalTiltAngle
|
|
CurrentHorizontalTiltAngle
|
|
CurrentVerticalTiltAngle
|
|
ObstructionDetected
|
|
|
|
## ContactSensor
|
|
ContactSensorState: DPT 1, 0 as contact
|
|
OR
|
|
ContactSensorStateContact1: DPT 1, 1 as contact
|
|
|
|
StatusActive: DPT 1, 1 as true
|
|
StatusFault: DPT 1, 1 as true
|
|
StatusTampered: DPT 1, 1 as true
|
|
StatusLowBattery: DPT 1, 1 as true
|
|
|
|
|
|
# DISCLAIMER
|
|
This is work in progress!
|
|
|