companion.home-assistant/docs/notifications/dynamic-content.md

133 lines
4.7 KiB
Markdown

---
title: "Dynamic attachments"
id: "dynamic-content"
---
![iOS](/assets/iOS.svg) Specific<br />
Dynamic content such as maps and camera streams can be displayed as part of a notification without needing to open an app.
## Map
Will show a centered map with a red pin at the given coordinates.
```yaml
action: notify.mobile_app_<your_device_id_here>
data:
message: Something happened at home!
data:
action_data:
latitude: "40.785091"
longitude: "-73.968285"
```
### iOS Prior to 2021.5
Before ![iOS](/assets/iOS.svg) version 2021.5, you need to include a `category` like so:
```yaml
action: notify.mobile_app_<your_device_id_here>
data:
message: Something happened at home!
data:
action_data:
latitude: "40.785091"
longitude: "-73.968285"
# compatibility with iOS versions prior to 2021.5
push:
category: map
```
Be aware, that to send a map you must send a push `category` which has to be called `map`, `map1`, `map2`, `map3` or `map4` otherwise you won't get the map delivered.
### Zoom level
In order to change the default zoom level of the map, the following properties under `action_data` can be used. If not set, a default value of `0.1` degrees will be used.
| Name | Type | Description |
| ------------ | ------------- | ------------- |
| `latitude_delta:` | string | The amount of north-to-south distance (in degrees) to display. |
| `longitude_delta:` | string | The amount of east-to-west distance (in degrees) to display. |
### Showing a second pin
You can use the following properties under `action_data` to display a second pin. If used, the first pin will be red and the second pin green.
| Name | Type | Description |
| ------------ | ------------- | ------------- |
| `second_latitude:` | string | The latitude of the second pin. |
| `second_longitude:` | string | The longitude of the second pin. |
| `shows_line_between_points:` | boolean | Displays a line connecting the first and second pin. |
### Extra configuration
You can also pass the following option properties under `action_data` to modify the map in various ways. All options listed here accept boolean (`true` / `false`) values.
| Name | Type | Description |
| ------------ | ------------- | ------------- |
| `shows_compass:` | boolean | Displays a compass control on the map. |
| `shows_points_of_interest:` | boolean | Displays point-of-interest (POI) information on the map. |
| `shows_scale:` | boolean | Shows scale information on the map. |
| `shows_traffic:` | boolean | Displays traffic information on the map. |
| `shows_user_location:` | boolean | Attempts to display user's location on the map. |
![An example of the map dynamic content.](/assets/ios/map.png)
## Camera Stream
The preview thumbnail of the notification will display a still image from the camera. When expanded, the notification content displays a real time MJPEG stream if the camera supports it.
You can use the attachment parameters `content-type` and `hide-thumbnail` with camera to control the thumbnail.
```yaml
action: notify.mobile_app_<your_device_id_here>
data:
message: Motion Detected in the Living Room
data:
entity_id: camera.living_room_camera
```
### iOS Prior to 2021.5
Before ![iOS](/assets/iOS.svg) version 2021.5, you need to include a `category` like so:
```yaml
action: notify.mobile_app_<your_device_id_here>
data:
message: Motion Detected in the Living Room
data:
entity_id: camera.living_room_camera
# compatibility with iOS versions prior to 2021.5
push:
category: camera
```
Be aware, that to send a camera image you must send a push category which has to be called `camera`, `camera1`, `camera2`, `camera3` or `camera4` otherwise you won't get the camera image delivered.
## Combining with actionable notifications on iOS versions prior to 2021.5
On versions prior to 2021.5, the `category` key is used to tell the device what kind of content extension to use. You can use the same category identifiers in your own custom [actions](actionable.md) to add actions to the content extension.
For example this configuration adds actions to a camera content message.
```yaml
ios:
push:
categories:
- name: Camera With Actions
identifier: 'camera'
actions:
- identifier: 'OPEN_COVER'
title: 'Open Cover'
activationMode: 'background'
authenticationRequired: true
destructive: no
- identifier: 'CLOSE_COVER'
title: 'Close Cover'
activationMode: 'background'
authenticationRequired: true
destructive: true
```
## Troubleshooting
If you are having problems with receiving these special notifications, try restarting your phone first. The extensions sometimes fail to register properly until a restart.