snowdd1 / homebridge-knx Goto Github PK
View Code? Open in Web Editor NEWKNX platform shim for homebridge
Home Page: https://github.com/nfarina/homebridge
License: GNU General Public License v2.0
KNX platform shim for homebridge
Home Page: https://github.com/nfarina/homebridge
License: GNU General Public License v2.0
will be closed in a second
Multi-line code, or error traces, etc. that should be formatted as fixed-width text, are to be enclosed in three back-ticks:
```
my code here
^ something happened.
```
If you want to get color coding for a specific code language, you can name it after the back ticks:
```json
{
"object": {
"number":5
}
}
```
```javascript
if (number) {
console.log('Hooray, number exists! ' + number);
}
```
```shell
$ DEBUG=* ./bin/homebridge -U /var/homebridge -D
```
If in doubt, click on the little Styling with markdown is supported
link at the bottom. You get more help from people that can read your code issue!
Thanks!
I'm seeing some strange behavior on homebridge-knx plugin which might not be related to the plugin itself, but knxd. Nevertheless, let me try to pin it down.
I have a typical setup with a Pi 3 running homebridge, homebridge-knx and knxd. Knxd is in router mode directed towards a KNX gateway, which translates to the physical bus.
What I'm seeing is perfect operation, but just on one telegram commands, i.e. if I press the light/blind button, it works flawlessly. Same goes for single Siri commands like 'Turn on ceiling light in the living room'.
Any multi telegram command (like a scene defined in HomeKit/Home app in iOS 10) or a Siri command like 'Turn of living room lights' results in telegram loss. Roughly half telegrams arrive to the bus, sporadically. If I repeat the same command, there might be different commands which will make it to the bus.
I can monitor the bus on the Pi and/or ETS. They check out. Both monitors show the same thing. I also monitor commands coming from the homebridge-knx plugin. Homebridge/homebridge-knx sends the appropriate stuff, but they just do not appear on the bus.
Is there a way to delay multiple burst commands in homebridge-knx and/or is it a knxd issue? Anyone having a similar issue?
Dear intrepid hackers,
those of you who are without fear might now check out the plugin-2.0
branch at https://github.com/snowdd1/homebridge-knx/tree/plugin-2.0
It's guaranteed to be full of stupid error, coding mistakes, and anti patterns.
And of course, undocumented to the possible extend, too.
Feedback is welcome!
Hallo,
is anybody using the window covering with the gira actor
{
"name": "rolladen arbeitszimmer",
"services": [
{
"CurrentPosition": {
"Listen": "4/2/8R"
},
"Targetposition": {
"Set": "4/2/9R"
},
"name": "rolladen arbeitszimmer",
"type": "WindowCovering"
}
]
},
I get back the position but cannot move them up or down
with the gira app it works.
Short (Kurzzeitbetrieb) 4/2/7
Long (Langzeitbetrieb) 4/2/6
Pos 4/2/9
Feedback (Rückmeldung) 4/2/8
Thanks
Peter
I am in the process of integrating a quite large KNX system in our home with Homekit using homebridge, and I am having issues with the status feedback.
It happens when you change the status of anything (light, temperature, lux) from the physical KNX system, and the Homekit has to follow the status.
After some testing, I narrowed it down that all GA's work inclusive of all GA's in 9/x/x work, but all groups presumeably 10/0/0 or higher will not provide any feedback. (Lowest I tested was 10/1/101).
I see the KNX data coming in in the busmonitor of homebridge, so I am sure the network relays the status message to homebridge. But it is not sent to HomeKit so it seems.
First: great work for the new homebridge-knx version.
U use the ios10 home app.
When opening or closing a garagedoor my TargetDoorState and CurrentDoorState works perfect.
But when i open of close my garagedoor by KNX, the groupaddress for CurrentDoorState is updated, but my home app displayed: opening or closing. But i only use 0 or 1:
Characteristic.CurrentDoorState.OPEN = 0;
Characteristic.CurrentDoorState.CLOSED = 1;
"ServiceType": "GarageDoorOpener",
"ServiceName": "Garagedeur",
"Characteristics": [
{
"Type": "TargetDoorState",
"Set": [
"10/2/1"
]
},
{
"Type": "CurrentDoorState",
"Listen": [
"10/2/2"
]
}
],
"KNXReadRequests": [
"10/2/2"
],
See German issue snowdd1/homebridge-knx-de#25
Ich versuche gerade mal eine Zuordnung aus der Konfiguration HomeKit zu den Elementen aus meiner ETS zu machen:
ETS/KNX | Geraet | Wert | Homekit | Spec | Typ |
---|---|---|---|---|---|
Schaltaktor | Rollladen | Langzeitbetrieb | WindowCovering | ||
Kurzzeitbetrieb | |||||
Rückmeldung Rolladenposition | Target | Listen | |||
Rückmeldung Antriebsbewegung | |||||
Position Rolladen/Markise | Target | Set | |||
Schaltaktor | Steckdose | Schalten | Outlet / Switch ??? | On | Set |
Rückmeldung Schalten | |||||
Dimmaktor | Lampe | Schalten | Lightbulb | On | Set |
Dimmen | Brightness | Set | |||
Helligkeitswert | |||||
Rückmeldung Schalten | On | Listen | |||
Rückmeldung Helligkeitswert | Brightness | Listen | |||
Ist-Temperatur | TemperatureSensor | CurrentTemperature | Listen | ||
Soll-Temperatur |
Das ganze erstmal auf Deutsch, da meine ETS auf Deutsch ist, aber ich kann auch versuchen daraus eine englische Fassung zu machen, falls das interessant ist und das dann ins WIKI einzutragen.
Peter
I had a working homebridge yesterday. (latest release for homebridge and homebridge-knx).
After shutdown my pi this night, my homebridge isn't found after reboot this morning.
So i shutdown the homebridge service
deleted the persist and cachedAccessories data
Start the homebridge again
The Accessory 'Homebridge" shows up ok, when i click it i get the warning message "This accessory is not certified and may not work reliably with HomeKit" selected add anyway ... and manually entered the 8 digit code which eventually results in the message "Couldn't add Homebridge / Home couldn't connect to this accessory"
Whats wrong? i get no errors in my log and the service is up.
I like to add a switching outlet for my Fountain, So i can set my fountain on/off and get the current state of the fountain.
But then i receive: [KNX] [ERROR] unknown 'type' property of [Outlet] for service [Test] in config.json.
{
"accessory_type": "knxdevice",
"description": "Only generic type knxdevice is supported, all previous knx types have been merged into that.",
"name": "Test",
"services": [
{
"type": "Outlet",
"description": "iOS8 Lightbulb type, supports On (Switch) and Brightness",
"name": "Test",
"On": {
"Set": "9/1/9"
},
"OutletInUse": {
"Listen": ["9/2/9"]
}
}
],
"services-description": "Services is an array, you CAN have multiple service types in one accessory, though it is not fully supported in many iOS HK apps, such as EVE and myTouchHome"
},
I have added a switch to turn a device on/off and get the current state, but when i startup homebridge my switch turns on and sends 1 on the knx bus to groupaddress 9/1/9, how to prevent values are send on startup?
{
"accessory_type": "knxdevice",
"description": "Only generic type knxdevice is supported, all previous knx types have been merged into that.",
"name": "Test",
"services": [
{
"type": "Switch",
"description": "iOS8 Lightbulb type, supports On (Switch) and Brightness",
"name": "Test",
"On": {
"Set": "9/1/9",
"Listen": ["9/2/9"]
}
}
],
"services-description": "Services is an array, you CAN have multiple service types in one accessory, though it is not fully supported in many iOS HK apps, such as EVE and myTouchHome"
},
Currently all configuration is stored in the global config.json of homebridge.
This is getting a bit messy if other plugins besides homebridge-knx are installed an need configuration.
I added a door opener, with the dutch name Hek (gate).
When i say: Doe het hek open (open the gate), it works
When i say: Doe het hek dicht (close the gate), it doesn't work and siri says: can't find devices
I have the same device for my garage deur (door) and this works great.
Here my device:
{ "accessory_type": "knxdevice", "description": "sample garage door opener", "name": "Hek", "services": [ { "type": "GarageDoorOpener", "name": "Hek", "CurrentDoorState": { "Listen": ["5/0/3"] }, "TargetDoorState": { "Set": "5/0/2" } } ] }
hi,
I have now my first own handler for a SecuritySystem created.
After I fixed some missing } in my ABBSecuritySystem.js homebridge is parsing it without any more errors
But then I got this error trace below:
I used the line
var log = require('debug')('ABBSecuritySystem');
like in your example.
could it be that the debug module is missing in the branch?
BR
misc2000
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] homebridge event didFinishLaunching
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] Configuration starts
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] We think homebridge has restored 1 accessories.
[2016-10-15 15:08:56] [homebridge-knx.KNX] Reading from config: Device/Accessory 1 of 2
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] Match device [Einbruchmeldezentrale alpha]
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] --compare----------------
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] Comparing 8fde8cf2-c8cb-456a-a6e6-b734e8924dfe === undefined ==>false
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] -----none----------return-undefined--
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] New accessory found: Einbruchmeldezentrale alpha
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] Created new platformAccessory instance: Einbruchmeldezentrale alpha
[2016-10-15 15:08:56] [homebridge-knx.KNX] Preparing Services: 1
[2016-10-15 15:08:56] [homebridge-knx.KNX] Preparing Service: #0 with name [Alarmanlage] of ServiceType [SecuritySystem]
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] Service constructor called
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] ServiceType defined
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] ServiceType known as function
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] ServiceType has characteristics
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] Creating new subtype ID
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] Did not find restored service for: Alarmanlage
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] Created service: Alarmanlage
[2016-10-15 15:08:56] [homebridge-knx.KNX] info [INFO] customServiceAPI.constructor(service, ABBSecuritySystem)
module.js:339
throw err;
^
Error: Cannot find module 'debug'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object. (/usr/local/lib/node_modules/homebridge-knx/lib/addins/ABBSecuritySystem.js:10:11)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at new require (module.js:385:17)
I have a working Homebridge to KNX connection, set and listen knx commands works.
But after some time (+- 1 minute) the listen commands stops working and no received commands are handled.
If i restart homebridge it works again for some time.
"platforms": [
{
"platform": "KNX",
"name": "KNX",
"knxd_ip": "127.0.0.1",
"knxd_port": 6720,
"accessories": [
{
"accessory_type": "knxdevice",
"description": "Only generic type knxdevice is supported, all previous knx types have been merged into that.",
"name": "Tafel lamp",
"services": [
{
"type": "Lightbulb",
"description": "iOS8 Lightbulb type, supports On (Switch) and Brightness",
"name": "Tafel lamp",
"On": {
"Set": "2/1/2",
"Listen": [
"2/4/2"
]
},
"Brightness": {
"Set": "2/3/2",
"Listen": [
"2/5/2"
]
}
}
],
"services-description": "Services is an array, you CAN have multiple service types in one accessory, though it is not fully supported in many iOS HK apps, such as EVE and myTouchHome"
}
]
}
],
Recently moved to my new home with a full KNX setup being 50 accessories in HomeKit.
All my switching or dimming components are MDT units. I have VMware workstation with Ubuntu and Homebridge installed on a laptop (home-server will be installed within a couple of weeks). Wireless network is based on 2 Meraki MR18's.
Recently I have noticed some problems with HomeKit:
"No accessories responding" and the Homebridge states "the accessory is not responding".
Homebridge service is running and no errors:
When I restart Homebridge everythings works fine (for a while). Haven't restarted my service yet, I want to leave it like this to enable troubleshooting.
kann man nun hier finden: https://github.com/snowdd1/homebridge-knx-de/issues
I received an error when i start homebridge.
I have a running local knxd connected to a knx gateway at 192.168.2.6 with the following opts:
KNXD_OPTS="-u -b ipt:192.168.2.6"
My log:
pi@homekit ~ $ homebridge
Homebridge is running on port 51826.
events.js:141
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::51826
This is caused by an invalid knxd/eibd IP or port configuration.
If you encounter this message, homebridge-knx (which uses the eibd node module for communication with the bus) cannot establish a connection to your knxd or eibd server.
Please check IP-address and port number in config.json
hi,
I have a problem with my implementation of the my Handler for HK SecuritySystem
I can see and trace the status in the HOME app of my iPhone if a change the state of the Device from the KNX side.
But if I change the State of the SecuritySystem from the HOME App this should result in a changed "SecuritySystemTargetState" {1...4} but the onHKValueChange Section of my Handler is never executed. Even not when I reduce it to a log line only :-(
ABBSecuritySystem.js:
...
onHKValueChange(field, oldValue, newValue) {
console.log('INFO: on HK Value Change (' + field + ", "+ oldValue + ", "+ newValue + ")");
if (field==="SecuritySystemTargetState") {
console.log('SecuritySystemTargetState (' + oldValue + ", "+ newValue + ")");
// The value property of SecuritySystemTargetState must be one of the following:
// Characteristic.SecuritySystemTargetState.STAY_ARM = 0;
// Characteristic.SecuritySystemTargetState.AWAY_ARM = 1;
// Characteristic.SecuritySystemTargetState.NIGHT_ARM = 2;
// Characteristic.SecuritySystemTargetState.DISARM = 3;
}
} // onHKValueChange
...
knx_config.json:
....
"Devices": [
{
"DeviceName": "Einbruchmeldezentrale alpha",
"Services": [
{
"ServiceType": "SecuritySystem",
"Handler": "ABBSecuritySystem",
"ServiceName": "Alarmanlage Alpha",
"Characteristics": [
{
"Type": "SecuritySystemCurrentState"
},
{
"Type": "SecuritySystemTargetState"
}
]
...
I am new to all of this (homebridge, github...)
I have homebridge and knx working with all the lights in my house and I'm trying to make it work with the blinds that can go up and down and also tilt.
When using a WindowCoveringTilt like this in my knx_config.json:
"ServiceType": "WindowCovering",
"Handler": "WindowCoveringTilt",
"ServiceName": "kitchen",
"Characteristics": [
...
I get the following error:
Error: Cannot find module './addins/WindowCoveringTilt.js'
I installed homebridge-knx 0.3.2
On github I can see the file WindowCoveringTilt.js on the master branch and not on 0.3.2 tag. Is it normal?
What can I do to install WindowCoveringTilt?
This is not an issue... Is more an improvement to facilitate testing.
As far as I've been reading at the end many people end installing homebridge (plus plugins) on a raspberry and therefore we all have the same hardware.
Would it be possible to upload *.img files with knxd +homebridge+homebridge-knx?
Instead of editing a JSON file directly, it would be nice if the user could do the configuration with a web based tool that has templates for the supported services and characteristics.
Dear all,
I have identified a problem with the conn_sep
branch of knxd. In this branch, one function does not work as expected, and as a result homebridge-knx
cannot listen on the bus for changes.
For the time being, I recommend using the master
branch of knxd.
Might be possible with .knxproj file:
See link (German)
https://knx-user-forum.de/forum/öffentlicher-bereich/knx-eib-forum/15914-ets4-export#post15914
Group addresses are currently validated against
a/b/c with
0<=a<=31
0<=b<=7
0<=c<=255
but part a must only have 4 bits, not 5; so a<=15
Thanks for @ChrisSthler for mentioning it in snowdd1/homebridge-knx-de#26 (comment)
hi,
when I modify the services of a device in the knx_config.json and for example remove a services this service will still show up even when you restart homebridge for ever. Also after x modifications.
As work around you need to delete this file
accessories/cachedAccessories
or / or files in persist folder
by hand during homebridge is stoped.
I think this should not be the case...
Regression: Overriding of homeKit's default value ranges is required also in v0.3
Hello Raoul,
i have a door with an automatic lock. Currently i have it on a knx which uses a data type 1.017 (Auslöser). It just sends an 1 to the knx address and then opens the door. What would you use to achieve the same on home bridge.
Cheers
Peter
hi,
I am on the way to implement a own handler for my 2 garage door openers.
Unfortunately I did only install one "Reed" sensor on the doors that detect if the door is closed from the hardware side.I can use this to detect the start of the movement and set "Characteristic.CurrentDoorState.OPENING = 2"
But to implement it "the Apple way" you also need on signal when the door is complete open.
My door need 18 seconds to open. And I need to send a "Characteristic.CurrentDoorState.OPEN = 0"
after that 18 seconds.
My idea was to simulate this signal by software inside my own Homebridge-KNX garage door Handler.
Just start a 18 second timer when the door starts to open (value change on the existing HW sensor)
And if the timer is over, and no interrupt/stop command was detected during the timer run, send the "open" value to the HK device.
Because I am not a Java Script expert at all my question is how could I implement this?
I think a easy
yield WaitForSeconds (18);
would not work because it will block everything in the handler for 18s.
My idea was more like:
function function1() {
// stuff you want to happen right away
console.log('All stuff needed when door start to open');
}
function function2() {
// all the stuff you want to happen after that pause
console.log('All stuff needed when door is complete open');
}
// call the first chunk of code right away
function1();
// call the rest of the code and have it execute after 18 seconds
setTimeout(function2, 18000);
Do this approach work in java script and also in your handler framework?
And if yes can someone give me a hint how to implement it (where to declare the functions)?
And how to interrupt the time if needed?
Thanks
If I try to run homebridge I get 0 accessories found:
`pi@raspberrypi:~/.homebridge $ homebridge
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister
[3/13/2016, 3:12:39 PM] Loaded plugin: homebridge-knx
[3/13/2016, 3:12:39 PM] Registering platform 'homebridge-knx.KNX'
[3/13/2016, 3:12:39 PM] ---
[3/13/2016, 3:12:39 PM] Loaded config.json with 0 accessories and 1 platforms.
[3/13/2016, 3:12:39 PM] ---
[3/13/2016, 3:12:39 PM] Loading 1 platforms...
[3/13/2016, 3:12:39 PM] [KNX] Initializing KNX platform...
[3/13/2016, 3:12:39 PM] [KNX] Fetching KNX devices.
[3/13/2016, 3:12:39 PM] [KNX] returning 0 accessories
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
┌────────────┐
│ 031-45-154 │
└────────────┘
[3/13/2016, 3:12:39 PM] Homebridge is running on port 51826.`
And I'm running knxd this way:
pi@raspberrypi:~ $ sudo knxd --eibaddr=0.0.100:6720 --error=1 --listen-local=/var/run/knxd --pid-file=/var/run/knxd.pid --layer2=usb:1:4 W00000020: EIBD should not run as root
I'm also providing the config.json:
`{
"bridge": {
"name": "Homebridge",
"username": "CA:22:3E:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"platforms": [
{
"platform": "KNX",
"name": "KNX",
"knxd_ip": “0.0.100”,
"knxd_port": 6720,
"knxd_do_not_read_set_groups": true,
"hint_knxd_do_not_read_set_groups": "true if homebridge must not send read requests to Set addresses",
"accessories": [
{
"description": "sample device with multiple services. Multiple services of different types are widely supported",
"name": "Office",
"services": [
{
"type": "Lightbulb",
"name": "Office Lamp",
"On": {
"Set": "1/3/5"
}
}
]
}
],
"accessories": [
]
}
]
}`
I don't know what I'm doing wrong, I have a "TheBen" USB to KNX interface.
Thanks for the help.
When I activate a scene when all lights are out homebridge-knx sends out the dimming value first and then the ON command.
The result is that the scene gets "greyed out" almost immediately after starting because the dimming value is not according to the scene since it loads the previous dimming value from when the lamp was turned off.
Just found out by accident that using more then one Set
addresses results in an exception if triggered, as each GA is tried to set and then a "completed" callback to homebridge is called, which fails if called more than once.
Have to debug.
Until then, please use one Set
per characteristic only
Hello,
I get some strange race condition, I have two lightbulbs:
config
"services":[
{
"type":"Lightbulb",
"name":"Küche",
"On":{
"Set":"0/0/3",
"Listen":[
"0/2/3"
]
},
"Brightness":{
"Set":"0/7/1",
"Listen":[
"0/2/3"
]
}
},
{
"type":"Lightbulb",
"name":"Wohnzimmer",
"On":{
"Set":"0/0/2",
"Listen":[
"0/2/2"
]
},
"Brightness":{
"Set":"0/7/0",
"Listen":[
"0/2/2"
]
}
}
Both should behave the same way, but "Küche" doesn't work, if I set "Küche" to 15% for example, it just switches to 100%.
So i debugged the issue and found the error using Busmonitor in ETS:
As you can see, set and on is in the wrong order, but why?
Thx,
Patrick
homebridge-knx 0.2.6 doesn't work with homebridge 0.3.0.
ERROR LOADING PLUGIN homebridge-knx:
Error: Plugin /usr/local/lib/node_modules/homebridge-knx requires a HomeBridge version of ^0.2.0 which does not satisfy the current HomeBridge version of 0.3.0. You may need to upgrade your installation of HomeBridge.
kind regards,
Marcus
Is it possible to add more then one bridge?
So i can add the bridge to a different home.
Hi,
I recognised that the "reverse" keyword does not change the behaviour of my LockMechanism. The door shows open when closed and the other way around. I tried both of the following configurations. What am I doing wrong?
"ServiceType": "LockMechanism",
"ServiceName": "Tür Wohnzimmer",
"Characteristics": [
{
"Type": "LockCurrentState",
"Listen": [
"3/1/4"
]
},
{
"Type": "LockTargetState",
"Listen": [
"3/1/4"
]
}
]
},
and this
{
"ServiceType": "LockMechanism",
"ServiceName": "Tür Wohnzimmer",
"Characteristics": [
{
"Type": "LockCurrentState",
"Listen": [
"3/1/4"
],
"Reverse": true
},
{
"Type": "LockTargetState",
"Listen": [
"3/1/4"
],
"Reverse": true
}
]
},
The Lock did not change its status.
There have been reported incompatibilities between homebridge <0.3 and iOD 9.3
To keep your scenes, room assignments etc. intact, update homebridge before updating iOS.
Hi all, I can't get homebridge to work.
I have a RPi, installed homebridge with homebridge-knx plugin and running knxd on it connected to a knx ip gateway (LogicMachine4) at 192.168.10.7 with the following opts:
KNXD_OPTS="-e 1.1.249 -b ip:192.168.10.7"
Homebridge starts, but I don't see it on iPhone. If i delete all knx staff from config.json, it become visible on iPhone and works well.
My log:
pi@raspberrypi:~ $ homebridge
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
[2016-06-29 21:27:50] Loaded plugin: homebridge-knx
[2016-06-29 21:27:51] Registering platform 'homebridge-knx.KNX'
[2016-06-29 21:27:51] ---
[2016-06-29 21:27:51] Loaded config.json with 0 accessories and 1 platforms.
[2016-06-29 21:27:51] ---
[2016-06-29 21:27:51] Loading 1 platforms...
[2016-06-29 21:27:51] [KNX] Initializing KNX platform...
[2016-06-29 21:27:51] [KNX] Fetching KNX devices.
[2016-06-29 21:27:51] [KNX] parsing acc 0 of 1
[2016-06-29 21:27:51] [KNX] push new device Light
[2016-06-29 21:27:51] [KNX] Accessory constructor called
[2016-06-29 21:27:51] [KNX] created Light accessory
[2016-06-29 21:27:51] [KNX] returning 1 accessories
[2016-06-29 21:27:51] [KNX] Initializing platform accessory 'Light'...
[2016-06-29 21:27:51] [KNX] Preparing Services: 1
[2016-06-29 21:27:51] [KNX] Preparing Service: 0 of type Lightbulb
[2016-06-29 21:27:51] [KNX] [Light]:Lightbulb on/off characteristic enabled
[2016-06-29 21:27:51] [KNX] knx registering BOOLEAN 0/3/2
[2016-06-29 21:27:51] [KNX] [Light]:[On]: Issuing read requests on the KNX bus...
[2016-06-29 21:27:51] [KNX] [knxdevice:knxread] preparing knx request for 0/3/2
[2016-06-29 21:27:51] [KNX] [Light]:Lightbulb Brightness characteristic enabled
[2016-06-29 21:27:51] [KNX] knx registering PERCENT 0/4/2
[2016-06-29 21:27:51] [KNX] [Light]:[Brightness]: Issuing read requests on the KNX bus...
[2016-06-29 21:27:51] [KNX] [knxdevice:knxread] preparing knx request for 0/4/2
>>> knxd groupsocketlisten starting <<<
[2016-06-29 21:27:52] Loading 0 accessories...
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
┌────────────┐
│ 123-45-678 │
└────────────┘
[2016-06-29 21:27:52] Homebridge is running on port 51826.
Server running at: http://raspberrypi:3000
[2016-06-29 21:27:53] [KNX] [knxdevice:knxread] knx request sent for 0/3/2
[2016-06-29 21:27:53] [KNX] [knxdevice:knxread] knx request sent for 0/4/2
My config.json:
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "123-45-678"
},
"description": "This is an example configuration file for KNX platform shim",
"hint": "Always paste into jsonlint.com validation page before starting your homebridge, saves a lot of frustration",
"hint2": "Replace all group addresses by current addresses of your installation, these are arbitrary examples!",
"hint3": "For valid services and their characteristics have a look at the KNX.md file in folder platforms!",
"hint99": "Everything that is named description or hint is not used by homebridge but decriptive only, you may change or remove at will",
"platforms": [{
"platform": "KNX",
"name": "KNX",
"knxd_ip": "127.0.0.1",
"knxd_port": 6720,
"knxd_do_not_read_set_groups": true,
"hint_knxd_do_not_read_set_groups": "true if homebridge must not send read requests to Set addresses",
"accessories": [{
"description": "Only generic type knxdevice is supported, all previous knx types have been merged into that.",
"name": "Light",
"services": [{
"type": "Lightbulb",
"description": "iOS8 Lightbulb type, supports On (Switch) and Brightness",
"name": "Cabinet light",
"On": {
"Set": "0/0/2",
"Listen": ["0/3/2"]
},
"Brightness": {
"Set": "0/2/2",
"Listen": ["0/4/2"]
}
}]
}]
}],
"accessories": [
]
}
If you are getting this
SyntaxError: /app/available_modules/node-0.12/hapi/1447522751205-11.1.1/hapi/lib/index.js:5 const Server = require('./server'); ^^^^^ Use of const in strict mode.
you are using a node version to which the sub module 'hapi' is incompatible. Please use the latest stable version. As of writing this, it's about 4.2.2.
Hi!
I'm running homebridge-knx on a Raspberry Pi 3 and I configured a "Lightbulb" with an On and a Brightness parameter.
The accessory configuration:
{
"type": "Lightbulb",
"description": "iOS8 Lightbulb type, supports On (Switch) and Brightness",
"name": "Wo DL rechts",
"On": {
"Set": "6/0/13",
"Listen": ["6/0/13"]
},
"Brightness": {
"Set": "6/0/15",
"Listen": ["6/0/15"]
}
}
I connect to homebridge with an iPhone 6s via HomeKit. I can now switch on and off the light and I can set the brightness. BUT:
When I switch on the light, the value is set to 100%. This is not really what I want, because my dimming device (the actual hardware) is configured to set the value to the value when I switched it off the last time. This is now overwritten by the HomeKit/Homebridge-knx combo.
When I start homebridge in Debug mode I can see this when I switch on the light:
[10/19/2016, 4:12:58 PM] [KNX] knx data sent: Value 1 for GA 6/0/13
[10/19/2016, 4:12:58 PM] [KNX] knx data sent: Value 255 for GA 6/0/15
So here we see the problem. Immediately after switching ON the the device with "1" the Brightness is set to 255 (100%).
On the other hand, when I switch off the light, this is log output.
[10/19/2016, 4:15:11 PM] [KNX] knx data sent: Value 0 for GA 6/0/13
Fine. It is simply switched off (without setting the Brightness value to 0%). This is what I want.
It would be great that when I switch on the light, it is just switched on without setting the Brightness.
I don't exactly know where the problem comes from. If it is the iPhone that sends the command, or the HAP-Server (which is used by the homebridge module), or if it is the homebridge module itself or if its done by the homebridge-knx module.
Is this possible if I change the configuration?
The value for "TargetDoorState" should be "Set" not "Listen" (Correct?)
Would be nice to have the mA and kWh measurement added to outlets in Homekit.
Hi, Raoul!
Please, tell me, which version of knxd server is more stable and better to use?
Thank YOU
Is it possible to do a data conversion on the fly?
I have a knx garagedoor DPT1:
0 = closed
1 = open
But the default is DPT5:
0 = open
1 = closed
when i add a "R" after the address, the data is converted to 255,254.. But i want 1 or 0.
{
"accessory_type": "knxdevice",
"description": "sample garage door opener",
"name": "Garagedeur",
"services": [
{
"type": "GarageDoorOpener",
"name": "Garagedeur",
"CurrentDoorState": {
"Listen": ["10/1/4"]
},
"TargetDoorState": {
"Set": "10/1/3"
}
}
]
}
I just tried the new version of home bridge and hap and home bridge-knx throws an error
Error: Plugin /usr/local/lib/node_modules/homebridge-knx requires a HomeBridge version of ^0.3.0 >which does not satisfy the current HomeBridge version of 0.4.1. You may need to upgrade your >installation of HomeBridge.
kind regards
Peter
Hi, i have one question about rgb light device
Please, tell me, how i can control rgb device? is it possible?
Thank you
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.