Das Format der Konfigurationsdateien hat sich deutlich geändert.
Dies betrifft sowohl die config.json
als auch die neue knx_config.json
.
##config.json
Version 0.2.x | Version 0.3.x |
Enthält die ganze Konfiguration sowohl für homebridge selbst, als auch alle Konfigurationsteile für homebridge-knx, genauso wie für alle anderen homebridge-plug-ins | Die Konfiguration von `homebridge-knx` ist nicht mehr Teil der config.json, sondern in einer eigenen Datei knx_config.json |
Beispiel | Beispiel |
{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "This is an example ...", "platforms": [ { "name":"KNX", "platform":"KNX", "accessories": [ HIER SIND DIE GERÄTE DEFINIERT, SIEHE UNTEN |
{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "This is an example ....", "platforms": [ ], "accessories": [ ] } |
##knx_config.json
Die Geräte (Devices früher Accessories) sind nun in die knx_config.json gewandert.
Dabei hat sich das Format geändert, um mehr Möglichkeiten zuzulassen:
Hier mal ein Abschnitt der ein Gerät mit einem Service "Lampe" mit Dimmer abbildet:
Version 0.2.x | Version 0.3.x |
in der config.json | in der knx_config.json |
{ "name": "Living Room North Lamp", "services": [ { "type": "Lightbulb", "name": "Arbeitszimmerlampe", "On": { "Set": "1/1/6", "Listen": [ "1/1/63" ] }, "Brightness": { "Set": "1/1/62", "Listen": [ "1/1/64" ] } } |
{ "DeviceName": "Arbeitszimmerlampe", "Services": [ { "ServiceType": "Lightbulb", "ServiceName": "Bürolampe", "Characteristics": [ { "Type": "On", "Set": [ "1/1/6" ], "Listen": [ "1/1/63" ] }, { "Type":"Brightness", "Set": [ "1/1/62" ], "Listen": [ "1/1/64" ] } ] } ] } |
Man sieht ein paar kleine Änderungen:
Version 0.2.x | Version 0.3.x |
---|---|
name auf der ersten Ebene der accessories |
DeviceName |
services |
Services |
type |
ServiceType |
name innerhalb der services |
ServiceName |
On als Schlüssel für ein bestimmtes Charcteristic |
"Characteristics": [ "Type":"On", .... ] als Liste mit einzelnen Characteristics, deren Typ im Schlüssel Type angegeben werden. |
Insbesondere die letzte Änderung verursacht leider sehr viel manuelle Arbeit beim Umstieg. Diese Änderung war aber nötig, da auf diese Weise beliebige Characteristics zusammen in einen Service gesteckt werden können - und nicht nur die 2-3 die in der alten Version vorab codiert waren.
Für die Änderung der Richtung, z.B. bei Tür- oder Fensterkontakten, findet sich das neue Schlüsselwort Reverse
innerhalb der Characteristic-Klammer:
Version 0.2.x | Version 0.3.x |
in der config.json | in der knx_config.json |
{ "name": "Bürofenster Links", "services": [ { "type": "ContactSensor", "name": "Fensterkontakt Büro Links", "ContactSensorState": { "Listen": "5/3/6R" } } ] } |
{ "DeviceName": "Bürofenster Links", "Services": [ { "ServiceType": "ContactSensor", "ServiceName": "Fensterkontakt Büro Links", "Characteristics": [ { "Type":"ContactSensorState", "Listen": [ "5/3/6" ], "Reverse":true } ] } ] } |