{
  "accessories": [
    {
      "accessory": "HTTP-SWITCH",
      "name": "Air conditioner",
      "serialNumber": "dorm-home-ac",
      "switchType": "stateful",
      "onUrl": {
        "url": "https://jcsv4.jackuxl.dev/api/homebridge/ac/control",
        "method": "POST",
        "strictSSL": true,
        "headers": {
          "Authorization": "Bearer dac_REPLACE_WITH_AC_TOKEN",
          "Content-Type": "application/json"
        },
        "body": {
          "on": true
        },
        "requestTimeout": 120000
      },
      "offUrl": {
        "url": "https://jcsv4.jackuxl.dev/api/homebridge/ac/control",
        "method": "POST",
        "strictSSL": true,
        "headers": {
          "Authorization": "Bearer dac_REPLACE_WITH_AC_TOKEN",
          "Content-Type": "application/json"
        },
        "body": {
          "on": false
        },
        "requestTimeout": 120000
      },
      "statusUrl": {
        "url": "https://jcsv4.jackuxl.dev/api/homebridge/ac/status",
        "method": "GET",
        "strictSSL": true,
        "headers": {
          "Authorization": "Bearer dac_REPLACE_WITH_AC_TOKEN"
        },
        "requestTimeout": 8000
      },
      "statusPattern": "\"on\"\\s*:\\s*true",
      "statusCache": 0,
      "pullInterval": 10000
    },
    {
      "accessory": "HTTP-SWITCH",
      "name": "Ceiling light on",
      "serialNumber": "dorm-home-ceiling-on",
      "switchType": "stateless",
      "timeout": 1000,
      "onUrl": {
        "url": "https://jcsv4.jackuxl.dev/api/homebridge/lights/control",
        "method": "POST",
        "strictSSL": true,
        "headers": {
          "Authorization": "Bearer dlt_REPLACE_WITH_LIGHT_TOKEN",
          "Content-Type": "application/json"
        },
        "body": {
          "device": "ceiling",
          "on": true
        },
        "requestTimeout": 120000
      }
    },
    {
      "accessory": "HTTP-SWITCH",
      "name": "Ceiling light off",
      "serialNumber": "dorm-home-ceiling-off",
      "switchType": "stateless",
      "timeout": 1000,
      "onUrl": {
        "url": "https://jcsv4.jackuxl.dev/api/homebridge/lights/control",
        "method": "POST",
        "strictSSL": true,
        "headers": {
          "Authorization": "Bearer dlt_REPLACE_WITH_LIGHT_TOKEN",
          "Content-Type": "application/json"
        },
        "body": {
          "device": "ceiling",
          "on": false
        },
        "requestTimeout": 120000
      }
    },
    {
      "accessory": "HTTP-SWITCH",
      "name": "Bedside light on",
      "serialNumber": "dorm-home-bedside-on",
      "switchType": "stateless",
      "timeout": 1000,
      "onUrl": {
        "url": "https://jcsv4.jackuxl.dev/api/homebridge/lights/control",
        "method": "POST",
        "strictSSL": true,
        "headers": {
          "Authorization": "Bearer dlt_REPLACE_WITH_LIGHT_TOKEN",
          "Content-Type": "application/json"
        },
        "body": {
          "device": "bedside",
          "on": true
        },
        "requestTimeout": 120000
      }
    },
    {
      "accessory": "HTTP-SWITCH",
      "name": "Bedside light off",
      "serialNumber": "dorm-home-bedside-off",
      "switchType": "stateless",
      "timeout": 1000,
      "onUrl": {
        "url": "https://jcsv4.jackuxl.dev/api/homebridge/lights/control",
        "method": "POST",
        "strictSSL": true,
        "headers": {
          "Authorization": "Bearer dlt_REPLACE_WITH_LIGHT_TOKEN",
          "Content-Type": "application/json"
        },
        "body": {
          "device": "bedside",
          "on": false
        },
        "requestTimeout": 120000
      }
    },
    {
      "accessory": "HTTP-SWITCH",
      "name": "Unlock door",
      "serialNumber": "dorm-home-door-unlock",
      "switchType": "stateless",
      "timeout": 1000,
      "onUrl": {
        "url": "https://jcsv4.jackuxl.dev/api/homebridge/door/unlock",
        "method": "POST",
        "strictSSL": true,
        "headers": {
          "Authorization": "Bearer ddr_REPLACE_WITH_DOOR_TOKEN",
          "Content-Type": "application/json"
        },
        "body": {
          "confirm": true
        },
        "requestTimeout": 120000
      }
    }
  ]
}
