amybytes / nanoleaf-desktop

A modern desktop application for the Nanoleaf Aurora and Canvas
MIT License
166 stars 13 forks source link

Cant Connect to Canvas #14

Closed Schattenfeuer closed 5 years ago

Schattenfeuer commented 5 years ago

Hi, found your tool via "cachys blog" and wanted to give it a try. Sadly I can´t connet my Canvas. On startup it says "Couldn´t locate any devices." When adding it via "Setup New Device" with the IP adress, when I hold my power key the popups dissapear but in still is not connected. Tried both the .exe and .jar . I also found a older Issue where you stated to run command command prompt "java -jar ". Did it and here are the results :D

GVERqy0BXMPsXVYVqnqDoO9jZN7c2NRv Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at io.github.rowak.nanoleafdesktop.Main.lambda$1(Main.java:287) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

I hope that I am not that dumb and you can help me.

amybytes commented 5 years ago

Hey, I actually came across an issue similar to this as well, which is weird because everything was working normally for months up to that point. It turns out I had to do a hard reboot of my Nanoleaf device (unplug and plug back in) before it would connect. Once I did that, the device finder picked it up right away.

The error log you posted suggests that your device is connected, but then sort of disappears when trying to request data from it which is very strange. Regardless, the code causing the error isn't exactly necessary so I removed it which should allow the app to connect to your device properly. Here is a beta version of the app which has this code removed. Try connecting to your canvas using this version and see if it works any differently. I'm really not sure at this point if this will fix the issue, or if it is simply just avoiding the current error.

Alternatively if that doesn't work for you, try running an older version of the app. It's possible that I broke canvas support in the later versions and simply didn't notice, because I don't have a physical canvas to test on. Version 0.7.1 would definitely be your best bet since it has pretty much full canvas support. Don't run any of the releases below v0.7.1 though, or they could corrupt your data file.

Let me know if either of these solutions work for you!

Schattenfeuer commented 5 years ago

Hey, thanks for your fast response :D really appreciate it. Restarting my device solved the pairing issue (als always ^^) but for the actual settings it didn´t. With the 0.8.3 I got all my Effects but couln´t change anything. With the 0.8.4 beta it broke my Effects, half of the panels changed, others not. And then it froze, even the buttons on it didn´t work anymore. Happily a hard reset fixed it. For the 0.7.1 you are right, it is perfect. I can change everything and the Ambient Lighting - it is beautiful <3. Only thing is the preview window. Only thing that changes is turning on and off, the colors don´t change.

If you need further logs that I can provide or anything else that would help you troubleshooting it would be a pleasure for me to help you.

And again thank you for your work and help.

amybytes commented 5 years ago

Great! I'm glad that sorted out the pairing issue.

With the 0.8.4 beta it broke my Effects, half of the panels changed, others not. And then it froze, even the buttons on it didn´t work anymore. Happily a hard reset fixed it.

Just to clarify, do you mean that the hard reset fixed the problems you listed with the v0.8.4 beta (and you are now having the same problem as v0.8.3), or did it just fix the freezing problem?

It would really help me if you could post the error logs for what happens when you try to update a setting. For example, what error appears when clicking on an effect from the list? If v0.8.4 beta is behaving the same as v0.8.3, then use the v0.8.4 beta to test this. Otherwise, use v0.8.3. This is a separate issue from the one in the log you originally posted, so a new log will help me figure this out much faster. Thanks!

Schattenfeuer commented 5 years ago

Finally managed to get some time to test :D

Just to clarify, do you mean that the hard reset fixed the problems you listed with the v0.8.4 beta (and you are now having the same problem as v0.8.3), or did it just fix the freezing problem?

Hard-reset fixed the froze, nothing else.

0.8.3: at startup, still connected from last time

org.json.JSONException: A JSONObject text must begin with '{' at 0 [character 1 line 1] at org.json.JSONTokener.syntaxError(JSONTokener.java:501) at org.json.JSONObject.(JSONObject.java:211) at org.json.JSONObject.(JSONObject.java:395) at io.github.rowak.Effect.fromJSON(Effect.java:74) at io.github.rowak.Aurora$Effects.getEffect(Aurora.java:683) at io.github.rowak.Aurora$Effects.getAllEffects(Aurora.java:697) at io.github.rowak.nanoleafdesktop.ui.listener.GlobalShortcutListener.lambda$0(GlobalShortcutListener.java:141) at java.lang.Thread.run(Unknown Source)

resetted and connected again after hard reset, wond load effects. on and off is working, also ambient, and discovery

soXzPEI8Ub71dItl8ypCie0Pyil0RSER STORED LAST SESSION Exception in thread "Thread-12" org.json.JSONException: A JSONObject text must begin with '{' at 0 [character 1 line 1] at org.json.JSONTokener.syntaxError(JSONTokener.java:501) at org.json.JSONObject.(JSONObject.java:211) at org.json.JSONObject.(JSONObject.java:395) at io.github.rowak.Effect.fromJSON(Effect.java:74) at io.github.rowak.Aurora$Effects.getEffect(Aurora.java:683) at io.github.rowak.Aurora$Effects.getAllEffects(Aurora.java:697) at io.github.rowak.nanoleafdesktop.Main$1.lambda$0(Main.java:329) at java.lang.Thread.run(Unknown Source)

0.8.4 started directly after closing 0.8.3 and there is no error and everything is working starting 0.8.3. again - still the same bug as above started the 0.8.4 normally - effects wont load started again wit command line - everything is ok started again normally - everything is ok started 0.8.3 normally - effects are there and everything is ok started a few more times, everything is ok

now i´m gonna restart my pc and test again :D

Schattenfeuer commented 5 years ago

soooooo, everything is working fine with the 0.8.4 beta and the 0.8.3 I am not able to recreate the same errors as before.

If I can do anything else I´m glad to do so :D

amybytes commented 5 years ago

Sorry for the late reply, I'm on vacation right now and forgot about your message. I just wanted to say that I'm glad the app is working for you now, and also thanks for the help with debugging.

I'm really not sure why restarting the app a dozen times would suddenly make it work, however, I'll release the fix publically in v0.8.4 in a few weeks once I get back.