vinenoobjelly / jellyfishlights-py

12 stars 5 forks source link

Add firmware update and "next event" #7

Open bdunn44 opened 1 year ago

bdunn44 commented 1 year ago

There is unimplemented API functionality we could look at adding, just need some inside info on how the API works :)

It would be very cool to retrieve information on if an upgrade is available and what the latest version is - jfc.firmware_version contains an isUpdate attribute but that doesn't appear to be reliable.

I'd also look at implementing the "next event" command (or whatever you meant when you said "what the controller is planning to do").

Synse commented 1 year ago
  • http://x.x.x.x:8080/api/status - always returns "Not upgrading" for me. Does this indicate whether a firmware update is in progress? If so what are the other possible return values? (my firmware is up-to-date so I can't test)

I've seen Not upgrading, Downloading upgrade., Decrypting upgrade. and Running upgrade..

That's my understanding as well, it returns JSON containing Newer (true/false if the latest available firmware is newer) and Version which is a path to the update file. For 2.x releases it was a file path on the Big Fish Automation FTP server and for 3.x it's an s3 url to download the latest firmware.

:8080/api/latestbeta and :8080/api/v2/latestbeta are presumably for checking if there's a newer beta firmware release.

bdunn44 commented 1 year ago

Thanks for the info @Synse. I'll play around with it when I find time and report back