Nikobus binding not updating status in OH2

Hi, I installed the Nikobus binding and I can turn on and off items both via the switch way as well as via the button way.

But the issue I’m facing is the binding does not update the status of the items, neither when the scheduled status updates take place nor when a channelgroup item is switched. Also when a button is linked to a channel group the expected update after the button command is executed does not take place.

This means that when a light is turned on via a wall switch it is never detected by the scheduled updates, the status in OH remains OFF and when I switch on or off another light from that channel group the light that was turned on via the wall switch is turned off by the binding as OH didn’t know it was on.

I thought it was one specific module so configured another one and the same behavior. It makes the binding useless for me.

I checked and double checked my configs and log files and can’t find anything wrong, because the update commands are executed and the correct status is received from the Nikobus module (when looking at the 00 and FF positions) but OH doesn’t update the status of the items.

Does anyone else have the same problem? I’m wondering whether it could be due to OH2? So anyone else experiencing this in OH2?

Thanks in advance and FYI below the item config and the log files

Switch testnikobusaan {nikobus="#NBA03CF[09B9-1,09B9-2]"}
Switch testnikobusuit {nikobus="#NFA03CF[09B9-1,09B9-2]"}

Switch NB_S1_O1_lichtWC "WC" <light> {nikobus="09B9:1"}
Switch NB_S1_O2_lichtbadkamer "Badkamer" <light> {nikobus="09B9:2"}
Switch NB_S1_O3_lichtkeuken "Keuken" <light> {nikobus="09B9:3"}
Switch NB_S1_O4_raamtransparant {nikobus="09B9:4"}
Switch NB_S1_O5 {nikobus="09B9:5"}
Switch NB_S1_O6_lampjesdressoirbovenuit {nikobus="09B9:6"}
Switch NB_S1_O7_lichtgarage "Garage" <light> {nikobus="09B9:7"}
Switch NB_S1_O8_lichttraphal "Traphal" <light> {nikobus="09B9:8"}
Switch NB_S1_O9_lichtfitnesscentraal "Fitness" <light> {nikobus="09B9:9"}
Switch NB_S1_O10_lichtbureau "Bureau" <light> {nikobus="09B9:10"}
Switch NB_S1_O11_lichteetplaats "Eetplaats" <light> {nikobus="09B9:11"}
Switch NB_S1_O12_kastkinesis "Kast Kinesis" <light> {nikobus="09B9:12"}

Switch NB_S2_O1_lichtnisbed "Nis bed" <light> {nikobus="5521:1"}
Switch NB_S2_O2_lichtsterrenhemel "Sterrenhemel" <light> {nikobus="5521:2"}
Switch NB_S2_O3_lichtterras "Terras" <light> {nikobus="5521:3"}
Switch NB_S2_O4_lichtoversteektuin "Oversteek tuin" <light> {nikobus="5521:4"}
Switch NB_S2_O5_lichtoversteekvoor "Oversteek voor" <light> {nikobus="5521:5"}
Switch NB_S2_O6_lichtspotvoordeur "Spot voordeur" <light> {nikobus="5521:6"}
Switch NB_S2_O7_lichtledvoordeur "Led voordeur" <light> {nikobus="5521:7"}
Switch NB_S2_O8_lichtleddressing "Led dressing" <light> {nikobus="5521:8"}
Switch NB_S2_O9_lichtleddouche "Led douche" <light> {nikobus="5521:9"}
Switch NB_S2_O10_lichtkinesis "Kinesis" <light> {nikobus="5521:10"}
Switch NB_S2_O11_lichtwcboven "WC boven" <light> {nikobus="5521:11"}
Switch NB_S2_O12_lichtlavabo "Lavabo" <light> {nikobus="5521:12"}


Switch ClimaVentOn {nikobus="#N3103CF"}
Switch ClimaVentOff {nikobus="#NB103CF"}

Log file:
2016-10-26 08:25:18.594 [NikobusBinding ] - Requesting scheduled status update for 09B9
2016-10-26 08:25:18.600 [NikobusBinding ] - Sending command with ack $101709B98605FA
2016-10-26 08:25:18.610 [NikobusCommandSender ] - Sending command $101709B98605FA
2016-10-26 08:25:18.612 [NikobusInterface ] - Sending : $101709B98605FA
2016-10-26 08:25:18.634 [NikobusInterface ] - Received: $
2016-10-26 08:25:18.660 [NikobusInterface ] - Received: 0517
2016-10-26 08:25:18.660 [NikobusCommandReceiver ] - Received NikobusCommand [command=$0517, repeats=1]
2016-10-26 08:25:18.662 [NikobusAckMonitor ] - Processing nikobus command $0517
2016-10-26 08:25:18.817 [NikobusInterface ] - Received: $
2016-10-26 08:25:18.842 [NikobusInterface ] - Received: 1C09B900FFFF0000FF00351
2016-10-26 08:25:18.866 [NikobusInterface ] - Received: 595
2016-10-26 08:25:18.866 [NikobusCommandReceiver ] - Received NikobusCommand [command=$1C09B900FFFF0000FF00351595, repeats=1]
2016-10-26 08:25:18.868 [NikobusAckMonitor ] - Processing nikobus command $1C09B900FFFF0000FF00351595
2016-10-26 08:25:18.870 [NikobusAckMonitor ] - Received expected ack '$1C09B900FFFF0000FF00351595’
2016-10-26 08:28:18.594 [NikobusBinding ] - Requesting scheduled status update for 5521
2016-10-26 08:28:18.596 [NikobusBinding ] - Sending command with ack $1012552124961C
2016-10-26 08:28:18.598 [NikobusCommandSender ] - Sending command $1012552124961C
2016-10-26 08:28:18.600 [NikobusInterface ] - Sending : $1012552124961C
2016-10-26 08:28:18.622 [NikobusInterface ] - Received: $
2016-10-26 08:28:18.646 [NikobusInterface ] - Received: 0512
2016-10-26 08:28:18.646 [NikobusCommandReceiver ] - Received NikobusCommand [command=$0512, repeats=1]
2016-10-26 08:28:18.648 [NikobusAckMonitor ] - Processing nikobus command $0512
2016-10-26 08:28:18.808 [NikobusInterface ] - Received: $
2016-10-26 08:28:18.833 [NikobusInterface ] - Received: 1C552100FFFFFF0000001A910
2016-10-26 08:28:18.859 [NikobusInterface ] - Received: 1
2016-10-26 08:28:18.859 [NikobusCommandReceiver ] - Received NikobusCommand [command=$1C552100FFFFFF0000001A9101, repeats=1]
2016-10-26 08:28:18.861 [NikobusAckMonitor ] - Processing nikobus command $1C552100FFFFFF0000001A9101
2016-10-26 08:28:18.862 [NikobusAckMonitor ] - Received expected ack '$1C552100FFFFFF0000001A9101’
2016-10-26 08:31:18.594 [NikobusBinding ] - Requesting scheduled status update for 5521
2016-10-26 08:31:18.596 [NikobusBinding ] - Sending command with ack $10175521CF666C
2016-10-26 08:31:18.599 [NikobusCommandSender ] - Sending command $10175521CF666C
2016-10-26 08:31:18.601 [NikobusInterface ] - Sending : $10175521CF666C
2016-10-26 08:31:18.623 [NikobusInterface ] - Received: $
2016-10-26 08:31:18.646 [NikobusInterface ] - Received: 0517
2016-10-26 08:31:18.646 [NikobusCommandReceiver ] - Received NikobusCommand [command=$0517, repeats=1]
2016-10-26 08:31:18.648 [NikobusAckMonitor ] - Processing nikobus command $0517
2016-10-26 08:31:18.799 [NikobusInterface ] - Received: $1
2016-10-26 08:31:18.822 [NikobusInterface ] - Received: C55210000FFFF00FFFF5321
2016-10-26 08:31:18.846 [NikobusInterface ] - Received: FB
2016-10-26 08:31:18.846 [NikobusCommandReceiver ] - Received NikobusCommand [command=$1C55210000FFFF00FFFF5321FB, repeats=1]
2016-10-26 08:31:18.848 [NikobusAckMonitor ] - Processing nikobus command $1C55210000FFFF00FFFF5321FB
2016-10-26 08:31:18.850 [NikobusAckMonitor ] - Received expected ack '$1C55210000FFFF00FFFF5321FB’
2016-10-26 08:34:04.945 [NikobusBinding ] - Received command ON for item ClimaVentOn
2016-10-26 08:34:04.947 [Button ] - Processing command ON
2016-10-26 08:34:04.949 [NikobusBinding ] - Sending command without waiting for ack #N3103CF
2016-10-26 08:34:04.950 [NikobusBinding ] - Sending command without waiting for ack #E1
2016-10-26 08:34:04.951 [NikobusCommandSender ] - Sending command #N3103CF
2016-10-26 08:34:04.953 [NikobusInterface ] - Sending : #N3103CF
2016-10-26 08:34:05.021 [NikobusCommandSender ] - Sending command #E1
2016-10-26 08:34:05.023 [NikobusInterface ] - Sending : #E1
2016-10-26 08:34:18.594 [NikobusBinding ] - Requesting scheduled status update for 09B9
2016-10-26 08:34:18.595 [NikobusBinding ] - Sending command with ack $101209B96DF5D9
2016-10-26 08:34:18.598 [NikobusCommandSender ] - Sending command $101209B96DF5D9
2016-10-26 08:34:18.600 [NikobusInterface ] - Sending : $101209B96DF5D9
2016-10-26 08:34:18.623 [NikobusInterface ] - Received: $0
2016-10-26 08:34:18.647 [NikobusInterface ] - Received: 512
2016-10-26 08:34:18.647 [NikobusCommandReceiver ] - Received NikobusCommand [command=$0512, repeats=1]
2016-10-26 08:34:18.649 [NikobusAckMonitor ] - Processing nikobus command $0512
2016-10-26 08:34:18.799 [NikobusInterface ] - Received: $
2016-10-26 08:34:18.825 [NikobusInterface ] - Received: 1C09B900FFFFFF0000007D49
2016-10-26 08:34:18.850 [NikobusInterface ] - Received: DD
2016-10-26 08:34:18.850 [NikobusCommandReceiver ] - Received NikobusCommand [command=$1C09B900FFFFFF0000007D49DD, repeats=1]
2016-10-26 08:34:18.852 [NikobusAckMonitor ] - Processing nikobus command $1C09B900FFFFFF0000007D49DD
2016-10-26 08:34:18.853 [NikobusAckMonitor ] - Received expected ack ‘$1C09B900FFFFFF0000007D49DD’

Did you check the event log? Are you sure the items are not updated and then updated again?

I’m pretty sure as some of the items that should have been updated still have status NULL while others are with status OFF (checking with the REST API). So if they would have been updated and re-updated they would not remain with status NULL.

And in the event log there is no Nikobus event whatsoever for the scheduled updates.
For the button commands that have a channelgroup associated to them there is the actual button command when you press it but also there is no status update related to the check of the linked Nikobus module.

See log below (there are a few temperature lines in between but you can see the command received events and the actual status change of the switch of those 2 buttons but none of the module elements)

2016-10-26 15:15:57.148 [ItemCommandEvent ] - Item ‘testnikobusuit’ received command ON
2016-10-26 15:15:57.167 [ItemStateChangedEvent ] - testnikobusuit changed from OFF to ON
2016-10-26 15:16:00.109 [ItemStateChangedEvent ] - Session changed from 98942ace-e858-406f-a6bf-d5b811cd33be to b27aca63-1acd-43bf-ab3d-749ad9d45896
2016-10-26 15:16:02.671 [ItemCommandEvent ] - Item ‘testnikobusaan’ received command ON
2016-10-26 15:16:02.694 [ItemStateChangedEvent ] - testnikobusaan changed from OFF to ON
2016-10-26 15:16:03.853 [ItemStateChangedEvent ] - TempPoolCurrent changed from 13.1 to 13.0

@davy Davy,

I’m still trying to figure out what is wrong. I had a look at your code, problem is I’m not familiar with java but I did notice something. Not sure whether it’s important or not.

When I change my config I get the removing command listener, binding item, Adding channel and registering command listener log messages, see some examples below.

I noticed in your code there is also a section that creates channel groups and generates following message in the log

Creating channel group {}

I don’t have any of these Creating channel group messages in my log, should I be seeing these? My config defines 2 12 output switch modules.

Sample of the log file I do have

2016-10-27 08:49:21.007 [NikobusBinding ] - Removing command listener for item NB_S2_O7_lichtledvoordeur
2016-10-27 08:49:21.009 [NikobusBinding ] - Removing command listener for item NB_S1_O5
2016-10-27 08:49:21.010 [NikobusBinding ] - Removing command listener for item NB_S2_O10_lichtkinesis
2016-10-27 08:49:21.020 [obusGenericBindingProvider] - Binding item: NB_S1_O1_lichtWC with configuration 09B9:1
2016-10-27 08:49:21.022 [ModuleChannelGroup ] - Adding channel NB_S1_O1_lichtWC
2016-10-27 08:49:21.023 [NikobusBinding ] - Registering command listener for item NB_S1_O1_lichtWC
2016-10-27 08:49:21.025 [obusGenericBindingProvider] - Binding item: NB_S1_O2_lichtbadkamer with configuration 09B9:2
2016-10-27 08:49:21.027 [ModuleChannelGroup ] - Adding channel NB_S1_O2_lichtbadkamer
2016-10-27 08:49:21.028 [NikobusBinding ] - Registering command listener for item NB_S1_O2_lichtbadkamer
20

PS: added a dimming module today to test. Same problem here, the sliders work perfect but because the status is not updated it resets all other items of the channel group to the last state known by OK, which is not the correct one if you change something with a wall switch

Does anyone have the Nikobus binding correctly working (with scheduled updates) under OH2? Just trying to figure out whether the problem is my setup/config or OH2.
I’ll setup a 1.8 version this weekend to compare to see if problem still exists.

I installed OH 1.8.2 this morning and everything runs flawless, status gets updated properly.

So definitely something wrong in the Nikobus OH2 combination.

Does anyone else have the Nikobus binding installed in OH2 ? If so can you please drop a quick reply saying whether it works properly or not.

Thanks

Hi Rohnny,

Could you eventually make Nikobus work with OH2? I could make it work with OH2 beta4. However there are problems with cron-jobs in this version. Therefore I upgraded to a newer snapshot (#600) but just like you I noticed that the feedback was not working anymore …

Tnx for you feedback …

Yes I did. I have to admit I don’t know what really solved it. I completely reinstalled OH2.0 and reduced the config and the bindings to the minimum (I used to have a weather binding and network health binding and a system info binding installed before as well).

I don’t have them reinstalled yet and after the fresh install I started with bare minimum of items and it works great now. Since that I have been building the config, adding dimmer and switch modules and Homekit and TCP binding and still works great.

So good news is it works great, but bad news I don’t really know what was conflicting so can’t tell you what solved it exactly.

I could make it work with openHAB 2.0 beta4. With the newer snapshots (#600 and higher) I can confirm that the feedback is not working anymore … Hope this can be fixed. Otherwise we won’t be able to use the next beta-version for Nikobus-based solutions …

Are you saying it did work for you in OH2 previously and stopped working after upgrade ?
Let’s compare versions. What command shall I use to see what version I’m on.

Indeed. In the last builds Nikobus doesn’t work anymore. I’m using Openhab on a Windows Intel NUC. You can see the version below the Openhab logo (Build 609). I have added a screenshot.

I’m still on build 560

I did a fresh install starting from scratch and indeed again status update issue. So there is definitely something wrong. The version I have after clean install is 2.0.0.b4 build #477 In this one it doesn’t even do the schedule status update request of the modules.

The one that works fine is 2.0.0-SNAPSHOT build #560

Not sure why my clean install is a b4 with lower build than the one I have running for some time

You can find the latest builds on https://openhab.ci.cloudbees.com/job/openHAB-Distribution/
Since the Nikobus binding hasn’t changed, I assume that a change in the Openhab core has caused the feedback-issues.
Unfortunately I have no clue how this can be solved. Maybe Davy can help here?
If we cannot solve the issue, then upgrading to newer OH versions (and all bugfixes) won’t be possible …

I have a working openhab2 installation, but also no update of status of lights after starting openhab2. In debug I have this information, but it seems a refresh never gets triggered (mine is put at each 30sec)

2017-06-11 22:19:16.771 [DEBUG] [ding.nikobus.internal.NikobusBinding] - Refresh service started. Will refresh a module every 600 seconds.
2017-06-11 22:19:16.780 [DEBUG] [org.openhab.binding.nikobus         ] - ServiceEvent REGISTERED - {org.eclipse.osgi.framework.console.CommandProvider}={component.name=Command Provider for Nikobus Binding, component.id=176, service.id=307, service.bundleid=187, service.scope=bundle} - org.openhab.binding.nikobus
2017-06-11 22:19:16.782 [DEBUG] [org.openhab.binding.nikobus         ] - BundleEvent STARTED - org.openhab.binding.nikobus
2017-06-11 22:19:16.798 [DEBUG] [ding.nikobus.internal.NikobusBinding] - Refresh service started. Will refresh a module every 30 seconds.

In trace not much more is shown. How can we log a Issue for this?

I experience the same. But after 10 min it does start updating, as if the first cycle is always 10 min no matter what. Then, the next cycle follows the timing as configured. Then, after a day or so, I suddenly receive ACK errors during the cycle which won’t stop until a raspberry reboot.

Seems that I have the same problem with openhab 2.1.0 #941 (running on my DS215j)…

In niko.items file
Switch lum_bureau_central {nikobus=“6743:11”}
(…)
Switch B_Bureau_HG “Bureau Central” {nikobus="#N86798A:SHORT[6743-2]"}

In fba.sitemap file… (just to test it)
(…)
Switch item=B_Bureau_HG icon=“big_bulb” mappings=[ON=“On”]
Switch item=lum_bureau_central icon=“big_bulb”
(…)

If I use the “Push Button” B_Bureau_HB …then, switch lum_bureau_central’s status is not synchronized with the NIKO module…

Is there a way we could get in touch with Davy? Who is currently maintaining this binding? It’s such a shame to see this awesome binding not work for syncing the state back :frowning: this binding is the main reason I’m with OpenHab.

What can we do? Who can we send reproduction plans and logs to?

Look if you see something like

2017-07-05 07:41:45.770 [NikobusCommandReceiver ] - Received NikobusCommand [command=#N86798A, repeats=2]
2017-07-05 07:41:45.774 [Button ] - Processing command #N86798A
2017-07-05 07:41:45.774 [NikobusBinding ] - Sending command with ack $1012FA29A8DEE1 (address will be different here)
2017-07-05 07:41:45.776 [NikobusBinding ] - Sending status update to B_Bureau_HG : ON

This will tell you whether OH at least captures your wall button. If not reboot and see if it recognizes the wall button.
I noticed that once you had an error of OH Nikobus not receiving the ack it breaks all feedback but also the recognition of wall and virtual buttons.

If the wall button is captured but the status is not updated it’s a different problem.
Look for error messages in your Nikobus log file.

Heej There,

Its a year later butt I have Nikobus with openhab and it works great butt I really need to fix the status update. I can not find anyone who solved the problem. Is the there someone who know the answer or no one wants to anymore?

Greetz