Files
homebridge/accessories/knxdevice.md
Snowdd1 0da4fe5d22 Welcome iOS9
More services, documentation, and cleanups.
2015-09-16 20:05:02 +02:00

127 lines
4.0 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.
"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
{
"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:
{
"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"
]
}
}
CHARACTERISTIC 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 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!