The HOOBS™ command line interface is the software that manages bridges. Below is a list of commands and actions available in the HOOBS™ CLI.
Hub (Daemon)
This starts the hub service. This is needed to manage the bridges. It is also the default command when no other command is defined.
sudo hoobsd hub
Available options
Flag | Description |
---|---|
-d, –debug | Turn on debug level logging |
-v, –verbose | Turn on insane verbose logging |
-p, –port | Override the defined hub port |
-o, –orphans | Keep cached accessories for orphaned plugins |
-c, –container | This changes the paths needed for Docker containers |
Bridge (Daemon)
This starts bridges.
sudo hoobsd bridge -b 'my-bridge'
Available options
Flag | Description |
---|---|
-d, –debug | Turn on debug level logging |
-v, –verbose | Turn on insane verbose logging |
-b, –bridge | Define the bridge to start, can be the name or id |
-p, –port | Override the port defined on the bridge |
-o, –orphans | Keep cached accessories for orphaned plugins |
-c, –container | This changes the paths needed for Docker containers |
If an bridge name is not included the default is default
Service (Daemon)
This controls the service installed on the system. To create the service use the HOOBS™ CLI.
sudo hoobsd service start
Available actions
Action | Description |
---|---|
start | This will start the defined bridge |
stop | This will stop the defined bridge |
restart | This will restart the defined bridge |
Available options
Flag | Description |
---|---|
-d, –debug | Turn on debug level logging |
Install
This initializes the system. It creates the special hub bridge. The hub bridge is a control hub for all other bridges.
sudo hbs install
Available options
Flag | Description |
---|---|
-p, –port | Sets the port for the hub, if not set the CLI will ask you |
-s, –skip | This will skip the systemd or launchd service create |
-c, –container | This changes the paths needed for Docker containers |
Bridge
This controls bridges on the system. It can be used to list, create and remove bridges.
This also creates and starts systemd and launchd services. If your system doesn’t have either of these systems, the CLI will not attempt this.
Add
alias create
This will create an bridge.
sudo hbs bridge create
Available options
Flag | Description |
---|---|
-b, –bridge | Defines a name for the bridge |
-p, –port | Sets the port for the bridge |
-a, –advertiser | Sets the bridge advertiser |
If the bridge name, port or advertiser is not set the CLI will ask for this information.
Cache
This will display cached accessories for a bridge.
sudo hbs bridge cache
Available options
Flag | Description |
---|---|
-b, –bridge | Selects a bridge |
If the bridge name or port is not set the CLI will ask for this information.
Purge
This will purge all persisted and cache files for a bridge.
sudo hbs bridge purge
Available options
Flag | Description |
---|---|
-b, –bridge | Selects a bridge |
-u, –uuid | Remove a specific accessory from the cache |
If the bridge name or port is not set the CLI will ask for this information.
This will require you to re-pair with Apple Home.
Remove
alias rm
This will remove an bridge.
sudo hbs bridge remove
This will remove all configs and plugins.
Available options
Flag | Description |
---|---|
-b, –bridge | Defines bridge to be removed |
-s, –skip | This will skip the systemd or launchd service create |
-c, –container | This changes the paths needed for Docker containers |
If the bridge name is not set the CLI will ask for this information.
Export
This will export an bridge to your current working directory.
cd ~/backups
sudo hbs bridge export
This will need to be ran with elevated permissions. You will need to chmod the file if you want to work with it.
Available options
Flag | Description |
---|---|
-b, –bridge | Defines bridge to export |
-c, –container | This changes the paths needed for Docker containers |
If the bridge name is not set the CLI will ask for this information.
List
alias ls
This will show a list of bridges on the system including the hub. It will also show you if the bridge is running.
sudo hbs bridge list
Plugin
This allows you to install, remove and list plugins from any bridge.
This will manage the plugin locations, logging and configs. This important because HOOBS™ encrypts your config files.
Even though you can install plugins using npm or yarn, this handles everything that those tools don’t This plugin command is a more secure way of installing plugins.
Add
alias install
This will install a plugin into an bridge.
sudo hbs plugin add my-plugin
You can also define a version using the standard syntax [email protected]
.
Available options
Flag | Description |
---|---|
-b, –bridge | Defines bridge to install this plugin |
-c, –container | This changes the paths needed for Docker containers |
If the bridge name is not set the CLI will ask for this information.
Remove
alias uninstall
alias rm
This will uninstall a plugin from an bridge.
sudo hbs plugin remove my-plugin
Available options
Flag | Description |
---|---|
-b, –bridge | Defines bridge to install this plugin |
-c, –container | This changes the paths needed for Docker containers |
If the bridge name is not set the CLI will ask for this information.
Update
alias upgrade
This will upgrade a single plugin or all plugins from an bridge.
sudo hbs plugin update
or
sudo hbs plugin update my-plugin
You can also define a version using the standard syntax [email protected]
.
Available options
Flag | Description |
---|---|
-b, –bridge | Defines bridge to upgrade |
-c, –container | This changes the paths needed for Docker containers |
If the bridge name is not set the CLI will ask for this information.
List
alias ls
This will list plugins for all or a single bridge.
sudo hbs plugin list
Available options
Flag | Description |
---|---|
-b, –bridge | Defines the bridge to list |
-c, –container | This changes the paths needed for Docker containers |
If an bridge is not defined, the CLI will include the bridge in the list.
Create
This command is used by developers to quickly create a new plugin project. It will create a new folder for your project and add example files depending on the options you choose.
cd ~/projects
hbs plugin create
This supports many options.
- JavaScript
- Typescript
- Eslint
- Jest
- Nodemon
- GUI plugin
- Config Schemas
Config
This allows you to manually configure HOOBS™. This is the only way other then the GUI to configure HOOBS™. HOOBS™ encrypts config files to project sensitive information.
sudo hbs config
This command can configure the hub as well as bridges.
This uses nano, you may need to install it on your system.
Available options
Flag | Description |
---|---|
-b, –bridge | Defines the bridge to configure |
-c, –container | This changes the paths needed for Docker containers |
If the bridge name is not set the CLI will ask for this information.
Log
This will display the log from all bridges. You can also use this command to show the log from a single bridge.
sudo hbs log
You can also display debug information after the fact. This comes in handy if you can’t tuen on debug mode.
Available options
Flag | Description |
---|---|
-b, –bridge | Show the log from a single bridge |
-t, –tail | Set the number of lines to show, default 50 |
-d, –debug | Show debug messages |
-c, –container | This changes the paths needed for Docker containers |
Extension
This manages HOOBS™ extensions (features). It can be used to enable system level dependencies, like FFMPEG, and the official GUI.
Extensions are not the same as plugins. A plugin runs on a bridge, where an extension runs on the system, or modifies the hub.
Add
alias install
This enables an extension.
sudo hbs extension add ffmpeg
Available options
Flag | Description |
---|---|
-c, –container | This changes the paths needed for Docker containers |
Remove
alias uninstall
alias rm
This disables an extension.
sudo hbs extension remove ffmpeg
Available options
Flag | Description |
---|---|
-c, –container | This changes the paths needed for Docker containers |
List
alias ls
This will list all available extensions and if they are enabled.
sudo hbs extension list
Available options
Flag | Description |
---|---|
-c, –container | This changes the paths needed for Docker containers |
System
This command manages the system. You can upgrade HOOBS™, backup and restore the system. You can also clean the caches or completely reset the system.
Versions
alias version
This shows system information and version information. This is useful for checking for Node, HOOBSD and the CLI for updates.
sudo hbs system versions
Available options
Flag | Description |
---|---|
-beta | This compares installed versions against available beta versions |
Stable
This will switch to the stable updates branch.
sudo hbs system stable
Edge
This will switch to the beta updates branch.
sudo hbs system edge
Updates from this branch may include bugs
It not recommended to use the edge branch for production devices.
Hostname
This shows or sets the hostname.
sudo hbs system hostname
To set the hostname, <name>
is the hostname you wish to use.
sudo hbs system hostname '<name>'
Hostnames should not include spaces or special characters other then dashes.
Upgrade
alias update
This will upgrade HOOBS™ to the latest version. This includes HOOBSD, the CLI and Node.
sudo hbs system upgrade
Available options
Flag | Description |
---|---|
-t, -test | Dry run an upgrade and test network connectivity |
-beta | Install available beta versions |
Backup
This will backup your current setup to the current working directory.
cd ~/backups
sudo hbs system backup
This will need to be ran with elevated permissions. You will need to chmod the file if you want to work with it.
Restore
This will restore the system with the file you select
sudo hbs system restore ~/backups/my-backup.zip
Reset
This will remove all configurations, plugins and bridges from the system. Use this with caution.
sudo hbs system reset
This will keep you backup folder, so it is wise to create a backup before running this command.