Skip to content

2. Configuration

Mike Kormendy edited this page Apr 3, 2024 · 2 revisions

Starter Settings for config.json

The following two fields are required for the Konnected plugin to start.

{
  "name": "Konnected",
  "platform": "konnected"
}

What to Expect

After loading this plugin for the first time, it will attempt to discover the Konnected panel(s) on the same local network as Homebridge. Once discovered, the plugin will try to:

  1. adjust the Homebridge config.json file with the following configuration details:
  • Konnected plugin's listening server IP and port number to survive reboots or outages. This is used for listening to zone changes from the Konnected panel itself and you can leave the settings here as is, or you can manually assign them for unique networking scenarios.
  • discovered panel(s), assigning a name, a unique identifier, the IP address, and port for each panel.
  1. provision each panel, the result is a fresh panel with unassigned zones in Homebridge.

Once the plugin has completed the above two steps, you should also notice that a new security tile 'Konnected Alarm' is exposed in your HomeKit app's default room. You can rename this to whatever you want.

For the security system tile to have any meaningful function you must add zones with sensors on your panel(s) to your config.json file in Homebridge.

Plugin and Zone Settings Example for config.json

The best way to generate an error-free config.json is by installing and using the Config UI X Plugin for Homebridge. The Konnected Homebridge plugin binds to the Config UI X configuration GUI which makes setting up the zones a trivial process.

For those without Config UI X, or are running this on HOOBS < 4.0, please see the following example configuration for this plugin:

{
  "name": "Konnected",
  "platform": "konnected",
  "advanced": {
    "listenerPort": 5000,
    "listenerIP": "192.168.2.213",
    "discoveryTimeout": 10,
    "entryDelaySettings": {
      "delay": 60,
      "pulseDuration": 975,
      "pulsePause": 25,
      "pulseRepeat": -1
    },
    "exitDelaySettings": {
      "delay": 15,
      "audibleBeeperModes": [
        "0",
        "1",
        "2"
      ]
    }
  },
  "panels": [
    {
      "name": "Konnected V1/V2",
      "uuid": "8f655392-a778-4fee-97b9-123456789abc",
      "ipAddress": "192.168.1.110",
      "port": 12345,
      "blink": true,
      "zones": [
        {
          "enabled": true,
          "zoneNumber": "1",
          "zoneType": "beeper",
          "zoneLocation": "Front Entrance",
          "switchSettings": {
            "trigger": 1,
            "pulseDuration": 1000,
            "pulsePause": 500,
            "pulseRepeat": 3,
          }
        },
        {
          "enabled": true,
          "zoneNumber": "2",
          "zoneType": "contact",
          "zoneLocation": "Front Entrance",
          "binarySensorSettings": {
            "invert": false,
            "audibleBeep": true,
            "triggerableModes": [
              "0",
              "1",
              "2"
            ]
          }
        }
      ]
    },
    {
      "name": "Konnected Pro",
      "uuid": "8f655392-a778-4fee-97b9-123456789abd",
      "ipAddress": "192.168.1.120",
      "port": 54321,
      "blink": false,
      "zones": [
        {
          "enabled": true,
          "zoneNumber": "alarm1",
          "zoneType": "siren",
          "zoneLocation": "Hallway",
          "switchSettings": {
            "trigger": 1
          }
        },
        {
          "enabled": false,
          "zoneNumber": "4",
          "zoneType": "temphumid",
          "zoneLocation": "Kitchen",
          "environmentalSensorSettings": {
            "pollInterval": 10
          }
        }
      ]
    }
  ]
}

Configuration Field Explanations

  • "platform": (required) Must always be "konnected"
  • "name": (required) Can be anything, it is the name that will appear in your Homebridge log.
  • "advanced": An object of optional advanced plugin settings:
    • "listenerIP": (optional) Use this field to force the network IPv4 address that this Homebridge plugin will listen from for zone state changes. This is useful if the system hosting Homebridge/HOOBS has multiple active network adapters (The system is connected both via wifi and ethernet but certain traffic is routed to one or the other, etc.)*
    • "listenerPort": (optional) Use this field to force the network port that this plugin will listen for zone state changes on (between 1000 and 65535).
    • "discoveryTimeout": (optional) A length of time in seconds (between 1 and 300) to allow this plugin to discover all of Konnected panels on the network.
    • "entryDelaySettings": (optional) An object of settings related to the period of delay after someone enters (violates) the security system. If there is a beeper present, by default it will have a constant sound, but if you use the example values, it will produce a long tone once every second so you know how much time you have to disarm the security system:
      • "delay": (optional) The time it takes before the security system is triggered and the siren zone is triggered (in seconds).
      • "pulseDuration": (optional) Beeper setting for how long the its pulse is maintained in the on state for when the system is violated (in milliseconds, e.g. 975).
      • "pulsePause": (conditional - required if pulseRepeat exists) Beeper setting for how long the it pauses between pulses (in milliseconds, e.g. 25).
      • "pulseRepeat": (conditional - required if pulsePause exists) Beeper setting for how many times it repeats the pulse sequence (infinite = -1, e.g., -1)
    • "exitDelaySettings": (optional) An object of settings for the delay of time used before the security system has been completely armed. By default, if there is a beeper present, the Away mode will have an audible beeper countdown over the course of the entire delay time:
      • "delay": (optional) The time it takes before the security system is armed, if nothing is set the default is 30 seconds (in seconds).
      • "audibleBeeperModes": (optional) Choose which arming modes will have an audible beeper countdown. Any one of the following:
        • "0" for home/stay mode
        • "1" for away mode
        • "2" for night mode
  • "panels": A panel must exist to associate different sensors and actuators with zones. This section is an array of objects that represent the various panel details and features as well as zones:
    • "name" (required) The name of the specific panel.
    • "UUID" (required/auto-generated/readonly) The unique identifier for the panel.
    • "ipAddress" (required/auto-generated/changeable) The active IP address of the panel.
    • "port" (required/auto-generated/changeable) The active network port of the panel.
    • "blink" (optional) Blink panel LED when zones change/report their state. (Values: true or false).
    • "zones": (optional) An array of objects that represent assigned zones on the panel:
      • "enabled": Conveniently lets you to create zone settings in the config.json file but not have them actually be provisioned in the panel nor create an accessory in HomeKit. (Values: true or false).
      • "zoneNumber": (quoted number "#") Depending on the panel, the following assignments are allowed:
        • V1/V2 Panel: "1" through "6", "out" or "alarm".
        • Pro Panel: "1" through "12", "alarm1", "out", "alarm2_out2".
      • "zoneType": any one of the following:
        • "contact"
        • "motion"
        • "glass"
        • "temperature"
        • "temphumid" or "temperature_humidity" (will expose two sensors in HomeKit)
        • "water"
        • "smoke"
        • "beeper" (actuator switch)
        • "siren" (actuator switch)
        • "strobe" (actuator switch)
        • "switch" (actuator switch)
      • "zoneLocation": (optional) Custom name for the zone's location (E.g., Kitchen).
      • "binarySensorSettings": (optional) Binary-sensors-only settings (not temperature or humidity sensors):
        • "invert": (optional) Flip the state of a zone sensor's input. (Values: true or false).
        • "audibleBeep": (optional) Whether or not the sensor should trigger the beeper when its state changes. (Values: true or false).
        • "triggerableModes": (optional) Choose which modes this sensor will trigger the security system alarm. Any one of the following:
          • "0" for home/stay mode
          • "1" for away mode
          • "2" for night mode
      • "environmentalSensorSettings": (optional) Temperature or humidity sensor settings:
        • "pollInterval": (optional) Length of time in minutes that this sensor will report its value. (Values between 1 and 1440, default is 3).
      • "switchSettings": (optional) Switch-only settings when actuating the switch:
        • "trigger": (optional) Force the state of a switch when it is triggered to 'ON'. (Values: "high" or "low", unselected default is "high").
        • "pulseDuration": (optional) How long the pulse is maintained in the on state for (in milliseconds).
        • "pulsePause": (conditional - required if pulseRepeat exists) Pause between pulses (in milliseconds).
        • "pulseRepeat": (conditional - required if pulsePause exists) Times to repeat pulse sequence (infinite = -1)
        • "triggerableModes": (optional/experimental) Choose which modes this switch will also trigger the security system alarm. Any one of the following:
          • "0" for home/stay mode
          • "1" for away mode
          • "2" for night mode