Skip to main content

Bond CLI

Project description

PyPI version

Bond Command Line Interface

EDIT: This project is in a beta state. We released it on the principle of release early & often. It is here just in case it benefits a member of the Bond Home community. Your mileage may vary!


This tool exists to make it easy to manipulate a Bond from a command line, for use by:

  • Bond community
  • internal use in engineering and customer support


Install with

pip install bond-cli

Getting Started

Find Bonds on local network:

bond discover

Select a Bond and set the token so we can go deeper:

bond select <your Bond's ID or a prefix>

If your Bond's token is unlocked, select will retrieve and store it. Otherwise, you have a couple options. You can unlock the token yourself (a power cycle is the easiest way, it'll be unlocked for a period after a reboot), and run the following to automatically retrieve and store it:

bond token

Or, you can manually set the token, which you could find in the Bond Home app in the Bond's settings screen.

bond token <your Bond's token>

Now that you've selected a Bond and stored its token, you're ready to interact with it.

Check its firmware version:

bond version

List its devices:

bond devices

Injecting Devices

Create a template device:

bond device_create --name "Formidable Fan" --template A1 --addr 101 --freq 300000 --bps 1000 --zero_gap 1234

You can then see the fan on your Bond Home app.

Live Logging

You can also start a livelog:

bond livelog --level info

Upgrade Your Bond

You can upgrade your selected bond:

bond upgrade beta

Getting Help

Get more help with:

bond -h

or you can get help with any subcommand

bond select -h


Bug reports and feature requests in the form of issues and pull requests are strongly encouraged!

To develop locally, you can clone the repository from github, remove the package if already present, then install it to pip in local editable mode:

git clone
cd bond-cli
pip uninstall bond-cli
pip install -e "."

Now all changes made in your local copy of bond-cli will be reflected in the bond executable.

Release Procedure

To make a release, bump the version number in on trunk, then make an annotated tag

git tag -a "v1.8.7"

with a version matching that in You'll be prompted to write some release notes. Alternatively, use the Github repository's releases interface to create a release.

Upon pushing the tag or publishing the release, CI will deploy to PyPi.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for bond-cli, version 0.0.11
Filename, size File type Python version Upload date Hashes
Filename, size bond_cli-0.0.11-py3-none-any.whl (20.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size bond-cli-0.0.11.tar.gz (14.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page