raepple / nanoleaf-binding

openHAB binding for the Nanoleaf Light Panels
4 stars 0 forks source link

Impossible to bind Nanoleaf Canvas with the Expiremental binding (FW Version) #3

Closed mihl9 closed 4 years ago

mihl9 commented 5 years ago

Currently it isn't possible to bind a Nanoleaf Canvas with the Experimental-Binding to Openhab. The cause is a Version Number mismatch. The current firmware of the canvas has the versionnumber 1.2.1. And the Binding needs min the version 1.5 which is the firmware number of the nanoleaf aurora.

olemr commented 5 years ago

Still the case: image

Device type is set to Canvas: image

olemr commented 5 years ago

Not 'impossible' after all. Works if you put this in a .things file:

`Bridge nanoleaf:controller:KitchenWallCanvas [ address="192.168.1.12", port=16021, authToken="yourtoken", refreshInterval=60, deviceType="canvas" ] { }`

Adding lightpanels does not work though, neither from the Inbox or Things in .things file:

2019-06-09 22:30:47.614 [WARN ] [al.handler.NanoleafControllerHandler] - Update job failed
java.lang.ArrayIndexOutOfBoundsException: 713
        at org.openhab.binding.nanoleaf.internal.handler.NanoleafPanelHandler.getPanelColor(NanoleafPanelHandler.java:262) ~[?:?]
        at org.openhab.binding.nanoleaf.internal.handler.NanoleafPanelHandler.updatePanelColorChannel(NanoleafPanelHandler.java:216) ~[?:?]
        at org.openhab.binding.nanoleaf.internal.handler.NanoleafControllerHandler.lambda$3(NanoleafControllerHandler.java:492) ~[?:?]
        at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:?]
        at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080) ~[?:?]
        at org.openhab.binding.nanoleaf.internal.handler.NanoleafControllerHandler.updateFromControllerInfo(NanoleafControllerHandler.java:488) ~[?:?]
        at org.openhab.binding.nanoleaf.internal.handler.NanoleafControllerHandler.runUpdate(NanoleafControllerHandler.java:341) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]

Edit: The array index oob error could be due to the fact that I have 102 panels (34x3)


 "panelLayout": {
    "globalOrientation": {
      "value": 1,
      "max": 360,
      "min": 0
    },
    "layout": {
      "numPanels": 102,
      "sideLength": 100,
      "positionData": [
        {
          "panelId": 48351,
          "x": 0,
          "y": 0,
          "o": 0,
          "shapeType": 3
        },
        {
          "panelId": 41929,
          "x": 0,
          "y": 100,
          "o": 90,
          "shapeType": 2
        },
        {
          "panelId": 42633,
          "x": 0,
          "y": 200,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 7856,
          "x": 100,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 40220,
          "x": 100,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 11875,
          "x": 100,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 21504,
          "x": 200,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 14699,
          "x": 200,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 56142,
          "x": 200,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 10787,
          "x": 300,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 40625,
          "x": 300,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 9276,
          "x": 300,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 58698,
          "x": 400,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 4240,
          "x": 400,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 38037,
          "x": 400,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 41739,
          "x": 500,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 54642,
          "x": 500,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 4147,
          "x": 500,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 45041,
          "x": 600,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 6833,
          "x": 600,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 42490,
          "x": 600,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 49508,
          "x": 700,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 41961,
          "x": 700,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 60924,
          "x": 700,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 58857,
          "x": 800,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 16813,
          "x": 800,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 26663,
          "x": 800,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 17238,
          "x": 900,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 31345,
          "x": 900,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 54375,
          "x": 900,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 43093,
          "x": 1000,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 36187,
          "x": 1000,
          "y": 100,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 26950,
          "x": 1000,
          "y": 200,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 31158,
          "x": 1100,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 37066,
          "x": 1100,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 3654,
          "x": 1100,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 54720,
          "x": 1200,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 7864,
          "x": 1200,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 15692,
          "x": 1200,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 62838,
          "x": 1300,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 1084,
          "x": 1300,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 2881,
          "x": 1300,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 9251,
          "x": 1400,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 40473,
          "x": 1400,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 55338,
          "x": 1400,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 13670,
          "x": 1500,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 31676,
          "x": 1500,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 64602,
          "x": 1500,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 35688,
          "x": 1600,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 40943,
          "x": 1600,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 9959,
          "x": 1600,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 53974,
          "x": 1700,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 40192,
          "x": 1700,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 62884,
          "x": 1700,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 42426,
          "x": 1800,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 15141,
          "x": 1800,
          "y": 100,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 22092,
          "x": 1800,
          "y": 200,
          "o": 90,
          "shapeType": 2
        },
        {
          "panelId": 23501,
          "x": 1900,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 20017,
          "x": 1900,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 38949,
          "x": 1900,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 61260,
          "x": 2000,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 62611,
          "x": 2000,
          "y": 100,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 40391,
          "x": 2000,
          "y": 200,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 42995,
          "x": 2100,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 58786,
          "x": 2100,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 19268,
          "x": 2100,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 21486,
          "x": 2200,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 52542,
          "x": 2200,
          "y": 100,
          "o": 90,
          "shapeType": 2
        },
        {
          "panelId": 31010,
          "x": 2200,
          "y": 200,
          "o": 90,
          "shapeType": 2
        },
        {
          "panelId": 43000,
          "x": 2300,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 45556,
          "x": 2300,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 23072,
          "x": 2300,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 47484,
          "x": 2400,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 57126,
          "x": 2400,
          "y": 100,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 47347,
          "x": 2400,
          "y": 200,
          "o": 90,
          "shapeType": 2
        },
        {
          "panelId": 35565,
          "x": 2500,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 34500,
          "x": 2500,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 15535,
          "x": 2500,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 10785,
          "x": 2600,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 42505,
          "x": 2600,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 63234,
          "x": 2600,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 30347,
          "x": 2700,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 26217,
          "x": 2700,
          "y": 100,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 18766,
          "x": 2700,
          "y": 200,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 32679,
          "x": 2800,
          "y": 0,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 41120,
          "x": 2800,
          "y": 100,
          "o": 270,
          "shapeType": 2
        },
        {
          "panelId": 46502,
          "x": 2800,
          "y": 200,
          "o": 180,
          "shapeType": 2
        },
        {
          "panelId": 57575,
          "x": 2900,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 55692,
          "x": 2900,
          "y": 100,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 39617,
          "x": 2900,
          "y": 200,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 46141,
          "x": 3000,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 11882,
          "x": 3000,
          "y": 100,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 28885,
          "x": 3000,
          "y": 200,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 25091,
          "x": 3100,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 46666,
          "x": 3100,
          "y": 100,
          "o": 90,
          "shapeType": 2
        },
        {
          "panelId": 36112,
          "x": 3100,
          "y": 200,
          "o": 90,
          "shapeType": 2
        },
        {
          "panelId": 17053,
          "x": 3200,
          "y": 0,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 62503,
          "x": 3200,
          "y": 100,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 12437,
          "x": 3200,
          "y": 200,
          "o": 0,
          "shapeType": 2
        },
        {
          "panelId": 52591,
          "x": 3300,
          "y": 0,
          "o": 0,
          "shapeType": 4
        },
        {
          "panelId": 42794,
          "x": 3300,
          "y": 100,
          "o": 90,
          "shapeType": 2
        },
        {
          "panelId": 37716,
          "x": 3300,
          "y": 200,
          "o": 0,
          "shapeType": 2
        }
      ]
    }
  },
stefan-hoehn commented 4 years ago

@mihl9 mihl9

I only entered supporting the binding as maintainer recently, so I haven't seen your issue yet. As I am using the canvas type a lot myself, I would recommend using the latest 2.5.x version which I did a lot of work on. If you still have a problem, please respond and I will try to track down your issie.

mihl9 commented 4 years ago

@stefan-hoehn Thank you for your answer but I already made my own solution using the Nanoleaf Rest API. But if I have time I will look into it.

stefan-hoehn commented 4 years ago

OK thanks, do you like to keep the issue here as open for the time being or do you mind closing it then?

by the way, the binding supports the touch functionality with single and double touches.

mihl9 commented 4 years ago

Thanks for the information. I will close the issue now.