Bridge Firmware v2.11.2: Increase/DecreaseSpeed Fix

Hey all, just released v2.11.2 to Beta for Bond Bridges.

This version has a fix for the Increase & Decrease Speed actions, which were broken in a recent update. As we go, we’re adding more and more firmware tests to ensure that these API breaks are caught before release.

1 Like

So dumb question, but is the way to load beta firmware just through REST calls to the API?

There is, you need to know the URL of the beta firmware and some metadata about it for validation though. I can put together a request for you, but if you’ve got Python 3 on your machine I’ve got a quick solution for you:

pip install bond-cli
bond discover
bond select {Bond ID}
bond upgrade --release beta

If you don’t already have Python (or maybe you have Python 2? I really should get it working for older versions), let me know and I’ll throw together a request for you.

Exactly what I need. However, I get this upon upgrade:

f:\Python37\Scripts>python bond upgrade --release beta
Connecting to BOND…
Detected Target: zermatt
Selected Branch: beta-zermatt
Current Version: v2.10.21
Installing Version: v2.11.2-beta
Are you sure? [N/y] y
Requesting upgrade…
Traceback (most recent call last):
File “bond”, line 7, in
File “F:\Python37\lib\site-packages\bond\”, line 22, in run
File “F:\Python37\lib\site-packages\bond\cli\”, line 28, in execute_from_command_line
File “F:\Python37\lib\site-packages\bond\commands\”, line 137, in run
do_upgrade(bondid, version_obj)
File “F:\Python37\lib\site-packages\bond\commands\”, line 45, in do_upgrade
progress = rsp[“b”][“progress”]
TypeError: ‘NoneType’ object is not subscriptable`

Ouch, okay, I’ll put some more work into it. For now, the endpoint to hit is

PUT /v2/sys/upgrade

with the body

{“path”: “/bond-updates/v2/zermatt/beta-zermatt/”, “host”: “”, “http_port”: “80”, “version”: “v2.11.2-beta”, “sig”: “”, “info”: “b485b129f252fe3724b65385e0268f846f7f6ce4e00737c9c8590be96d8b6315:zermatt:v2.11.2-beta”, “port”: “443”, “reboot”: 1}

The last key/value will make the Bond reboot into the new firmware automatically.

(Documented here)

I found that the bond-cli problem is due to the token not being set! bond select {id} only gets the token if it’s unlocked (that is, shortly after a boot or after you unlock it via the API)

I’m going to make this clear in the output of bond select. There’s also a bond token command that lets you manually set the token.

Great! Thanks. I will bookmark this for future beta upgrades. The 2.11.2 is working well for my integration.

1 Like