diff --git a/source/_ecosystem/ios.markdown b/source/_ecosystem/ios.markdown index baf2caaf05e..e9683aa1500 100644 --- a/source/_ecosystem/ios.markdown +++ b/source/_ecosystem/ios.markdown @@ -12,6 +12,36 @@ hide_github_edit: true --- -This is a list of external tools. +The `ios` component is the companion component for the Home Assistant iOS app. While not required, adding the `ios` component to your setup will greatly enhance the iOS app with new notification, location and sensor functions not possible with a standalone app. -ios +Loading the `ios` component will also load the [`device_tracker`][device-tracker] and [`zeroconf`][zeroconf] components. It also provides functionality required for the iOS notify platform but will not automatically load the `notify` component or platform as of 0.31.1. You must manually load it. See the [iOS notify platform][ios-notify] for more information. + +## {% linkable_title Setup %} + +### Automated Setup + +The `ios` component will automatically be loaded under the following circumstances: + +1. The [`discovery`][discovery] component is enabled. +2. You have just installed the app and are at the getting started screen. + +Automated discovery and component loaded can only happen at first install of the app. You may need to wait a few minutes for the iOS component to load as the `discovery` component only scans the network every 5 minutes. + +### Manual Setup + +You may also manually load the `ios` component by adding the following to your configuration: + +```yaml +# Example configuration.yaml entry +ios: +``` + +Configuration variables: + +- **push** (*Optional*): Push notification configuration. See the [iOS `notify` platform][ios-notify] for more information. + +[discovery]: /components/discovery +[device-tracker]: /components/device_tracker +[zeroconf]: /components/zeroconf +[notify]: /components/notify +[ios-notify]: /ecosystem/ios/notifications/ diff --git a/source/_ecosystem/ios/devices_file.markdown b/source/_ecosystem/ios/devices_file.markdown new file mode 100644 index 00000000000..7b3fa7ba247 --- /dev/null +++ b/source/_ecosystem/ios/devices_file.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "ios.conf" +description: "Describes the contents and purpose of ios.conf" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Coming soon diff --git a/source/_ecosystem/ios/features.markdown b/source/_ecosystem/ios/features.markdown index e69de29bb2d..895a6a25311 100644 --- a/source/_ecosystem/ios/features.markdown +++ b/source/_ecosystem/ios/features.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "Features" +description: "Describes the features of Home Assistant for iOS" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Coming soon diff --git a/source/_ecosystem/ios/getting_started.markdown b/source/_ecosystem/ios/getting_started.markdown index e69de29bb2d..ecb5c03e7c6 100644 --- a/source/_ecosystem/ios/getting_started.markdown +++ b/source/_ecosystem/ios/getting_started.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "Getting started" +description: "First steps in setting up Home Assistant for iOS" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Coming soon diff --git a/source/_ecosystem/ios/integration.markdown b/source/_ecosystem/ios/integration.markdown index e69de29bb2d..e9db1dd875e 100644 --- a/source/_ecosystem/ios/integration.markdown +++ b/source/_ecosystem/ios/integration.markdown @@ -0,0 +1,25 @@ +--- +layout: page +title: "Integration" +description: "Examples of how Home Assistant for iOS can be integrated with other apps" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +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 + +Example `homeassistant://fire_event/custom_event?entity_id=device_tracker.entity` + +## Send one shot location + +Example: `homeassistant://send_location/` diff --git a/source/_ecosystem/ios/location.markdown b/source/_ecosystem/ios/location.markdown index e69de29bb2d..e14bbdc158c 100644 --- a/source/_ecosystem/ios/location.markdown +++ b/source/_ecosystem/ios/location.markdown @@ -0,0 +1,36 @@ +--- +layout: page +title: "Location" +description: "Documentation about the location tracking abilities in Home Assistant for iOS" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +## {% linkable_title Location tracking when outside a 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 everytime 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. + +## {% linkable_title Location tracking in 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. + +[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 diff --git a/source/_ecosystem/ios/requirements.markdown b/source/_ecosystem/ios/requirements.markdown index e69de29bb2d..89e89e6dcbb 100644 --- a/source/_ecosystem/ios/requirements.markdown +++ b/source/_ecosystem/ios/requirements.markdown @@ -0,0 +1,14 @@ +--- +layout: page +title: "Requirements" +description: "Basic requirements to use Home Assistant for iOS" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +* iOS device running at least iOS 9, but iOS 10 is greatly preferred. +* Home Assistant 0.31.1 or higher for push notification support. +* SSL is strongly recommended. Self-signed SSL certificates will not work due to Apple's limitations. diff --git a/source/_ecosystem/ios/security.markdown b/source/_ecosystem/ios/security.markdown index e69de29bb2d..bbb9fd4b5d2 100644 --- a/source/_ecosystem/ios/security.markdown +++ b/source/_ecosystem/ios/security.markdown @@ -0,0 +1,13 @@ +--- +layout: page +title: "Security" +description: "Describes Home Assistant for iOS security" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +* Please use SSL. +* All data, including hostname and password stored in encrypted database. diff --git a/source/_ecosystem/ios/sensor.markdown b/source/_ecosystem/ios/sensor.markdown index e69de29bb2d..7274a9d0e5b 100644 --- a/source/_ecosystem/ios/sensor.markdown +++ b/source/_ecosystem/ios/sensor.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "Sensors" +description: "Home Assistant for iOS battery sensors" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +As of Home Assistant 0.31.1 you will find battery state and level sensors for each registered device. diff --git a/source/_ecosystem/ios/support.markdown b/source/_ecosystem/ios/support.markdown index e69de29bb2d..f159b999dba 100644 --- a/source/_ecosystem/ios/support.markdown +++ b/source/_ecosystem/ios/support.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "Support" +description: "Home Assistant for iOS support" +date: 2016-10-25 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + +[Forums](https://community.home-assistant.io/c/ios) diff --git a/source/ecosystem/index.markdown b/source/ecosystem/index.markdown index 9318c4eb0bb..0af82796dab 100644 --- a/source/ecosystem/index.markdown +++ b/source/ecosystem/index.markdown @@ -10,4 +10,4 @@ footer: true hide_github_edit: true --- -Ecosystem includes documentation for related tools and projects that extend Home Assistant to new platforms and systems. +Ecosystem includes documentation for related tools and projects that extend Home Assistant to new platforms and systems. Use the sidebar to discover documentation for projects.