Skip to content

Commit

Permalink
Updates readme markdown file.
Browse files Browse the repository at this point in the history
  • Loading branch information
mkormendy committed Nov 4, 2020
1 parent 3f2dc07 commit d6cf837
Showing 1 changed file with 88 additions and 56 deletions.
144 changes: 88 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
[![GitHub release](https://img.shields.io/github/release/konnected-io/homebridge-konnected.svg?style=flat-square)](https://github.com/konnected-io/homebridge-konnected/releases)
[![npm](https://img.shields.io/npm/dm/homebridge-konnected.svg)](https://www.npmjs.com/package/homebridge-konnected)
[![npm](https://img.shields.io/npm/v/homebridge-konnected.svg)](https://www.npmjs.com/package/homebridge-konnected)
[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
[![Lint & Build](https://github.com/konnected-io/homebridge-konnected/workflows/Lint%20&%20Build/badge.svg)](https://github.com/konnected-io/homebridge-konnected/actions)

# ⚠️ WARNING ⚠️
Expand All @@ -15,15 +14,21 @@ The first stable version will be made public as an official github release (this

# Supported Features

* Querying panels
* Alarm System
* Arming
* Disarming
* Sensors
* Door sensor states
* Window sensor states
* Motion sensor states
* Glass-break sensor states
* Smoke/CO2 detector states
* Contact Sensor States
* Motion Sensor States
* Glass Break Sensor States
* Temperature Sensor States
* Temperature/Humidity Sensor States
* Water Sensor States
* Smoke Sensor States
* Actuators
* Alarm Siren Switch
* Alarm Strobe Light Switch
* Basic Binary Switch
* Professional 24/7 Smart Home Monitoring (powered by [Noonlight](https://noonlight.com/))

# Installation
Expand All @@ -34,56 +39,93 @@ The first stable version will be made public as an official github release (this

# Configuration

### Sample config.json:
### Starter Settings for config.json:
The following two fields are required for the Konnected plugin to start.
```json
{
"name": "Konnected",
"platform": "konnected"
}
```

After loading this plugin for the first time, it will attempt to discover the Konnected panel(s) on the same LAN network as Homebridge. Once discovered, the plugin will attempt to:
1. adjust the config.json file with the details of the discovered panel(s), assigning a name and a unique identifier for each;
2. to provision each panel, the result of which is either a fresh panel without zones, or resetting/removing all zones on the panel(s).


### Zone Settings Example for config.json:
The following example is not exhaustive, however the best way to generate the rest of the values below in your config is by installing and using the [Config UI X plugin](https://github.com/oznu/homebridge-config-ui-x#readme) for Homebridge as all of the settings are easily configurable in a convenient GUI interface.
```json
{
"platform": "konnected",
"name": "Alarm Panel",
"ip": "###.###.###.###",
"id": "##########",
"zones": [
{
"id": "##########",
"name": "Front Door",
"type": "contact",
"ignore": false
},
{
"id": "##########",
"name": "Living Room",
"type": "motion",
"ignored": true
"name": "Konnected",
"advanced": {
"listenerPort": 5000,
"listenerIP": "192.168.2.213",
"discoveryTimeout": 10
},
"panels": [{
"name": "Konnected V1/V2",
"uuid": "8f655392-a778-4fee-97b9-123456789abc",
"zones": [{
"zoneNumber": 1,
"zoneType": "contact",
"zoneLocation": "Front Entrance"
},
{
"zoneNumber": 2,
"zoneType": "motion",
"zoneLocation": "Living Room"
}
]
},
{
"id": "##########",
"name": "Kitchen",
"type": "air",
"ignored": false
"name": "Konnected Pro",
"uuid": "8f655392-a778-4fee-97b9-123456789abd",
"zones": [{
"zoneNumber": 8,
"zoneType": "motion",
"zoneLocation": "Master"
},
{
"zoneNumber": 9,
"zoneType": "motion",
"zoneLocation": "Kitchen"
}
]
}
],
"noonlight": [
{
"username": "<YOUR USERNAME>",
"password": "<YOUR PASSWORD>",
"geolocation": "-34.397,150.644",
"primaryphone": "555-555-5555",
"secondaryphone": "555-555-5555"
}
],
"logLevel": 1
],
"platform": "konnected"
}
```


### Fields:

* "platform": Must always be "konnected" (required)
* "name": Can be anything (required)
* "ip": This should be auto-detected, but you can manually point homebridge to another address (required)
* "id": This should be auto-detected, but you can manually point homebridge to another id (required)
* "zones": TBD
* "noonlight": TBD
* <details><summary>"logLevel": Adjust what gets reported in the logs <strong>(click to expand)</strong></summary><ul><li>0 = NO LOG ENTRIES</li><li>1 = ONLY ERRORS</li><li>2 = ONLY WARNINGS and ERRORS</li><li><strong>3 = GENERAL NOTICES, ERRORS and WARNINGS (default)</strong></li><li>4 = VERBOSE (everything including development output, this also generates a file `konnected-payload.json` with the payload details from the Konnected Alarm Panel in the same folder as the Homebridge config.json file)</li></ul></details>
* **"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)* Force panels to send zone state changes to an IPV4 address that represents this system on the network. *In some cases, your system may have multiple network adapters registered (eg. wifi, ethernet, etc.).*
* **"listenerPort"**: *(optional)* Force panels to send zone state changes to a specific listening port on this system (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.
* **"panels"**: An array of objects that represent the various panel details and features To associate different sensors and actuators a panel must eventually exist in this config section:
* **"name"** *(required)* The name of the specific panel.
* **"UUID"** *(required/auto-generated/readonly)* The unique identifier for the panel.
* **"zones"**: *(optional)* An array of objects that represent assigned zones on the panel:
* **"zoneNumber"**: Depending on the panel board, the following assignments are allowed:
* *V1/V2 Panel: 1 through 7 (7 is out or alarm).*
* *Pro Panel: 1 through 15 (13 is alarm1, 14 is out, and 15 is alarm2).*
* **"zoneType"**: any one of the following:
* "contact":
* "motion":
* "glass":
* "temperature"
* "temphumid"
* "water"
* "smoke"
* "siren" (actuator)
* "strobe" (actuator)
* "switch" (actuator)
* **"zoneLocation"**: (optional) Custom name for the zone's location.

# Troubleshooting

Expand All @@ -93,13 +135,3 @@ If you are updating from a Konnected Alarm Panel version or from non-Pro to Pro,

**WARNING:** If you delete the contents of the `~/.homebridge/persist` folder, your Homebridge and devices will become unresponsive and you will have to entirely re-pair the Homebridge bridge (remove and re-scan the QR-code for Homebridge and set up all of your accessories/devices again).

### Logging

The default setting for log entries is set to report critical errors, warnings about devices and notices about connecting to the Konnected Alarm Panel. Once you feel that your security system zones are being represented in HomeKit correctly you can choose to reduce the amount of information being output to the logs to save space or remove cruft while troubleshooting other Homebridge plugins.

Log behaviour can be changed by adding or modifying the "logLevel" field to the Konnected platform block in the Homebridge configuration file.

### Ignoring Zones

To ignore zones that you wish to hide in Homekit (e.g., a specific sensor), simply add ```"ignore": true``` to each zone's section in the config. If the hidden zone(s) still exist in Homekit (or vice-versa they still don't show up after un-ignoring them), then you may be required to delete the `~/.homebridge/accessories/cachedAccessories` file as they may still be stored in the cache within Homebridge.

0 comments on commit d6cf837

Please sign in to comment.