Nanoleaf Canvas - Touch support "Tap" not working

Hi all.

I searched the openhab community, reddit and the whole net and could not find a reliable answer, so here we go:

I have 2 sets of Nanoleaf canvas and recently tried to implement tap events as toggle switches. But no events are arriving in OH (trace logging for binding enabled). I tried rules with all of “SHORT_PRESS”, “SHORT_PRESSED” and an empty event text which should trigger on any received event AFAIK.

BTW: The log shows the same issues as mentioned in Nanoleaf Shapes Triangle - Touch-Support does not work where all panels are rediscovered every few seconds. And it tells about starting a touch job. Brief excerpt:

2024-04-23 19:36:15.449 [DEBUG] [ery.NanoleafMDNSDiscoveryParticipant] - Device found: Canvas 3E54._nanoleafapi._tcp.local.
2024-04-23 19:36:15.449 [TRACE] [ery.NanoleafMDNSDiscoveryParticipant] - Discovered nanoleaf host: 192.168.100.26 port: 16021 firmWare: 9.4.0 modelId: NL29 qualifiedName: Canvas 3E54._nanoleafapi._tcp.local.
2024-04-23 19:36:15.449 [DEBUG] [ery.NanoleafMDNSDiscoveryParticipant] - Adding Nanoleaf controller Canvas 3E54._nanoleafapi._tcp.local. with FW version 9.4.0 found at 192.168.100.26:16021 to inbox
2024-04-23 19:36:15.449 [DEBUG] [nding.nanoleaf.internal.OpenAPIUtils] - firmwareVersion: 9.4.0
2024-04-23 19:36:15.449 [DEBUG] [nding.nanoleaf.internal.OpenAPIUtils] - firmwareVersion: 1.1.0
2024-04-23 19:36:15.449 [DEBUG] [ery.NanoleafMDNSDiscoveryParticipant] - Nanoleaf Type: NL29
2024-04-23 19:36:16.200 [TRACE] [al.handler.NanoleafControllerHandler] - tj: touch job java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@cc3dfb7[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@5378b4c[Wrapped task = org.openhab.binding.nanoleaf.internal.handler.NanoleafControllerHandler$$Lambda$1791/0x00000007c0ef1db0@636b1077]] touch job already running. quitting. -1 controller nanoleaf:controller:OG1Essen with null",

In addition, the tap event sources aka individual panels are supposed to be available in Home Kit where they also don’t show up. I can configure them in the nanoleaf app, but nothing happens and on next open of the app, they are gone. On the other hand, swipe works pretty well. But swipe is not an easy replacement for a toggle switch :slight_smile:

Anyone here who got the tap events working with either OH or any other piece of software? Or didn’t and can confirm it’s an issue with the panel FW?

Nanleaf Canvas (NL29), HW Version 2.0.4, FW Version 9.4.0
Openhab 4.1.2, current Nanoleaf binding

Thanks in advance, Martin

Hi Martin,

Have you ever figured it out? Tap also doesn’t work on my nanoleafs..

Thanks in advance,
Adam

No, never. It seems Nanoleaf removed this function from the Canvas firmware without notice.

I think I’ve just solved it.
I’ve enabled debug loggin for the nanoleaf binding:
you get into the console: openhab-cli console
(password is “habopen”)
then you enable debug logging: log:set DEBUG org.openhab.binding.nanoleaf

Then tail the logs: tail -f /var/log/openhab/openhab.log
here I could see that my touches are registered but for a completly different panel ID, that is assigned for the hexagon elements: [DEBUG] [al.handler.NanoleafControllerHandler] - panel: 41605 gesture id: 0

now I only had to add this panel as a thing, which is a completely new ID not any of the 6 corners of my hexagon elements, and not detected automatically in the “things inbox” by the nanoleaf binding. After that, the rule started working:
Channel “nanoleaf:lightpanel:nanoelemkitchen:41605:tap” triggered

I hope that will solve your case too!

Maybe the FW for Hexagon shapes is different than for Canvas. I had debug/trace logging enabled, but no events in OpenHab… :frowning:

oh, that’s bad :frowning:

Since a few hours my nanoleafs are also struggling to detect any touches, the discovery and starting of touch jobs are keep running in the logs. I’ve tried reinstall binding, reading items, things, restarts etc nothing wants to fix the problem

Is this binding abandoned by the way? No active development or fixes?