I’m writing a simple Python program to use Firestorm to control a set of PixelBlazes. Both of these run on the same Raspberry Pi. Right now I’m getting motion sensor data and using that to call ‘/command brightness = value’ via the Firestorm API.
The problem is that, unlike the brightness control sliding on the individual PixelBlaze settings panels, setting brightness via Firestorm seems to reset the pattern in a really visually obvious way.
Looking at the Firestorm code and log output, I see this change where Firestorm goes from just sending the brightness command to also sending the activeProgramId command (which is what I think is causing the pattern reset):
0|server | sending to 14936128 at 192.168.1.210 {“brightness”:0.13696}
0|server | >>>
0|server | sending to 14936128 at 192.168.1.210 {“brightness”:0.13696,“activeProgramId”:“sCyaMqsmsrdM9JbJi”}
Aha, I see that if I run or restart Firestorm, a clean restart, I can send brightness commands and that’s all that goes through to the PixelBlaze. BUT if I select a pattern from the Firestorm web UI, then Fireform includes the pattern ID command along with every brightness command.
Hi Jason,
That is definitely not intended, and only changed values should be sent. I will take a look at it when I get a chance, but feel free to beat me to it!
@JasonAsbahr,
I’ve pushed a fix for this. It will now only send the commands in your payload. It was oversending everything it had cached including the activeProgramId (which it resends fully if a PB goes offline and comes back).