Hier mal ein kurzer Überblick der Homebridge-Konfiguration.
Minimal-Konfiguration
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
}
}
Es existiert ein Objekt bridge mit dem Namen Homebridge.
{
"bridge": {
"name": "Homebridge",
}
}
Neben dem Namen sind noch der username, der port und der pin hinterlegt.
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
}
}
Accessories einfügen
Um neue Accessories hinzuzufügen, muss eine Liste erstellt werden. Die Liste enthält später alle Objekte der Accessories. Die Liste trägt den Namen accessories.
"accessories":[
]
Die Liste wird in unser JSON-Objekt eingefügt.
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"accessories":[
]
}
Um ein Accessorie aus einem Plugin hinzuzufügen, zum Beispiel einen http-switch, muss das Objekt vom http-switch in die Liste der Accessories gepackt werden.
Das Objekt des http-switches sieht so aus:
{
"accessory": "HTTP-SWITCH",
"name": "Switch",
"switchType": "stateful",
"onUrl": "http://localhost/api/switchOn",
"offUrl": "http://localhost/api/switchOff",
"statusUrl": "http://localhost/api/switchStatus"
}
Der Switch wird zu unseren Accessories hinzugefügt:
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"accessories":[
{
"accessory": "HTTP-SWITCH",
"name": "Switch",
"switchType": "stateful",
"onUrl": "http://localhost/api/switchOn",
"offUrl": "http://localhost/api/switchOff",
"statusUrl": "http://localhost/api/switchStatus"
}
]
}
Mehrere Accessories bedeutet: mehrere Objekte.
Die einzelnen Objekte in der Liste Accessories werden mit einem Komma voneinander getrennt.
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"accessories": [
{
"accessory": "HTTP-SWITCH",
"name": "Switch",
"switchType": "stateful",
"onUrl": "http://localhost/api/switchOn",
"offUrl": "http://localhost/api/switchOff",
"statusUrl": "http://localhost/api/switchStatus"
},
{
"accessory": "HTTP-SWITCH",
"name": "Switch 2"
...
}
]
}
Wer sich genauer dafür interessiert, wie so eine JSON-Datei aufgebaut ist, kann sich gerne den Artikel anschauen:
JSON verstehen - Was ist JSON?