snowdd1 / homebridge-knx-de

German Issue/Discussion forum for homebridge-knx
https://github.com/snowdd1/homebridge-knx
20 stars 4 forks source link

Aufbau der config.json (Version 0.2.x) #1

Closed snowdd1 closed 7 years ago

snowdd1 commented 8 years ago

Die homebridge config.json ist die globale Konfigurationsdatei für die gesamt homebridge, das bedeutet im Zweifelsfall auch alle Plattformen und alle (Einzel-) Accessories.

Der grundlegende Aufbau der Datei ist

{
    "bridge": {
        "/* homebridge-spezifische Einstellungen */":""
    },
    "platforms": [
        "/* Array von Plattformen mit ihren Einstellungen */":""
    ],
    "accessories": [
        "/* Array von Einzelaccessories, die nicht zu Plattformen gehören, sondern eigene Plugins sind */":""
    ]
}

Für homebridge-knx besonders interessant ist der Teil "platforms": [ ], da das knx-plugin eine Plattform im Sinne von homebridge ist - Es werden nämlich mehrere Geräte zurück an homebridge gemeldet.

Da es sich um ein Array handelt (zu erkennen an den eckigen Klammern), kann es mehrere unsortierte Elemente enthalten: [{object}, {object}, {object}]

Eines davon wird die Konfiguration für homebridge-knx werden:

    "platforms": [ 
        { 
            "platform": "KNX", 
            "name": "KNX", 
            "knxd_ip": "192.168.1.1", 
            "knxd_port": 6720, 
            "knxd_do_not_read_set_groups": true, 

Als erstes werden die Parameter für das ganze Plug-in definiert: Platformname (historisch zwei mal) und die Verbindung zum knxd bzw. eibd.

Da über KNX keine "Auto discovery" möglich ist (anders als bei Wink oder anderen neueren IP-service-basierten-Plattformen) muss für die Plattform auch noch ein Bereich angelegt werden, in dem die Accessories definiert werden, die an homebridge zurückgemeldet werden sollen. Daher gibt es einen Bereich, der ebenfalls "accessories" heißt (was wahrscheinlich eine der nicht ganz so schlauen Ideen von mir war) und sich innerhalb der Klammern der Plattform befinden muss:

    "platforms": [ 
        { 
            "platform": "KNX", 
            "name": "KNX", 
            "knxd_ip": "192.168.1.1", 
            "knxd_port": 6720, 
            "knxd_do_not_read_set_groups": true, 
                        "accessories": [
                             {accessory1},{accessory2},...
snowdd1 commented 7 years ago

Obsolet. Version 0.2 wird nicht mehr installiert.