Closed mihl9 closed 4 years ago
Still the case:
Device type is set to Canvas:
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
}
]
}
},
@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.
@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.
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.
Thanks for the information. I will close the issue now.
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.