You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have moved over a bunch of code from my dev system to a Raspberry Pi 2 and have run into a couple of issues.
Discovery is very unreliable for color bulbs, while the Tile in the same configuration is discovered much more reliably (pretty much always). I have switched to directly specifying the MAC and IP and using the appropriate constructor for the lights in my configuration for now. This is working, but even then my code is requiring multiple constructor retries before all the bulbs are properly recognized. On my dev system (very high end system, running windows, etc, so about as different as it could get), this rarely happened with the bulbs in this config. I am going to try to eliminate as much obvious stuff as I can (networking, WiFi signal strength, etc) but am wondering if anyone else has seen this.
When tile_chain.project_matrix(matrix, duration_ms, rapid=True) is executed in my code the RPi seems to be consuming more CPU (100% when doing back to back requests) than I would expect. I probably did not see this on my dev system as its likely orders of magnitude faster than the Raspberry Pi. Maybe I just can't push the RPi that much, but I'm hoping there is some optimization yet to do.
The text was updated successfully, but these errors were encountered:
I haven't really found an answer to the discovery issues I am having, but I have a workaround that is acceptable for now anyway. Since I am working with a fixed set of lights in a fixed configuration, I run an initial discovery script for the bulbs in the setup, retrying until I get them all. Once I make it through discovery without an exception I put all the lights into a list and pickle pickle.dump("mylights",open(mylights.p","wb")) it. I run this code manually on the RPi.
Then when the RPi boots it runs my main code and un-pickles the list mylights = pickle.load(open("mylights.p","rb")). This bypasses the whole discovery thing for normal operation so everything starts up nice and fast.
I then need to rerun the discovery script if I change the lights, but at least for now the configuration is static.
How does the discovery process fail? I assume WorkflowExceptions...are they always in response to a particular kind of message? Have you tried increasing the default timeout in device.py?
I have moved over a bunch of code from my dev system to a Raspberry Pi 2 and have run into a couple of issues.
Discovery is very unreliable for color bulbs, while the Tile in the same configuration is discovered much more reliably (pretty much always). I have switched to directly specifying the MAC and IP and using the appropriate constructor for the lights in my configuration for now. This is working, but even then my code is requiring multiple constructor retries before all the bulbs are properly recognized. On my dev system (very high end system, running windows, etc, so about as different as it could get), this rarely happened with the bulbs in this config. I am going to try to eliminate as much obvious stuff as I can (networking, WiFi signal strength, etc) but am wondering if anyone else has seen this.
When
tile_chain.project_matrix(matrix, duration_ms, rapid=True)
is executed in my code the RPi seems to be consuming more CPU (100% when doing back to back requests) than I would expect. I probably did not see this on my dev system as its likely orders of magnitude faster than the Raspberry Pi. Maybe I just can't push the RPi that much, but I'm hoping there is some optimization yet to do.The text was updated successfully, but these errors were encountered: