config.json - Ein Überblick der Homebridge-Konfiguration



  • 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?