mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-24 17:57:14 +00:00
Remove iOS docs
This commit is contained in:
parent
ed06e72669
commit
f12698ff4f
@ -1,58 +0,0 @@
|
||||
---
|
||||
title: "iOS"
|
||||
description: "Documentation about the Home Assistant iOS app."
|
||||
redirect_from: /ecosystem/ios/
|
||||
---
|
||||
|
||||
The Home Assistant for iOS app offers a companion app for iOS which is deeply integrated into both Home Assistant and iOS. Its basic features include:
|
||||
|
||||
* Advanced push notifications
|
||||
* Location tracking
|
||||
* Basic control of all Home Assistant entities
|
||||
* Integration with third party apps
|
||||
|
||||
The app is available on the iOS App Store in every country that Apple supports.
|
||||
|
||||
<p style="text-align: center;"><a target="_blank" href="https://itunes.apple.com/us/app/home-assistant-open-source-home-automation/id1099568401?mt=8" style="display:inline-block;overflow:hidden;background:url(//linkmaker.itunes.apple.com/assets/shared/badges/en-us/appstore-lrg.svg) no-repeat;width:135px;height:40px;background-size:contain;"></a></p>
|
||||
|
||||
## Basic requirements
|
||||
|
||||
* iOS device running at least iOS 9, but iOS 10 is greatly preferred.
|
||||
* Home Assistant 0.42.4 or higher for push notification support.
|
||||
* SSL is strongly recommended. Self-signed SSL certificates will not work due to Apple's limitations.
|
||||
|
||||
The `ios` integration is the companion integration for the Home Assistant iOS app. While not required, adding the `ios` integration to your setup will greatly enhance the iOS app with new notification, location and sensor functions not possible with a standalone app.
|
||||
|
||||
Loading the `ios` integration will also load the [`device_tracker`](/integrations/device_tracker), [`zeroconf`](/integrations/zeroconf) and [`notify`](/integrations/notify) platforms.
|
||||
|
||||
The Home Assistant for iOS app supports the new authentication system introduced in Home Assistant 0.77.
|
||||
|
||||
## Setup
|
||||
|
||||
### Automated Setup
|
||||
|
||||
The `ios` integration will automatically be loaded under the following circumstances:
|
||||
|
||||
1. The [`discovery`](/integrations/discovery) integration is enabled.
|
||||
2. You have just installed the app and are at the getting started screen.
|
||||
|
||||
Automated discovery and integration loading only happens at first install of the app. You may need to wait a few minutes for the iOS integration to load as the `discovery` integration only scans the network every 5 minutes.
|
||||
|
||||
After the first automated setup you need to add `ios:` to your configuration so that the integration loads by default even after restarting Home Assistant.
|
||||
|
||||
### Manual Setup
|
||||
|
||||
You may also manually load the `ios` integration by adding the following to your configuration:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
ios:
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
push:
|
||||
description: Actionable push notifications configuration. See the [actionable notifications documentation](/docs/ecosystem/ios/notifications/actions/) for more information.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "ios.conf"
|
||||
description: "Describes the contents and purpose of ios.conf"
|
||||
---
|
||||
|
||||
The `ios.conf` file contains the most recent state of all registered iOS devices. Deleting this file will not disable the devices and the file will be recreated the next time a new device is connected or an existing one reconnects.
|
@ -1,20 +0,0 @@
|
||||
---
|
||||
title: "Integration"
|
||||
description: "Examples of how Home Assistant for iOS can be integrated with other apps"
|
||||
redirect_from: /ecosystem/ios/integration/
|
||||
---
|
||||
|
||||
Home Assistant for iOS supports opening from other apps via URL.
|
||||
|
||||
Query parameters are passed as a dictionary in the call.
|
||||
|
||||
## Call service
|
||||
Example: `homeassistant://call_service/device_tracker.see?entity_id=device_tracker.entity`
|
||||
|
||||
## Fire event
|
||||
You can create an [event trigger](/docs/automation/trigger/#event-trigger) and fire the event.
|
||||
|
||||
Example: `homeassistant://fire_event/custom_event?entity_id=MY_CUSTOM_EVENT`
|
||||
|
||||
## Send one shot location
|
||||
Example: `homeassistant://send_location/`
|
@ -1,49 +0,0 @@
|
||||
---
|
||||
title: "Location"
|
||||
description: "Documentation about the location tracking abilities in Home Assistant for iOS"
|
||||
redirect_from: /ecosystem/ios/location/
|
||||
---
|
||||
|
||||
## Location tracking when outside a Home Assistant zone
|
||||
|
||||
Home Assistant for iOS receives _significant location updates_ from iOS. Whenever an update is received, it is sent to Home Assistant. Roughly, an update is received every time that your device transfers to a new cellular tower, a significant amount of time has passed (usually a couple hours) or a connection state changes and the system notices your location recently changed.
|
||||
|
||||
Apple [defines][apple-location-programming-guide] significant significant-change location updates as:
|
||||
|
||||
> The significant-change location service delivers updates only when there has been a significant change in the device’s location, such as 500 meters or more.
|
||||
|
||||
They also say in the [Energy Efficiency Guide][apple-energy-guide]:
|
||||
|
||||
> Significant-change location updates wake the system and your app once every 15 minutes, at minimum, even if no location changes have occurred.
|
||||
|
||||
Finally, I think this answer from [Stack Overflow][stackoverflow] says it best:
|
||||
|
||||
> The significant location change is the least accurate of all the location monitoring types. It only gets its updates when there is a cell tower transition or change. This can mean a varying level of accuracy and updates based on where the user is. City area, more updates with more towers. Out of town, interstate, fewer towers and changes.
|
||||
|
||||
What's the real story on significant-change location updates? Who knows, because Apple keeps it private.
|
||||
|
||||
## Location tracking in Home Assistant zones
|
||||
|
||||
At launch, Home Assistant for iOS sets up geofences for all zones in your Home Assistant configuration. Enter and exit notifications are sent to Home Assistant.
|
||||
|
||||
### Configuration
|
||||
|
||||
Add `track_ios: false` to your zone configurations to disable zone location tracking for all connected iOS apps.
|
||||
|
||||
### iBeacons
|
||||
|
||||
As of 1.0.3 the app has basic support for using iBeacons to trigger enter/exit updates. To configure them, add your iBeacon details to your zone like this:
|
||||
|
||||
```yaml
|
||||
zone.home:
|
||||
beacon:
|
||||
uuid: B9407F30-F5F8-466E-AFF9-25556B57FE6D
|
||||
major: 60042
|
||||
minor: 43814
|
||||
```
|
||||
|
||||
Restart Home Assistant and then the iOS app. It will then begin using iBeacons _instead of your location_ for enter and exit triggers around your zones. To add an iBeacon to `zone.home` add the above under your `customize`.
|
||||
|
||||
[apple-energy-guide]: https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/LocationBestPractices.html#//apple_ref/doc/uid/TP40015243-CH24-SW4
|
||||
[apple-location-programming-guide]: https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html#//apple_ref/doc/uid/TP40009497-CH2-SW9
|
||||
[stackoverflow]: http://stackoverflow.com/a/13331625/486182
|
@ -1,18 +0,0 @@
|
||||
---
|
||||
title: "Notifications Introduction"
|
||||
description: "Getting started with iOS notifications"
|
||||
redirect_from: /ecosystem/ios/notifications/
|
||||
---
|
||||
|
||||
The `ios` notify platform enables sending push notifications to the Home Assistant iOS app.
|
||||
|
||||
The 'ios' integration will automatically load the notify service.
|
||||
The service integration can be called using `service: notify.ios_<your_device_ID>`.
|
||||
Your device ID can be found in the `ios.conf` file in your configuration folder. The file is compressed JSON. You can view it easier by copying the file contents and pasting them into [JSONLint](http://jsonlint.com).
|
||||
|
||||
In this example, the device ID is `robbiet480_7plus`, so the notify service to use is `notify.ios_robbiet480_7plus`:
|
||||
```json
|
||||
{"devices":{"robbiet480_7plus":{"app":{"bundleIdentifer":"io.robbie.HomeAssistant","versionNumber":1,"buildNumber":53},"pushSounds":[],"permissions":["location"],"deviceId":"robbiet480_7plus","device":{"type":"iPhone 7 Plus","systemName":"iOS","systemVersion":"10.3","permanentID":"AB9F02FE-6AC6-47B8-ADEB-5DD87B489156","localizedModel":"iPhone","name":"Robbie's iPhone 7 Plus","model":"iPhone"},"battery":{"state":"Full","level":100},"pushToken":"SECRET","pushId":"SECRET"}}}
|
||||
```
|
||||
|
||||
You can find more information in the [Basic Notifications](/docs/ecosystem/ios/notifications/basic/) documentation and the [Actionable Notifications](/docs/ecosystem/ios/notifications/actions/) documentation.
|
@ -1,144 +0,0 @@
|
||||
---
|
||||
title: "Actionable notifications"
|
||||
description: "Making push notifications a two way system"
|
||||
redirect_from: /ecosystem/ios/notifications/actions/
|
||||
---
|
||||
|
||||
Actionable notifications allow you to attach 1-4 custom buttons to a notification. When one of the actions is selected Home Assistant will be notified which action was chosen. This allows you to build complex automations.
|
||||
|
||||
Examples of actionable notifications:
|
||||
|
||||
- A notification is sent whenever motion is detected in your home while you are away or asleep. You can add an action to Sound Alarm. When tapped, Home Assistant is notified that the `sound_alarm` action was selected. You can add an automation to sound the burglar alarm whenever this event is seen.
|
||||
- Someone rings your front door bell. You can send an action to lock or unlock your front door. When tapped, a notification is sent back to Home Assistant upon which you can build automations.
|
||||
- Send a notification whenever your garage door opens with actions to open and close the garage.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/ios/actions.png' />
|
||||
Actionable notifications allow the user to send a command back to Home Assistant.
|
||||
</p>
|
||||
|
||||
## Overview of how actionable notifications work
|
||||
|
||||
In advance of sending a notification:
|
||||
|
||||
1. Define a notification category in your Home Assistant configuration which contain 1-4 actions.
|
||||
2. At launch iOS app requests notification categories from Home Assistant (can also be done manually in notification settings).
|
||||
|
||||
When sending a notification:
|
||||
|
||||
1. Send a notification with `data.push.category` set to a pre-defined notification category identifier.
|
||||
2. Push notification delivered to device
|
||||
3. User opens notification.
|
||||
3. Action tapped
|
||||
4. Identifier of action sent back to HA as the `actionName` property of the event `ios.notification_action_fired`, along with other metadata such as the device and category name.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/ios/NotificationActionFlow.png' />
|
||||
How the iOS device and Home Assistant work together to enable actionable notifications.
|
||||
</p>
|
||||
|
||||
## Definitions
|
||||
- Category - A category represents a type of notification that the app might receive. Think of it as a unique group of actions.
|
||||
- Actions - An action consists of a button title and the information that iOS needs to notify the app when the action is selected. You create separate action objects for distinct action your app supports.
|
||||
|
||||
## Category parameters
|
||||
|
||||
- **name** (*Required*): A friendly name for this category.
|
||||
- **identifier** (*Required*): A unique identifier for the category. Must be lowercase and have no special characters or spaces.
|
||||
- **actions** (*Required*): A list of actions.
|
||||
|
||||
## Actions parameters
|
||||
|
||||
- **identifier** (*Required*): A unique identifier for this action. Must be uppercase and have no special characters or spaces. Only needs to be unique to the category, not unique globally.
|
||||
- **title** (*Required*): The text to display on the button. Keep it short.
|
||||
- **activationMode** (*Optional*): The mode in which to run the app when the action is performed. Setting this to `foreground` will make the app open after selecting. Default value is `background`.
|
||||
- **authenticationRequired** (*Optional*): If `true`, the user must unlock the device before the action is performed.
|
||||
- **destructive** (*Optional*): When the value of this property is a truthy value, the system displays the corresponding button differently to indicate that the action is destructive (text color is red).
|
||||
- **behavior** (*Optional*): When `textInput` the system provides a way for the user to enter a text response to be included with the notification. The entered text will be sent back to Home Assistant. Default value is `default`.
|
||||
- **textInputButtonTitle** (*Optional*): The button label. *Required* if `behavior` is `textInput`.
|
||||
- **textInputPlaceholder** (*Optional*): The placeholder text to show in the text input field. Only used if `behavior` is `textInput` and the device runs iOS 10.
|
||||
|
||||
Here's a fully built example configuration:
|
||||
|
||||
```yaml
|
||||
ios:
|
||||
push:
|
||||
categories:
|
||||
- name: Alarm
|
||||
identifier: 'alarm'
|
||||
actions:
|
||||
- identifier: 'SOUND_ALARM'
|
||||
title: 'Sound Alarm'
|
||||
activationMode: 'background'
|
||||
authenticationRequired: true
|
||||
destructive: true
|
||||
behavior: 'default'
|
||||
- identifier: 'SILENCE_ALARM'
|
||||
title: 'Silence Alarm'
|
||||
activationMode: 'background'
|
||||
authenticationRequired: true
|
||||
destructive: false
|
||||
behavior: 'textInput'
|
||||
textInputButtonTitle: 'Silencio!'
|
||||
textInputPlaceholder: 'Placeholder'
|
||||
```
|
||||
|
||||
## Building automations for notification actions
|
||||
Here is an example automation to send a notification with a category in the payload:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Notify iOS app
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.ios_robbies_iphone_7_plus
|
||||
data:
|
||||
message: "Something happened at home!"
|
||||
data:
|
||||
push:
|
||||
badge: 5
|
||||
sound: <SOUND FILE HERE>
|
||||
category: "alarm" # Needs to match the top level identifier you used in the ios configuration
|
||||
action_data: # Anything passed in action_data will get echoed back to Home Assistant.
|
||||
entity_id: light.test
|
||||
my_custom_data: foo_bar
|
||||
```
|
||||
|
||||
When an action is selected an event named `ios.notification_action_fired` will be emitted on the Home Assistant event bus. Below is an example payload.
|
||||
|
||||
```json
|
||||
{
|
||||
"sourceDeviceName": "Robbie's iPhone 7 Plus",
|
||||
"sourceDeviceID": "robbies_iphone_7_plus",
|
||||
"actionName": "SOUND_ALARM",
|
||||
"sourceDevicePushId": "ab9f02fe-6ac6-47b8-adeb-5dd87b489156",
|
||||
"textInput": "",
|
||||
"actionData": {}
|
||||
}
|
||||
```
|
||||
|
||||
Here's an example automation for the given payload:
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Sound the alarm
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ios.notification_action_fired
|
||||
event_data:
|
||||
actionName: SOUND_ALARM
|
||||
action:
|
||||
...
|
||||
```
|
||||
|
||||
Notes:
|
||||
|
||||
* `textInput` will only exist if `behavior` was set to `textInput`.
|
||||
* `actionData` is a dictionary with parameters passed in the `action_data` dictionary of the `push` dictionary in the original notification.
|
||||
* When adding or updating push categories be sure to update push settings within the Home Assistant iOS app. This can be found within the app at **Settings** (gear icon) > **Notification Settings**.
|
||||
|
||||
## Compatibility with different devices
|
||||
|
||||
* For devices that support "Force Touch" / "3D Touch" - a long press on the notification will cause the actions to appear. Devices such as iPhone 6S, iPhone 6S Plus, iPhone 7, iPhone 7 Plus, iPhone 8, iPhone 8 Plus, iPhone X, iPhone XS, iPhone XS Max as well as some iPad and Apple Watch models.
|
||||
|
||||
* For device that do not support this feature - a left to right swipe on the notification + tap on 'View' button, will cause the relevant actions to appear. Devices such as iPhone 6 and below, iPhone SE, iPhone XR as some iPad models.
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
title: "Architecture"
|
||||
description: "The push notification system layout"
|
||||
redirect_from: /ecosystem/ios/notifications/architecture/
|
||||
---
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/ios/PushNotificationLayout.png' />
|
||||
The push notification infrastructure layout
|
||||
</p>
|
@ -1,71 +0,0 @@
|
||||
---
|
||||
title: "Notification attachments"
|
||||
description: "Adding attachments to iOS push notifications"
|
||||
redirect_from: /ecosystem/ios/notifications/attachments/
|
||||
---
|
||||
|
||||
iOS 10 adds _attachments_ to notifications. An attachment is an image, video, or audio file which is downloaded to the device when a notification is received and shown alongside the notification. A thumbnail is shown when the notification is not expanded. The full size attachment is shown when the notification is expanded.
|
||||
|
||||
<div class="note">
|
||||
To expand a notification on 3D Touch devices simply force touch any notification. On non-3D Touch devices swipe and tap the "View" button.
|
||||
</div>
|
||||
|
||||
```yaml
|
||||
- alias: Notify iOS app
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.ios_robbies_iphone_7_plus
|
||||
data:
|
||||
message: "Something happened at home!"
|
||||
data:
|
||||
attachment:
|
||||
url: "https://github.com/home-assistant/home-assistant-assets/blob/master/logo-round-192x192.png?raw=true"
|
||||
content-type: png
|
||||
hide-thumbnail: false
|
||||
```
|
||||
|
||||
Notes:
|
||||
* The thumbnail of the notification will be the media at the `url`.
|
||||
* The notification content is the media at the `url`.
|
||||
* Attachment can be used with custom push notification categories.
|
||||
|
||||
## Example
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/ios/attachment.png' />
|
||||
An unexpanded push notification with an attachment.
|
||||
</p>
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/ios/expanded_attachment.png' />
|
||||
The same notification but expanded to show the full size attachment
|
||||
</p>
|
||||
|
||||
## Supported media types
|
||||
|
||||
If the attachment does not appear please ensure it is in one of the following formats:
|
||||
|
||||
### Audio attachments
|
||||
|
||||
Maximum file size: 5 MB
|
||||
|
||||
Allowed Formats: AIFF, WAV, MP3, MPEG4 Audio
|
||||
|
||||
### Image attachments
|
||||
|
||||
Maximum file size: 10 MB
|
||||
|
||||
Allowed Formats: JPEG, GIF, PNG
|
||||
|
||||
### Video attachments
|
||||
|
||||
Maximum file size: 50 MB
|
||||
|
||||
Allowed Formats: MPEG, MPEG2, MPEG4, AVI
|
||||
|
||||
## Configuration
|
||||
|
||||
- **url** (*Required*): The URL of content to use as the attachment. This URL _must_ be accessible from the Internet, or the receiving device must be on the same network as the hosted content.
|
||||
- **content-type** (*Optional*): By default, the extension of the URL will be checked to determine the filetype. If there is no extension/it can't be determined you can manually provide a file extension.
|
||||
- **hide-thumbnail** (*Optional*): If set to `true` the thumbnail will not show on the notification. The content will only be viewable by expanding.
|
@ -1,99 +0,0 @@
|
||||
---
|
||||
title: "Basic Notifications"
|
||||
description: "Basic notes about iOS notifications"
|
||||
redirect_from: /ecosystem/ios/notifications/basic/
|
||||
---
|
||||
|
||||
The iOS notify platform accepts the standard `title`, `message` and `target` parameters. The iOS notify platform supports targets as services. Assuming that you did not set a `name` when configuring the platform you should find all your registered and notification-enabled iOS devices available as notify targets as services with names prefixed "notify.ios_" and then the device name you entered at setup.
|
||||
|
||||
Notes:
|
||||
|
||||
* `title` only displays on Apple Watch and devices with iOS 10 or above.
|
||||
|
||||
* `target` can be used to specific a single device using its PushID, found in `ios.conf`. The preferred way of providing a target is through a target specific notify service.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/ios/example.png' />
|
||||
A push notification showing all of the basic options `title` and `message` as well as `subtitle` and [actions](/ecosystem/ios/notifications/actions/).
|
||||
</p>
|
||||
|
||||
### Enhancing basic notifications
|
||||
|
||||
#### Badge
|
||||
You can set the icon badge in the payload:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Notify iOS app
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
title: "Smart Home Alerts"
|
||||
message: "Something happened at home!"
|
||||
data:
|
||||
push:
|
||||
badge: 5
|
||||
```
|
||||
|
||||
#### Subtitle
|
||||
Starting with iOS 10, a subtitle is supported in addition to the title:
|
||||
|
||||
```yaml
|
||||
automation
|
||||
- alias: Notify iOS app
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
title: "Smart Home Alerts"
|
||||
message: "Something happened at home!"
|
||||
data:
|
||||
subtitle: "Subtitle goes here"
|
||||
```
|
||||
|
||||
#### Thread-id (grouping notifications)
|
||||
Starting with iOS 12, grouping of notifications is supported. All notifications with the same thread-id will be grouped together in the notification center. Without a thread-id, all notifications from the app will be placed in a single group.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Notify iOS app
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
title: "Smart Home Alerts"
|
||||
message: "Something happened at home!"
|
||||
data:
|
||||
push:
|
||||
thread-id: "example-notification-group"
|
||||
```
|
||||
|
||||
|
||||
### Sending notifications to multiple phones
|
||||
To send notifications to multiple phones, create a [notification group](/integrations/notify.group/):
|
||||
```yaml
|
||||
notify:
|
||||
- name: NOTIFIER_NAME
|
||||
platform: group
|
||||
services:
|
||||
- service: ios_iphone_one
|
||||
- service: ios_iphone_two
|
||||
```
|
||||
Now, you can send notifications to everyone in the group using:
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Notify iOS app
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.NOTIFIER_NAME
|
||||
data:
|
||||
message: "Something happened at home!"
|
||||
data:
|
||||
push:
|
||||
badge: 5
|
||||
```
|
@ -1,103 +0,0 @@
|
||||
---
|
||||
title: "Dynamic content"
|
||||
description: "Extend your notifications with dynamic content"
|
||||
redirect_from: /ecosystem/ios/notifications/content_extensions/
|
||||
---
|
||||
|
||||
With the new Content Extension feature found in iOS 10, dynamic content can now be displayed as part of a notification without opening an app.
|
||||
|
||||
# Map
|
||||
Will show a map with a red tipped pin at the coordinates given.
|
||||
The map will be centered at the coordinates given.
|
||||
|
||||
```yaml
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: Something happened at home!
|
||||
data:
|
||||
push:
|
||||
category: map
|
||||
action_data:
|
||||
latitude: "40.785091"
|
||||
longitude: "-73.968285"
|
||||
```
|
||||
|
||||
## 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 green.
|
||||
|
||||
- **second_latitude**: The latitude of the second pin. **Must be a string!**
|
||||
- **second_longitude**: The longitude of the second pin. **Must be a string!**
|
||||
- **shows_line_between_points**: A Boolean value indicating whether a line should be drawn between the first and second pin.
|
||||
|
||||
## Extra configuration
|
||||
|
||||
You can also pass the following properties under `action_data` to modify the map in various ways. All are expected to be boolean values unless otherwise noted:
|
||||
|
||||
- **shows_compass**: A Boolean indicating whether the map displays a compass control.
|
||||
- **shows_points_of_interest**: A Boolean indicating whether the map displays point-of-interest information.
|
||||
- **shows_scale**: A Boolean indicating whether the map shows scale information.
|
||||
- **shows_traffic**: A Boolean value indicating whether the map displays traffic information.
|
||||
- **shows_user_location**: A Boolean value indicating whether the map should try to display the user’s location.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/ios/map.png' />
|
||||
An example of the map dynamic content.
|
||||
</p>
|
||||
|
||||
|
||||
# Camera Stream
|
||||
|
||||
The notification thumbnail will be a still image from the camera.
|
||||
The notification content is a real time MJPEG stream of a camera (assuming the camera supports it).
|
||||
|
||||
You can use the attachment parameters `content-type` and `hide-thumbnail` with camera to control the thumbnail.
|
||||
|
||||
You can view an example [here](https://www.youtube.com/watch?v=LmYwpxPKW0g).
|
||||
|
||||
Note: This functionality is only available from iOS 11 onwards.
|
||||
|
||||
```yaml
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: Motion detected in the Living Room
|
||||
data:
|
||||
attachment:
|
||||
content-type: jpeg
|
||||
push:
|
||||
category: camera
|
||||
entity_id: camera.demo_camera
|
||||
```
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/LmYwpxPKW0g" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
# Combining with actionable notifications
|
||||
|
||||
As you can see 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](/ecosystem/ios/notifications/actions/) 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 somewhat often fail to register properly until a restart.
|
@ -1,17 +0,0 @@
|
||||
---
|
||||
title: "Privacy, rate limiting and security"
|
||||
description: "Notes about important topics relating to push notifications"
|
||||
redirect_from: /ecosystem/ios/notifications/privacy_security_rate_limits/
|
||||
---
|
||||
|
||||
## Privacy
|
||||
|
||||
No notification content is stored on remote servers. Only the required push registration data and a simple counter of the total number of push notifications sent per day per device (for rate limiting purposes) is kept.
|
||||
|
||||
## Rate limiting
|
||||
|
||||
Currently, you are allowed to send a maximum of 150 push notifications per day per device. This is to ensure that the service remains cheap to maintain. In the future we may add support for upgrading to allow more notifications. The rate limit resets at midnight UTC daily. When a notification is sent your current rate limits (including sent notifications and notifications remaining for the day) will be output to your Home Assistant logs. If an error occurs while sending a notification your rate limit will not be affected.
|
||||
|
||||
## Security
|
||||
|
||||
All traffic between your Home Assistant instance, the push infrastructure, and Apple, is encrypted with SSL.
|
@ -1,25 +0,0 @@
|
||||
---
|
||||
title: "Requesting location updates"
|
||||
description: "Ask the device to send a location update remotely"
|
||||
redirect_from: /ecosystem/ios/notifications/requesting_location_updates/
|
||||
---
|
||||
|
||||
<div class="note warning">
|
||||
Do not rely on this functionality due to the time limits mentioned below.
|
||||
</div>
|
||||
|
||||
You can force a device to attempt to report its location by sending a special notification.
|
||||
|
||||
```yaml
|
||||
automation
|
||||
- alias: Notify iOS app
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: "request_location_update"
|
||||
```
|
||||
|
||||
Assuming the device receives the notification, it will attempt to get a location update within 5 seconds and report it to Home Assistant. This is a little bit hit or miss since Apple imposes a maximum time allowed for the app to work with the notification and location updates sometimes take longer than usual due to factors such as waiting for GPS acquisition.
|
||||
|
@ -1,180 +0,0 @@
|
||||
---
|
||||
title: "Notification Sounds"
|
||||
description: "Adding sounds to notifications"
|
||||
redirect_from: /ecosystem/ios/notifications/sounds/
|
||||
---
|
||||
|
||||
Adding a custom sound to a notification allows you to easily identify the notification without even looking at your device. Home Assistant for iOS comes with some notification sounds pre-installed but you can also upload your own.
|
||||
|
||||
Here is an example notification that uses one of the pre-installed sounds.
|
||||
|
||||
```yaml
|
||||
- alias: Notify iOS app
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: “Something happened at home!”
|
||||
data:
|
||||
push:
|
||||
sound: "US-EN-Morgan-Freeman-Roommate-Is-Arriving.wav"
|
||||
```
|
||||
|
||||
Notes:
|
||||
* You must use the full filename in the payload (including extension).
|
||||
|
||||
## Custom push notification sounds
|
||||
|
||||
The app allows you to use your own custom sounds in push notifications. The sounds must be formatted as 32bit float 48000Hz wav files. You set the filename of the sound in the notification payload. To add sounds:
|
||||
|
||||
1. Connect the device to a PC or Mac running the latest version of iTunes.
|
||||
2. Go to the device in iTunes.
|
||||
3. Select "File Sharing" in the left-hand menu.
|
||||
4. Select Home Assistant.
|
||||
5. Drag and drop properly formatted sounds (32bit float 48000Hz wav files).
|
||||
6. Click Sync in the lower right.
|
||||
7. Once the sync is complete, disconnect the device from the computer.
|
||||
8. On your iOS device, open the Home Assistant app.
|
||||
9. Go to Settings -> Notification Settings.
|
||||
10. Select "Import sounds from iTunes".
|
||||
|
||||
Assuming that you correctly formatted the sounds they are now available to use in push notifications.
|
||||
|
||||
Notes:
|
||||
|
||||
* **Please note that due to a bug in iOS 10 you may need to restart your entire device before notification sounds can be played. This should hopefully be fixed by Apple soon.**
|
||||
* Uploading a file with the same name as an existing one will overwrite the original.
|
||||
* You can view what sounds are installed on each device by inspecting the `ios.conf` file in your configuration directory. They are listed in the `pushSounds` array.
|
||||
|
||||
### Preinstalled notification sounds
|
||||
|
||||
```txt
|
||||
US-EN-Alexa-Back-Door-Opened.wav
|
||||
US-EN-Alexa-Back-Door-Unlocked.wav
|
||||
US-EN-Alexa-Basement-Door-Opened.wav
|
||||
US-EN-Alexa-Basement-Door-Unlocked.wav
|
||||
US-EN-Alexa-Boyfriend-Is-Arriving.wav
|
||||
US-EN-Alexa-Daughter-Is-Arriving.wav
|
||||
US-EN-Alexa-Front-Door-Opened.wav
|
||||
US-EN-Alexa-Front-Door-Unlocked.wav
|
||||
US-EN-Alexa-Garage-Door-Opened.wav
|
||||
US-EN-Alexa-Girlfriend-Is-Arriving.wav
|
||||
US-EN-Alexa-Good-Morning.wav
|
||||
US-EN-Alexa-Good-Night.wav
|
||||
US-EN-Alexa-Husband-Is-Arriving.wav
|
||||
US-EN-Alexa-Mail-Has-Arrived.wav
|
||||
US-EN-Alexa-Motion-At-Back-Door.wav
|
||||
US-EN-Alexa-Motion-At-Front-Door.wav
|
||||
US-EN-Alexa-Motion-Detected-Generic.wav
|
||||
US-EN-Alexa-Motion-In-Back-Yard.wav
|
||||
US-EN-Alexa-Motion-In-Basement.wav
|
||||
US-EN-Alexa-Motion-In-Front-Yard.wav
|
||||
US-EN-Alexa-Motion-In-Garage.wav
|
||||
US-EN-Alexa-Patio-Door-Opened.wav
|
||||
US-EN-Alexa-Patio-Door-Unlocked.wav
|
||||
US-EN-Alexa-Smoke-Detected-Generic.wav
|
||||
US-EN-Alexa-Smoke-Detected-In-Basement.wav
|
||||
US-EN-Alexa-Smoke-Detected-In-Garage.wav
|
||||
US-EN-Alexa-Smoke-Detected-In-Kitchen.wav
|
||||
US-EN-Alexa-Son-Is-Arriving.wav
|
||||
US-EN-Alexa-Water-Detected-Generic.wav
|
||||
US-EN-Alexa-Water-Detected-In-Basement.wav
|
||||
US-EN-Alexa-Water-Detected-In-Garage.wav
|
||||
US-EN-Alexa-Water-Detected-In-Kitchen.wav
|
||||
US-EN-Alexa-Welcome-Home.wav
|
||||
US-EN-Alexa-Wife-Is-Arriving.wav
|
||||
US-EN-Daisy-Back-Door-Motion.wav
|
||||
US-EN-Daisy-Back-Door-Open.wav
|
||||
US-EN-Daisy-Front-Door-Motion.wav
|
||||
US-EN-Daisy-Front-Door-Open.wav
|
||||
US-EN-Daisy-Front-Window-Open.wav
|
||||
US-EN-Daisy-Garage-Door-Open.wav
|
||||
US-EN-Daisy-Guest-Bath-Leak.wav
|
||||
US-EN-Daisy-Kitchen-Sink-Leak.wav
|
||||
US-EN-Daisy-Kitchen-Window-Open.wav
|
||||
US-EN-Daisy-Laundry-Room-Leak.wav
|
||||
US-EN-Daisy-Master-Bath-Leak.wav
|
||||
US-EN-Daisy-Master-Bedroom-Window-Open.wav
|
||||
US-EN-Daisy-Office-Window-Open.wav
|
||||
US-EN-Daisy-Refrigerator-Leak.wav
|
||||
US-EN-Daisy-Water-Heater-Leak.wav
|
||||
US-EN-Morgan-Freeman-Back-Door-Closed.wav
|
||||
US-EN-Morgan-Freeman-Back-Door-Locked.wav
|
||||
US-EN-Morgan-Freeman-Back-Door-Opened.wav
|
||||
US-EN-Morgan-Freeman-Back-Door-Unlocked.wav
|
||||
US-EN-Morgan-Freeman-Basement-Door-Closed.wav
|
||||
US-EN-Morgan-Freeman-Basement-Door-Locked.wav
|
||||
US-EN-Morgan-Freeman-Basement-Door-Opened.wav
|
||||
US-EN-Morgan-Freeman-Basement-Door-Unlocked.wav
|
||||
US-EN-Morgan-Freeman-Boss-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Boyfriend-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Cleaning-Supplies-Closet-Opened.wav
|
||||
US-EN-Morgan-Freeman-Coworker-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Daughter-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Friend-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Front-Door-Closed.wav
|
||||
US-EN-Morgan-Freeman-Front-Door-Locked.wav
|
||||
US-EN-Morgan-Freeman-Front-Door-Opened.wav
|
||||
US-EN-Morgan-Freeman-Front-Door-Unlocked.wav
|
||||
US-EN-Morgan-Freeman-Garage-Door-Closed.wav
|
||||
US-EN-Morgan-Freeman-Garage-Door-Opened.wav
|
||||
US-EN-Morgan-Freeman-Girlfriend-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Good-Morning.wav
|
||||
US-EN-Morgan-Freeman-Good-Night.wav
|
||||
US-EN-Morgan-Freeman-Liquor-Cabinet-Opened.wav
|
||||
US-EN-Morgan-Freeman-Motion-Detected.wav
|
||||
US-EN-Morgan-Freeman-Motion-In-Basement.wav
|
||||
US-EN-Morgan-Freeman-Motion-In-Bedroom.wav
|
||||
US-EN-Morgan-Freeman-Motion-In-Game-Room.wav
|
||||
US-EN-Morgan-Freeman-Motion-In-Garage.wav
|
||||
US-EN-Morgan-Freeman-Motion-In-Kitchen.wav
|
||||
US-EN-Morgan-Freeman-Motion-In-Living-Room.wav
|
||||
US-EN-Morgan-Freeman-Motion-In-Theater.wav
|
||||
US-EN-Morgan-Freeman-Motion-In-Wine-Cellar.wav
|
||||
US-EN-Morgan-Freeman-Patio-Door-Closed.wav
|
||||
US-EN-Morgan-Freeman-Patio-Door-Locked.wav
|
||||
US-EN-Morgan-Freeman-Patio-Door-Opened.wav
|
||||
US-EN-Morgan-Freeman-Patio-Door-Unlocked.wav
|
||||
US-EN-Morgan-Freeman-Roommate-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Searching-For-Car-Keys.wav
|
||||
US-EN-Morgan-Freeman-Setting-The-Mood.wav
|
||||
US-EN-Morgan-Freeman-Smartthings-Detected-A-Flood.wav
|
||||
US-EN-Morgan-Freeman-Smartthings-Detected-Carbon-Monoxide.wav
|
||||
US-EN-Morgan-Freeman-Smartthings-Detected-Smoke.wav
|
||||
US-EN-Morgan-Freeman-Smoke-Detected-In-Basement.wav
|
||||
US-EN-Morgan-Freeman-Smoke-Detected-In-Garage.wav
|
||||
US-EN-Morgan-Freeman-Smoke-Detected-In-Kitchen.wav
|
||||
US-EN-Morgan-Freeman-Someone-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Son-Is-Arriving.wav
|
||||
US-EN-Morgan-Freeman-Starting-Movie-Mode.wav
|
||||
US-EN-Morgan-Freeman-Starting-Party-Mode.wav
|
||||
US-EN-Morgan-Freeman-Starting-Romance-Mode.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-All-The-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Air-Conditioner.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Bar-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Chandelier.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Family-Room-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Hallway-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Kitchen-Light.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Light.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-Mood-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-Off-The-TV.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Air-Conditioner.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Bar-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Chandelier.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Family-Room-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Hallway-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Kitchen-Light.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Light.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-Mood-Lights.wav
|
||||
US-EN-Morgan-Freeman-Turning-On-The-TV.wav
|
||||
US-EN-Morgan-Freeman-Vacate-The-Premises.wav
|
||||
US-EN-Morgan-Freeman-Water-Detected-In-Basement.wav
|
||||
US-EN-Morgan-Freeman-Water-Detected-In-Garage.wav
|
||||
US-EN-Morgan-Freeman-Water-Detected-In-Kitchen.wav
|
||||
US-EN-Morgan-Freeman-Welcome-Home.wav
|
||||
US-EN-Morgan-Freeman-Wife-Is-Arriving.wav
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user