Danfoss Ally not working with Zigbee Binding

Hi all!

I’ve just bought a Danfoss Ally radiator valve that i’m trying to use with the OpenHAB Zigbee binding.
According to the packaging/manual the device is a Zigbee Certified Product.
The device is temporariy reported as being ONLINE but the channel values remain at NULL and some error messages are present in the Log.

  • OpenHABian 3.0.1
  • R-Pi 4B 4GB
  • SMaBiT (Bitron Video) ZigBee USBstick (recognized as Ember coordinator)

I was unable to propperly install the device through Discovery. It would report OFFLINE (HANDLER_INITIALIZING_ERROR): No supported clusters and show no Channels.

I then installed the valve using the “Install Code” published on the device.
Now it reports as ONLINE and shows the proper Channels.

However when i link Items to the Channels, their values remain at NULL.
Changes to the setpoint on via the turn knob on the physical device, do not reflect in the values of the Items.

I can set the Item state (e.g. Setpoint to 30°C), but this will not change the setpoint on the physical Device.

The antenna icon on the device display is OFF (not visible)
I can push the push button on the device and the antenna symbol starts blinking momentarily.

The error messages from Fronttail:
2021-02-08 19:25:19.055 [INFO ] [openhab.event.InboxAddedEvent ] - Discovery Result with UID ‘zigbee:device:01370A08:14b457fffed6356b’ has been added.

==> /var/log/openhab/openhab.log <==

2021-02-08 19:25:47.672 [WARN ] [zsmartsystems.zigbee.ZigBeeExecutors] - Uncaught exception in thread NotificationService-thread-30

java.lang.NullPointerException: null

	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.nodeUpdated(ZigBeeThingHandler.java:872) ~[?:?]

	at com.zsmartsystems.zigbee.ZigBeeNetworkManager$14.run(ZigBeeNetworkManager.java:1733) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]

	at java.lang.Thread.run(Thread.java:834) [?:?]

2021-02-08 19:25:53.282 [WARN ] [zsmartsystems.zigbee.ZigBeeExecutors] - Uncaught exception in thread NotificationService-thread-26

java.lang.NullPointerException: null

	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.nodeUpdated(ZigBeeThingHandler.java:872) ~[?:?]

	at com.zsmartsystems.zigbee.ZigBeeNetworkManager$14.run(ZigBeeNetworkManager.java:1733) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]

	at java.lang.Thread.run(Thread.java:834) [?:?]

2021-02-08 19:25:56.001 [WARN ] [zsmartsystems.zigbee.ZigBeeExecutors] - Uncaught exception in thread NotificationService-thread-29

java.lang.IllegalArgumentException: Provider for thing zigbee:device:01370A08:14b457fffed6356b cannot be determined because it is not known to the registry

	at org.openhab.core.thing.internal.ThingManagerImpl$1$1.run(ThingManagerImpl.java:261) ~[?:?]

	at org.openhab.core.thing.internal.ThingManagerImpl$1$1.run(ThingManagerImpl.java:1) ~[?:?]

	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]

	at org.openhab.core.thing.internal.ThingManagerImpl$1.thingUpdated(ThingManagerImpl.java:256) ~[?:?]

	at org.openhab.core.thing.binding.BaseThingHandler.updateProperties(BaseThingHandler.java:474) ~[?:?]

	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.nodeUpdated(ZigBeeThingHandler.java:874) ~[?:?]

	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.nodeAdded(ZigBeeThingHandler.java:815) ~[?:?]

	at com.zsmartsystems.zigbee.ZigBeeNetworkManager$14.run(ZigBeeNetworkManager.java:1731) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]

	at java.lang.Thread.run(Thread.java:834) [?:?]

2021-02-08 19:25:56.009 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 14B457FFFED6356B: Starting ZigBee device discovery

==> /var/log/openhab/events.log <==

2021-02-08 19:26:02.676 [INFO ] [openhab.event.InboxRemovedEvent     ] - Discovery Result with UID 'zigbee:device:01370A08:14b457fffed6356b' has been removed.

2021-02-08 19:26:02.691 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:device:01370A08:14b457fffed6356b' changed from UNINITIALIZED to INITIALIZING

2021-02-08 19:26:02.699 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:device:01370A08:14b457fffed6356b' changed from INITIALIZING to UNKNOWN

2021-02-08 19:27:59.988 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zigbee:device:01370A08:14b457fffed6356b' changed from UNKNOWN to ONLINE

4 Hours later, the device status changed to OFFLINE.

Could it be that the Binding is not (yet) compatible with this device?
Can i contribute, to make it work?

I have the same issue with the SetPoint channel the value remains null and nothing happened when I try to change the temperature via OH.

Does anybody have a solution?

First, we need to know the problem :wink:

Please provide full debug logs showing the issue, and possibly the XML file in the userdata folder for this device might be useful.

Also, please advise what coordinator you are using - including the firmware version.

Hey @chris,
Sorry took a bit longer to take care about the problem.
Seems the Danfoss Ally is going offline after some time and I am not sure if the device is unknown, because it is registered as generic zigbee device.

I am using a SMaBiT ‎40356494 Speedport W102 Stick with a Silicon Labs Ember 3587 radio module.

You will find the xml files attach and I will collect the logs and the firmware version asap.

zigbee files:
000D6F000DB9E46B.xml (1.7 KB)
84FD27FFFED41A75.xml (111.5 KB)

Hi @chris
I found already in the normal logs errors for Zigbee

2022-02-20 20:15:04.357 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.zigbee.ember.handler.EmberHandler.setGroupRegistration(EmberHandler.java:365) ~[?:?]
	at org.openhab.binding.zigbee.ember.handler.EmberHandler.initializeDongleSpecific(EmberHandler.java:120) ~[?:?]
	at org.openhab.binding.zigbee.handler.ZigBeeCoordinatorHandler.initialiseZigBee(ZigBeeCoordinatorHandler.java:551) ~[?:?]
	at org.openhab.binding.zigbee.handler.ZigBeeCoordinatorHandler.lambda$2(ZigBeeCoordinatorHandler.java:559) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2022-02-20 21:18:57.944 [ERROR] [ng.zigbee.handler.ZigBeeThingHandler] - null: Exception creating channels 
java.lang.NullPointerException: null
	at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[?:?]
	at com.zsmartsystems.zigbee.ZigBeeNetworkManager.getNode(ZigBeeNetworkManager.java:1648) ~[bundleFile:?]
	at org.openhab.binding.zigbee.handler.ZigBeeCoordinatorHandler.getNode(ZigBeeCoordinatorHandler.java:987) ~[bundleFile:?]
	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.createZigBeeChannelConverter(ZigBeeThingHandler.java:525) ~[bundleFile:?]
	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.initializeDevice(ZigBeeThingHandler.java:507) ~[bundleFile:?]
	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.doNodeInitialisation(ZigBeeThingHandler.java:377) [bundleFile:?]
	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler$1.call(ZigBeeThingHandler.java:227) [bundleFile:?]
	at org.openhab.binding.zigbee.handler.ZigBeeThingHandler$1.call(ZigBeeThingHandler.java:1) [bundleFile:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2022-02-20 21:20:11.230 [ERROR] [verter.ZigBeeConverterBatteryPercent] - 847127FFFEF2A421: Error 0xffff setting server binding

Complete Log:
openhab.log (35.9 KB)

Hey @chris,
Found another exception, when try to execute a command:

2022-02-22 08:17:50.195 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.zwave.handler.ZWaveThingHandler@1bbe759': null
java.lang.NullPointerException: null
	at org.openhab.binding.zwave.internal.converter.ZWaveThermostatSetpointConverter.receiveCommand(ZWaveThermostatSetpointConverter.java:148) ~[?:?]
	at org.openhab.binding.zwave.handler.ZWaveThingHandler.handleCommand(ZWaveThingHandler.java:1205) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
	at org.openhab.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [bundleFile:?]
	at com.sun.proxy.$Proxy198.handleCommand(Unknown Source) [?:?]
	at org.openhab.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:80) [bundleFile:?]
	at org.openhab.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:48) [bundleFile:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
	at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]

What version of the binding are you using, and what version of the firmware? Also, please provide full debug logs - the standard INFO level logging is nearly useless for debug purposes.

1 Like

From Danfoss Ally™ | Danfoss

Zigbee 3.0 certified

The firmvare in the bitronvideo stick must be upgraded to handle (some of ?) the newer zigbee v3 devices.
If not, the device may leave the zigbee network after some seconds/minutes.

Edit: Chris can confirm if this is the case with a debug log

For the firmware upgrade, see: Firmware upgrade the Bitronvideo BV 2010/10 ZigBee USB dongle

1 Like

hey @chris, hey @NilsOF,
The BV 2010/10 (ZigBee USB dongle) is running on the Firmware 5.8.1.0.
I reinstalled the openHAB ZigBee Binding in the version 3.2.0 to ensure that the latest binding is installed.

Is a update required or shall I proceed to collect the debug logs?

This is very old firmware. For ZB3.0 devices, you need a version newer than 6.4 if my memory serves me correctly (it’s in the OH ZigBee binding docs, but I think this is correct).

Okay I will do an update and let you know if it solves the problem