System Bridge

System Bridge is an application that runs on your local machine to share system information via its API/WebSocket. You can also send commands to the device such as opening a URL or sending keyboard keypresses.

Prerequisites

Version

This integration requires System Bridge 4.0.2 and above. Any older version will not work.

Token

You will need your token. For instructions on finding your token, follow the steps in the System Bridge documentation.

Configuration

To add the System Bridge device to your Home Assistant instance, use this My button:

System Bridge can be auto-discovered by Home Assistant. If an instance was found, it will be shown as Discovered. You can then set it up right away.

Manual configuration steps

If it wasn’t discovered automatically, don’t worry! You can set up a manual integration entry:

  • Browse to your Home Assistant instance.

  • Go to Settings > Devices & services.

  • In the bottom right corner, select the Add Integration button.

  • From the list, select System Bridge.

  • Follow the instructions on screen to complete the setup.

Binary sensors

This integration provides the following binary sensors:

Name Description
AC Power Whether the device is on AC power
Battery Is Charging Whether the battery is charging
Camera In Use Whether the camera/webcam is in use
Pending Reboot Whether a reboot is pending
New Version Available Whether a new version is available

Sensors

This integration provides the following sensors:

Name Description
Battery Battery level of the device
Battery State Charging state of the battery
Boot Time Time the device was turned on
CPU Speed The current CPU speed
Disk Read Rate Total read rate across all disks
Disk Write Rate Total write rate across all disks
Displays Connected Number of displays connected
Display Resolution X Display resolution (across)
Display Resolution Y Display resolution (down)
Display Refresh Rate Display refresh rate
Filesystem(s) Space used for each drive letter / filesystem mount
GPU Memory Free GPU memory free in GB
GPU Usage % GPU usage percentage
Kernel Version information of the Kernel
Latest Version System Bridge Latest Version
Load System load percentage
Load Average (1 min) Load average over 1 minute
Power Usage Power usage in watts (if available)
Memory Free Memory (RAM) free in GB
Memory Used Memory (RAM) used in GB
Memory Used % Memory (RAM) % used
Network Download Rate Total download rate System Bridge reports for the device
Network Upload Rate Total upload rate System Bridge reports for the device
Interface SSID The Wi-Fi network a wireless interface is connected to
Interface Signal Strength Wi-Fi signal strength of a wireless interface in dBm
Operating System Version information of the Operating System
Processes Shows count of processes on the system
Version System Bridge Version

These sensors are also available, but are not enabled by default:

Name Description
Battery Power Battery power draw in watts
Battery Voltage Battery voltage in volts
CPU Temperature The current temperature of the CPU
CPU Voltage The current voltage of the CPU
Per-disk Read Rate Read rate of each disk
Per-disk Write Rate Write rate of each disk
GPU Core Clock Speed GPU core clock speed in MHz
GPU Memory Clock Speed GPU memory clock speed in MHz
GPU Fan Speed GPU fan speed percentage
GPU Memory Used GPU memory used in GB
GPU Memory Used % GPU memory used percentage
GPU Power Usage GPU power usage
GPU Temperature The current temperature of the GPU
Interface Download Rate Download rate of each network interface
Interface Upload Rate Upload rate of each network interface
Interface Link Rate Wi-Fi link rate of a wireless interface in Mbps
Load Average (5 min) Load average over 5 minutes
Load Average (15 min) Load average over 15 minutes

Load average sensors are only added on devices that report a load average.

Network interface sensors are named after the interface, such as eth0 download rate. The download and upload rate sensors show Mbit/s by default, and you can change the unit in the entity settings. Loopback interfaces are left out, and sensors for an interface that appears later, such as a USB network adapter, are added when it first shows up. The Wi-Fi sensors are unknown while the interface isn’t connected, and aren’t available on macOS.

Per-disk sensors are named after the disk, such as /dev/sda1 read rate. They’re only added for disks that report read and write activity, and a disk that appears later, such as a USB drive, gets its sensors when it first shows up.

Each battery System Bridge finds, including ones in connected devices such as a wireless mouse or headset, also gets a level and a state sensor named after its model, such as PRO X SUPERLIGHT 2c battery. They’re enabled for connected devices, and disabled by default for the device’s own batteries, which the battery sensors above already cover. Sensors for a battery that appears later, such as a headset being switched on, are added when it first shows up. The AC Power binary sensor is only added on devices that report it, so desktops don’t get one.

Media player

The integration also provides a media player. This allows you control the currently playing media on your device.

This is currently only supported devices running System Bridge on Windows.

Media source

This integration is available as a media source to use with the media browser integration. You can browse and view media from your system to media players such as your web browser and other supported media players.

Update

The integration provides an update component, which will notify you when a new version of the app is available.

Notifiers

The System Bridge integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] adds a notify entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] for your configured device. To send a notification, you can use the notify.send_message actionAn action makes Home Assistant do something, for example, turn on a light, send a notification, or activate a scene. Automations and scripts run a list of actions. [Learn more]. For more customizable notifications, you can use the notify platform instead. For further instructions on using notifiers in automations, refer to the getting started with automation page.

ActionAn action makes Home Assistant do something, for example, turn on a light, send a notification, or activate a scene. Automations and scripts run a list of actions. [Learn more]
action: notify.send_message
target:
  entity_id: notify.my_device
data:
  title: "Reminder"
  message: "Have you considered frogs?"

Notifications

You can send notifications to the device using the notify.system_bridge_hostname notify entity.

action: notify.system_bridge_hostname
data:
  data:
    image: "https://brands.home-assistant.io/system_bridge/[email protected]"
    timeout: 30
    actions:
      - command: api
        data:
          endpoint: open
          method: POST
          body:
            url: "http://homeassistant.local:8123/lovelace/cameras"
        label: "Open Cameras"
    audio:
      source: "https://d3qhmae9zx9eb.cloudfront.net/home/amzn_sfx_doorbell_chime_02.mp3"
      volume: 80
  title: "Test Title"
  message: "This is a message"

Parameters

  • target: The target to send the notification to. This can be ignored.
  • title: The title of the notification.
  • message: The message of the notification.
  • data: The data to send to the device. See below for more information.

Actions (data parameter)

This is a list of actions that can be sent to the device. These are buttons that show below the title, message, and image.

  • command: The command to send to the device. For example, api sends a request to the System Bridge API.
  • label: The label of the button.
  • data: The data to send to the device. The available parameters for the api command are endpoint, method, body, and params.

Here is an example action that opens a URL in the device’s browser:

- command: api
  label: "Open Cameras"
  data:
    endpoint: open
    method: POST
    body:
      url: "http://homeassistant.local:8123/lovelace/cameras"

Audio (data parameter)

This is an object containing the source and volume (0-100). The source must be a URL to a playable audio file, such as an MP3.

List of actions

The System Bridge integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] provides the following actions. Each link below opens a dedicated page with examples, parameters, and a step-by-step UI walkthrough.

  • Get process by ID (system_bridge.get_process_by_id) Gets a running process from a System Bridge server by its process ID.

  • Get processes by name (system_bridge.get_processes_by_name) Gets the running processes from a System Bridge server that match a name.

  • Open path (system_bridge.open_path) Opens a file on a System Bridge server with the default application.

  • Open URL (system_bridge.open_url) Opens a URL on a System Bridge server with the default application.

  • Power command (system_bridge.power_command) Sends a power command to a System Bridge server.

  • Send keyboard keypress (system_bridge.send_keypress) Sends a keyboard keypress to a System Bridge server.

  • Send keyboard text (system_bridge.send_text) Sends text for a System Bridge server to type.

For an overview of every action across all integrations, see the actions reference.