Using the CLI
irbt finds the bridge by its USB ID (303A:1001). If several are connected,
or auto-detection fails, pass --port <path> or set IRBT_PORT. irbt ports
lists the detected bridges.
Every command accepts --json for machine-readable output.
Mapping buttons
irbt learn home # press a remote button to bind it to `home`
irbt list # show mappings
irbt keys # all key names
learn waits 10 seconds for a button press (--timeout to change it). To
find a button’s code without mapping it, run irbt monitor and press it.
Mappings can also be edited by code. IR codes are NEC codes, in hex
(0x00FF02FD) or decimal:
irbt set 0x00FF02FD home
irbt rm 0x00FF02FD
irbt clear # remove every mapping
irbt reset # restore the firmware's default keymap
Every change is stored on the device right away.
Backing up the keymap
irbt export keymap.toml
irbt import keymap.toml # add to / overwrite existing mappings
irbt import keymap.toml --replace # remove all existing mappings first
The file format:
[[mapping]]
ir = "0x00FF02FD"
key = "home"
[[mapping]]
ir = "0x00FF629D"
key = "up"
import checks the whole file before it changes anything on the device.
Testing and debugging
irbt status # firmware version and build, BLE state, mapping count, battery
irbt monitor # received IR codes and their keys, until Ctrl-C
irbt monitor --logs # ... plus the device's log output
irbt send-hid up # send a key over BLE without IR
irbt send-ir 0x00FF02FD # transmit a code through the IR blaster
irbt status also shows the firmware’s commit, its rustc, ESP-IDF and crate
versions.
Commands
| Command | Purpose |
|---|---|
irbt status | firmware/protocol version, build info, uptime, BLE state, mapping count, battery |
irbt monitor [--logs] | live IR codes (with mapped key), optionally device logs |
irbt learn <key> | bind the next remote button press to <key> |
irbt list / set <ir> <key> / rm <ir> | inspect/edit mappings |
irbt export <file> / import <file> [--replace] | TOML backup/restore of the keymap |
irbt clear / reset | empty the keymap / restore the built-in defaults |
irbt send-hid <key> | press a key over BLE without IR |
irbt send-ir <code> | fire the IR blaster |
irbt keys / ports | list key names / detected bridges |
irbt help <command> shows the options of each.