KNX platform shim for homebridge. This cannot run stand-alone in node!
Please also visit homebridge github homepage first.
Latest to homebridge-knx changes can be found in the CHANGELOG.md
This node module requires a running (and properly configured) knx daemon (knxd). You can find the latest version here.
I cannot support the knxd. Please address issues directly at the knxd issue pages. It might help to search the existing issues, as your problem might have been solved already.
- Install homebridge first, see there; nfarina recommends a global install as super user. It's a server tool, so we can safely assume that the person that installes it is sufficiently priviledged to do so.
sudo npm install -g homebridge
- then install this package to
<any>
directory you want; If you installed homebridge globally I recommend to do so with homebridge-knx:sudo npm install -g homebridge-knx
- configure homebridge and its plugins. You might start by copying the
KNX-sample-config.json
to a new folder.homebridge
in your user folder (on a default installation raspberry, it's/home/pi
) and rename it to config.json - Then put the configuration fileknx_config.json into
~/.homebridge
, and adapt them to your needs (knxd address and some test devices inknx_config.json
). You do not need aplatform
section inconfig.json
any more! - Eliminate everything (especially all group addresses) that might harm your KNX installation. Sending bus telegrams to your alarm device might wake the neighbourhood unpleasantly!
- when done, start homebridge with
homebridge
. If you have chosen a local install, go to the homebridge folder and do abin/homebridge --plugin-path <any>/homebridge-knx
with the path to the homebridge-knx installation.
Without using a special handler (add-in) for the service, homebridge-knx assumes the following:
HomeKit type | KNX addresses DPT |
---|---|
Boolean | DPT1 |
Integer | DPT5 |
Percentage | DPT5.001 |
Float | DPT9 |
See the complete Doc!.
Add-in (aka "handlers") can change the default behavior. See the article
Happy testing!
The new (well, 1/2016) API of homebridge allows homebridge to cache the accessories for platforms that can add or remove accessories during runtime. As a next step in evolution, homebridge-knx already connects to that API.
Allow homebridge-knx to start the webserver by adding "AllowWebserver":true,
at the beginning of your knx_config.json!
As a consequence remain devices, that homebridge-knx does not reconnnect to at start-up, stale and unreachable in HomeKit. To remove those shadows from HomeKit, use the little web server at <your-homebridge>:18081/list
. You might change the web server port with "WebserverPort":18082
or whatever port suits you.
Clicking on the delete from cache
link will only remove the devices from the current homebridge instance and their cache, not from the knx_config.json, that means they will be rediscovered upon next startup as new device in the default room!
If you have the webserver enabled (see above), you can get an auto-generated web-page with all the service types and their characteristics from homebridge. See the links at the bottom of your server's list page.
This is for debugging of your knx_config.json only. If you need homebridge to restart, you can use the setting "AllowKillHomebridge":true
in your knx_config.json (right on top where the knxd properties are).
You'll get a new link at the bottom of the page at <your-homebridge>:18081/list
that will homebridge-knx to throw an exception ("Committed_Suicide") which then causes homebridge to fail.
You should remove this setting after completing your knx_config.json for security reasons!