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 integration 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.

Binary sensors

This integration provides the following binary sensors:

Name Description
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
Boot Time Time the device was turned on
CPU Speed The current CPU speed
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
Memory Free Memory (RAM) free in GB
Memory Used Memory (RAM) used in GB
Memory Used % Memory (RAM) % used
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
CPU Temperature The current temperature of the CPU
CPU Voltage The current voltage of the CPU
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

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.

Services

Notifications notify.system_bridge_hostname

You can send notifications to the device using the notify platform.

service: 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

Parameter Description
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 info.
Actions (data parameter)

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

Parameter Description
command The command to send to the device. For example api will send 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, params.

Here is an example action that will open 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 (an MP3 for example).

Service system_bridge.get_process_by_id

Returns a process by its pid.

Show service in your Home Assistant instance.

service: system_bridge.get_process_by_id
data:
  bridge: "deviceid"
  id: 17752

This returns Response Data like the following:

id: 17752
name: steam.exe
cpu_usage: 0.9
created: 1698951361.6117153
memory_usage: 0.23782578821487121
path: C:\Program Files (x86)\Steam\steam.exe
status: running
username: hostname\user
working_directory: null

Service system_bridge.get_processes_by_name

Returns a count and a list of processes matching the name provided.

Show service in your Home Assistant instance.

service: system_bridge.get_processes_by_name
data:
  bridge: "deviceid"
  name: discord

This returns Response Data like the following:

count: 1
processes:
  - id: 11196
    name: Discord.exe
    cpu_usage: 0.3
    created: 1698951365.770648
    memory_usage: 0.07285296297215042
    path: C:\Users\user\AppData\Local\Discord\app\Discord.exe
    status: running
    username: hostname\user
    working_directory: null

Service system_bridge.open_path

Open a URL or file on the server using the default application.

Show service in your Home Assistant instance.

service: system_bridge.open_path
data:
  bridge: "deviceid"
  path: "C:\\image.jpg"

This returns Response Data like the following:

id: abc123
type: OPENED
data:
  path: C:\image.jpg
message: Path opened

Service system_bridge.open_url

Open a URL or file on the server using the default application.

Show service in your Home Assistant instance.

service: system_bridge.open_url
data:
  bridge: "deviceid"
  url: "https://home-assistant.io"

This returns Response Data like the following:

id: abc123
type: OPENED
data:
  url: https://home-assistant.io
message: URL opened

Servicesystem_bridge.send_keypress

Send a keypress to the server.

Show service in your Home Assistant instance.

service: system_bridge.send_keypress
data:
  bridge: "deviceid"
  key: "a"

This returns Response Data like the following:

id: abc123
type: KEYBOARD_KEY_PRESSED
data:
  key: a
message: Key pressed

Service system_bridge.send_text

Sends text for the server to type.

Show service in your Home Assistant instance.

service: system_bridge.send_text
data:
  bridge: "deviceid"
  text: "Hello"

This returns Response Data like the following:

id: abc123
type: KEYBOARD_TEXT_SENT
data:
  text: Hello
message: Text entered

Service system_bridge.power_command

Sends power command to the system.

Supported commands are:

  • hibernate
  • lock
  • logout
  • restart
  • shutdown
  • sleep

Show service in your Home Assistant instance.

service: system_bridge.power_command
data:
  bridge: "device"
  command: "sleep"

This returns Response Data like the following:

id: abc123
type: POWER_SLEEPING
data: {}
message: Sleeping