Remote control
Open URLs and files, type and press keys, set display brightness, and sleep, lock or shut down the machine running System Bridge.
System Bridge can act on the machine it runs on: open a website or file, type text or press keys, set a display’s brightness, and change its power state. Home Assistant automations use these to, for example, open a dashboard on a wall display in the morning or lock the computer when you leave.
Opening a URL or file
In the web client
- Open the System page in the web client and scroll to Open.
- Choose URL or Path.
- Enter a URL, such as
https://example.com, or a path to a file or folder on that machine. - Select Open.
A URL opens in the default browser. A file opens in the app it’s set to open with, and a folder opens in the file manager. A path that doesn’t exist shows an error, rather than nothing happening.
Elsewhere
- Home Assistant: the integration has actions to open a URL or a path. See Home Assistant.
- API: send
OPENwith aurlor apath.
Typing and pressing keys
Home Assistant and the API can type text and press keys, as if on the machine’s own keyboard. They go to whichever window has focus.
- Type text with
KEYBOARD_TEXT, such as a search or a message. - Press a key with
KEYBOARD_KEYPRESS, optionally holdingshift,ctrl,altorcmd. For example,spacewith no modifiers to pause a video, orlwithctrlto focus a browser’s address bar.
Both take an optional delay in milliseconds before they start, which helps when something else has to open first.
Power
Sleep, hibernate, lock, log out, restart or shut down the machine from Home Assistant or the API. System Bridge doesn’t ask for confirmation, so these happen straight away.
| Action | Linux | Windows |
|---|---|---|
| Sleep | systemctl suspend |
Sleeps, turning hibernation off first so it doesn’t hibernate instead |
| Hibernate | systemctl hibernate |
Hibernates, turning hibernation on first |
| Lock | loginctl lock-session |
Locks the workstation |
| Log out | Ends your login session | shutdown /l |
| Restart | systemctl reboot |
shutdown /r |
| Shut down | systemctl poweroff |
shutdown /s |
On Linux, hibernating needs swap set up for it. Depending on your distribution’s polkit rules, suspending or shutting down may ask for a password when System Bridge runs as a service.
Displays
Set a display’s brightness, or turn a monitor off and on, from the API with DISPLAY_CONTROL, the MCP server’s system_bridge_display_control tool, or the CLI:
system-bridge client display HDMI-A-2 --brightness 40
system-bridge client display HDMI-A-2 --power off
The displays data reports each display’s brightness and power_state.
- External monitors are controlled over DDC/CI, which most monitors support, though some turn it off by default in their own menu. On Linux this needs ddcutil, and access to
/dev/i2c-*, usually by being in thei2cgroup. On Windows it works through the monitor’s driver. - Built-in laptop panels use their backlight. They have brightness but no power state. On Linux, System Bridge sets the backlight through logind, so it needs to run in, or as the user of, an active login session.
Not every monitor answers DDC/CI. Those report null, and controlling them returns an error. macOS isn’t supported yet.
Security
Anyone with your API token can do all of this, including shutting the machine down. Keep the token private, and see privacy and security.