Nanoleaf Binding OH3 - Stabilization Update

I would like to announce a major stability improvement on the whole binding and touch functionality itself. Honestly I fought over many weeks and tried to analyse why the binding keeps becoming unresponsive in general and in particular that touch wouldn’t work anymore at some point in time. As this was related to concurrency issues it took me ages to track down the issues (see here as well),

For those who are interested in details:

Basically “touch” is detected by using Server-Side-Events. The problem is that this requires an “infinite running” http request connection to the device as an open channel for the binding to receive these events. Unfortunately this leads to the issue that in case the device is removed from power the connection is gone which CANNOT be detected by openhab, which in turn results into a dead connection that does not receive anything. So I had to change the implementation completely internally.
Another side effect was caused due to the fact that the device needs another normal connection for controlling the panels. Hence it is better to have two separate connections internally that are managed in different ways. Besides that I detected a bug that made the binding interfere between connections of different devices (sigh).

So before I spread the new version that has been really stable with 5 devices in my house I would like to ask volunteers that are running 3.1 to try out the new version and provide feedback to me.

Please pm me, thanks
Stefan

2 Likes