I have been trying to build a led strip (30 led Neopixel from adafruit). All works ok if I am exchanging messages just to set the color / brightness etc for the entire strip as its a one time action on the arduino code and then the code can go back to reading incoming messages.
But if I need to do some animations like running lights etc which needs some loops in the arduino code then the issue I am having is that the messages sent from the cloud are not received by the run / messagecallout function.
Does the smart thing shield buffer the messages coming in so that I can collect and process them later after running through my code cycles in arduino .
Also since arduino does not support threading I am not sure what the solution is.
I can make it all work if I use another arduino where one is paired with Smartthings and receives the messages and the other runs the loops for led light processing and looks for gpio state change. I don’t want to do that as it will make it a very expensive project.
Let me know if there is a workaround.