System Bridge - Notifications documentation (#28038)

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
Aidan Timson 2023-09-12 18:48:28 +01:00 committed by GitHub
parent f311c110ef
commit de38ea9d21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -15,70 +15,59 @@ ha_platforms:
- binary_sensor - binary_sensor
- sensor - sensor
ha_zeroconf: true ha_zeroconf: true
ha_integration_type: device ha_integration_type: integration
--- ---
[System Bridge](https://system-bridge.timmo.dev) 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. [System Bridge](https://system-bridge.timmo.dev) 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 ## Prerequisites
### Version ### Version
This integration requires System Bridge 3.1.1 and above. Any older version will not work. This integration requires System Bridge 3.1.1 and above. Any older version will not work.
### API Key ### API Key
You will need your API key. This can be found following the documentation [here](https://system-bridge.timmo.dev/docs/running). You will need your API key. This can be found following the documentation [here](https://system-bridge.timmo.dev/docs/running).
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
## Binary Sensors ## Binary Sensors
This integration provides the following binary sensors: This integration provides the following binary sensors:
| Name | Description | | Name | Description |
| --------------------- | ---------------------------------- | | --------------------- | ---------------------------------- |
| Battery Is Charging | Whether the battery is charging | | Battery Is Charging | Whether the battery is charging |
| New Version Available | Whether a new version is available | | New Version Available | Whether a new version is available |
## Sensors ## Sensors
This integration provides the following sensors: This integration provides the following sensors:
| Name | Description | | Name | Description |
| ---------------------- | --------------------------------------------------- | | -------------------- | --------------------------------------------------- |
| Battery | Battery level of the device | | Battery | Battery level of the device |
| Boot Time | Time the device was turned on | | Boot Time | Time the device was turned on |
| CPU Speed | The current CPU speed | | CPU Speed | The current CPU speed |
| Displays Connected | Number of displays connected | | Displays Connected | Number of displays connected |
| Display Resolution X | Display resolution (across) | | Display Resolution X | Display resolution (across) |
| Display Resolution Y | Display resolution (down) | | Display Resolution Y | Display resolution (down) |
| Display Refresh Rate | Display refresh rate | | Display Refresh Rate | Display refresh rate |
| Filesystem(s) | Space used for each drive letter / filesystem mount | | Filesystem(s) | Space used for each drive letter / filesystem mount |
| GPU Memory Free | GPU memory free in GB | | GPU Memory Free | GPU memory free in GB |
| GPU Usage % | GPU usage percentage | | GPU Usage % | GPU usage percentage |
| Kernel | Version information of the Kernel | | Kernel | Version information of the Kernel |
| Latest Version | System Bridge Latest Version | | Latest Version | System Bridge Latest Version |
| Load | System load percentage | | Load | System load percentage |
| Memory Free | Memory (RAM) free in GB | | Memory Free | Memory (RAM) free in GB |
| Memory Used | Memory (RAM) used in GB | | Memory Used | Memory (RAM) used in GB |
| Memory Used % | Memory (RAM) % used | | Memory Used % | Memory (RAM) % used |
| Operating System | Version information of the Operating System | | Operating System | Version information of the Operating System |
| Version | System Bridge Version | | Version | System Bridge Version |
These sensors are also available, but are not enabled by default: These sensors are also available, but are not enabled by default:
| Name | Description | | Name | Description |
| ---------------------- | ---------------------------------------- | | ---------------------- | ---------------------------------- |
| CPU Temperature | The current temperature of the CPU | | CPU Temperature | The current temperature of the CPU |
| CPU Voltage | The current voltage of the CPU | | CPU Voltage | The current voltage of the CPU |
| GPU Core Clock Speed | GPU core clock speed in MHz | | GPU Core Clock Speed | GPU core clock speed in MHz |
| GPU Memory Clock Speed | GPU memory clock speed in MHz | | GPU Memory Clock Speed | GPU memory clock speed in MHz |
| GPU Fan Speed | GPU fan speed percentage | | GPU Fan Speed | GPU fan speed percentage |
| GPU Memory Used | GPU memory used in GB | | GPU Memory Used | GPU memory used in GB |
| GPU Memory Used % | GPU memory used percentage | | GPU Memory Used % | GPU memory used percentage |
| GPU Power Usage | GPU power usage | | GPU Power Usage | GPU power usage |
| GPU Temperature | The current temperature of the GPU | | GPU Temperature | The current temperature of the GPU |
## Media Source ## Media Source
@ -86,51 +75,97 @@ This integration is available as a media source to use with the media browser in
## Services ## Services
### Notifications `notify.system_bridge_hostname`
You can send notifications to the device using the `notify` platform.
```yaml
service: notify.system_bridge_hostname
data:
data:
image: "https://brands.home-assistant.io/system_bridge/logo@2x.png"
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:
```yaml
- 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.open_path` ### Service `system_bridge.open_path`
Open a URL or file on the server using the default application. Open a URL or file on the server using the default application.
{% my developer_call_service service="system_bridge.open_path" title="Show service in your Home Assistant instance." %} {% my developer_call_service service="system_bridge.open_path" title="Show service in your Home Assistant instance." %}
```yaml ```yaml
service: system_bridge.open_path service: system_bridge.open_path
data: data:
bridge: "deviceid" bridge: "deviceid"
path: "C:\\image.jpg" path: "C:\\image.jpg"
``` ```
### Service `system_bridge.open_url` ### Service `system_bridge.open_url`
Open a URL or file on the server using the default application. Open a URL or file on the server using the default application.
{% my developer_call_service service="system_bridge.open_url" title="Show service in your Home Assistant instance." %} {% my developer_call_service service="system_bridge.open_url" title="Show service in your Home Assistant instance." %}
```yaml ```yaml
service: system_bridge.open_url service: system_bridge.open_url
data: data:
bridge: "deviceid" bridge: "deviceid"
url: "https://home-assistant.io" url: "https://home-assistant.io"
``` ```
### Service `system_bridge.send_keypress` ### Service `system_bridge.send_keypress`
Send a keypress to the server. Send a keypress to the server.
{% my developer_call_service service="system_bridge.send_keypress" title="Show service in your Home Assistant instance." %} {% my developer_call_service service="system_bridge.send_keypress" title="Show service in your Home Assistant instance." %}
```yaml ```yaml
service: system_bridge.send_keypress service: system_bridge.send_keypress
data: data:
bridge: "deviceid" bridge: "deviceid"
key: "a" key: "a"
``` ```
### Service `system_bridge.send_text` ### Service `system_bridge.send_text`
Sends text for the server to type. Sends text for the server to type.
{% my developer_call_service service="system_bridge.send_text" title="Show service in your Home Assistant instance." %} {% my developer_call_service service="system_bridge.send_text" title="Show service in your Home Assistant instance." %}
```yaml ```yaml
service: system_bridge.send_text service: system_bridge.send_text
data: data: