Niko Home Control

Thanks to Extric99 for showing me this owesom tool, and also to Mherwege for his code :raised_hands:

i want to ask
I stack on my switch light in homekit is showing up but when i switch on and switch off nothing happened. in papaer UI is everything working
i think problem is that i have on my niko installation names of switch with “space” (kitchen light)
i change in paper UI the name of my niko switch to name withou space “kitchenlight” as you need to have in home.items things like this
Switch Light_Test “Light Livingroom” [ “Lighting” ]
but not in my niko installaiton
do i need to change it also in my niko installaion??? name of switch to name without space ?


@Serrrano Spaces in the NHC switch names should not matter. If you look at the channel names in paperUI, you will see these channels don’t have spaces, but refer to the NHC id (if created with discovery), so no spaces there.
I don’t know about the Homekit integration part, as I do not use that myself.

Thanks a LOT
that was a point. my configuration need to be like this

Switch nikohomecontrol_onOff_440e00ee2c16_83_switch “Kitchen LED” [ “Lighting” ]
and everything is working

thanks for your hint i just copied channels ID from binding to home.items configuration

good job

@extric99 Do you have also rollershutter inyour configuration with apple homekit?

i have this in my home.items for roolershutter but withou success
Rollershutter nikohomecontrol_blind_440e00ee2c16_109_rollershutter “Terrace right” [ “Switchable” ]

i cant move up or down… in paper UI is everything OK

guys have you any idea ? how to make it working ?

Rollershutter do not work in the standard binding for homekit 2.2. There is an alpha version which you can place in the addons folder but I have not managed to get it working. I need to try it on my test system. You can get it here.

I have it working since beowulf added it to homekit alpha. They only thing that doesn’t work is pausing the blinds when opening. It’s either fully open, or fully closed (i can pause it in the NHC app).

If i look at my config for the Dining Room Blinds, it looks like this in karaf :

openhab> items list
BlindsDiningRoom (Type=RollershutterItem, State=0, Label=Dining Room Blinds, Category=blinds, Tags=[Blinds], Groups=[gDiningRoom])
openhab> things list
nikohomecontrol:blind:440e00edf04e:2 (Type=Thing, Status=ONLINE, Label=BlindsDiningRoom, Bridge=nikohomecontrol:bridge:440e00edf04e)

My config files look like this :

Lothlorien:items$ cat homekit.items 
Rollershutter BlindsDiningRoom "Dining Room Blinds" <blinds> (gDiningRoom) [ "Blinds" ]

Hope that helps.


one question as i am a little bit lost. i have already placed the snapshot to the addons folder, but how can i verify that the snapshot is loaded?

i am already made a change to items file but nothing is showing up in apple homekit


i find i have last snapshot installed

201 │ Active │ 80 │ 2.2.0 │ Niko Home Control Binding
203 │ Active │ 80 │ 2.2.0 │ Xiaomi Mi Smart Home Binding
204 │ Active │ 80 │ 2.2.0 │ HomeKit Integration

but same like @extric99 not working even not showing in homekit app
Rollershutter nikohomecontrol_blind_440e00ee2c16_109_rollershutter “Terrace right” [ “Blinds” ]

I think problem is that i have not correctly loaded homekit integration 2.2.0
they do not know tags blinds
when i change tags in my home.items file from [ “Blinds” ] to switch or whatever it show up in homekit app.
but they do not wokring

@extric99 do you have same problem ?

You need to ensure you have the correct binding installed in the addons folder


In karaf ensure you uninstall the previous homekit binding

use bundle:list to find the original homekit addon , note the ID number
use bundle:uninstall ID_NUMBER to remove the original homekit addon

if you’ve added the homekit alpha to addons and you’re running openhab 2.2.0 it should be picked up during a restart

openhab> bundle:list
214 │ Active   │  80 │     │ HomeKit Integration

Please note the version number of HomeKit , if it is not Active , use bundle:start ID_NUMBER to start it. Please note the HomeKit alpha only works with openhab 2.2.0 and above.

If you’re still not seeing anything in the home app, and the bundle is installed and active, try resetting the pairing of HomeKit

smarthome:homekit clearPairings

This will allow you to repair the home app to openhab.

Edit: just to add i’ve been running this configuration since early January, it has been the most stable openhab config i’ve had. The HomeKit alpha also solves the clearPairings issue i’ve had where every time openhab was restarted, i would loose the iOS pairing. It also added a way to save your configuration which would often be lost after a restart.


Thanks for your hint. working. i had a problem with right on addons files. after changess all is working.

do you have a link to documentation which new tags was added ?


Good news. Since it’s alpha, i don’t believe documentation exists yet. The discussion was being held here

@Denethor @extric99

i am also trying to connect xiaomi temperature which working perfectly but i am unable to find which tags should i use for door contact
Contact WindowSwitch_Status “window” { channel=“mihome:sensor_magnet::isOpen” }

did you try any door contact ?

I have not. I have 4 magnetic contacts embedded on doors and windows, but i have not been able to get them to show up in NHC. I’ve also been unsuccessful in getting the Niko thermostat to show up.

and do you have the magnetic contacts showing up in apple home kit

i am transforming all my NHC to Apple home kit as i can manage my house with voice and also there is more flexibility to automate my house …
all things from NHC is working great except the blinds. as @extric99 wrote this time is impossible to stop the blinds during open or close prcess …

@Serrrano @Denethor
I am always open to extend the NHC binding and investigate issues with it. I don’t use Homekit, so do not mix Homekit into the setup, but try it all from paperUI.
I will need input from you. I don’t own rollershutters, thermostats or contacts directly connected to NHC.
First thing to do is turn on debug logging. In Karaf:
log:set DEBUG org.openhab.binding.nikohomecontrol
Then get me the full openhab.log at start of the binding and when anything is triggered from the NHC app.

  • For contacts:
    I should be able to get the info from the openhab.log the moment a contact or sensor is triggered. If I have this, I can add it to the binding.
  • For thermostats:
    I assume the thermostat will provide a value when the temperature changes. This should be visible in the logs. Get me all this and I should be able to make the thermostat status and room temperature available in openHAB. If you also want to be able to set the thermostat from openHAB, you will need to install the NHC app on a PC using an Android emulator (I used Andy) and run a wireshark when changing the thermostat settings from the app on the PC.
  • For rollershutters:
    I would expect to be able to stop the rollershutter going up or down from openHAB if you can do it from the NHC app. Again a wireshark would be helpful here if you do it from the app. Let me know how you defined the rollershutter in NHC (connected to what type of button) and openHAB and provide a openhab.log from the moment you try to stop a rollershutter in openHAB. I can then compare and see where the difference is.

Many thanks to you all for testing this and helping to improve this binding.

Thanks @Mherwege

as i had my rollershutter tested from Paper UI ale is working. up and down and also stopping .

this is not working only from Apple home kit bridge, only up and down
where can i start investigation where is a problem


@Serrrano Then it sounds like a problem with the homekit bridge, not the Niko Home Control binding. Best is to raise an issue on the corresponding github repository. Are you using @beowulfe ‘s alpha version for this? He may be zble to comment. I don’t use homekit myself.

I actually don’t have Stop implemented. HomeKit really wants to receive a “TargetPosition” rather than up/down/stop. In order to handle the Up/Down commands that come from a Rollershutter, I interpret them as position 0 or 100. If you instead send a command with an absolute position, that will be used as the target.

The protocol actually defines a HoldPosition characteristic, but it didn’t work in iOS 10. I haven’t checked in iOS 11 yet.