Merge remote-tracking branch 'origin/next' into rc

This commit is contained in:
Paulus Schoutsen 2019-12-04 22:53:37 -08:00
commit 5896695178
186 changed files with 5021 additions and 2583 deletions

View File

@ -4,7 +4,8 @@ on: [push, pull_request]
jobs:
remark:
runs-on: ubuntu-latest
#runs-on: ubuntu-latest
runs-on: self-hosted
steps:
- name: Checking out files from GitHub
uses: actions/checkout@v1

View File

@ -13,18 +13,18 @@ end
group :jekyll_plugins do
gem 'jekyll-paginate', '1.1.0'
gem 'jekyll-redirect-from', '0.15.0'
gem 'jekyll-sitemap', '1.3.1'
gem 'jekyll-sitemap', '1.4.0'
gem 'jekyll-time-to-read', '0.1.2'
gem 'jekyll-commonmark', '1.3.1'
end
gem 'sinatra', '2.0.7'
gem 'nokogiri', '1.10.5'
gem 'nokogiri', '1.10.6'
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
gem 'tzinfo', '~> 1.2'
gem 'tzinfo', '~> 2.0'
gem 'tzinfo-data'
end

View File

@ -25,8 +25,8 @@ GEM
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
eventmachine (1.2.7-x64-mingw32)
ffi (1.11.1)
ffi (1.11.1-x64-mingw32)
ffi (1.11.2)
ffi (1.11.2-x64-mingw32)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.7.0)
@ -54,7 +54,7 @@ GEM
jekyll (>= 3.3, < 5.0)
jekyll-sass-converter (2.0.1)
sassc (> 2.0.1, < 3.0)
jekyll-sitemap (1.3.1)
jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0)
jekyll-time-to-read (0.1.2)
jekyll
@ -71,9 +71,9 @@ GEM
mini_portile2 (2.4.0)
multi_json (1.14.1)
mustermann (1.0.3)
nokogiri (1.10.5)
nokogiri (1.10.6)
mini_portile2 (~> 2.4.0)
nokogiri (1.10.5-x64-mingw32)
nokogiri (1.10.6-x64-mingw32)
mini_portile2 (~> 2.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
@ -85,7 +85,7 @@ GEM
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
rouge (3.12.0)
rouge (3.13.0)
ruby-enum (0.7.2)
i18n
safe_yaml (1.0.5)
@ -104,10 +104,9 @@ GEM
stringex (2.8.5)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
tilt (2.0.10)
tzinfo (1.2.5)
thread_safe (~> 0.1)
tzinfo (2.0.0)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2019.3)
tzinfo (>= 1.0.0)
unicode-display_width (1.6.0)
@ -122,14 +121,14 @@ DEPENDENCIES
jekyll-commonmark (= 1.3.1)
jekyll-paginate (= 1.1.0)
jekyll-redirect-from (= 0.15.0)
jekyll-sitemap (= 1.3.1)
jekyll-sitemap (= 1.4.0)
jekyll-time-to-read (= 0.1.2)
nokogiri (= 1.10.5)
nokogiri (= 1.10.6)
rake (= 13.0.1)
sass-globbing (= 1.1.5)
sinatra (= 2.0.7)
stringex (= 2.8.5)
tzinfo (~> 1.2)
tzinfo (~> 2.0)
tzinfo-data
RUBY VERSION

View File

@ -101,8 +101,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 102
current_patch_version: 0
date_released: 2019-11-20
current_patch_version: 3
date_released: 2019-11-29
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -77,6 +77,16 @@ To use the Mosquitto as [broker](/docs/mqtt/broker/#run-your-own), go to the int
Password: MQTT_PASSWORD
```
If you are using the ACL, remember to enter the newly created user and homeassistant in `/share/mosquitto/accesscontrollist` as follows:
```text
user [YOUR_MQTT_USER]
topic readwrite #
user homeassistant
topic readwrite #
```
Note: .yaml modifications are not required.
See [testing your setup](/docs/mqtt/testing/) to verify the steps above.

View File

@ -14,7 +14,7 @@ Be careful when setting up port forwarding for remote access. If you don't restr
<div class='note'>
Sometimes shares will not show up under network in Windows. Then you could open the file browser, click the address field where it says "> Network" and type //HASSIO to access Hass.io shares.
Sometimes shares will not show up under network in Windows. Then you could open the file browser, click the address field where it says "> Network" and type `\\HASSIO` to access Hass.io shares.
</div>

View File

@ -4,6 +4,9 @@ description: "Basic example how to track the battery level of your mobile device
ha_category: Automation Examples
---
### Android and iOS Devices
The [Home Assistant Companion Apps](https://companion.home-assistant.io/) for iOS and Android pass the current battery level to Home Assistant with every location update. The default name of the sensor used is `sensor.battery_level`.
### iOS Devices
If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/integrations/icloud) integration is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/integrations/template). You can also use the `battery` [sensor device class](/integrations/sensor/#device-class) to dynamically change the icon with the battery level.
@ -26,10 +29,6 @@ sensor:
```
{% endraw %}
### Android and iOS Devices
While running the [Owntracks](/integrations/owntracks) device tracker you can retrieve the battery level.
How you achieve this depends on how you have configured your Owntracks instance.
#### MQTT
If you have configured Owntracks to send reports via MQTT you can use the received data via a MQTT sensor.
Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks.
@ -48,7 +47,7 @@ sensor:
#### HTTP
If you have configured Owntracks to send reports to your Home Assistant instance via HTTP you can use a template sensor.
If you have configured Owntracks to send reports to your Home Assistant instance via HTTP you can use a template sensor.
Replace `deviceid` with the set Device ID in Owntracks.
{% raw %}

View File

@ -79,7 +79,7 @@ For example, the below automation will be triggered when the sun goes from below
```yaml
# Example automations.yaml entry
- id: my_unique_id # <-- Required for editor to work.
- id: my_unique_id # <-- Required for editor to work, for automations created with the editor the id will be automatically generated.
alias: Hello world
trigger:
- platform: state

View File

@ -104,7 +104,7 @@ Other state examples:
{% if states('sensor.temperature') | float > 20 %}
It is warm!
{%endif %}
{% endif %}
{{ as_timestamp(states.binary_sensor.garage_door.last_changed) }}
@ -325,7 +325,10 @@ Some of these functions can also be used in a [filter](https://jinja.palletsproj
- `e` mathematical constant, approximately 2.71828.
- `pi` mathematical constant, approximately 3.14159.
- `tau` mathematical constant, approximately 6.28318.
- Filter `round(x)` will convert the input to a number and round it to `x` decimals.
- Filter `round(x)` will convert the input to a number and round it to `x` decimals. Round has four modes and the default mode (with no mode specified) will [round-to-even](https://en.wikipedia.org/wiki/Rounding#Roundhalfto_even).
- `round(x, "floor")` will always round down to `x` decimals
- `round(x, "ceil")` will always round up to `x` decimals
- `round(1, "half")` will always round to the nearest .5 value. `x` should be 1 for this mode
- Filter `max` will obtain the largest item in a sequence.
- Filter `min` will obtain the smallest item in a sequence.
- Filter `value_one|bitwise_and(value_two)` perform a bitwise and(&) operation with two values.
@ -377,7 +380,7 @@ Nested JSON in a response is supported as well:
},
"values": {
"temp": 26.09,
"hum": 56.73,
"hum": 56.73
}
}
```

View File

@ -22,7 +22,7 @@ One of the most common problems with Home Assistant is an invalid `configuration
- You can test your configuration using the command line with: `hass --script check_config`.
- On Hass.io you can use the [hassio command](/hassio/commandline/#home-assistant): `hassio homeassistant check`.
- On Docker you can use `docker exec home-assistant python -m homeassistant --script check_config --config /config` - where `homeassistant` is the name of the container.
- On Docker you can use `docker exec home-assistant python -m homeassistant --script check_config --config /config` - where `home-assistant` is the name of the container.
- The configuration files, including `configuration.yaml` must be UTF-8 encoded. If you see error like `'utf-8' codec can't decode byte`, edit the offending configuration and re-save it as UTF-8.
- You can verify your configuration's yaml structure using [this online YAML parser](http://yaml-online-parser.appspot.com/) or [YAML Lint](http://www.yamllint.com/).
- To learn more about the quirks of YAML, read [YAML IDIOSYNCRASIES](https://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html) by SaltStack (the examples there are specific to SaltStack, but do explain YAML issues well).

View File

@ -57,7 +57,7 @@ import appdaemon.plugins.hass.hassapi as hass
class FlashyMotionLights(hass.Hass):
def initialize(self):
self.listen_state(self.motion, "binary_sensor.drive", new = "on")
self.listen_state(self.motion, "binary_sensor.drive", new="on")
def motion(self, entity, attribute, old, new, kwargs):
if self.sun_down():
@ -78,7 +78,7 @@ import appdaemon.plugins.hass.hassapi as hass
class MotionLights(hass.Hass):
def initialize(self):
self.listen_state(self.motion, "binary_sensor.drive", new = "on")
self.listen_state(self.motion, "binary_sensor.drive", new="on")
def motion(self, entity, attribute, old, new, kwargs):
if self.self.sun_down():

View File

@ -1,13 +1,16 @@
---
title: "Self-signed certificate for SSL/TLS"
description: "Configure a self-signed certificate to use with Home Assistant"
title: "Certificate Authority and self-signed certificate for SSL/TLS"
description: "Configure a Certificate Authority and self-signed certificate to use with Home Assistant"
redirect_from: /cookbook/tls_self_signed_certificate/
---
If your Home Assistant instance is only accessible from your local network you can still protect the communication between your browsers and the frontend with SSL/TLS.
[Let's encrypt]({{site_root}}/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/) will only work if you have a DNS entry and remote access is allowed.
[Let's encrypt]({{site_root}}/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/) will only work if you have a DNS entry and remote access is allowed.
The solution is to use a self-signed certificate. As you most likely don't have a certification authority (CA) your browser will complain about the security. If you have a CA then this will not be an issue.
If you use Chrome browser version 58 or above and/or **don't want to have issues regarding a non-trusted CA or CN (Common Name)**, follow this full tutorial: [Create Root Certificate Authority and self-signed certificate for your Home Assistant. Compatible with Chrome browser > version 58](https://gist.github.com/tiagofreire-pt/4920be8d03a3dfa8201c6afedd00305e). Otherwise, follow this:
To create a certificate locally, you need the [OpenSSL](https://www.openssl.org/) command-line tool.
Change to your Home Assistant [configuration directory](/getting-started/configuration/) like `~/.homeassistant`. This will make it easier to backup your certificate and the key. Run the command shown below.
@ -15,28 +18,47 @@ Change to your Home Assistant [configuration directory](/getting-started/configu
The certificate **must** be `.pem` extension.
```bash
openssl req -sha256 -newkey rsa:4096 -nodes -keyout privkey.pem -x509 -days 730 -out certificate.pem
openssl req -sha256 -newkey rsa:4096 -nodes -keyout privkey.pem -x509 -days 730 -out fullchain.pem
```
For details about the parameters, please check the OpenSSL documentation. Provide the requested information during the generation process.
At the end you will have two files called `privkey.pem` and `certificate.pem`. The key and the certificate.
At the end you will have two files called `privkey.pem` and `fullchain.pem`. The key and the certificate.
Update the `http:` entry in your `configuration.yaml` file and let it point to your created files.
Hass.io:
```yaml
http:
ssl_certificate: /home/your_user/.homeassistant/certificate.pem
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
```
Non-hass.io:
```yaml
http:
ssl_certificate: /home/your_user/.homeassistant/fullchain.pem
ssl_key: /home/your_user/.homeassistant/privkey.pem
```
A restart of Home Assistant is required for the changes to take effect.
A restart of Home Assistant is required for the new certificate to take effect.
If you get any log error about *ssl_key* or *ssl_certificate* that is **not a file for dictionary value** when run Home Assistant, you need to change owner or access permission of the `.pem` files as following:
Hass.io (through Console or SSH plug-in):
```bash
sudo chown homeassistant:homeassistant certificate.pem privkey.pem
sudo chmod 755 certificate.pem privkey.pem
chown root:root fullchain.pem privkey.pem
chmod 600 fullchain.pem privkey.pem
```
Non-hass-io:
```bash
sudo chown homeassistant:homeassistant fullchain.pem privkey.pem
sudo chmod 600 fullchain.pem privkey.pem
```
A tutorial "[Working with SSL Certificates, Private Keys and CSRs](https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs)" could give you some insight about special cases.
@ -46,7 +68,7 @@ A tutorial "[Working with SSL Certificates, Private Keys and CSRs](https://www.d
#### iOS
If you are going to use this certificate with the iOS app, you need to ensure you complete **all** fields during the certificate creation process, then:
* Send **only** the `certificate.pem` file to the iOS device, using airdrop or other transfer method.
* Send **only** the `fullchain.pem` file to the iOS device, using airdrop or other transfer method.
* Open the `.pem` file on the iOS device, follow the prompts to trust and install it.
* If you are using iOS 10.3 or newer then [additional steps](https://support.apple.com/en-us/HT204477) are needed.

View File

@ -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 %}

View File

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

View File

@ -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/`

View File

@ -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 devices 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

View File

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

View File

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

View File

@ -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>

View File

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

View File

@ -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
```

View File

@ -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 users 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.

View File

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

View File

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

View File

@ -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
```

View File

@ -4,7 +4,7 @@ description: "Android/iOS instructions to add Home Assistant to your homescreen.
redirect_from: /getting-started/mobile/
---
Home Assistant has [a companion app for iOS](/docs/ecosystem/ios/).
Home Assistant has [a companion apps for Android and iOS](/docs/ecosystem/ios/).
On both Android and iOS, you can add the Home Assistant "web app" to your homescreen as if it was native (Home Assistant leverages the W3C [manifest.json](https://w3c.github.io/manifest/) support).

View File

@ -60,7 +60,13 @@ The discovery topic need to follow a specific format:
The payload must be a JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`.
If the integration is `alarm_control_panel`, `binary_sensor`, or `sensor` and the mandatory `state_topic` is not present in the payload, `state_topic` will be automatically set to <discovery_prefix>/<component>/[<node_id>/]<object_id>/state. The automatic setting of `state_topic` is deprecated and may be removed in a future version of Home Assistant.
If the integration is `alarm_control_panel`, `binary_sensor`, or `sensor` and the mandatory `state_topic` is not present in the payload, `state_topic` will be automatically set to:
```text
<discovery_prefix>/<component>/[<node_id>/]<object_id>/state
```
The automatic setting of `state_topic` is deprecated and may be removed in a future version of Home Assistant.
An empty payload will cause a previously discovered device to be deleted.

View File

@ -73,5 +73,5 @@ For example:
```
<div class='note'>
Any comments in the YAML file will be lost and templates will be reformatted when you update an automation via the editor.
Any comments in the YAML file will be lost and templates will be reformatted when you update a scene via the editor.
</div>

View File

@ -206,7 +206,7 @@ The template condition will test if the [given template][template] renders a val
```yaml
condition:
condition: template
value_template: "{% raw %}{{ (state_attr('device_tracker.iphone', 'battery')|int) > 50 }}{% endraw %}"
value_template: "{% raw %}{{ (state_attr('device_tracker.iphone', 'battery_level')|int) > 50 }}{% endraw %}"
```
Within an automation, template conditions also have access to the `trigger` variable as [described here][automation-templating].

View File

@ -10,8 +10,8 @@ The command-line part of Home Assistant is `hass`.
$ hass -h
usage: hass [-h] [--version] [-c path_to_config_dir] [--demo-mode] [--debug]
[--open-ui] [--skip-pip] [-v] [--pid-file path_to_pid_file]
[--log-rotate-days LOG_ROTATE_DAYS] [--runner] [--script ...]
[--daemon]
[--log-rotate-days LOG_ROTATE_DAYS] [--log-file LOG_FILE]
[--log-no-color] [--runner] [--script ...] [--daemon]
Home Assistant: Observe, Control, Automate.

View File

@ -27,6 +27,8 @@ It's totally normal for your Z-Wave stick to cycle through its LEDs (Yellow, Blu
Use the following example commands from a terminal session on your Pi where your Z-Wave stick is connected.
**Note:** You should only do this when Home Assistant has been stopped.
Turn off "Disco lights":
```bash

View File

@ -14,7 +14,7 @@ The sensor value shows the number of packages that are not in `Delivered` state.
## Setup
To use this sensor, you need an [AfterShip Account](https://accounts.aftership.com/register) and set up an API Key. To set up an API Key go to [AfterShip API](https://secure.aftership.com/#/settings/api) page, and copy existing key or generate a new one.
To use this sensor, you need an [AfterShip Account](https://accounts.aftership.com/register) and set up an API Key. To set up an API Key go to [AfterShip API](https://admin.aftership.com/settings/api-keys) page, and copy existing key or generate a new one.
<div class='note info'>
AfterShip recently started requiring having a credit card on file even if you are only using the free plan. That does not change the functionality of the platform, just something to be aware of.

View File

@ -64,7 +64,7 @@ event_disarm:
type: string
default: alarm_disarm
optimistic:
description: Specify if the state will be updated by an ifttt_push_alarm_state call (false) or can be set immediately (true).
description: Specify if the state will be updated by an ifttt.push_alarm_state call (false) or can be set immediately (true).
required: false
type: boolean
default: false
@ -87,7 +87,7 @@ For this system to operate correctly, the following IFTTT applets have to be set
* **IF** Webhook event `YOUR_ARM_HOME_EVENT` is called, **THEN** set the alarm system to armed home.
* **IF** Webhook event `YOUR_ARM_NIGHT_EVENT` is called, **THEN** set the alarm system to armed away.
* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** set the alarm system to armed night.
* **IF** the alarm system was disarmed, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "disarmed"}`.
* **IF** the alarm system state changed to armed home, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}`.
* **IF** the alarm system state changed to armed away, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}`.
* **IF** the alarm system state changed to armed night, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}`.
* **IF** the alarm system was disarmed, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "disarmed"}`.
* **IF** the alarm system state changed to armed home, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}`.
* **IF** the alarm system state changed to armed away, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}`.
* **IF** the alarm system state changed to armed night, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}`.

View File

@ -135,7 +135,7 @@ The Alarm Decoder integration gives you access to several services for you to co
- `alarm_arm_night`: Arms the alarm in instant mode; all faults will trigger the alarm. Additionally, the entry delay is turned off on the doors.
- `alarm_disarm`: Disarms the alarm from any state. Also clears a `check_zone` flag after an alarm was triggered.
- `alarmdecoder.alarm_keypress`: Sends a string of characters to the alarm, as if you had touched those keys on a keypad.
- `alarmdecoder_alarm_toggle_chime`: Toggles the alarm's chime state.
- `alarmdecoder.alarm_toggle_chime`: Toggles the alarm's chime state.
<div class='note'>
@ -157,11 +157,11 @@ Using a combination of the available services and attributes, you can create swi
friendly_name: Chime
value_template: "{{ is_state_attr('alarm_control_panel.alarm_panel', 'chime', true) }}"
turn_on:
service: alarm_control_panel.alarmdecoder_alarm_toggle_chime
service: alarmdecoder.alarm_toggle_chime
data:
code: !secret alarm_code
turn_off:
service: alarm_control_panel.alarmdecoder_alarm_toggle_chime
service: alarmdecoder.alarm_toggle_chime
data:
code: !secret alarm_code
icon_template: >-

View File

@ -45,6 +45,8 @@ The Almond integration does not update config entries yet. If you make a change
Stanford offers a hosted version of Almond Server called Almond Web. To use this, go to the integrations page and add Almond using the add integration flow.
Your Home Assistant installation needs to be externally accessible if you want Almond Web to be able to control Home Assistant.
### Almond Web - Manual installation
It is possible to set up Almond Web manually. You will need to create your own client ID and secret in the web interface.

View File

@ -75,7 +75,7 @@ get_sources:
default: true
type: boolean
apps:
description: A dictionary where the keys are app IDs and the values are app names that will be displayed in the UI; see example below.
description: A dictionary where the keys are app IDs and the values are app names that will be displayed in the UI; see example below. ([These app names](https://github.com/JeffLIrion/python-androidtv/blob/5c39196ade3f88ab453b205fd15b32472d3e0482/androidtv/constants.py#L267-L283) are configured in the backend package and do not need to be included in your configuration.)
required: false
default: {}
type: map
@ -249,7 +249,9 @@ A list of various intents can be found [here](https://gist.github.com/mcfrojd/9e
## Custom State Detection
The `state_detection_rules` configuration parameter allows you to provide your own rules for state detection. The keys are app IDs, and the values are lists of rules that are evaluated in order. Valid rules are:
The Android TV integration works by polling the Android TV / Fire TV device at a regular interval and collecting a handful of properties. Unfortunately, there is no standard API for determining the state of the device to which all apps adhere. Instead, the backend `androidtv` package uses three of the properties that it collects to determine the state: `audio_state`, `media_session_state`, and `wake_lock_size`. The correct logic for determining the state differs depending on the current app, and the backend `androidtv` package implements app-specific state detection logic for a handful of apps. Of course, it is not feasible to implement custom logic for each and every app in the `androidtv` package. Moreover, the correct state detection logic may differ across devices and device configurations.
The solution to this problem is the `state_detection_rules` configuration parameter, which allows you to provide your own rules for state detection. The keys are app IDs, and the values are lists of rules that are evaluated in order. Valid rules are:
* `'standby'`, `'playing'`, `'paused'`, `'idle'`, or `'off'`
* If this is not a map, then this state will always be reported when this app is the current app

View File

@ -10,12 +10,6 @@ ha_release: 0.7
The `api` integration exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [`http` integration](/integrations/http/).
<div class='note warning'>
It is HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet.
</div>
```yaml
# Example configuration.yaml entry
api:

View File

@ -46,7 +46,7 @@ sandbox:
type: boolean
{% endconfiguration %}
The APNS platform will register two services, `notify.NOTIFIER_NAME` and `notify.apns_NOTIFIER_NAME`.
The APNS platform will register two services, `notify.NOTIFIER_NAME` and `apns.apns_NOTIFIER_NAME`.
### notify.apns_NOTIFIER_NAME

View File

@ -6,7 +6,6 @@ ha_category:
- DIY
- Sensor
- Switch
featured: true
ha_release: pre 0.7
ha_iot_class: Local Polling
---

View File

@ -0,0 +1,52 @@
---
title: "ATEN Rack PDU"
description: "Instructions on how to integrate ATEN Rack PDUs into Home Assistant."
ha_category:
- Switch
ha_release: 0.103
---
The `aten_pe` integration lets you control [ATEN Rack PDUs](https://www.aten.com/eu/en/products/energy-intelligence-pduupsracks/rack-pdu/) from Home Assistant.
In order to use it, SNMP must be enabled on your PDU. It is recommended to use SNMPv3 to protect your credentials from eavesdropping.
Tested devices:
* [PE8324G](https://www.aten.com/eu/en/products/energy-intelligence-pduupsracks/rack-pdu/pe8324/)
To set it up, add the following information to your `configuration.yaml` file:
```yaml
switch:
- platform: aten_pe
host: 192.168.0.60
```
{% configuration %}
host:
description: The IP/host which to control.
required: true
type: string
port:
description: The port on which to communicate.
required: false
type: string
default: 161
community:
description: community string to use for authentication (SNMP v1 and v2c).
required: false
type: string
default: private
username:
description: Username to use for authentication.
required: false
type: string
default: administrator
auth_key:
description: Authentication key to use for SNMP v3.
required: false
type: string
priv_key:
description: Privacy key to use for SNMP v3.
required: false
type: string
{% endconfiguration %}

View File

@ -3,7 +3,7 @@ title: "Azure Service Bus"
description: "Setup for Azure Service Bus integration"
logo: azure_service_bus.svg
ha_category:
- Notification
- Notifications
ha_release: 0.102
---

View File

@ -66,6 +66,8 @@ sensor:
- up_max_bandwidth
- current_down_bandwidth
- current_up_bandwidth
- uptime
- number_of_reboots
```
{% configuration %}
@ -87,4 +89,8 @@ monitored_variables:
description: Instant measure of the current used bandwidth for download.
current_up_bandwidth:
description: Instant measure of the current used bandwidth for upload.
uptime:
description: Uptime since the last boot.
number_of_reboots:
description: Number of reboot since the initial configuration of the router.
{% endconfiguration %}

View File

@ -52,7 +52,7 @@ sources:
type: string
{% endconfiguration %}
### Service `media_player.blackbird_set_all_zones`
### Service `blackbird.set_all_zones`
Set all zones to the same input source. This service allows you to immediately synchronize all the TVs in your home. Regardless of `entity_id` provided, all zones will be updated.

View File

@ -55,7 +55,7 @@ media_player:
- host: 192.168.1.131
```
### Service `bluesound_join`
### Service `bluesound.join`
Group players together under a single master speaker. That will make a new group or join an existing group.
@ -64,7 +64,7 @@ Group players together under a single master speaker. That will make a new group
| `master` | no | A single `entity_id` that will become/hold the master speaker.
| `entity_id` | no | String or list of a single `entity_id` that will group to master speaker.
### Service `bluesound_unjoin`
### Service `bluesound.unjoin`
Remove one or more speakers from a group of speakers. If no `entity_id` is provided, all speakers are unjoined.
@ -72,7 +72,7 @@ Remove one or more speakers from a group of speakers. If no `entity_id` is provi
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of `entity_id`s that will be separated from their master speaker.
### Service `bluesound_set_sleep_timer`
### Service `bluesound.set_sleep_timer`
Sets a timer that will turn off the speaker. For each time you call this it will increase the time by one step. The steps are (in minutes): 15, 30, 45, 60, 90, 0.
If you increase an ongoing timer of for example 13 minutes, it will increase it to 15. If the timer is set to 90, it will remove the time (hence the 0).
@ -81,7 +81,7 @@ If you increase an ongoing timer of for example 13 minutes, it will increase it
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of `entity_id`s that will have their timers set.
### Service `bluesound_clear_sleep_timer`
### Service `bluesound.clear_sleep_timer`
Clear the sleep timer on a speaker, if one is set.

View File

@ -3,6 +3,7 @@ title: "Broadlink"
description: "Instructions on how to integrate Broadlink within Home Assistant."
logo: broadlink.png
ha_category:
- Remote
- Switch
- Sensor
ha_release: 0.35
@ -11,9 +12,161 @@ ha_iot_class: Local Polling
There is currently support for the following device types within Home Assistant:
- [Remote](#remote)
- [Sensor](#sensor)
- [Switch](#switch)
## Remote
The `broadlink` remote platform allows you to interact with Broadlink remote control devices.
### Configuration
To enable it, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
remote:
- platform: broadlink
host: IP_ADDRESS
mac: MAC_ADDRESS
```
{% configuration %}
host:
description: The hostname/IP address to connect to.
required: true
type: string
mac:
description: Device MAC address.
required: true
type: string
timeout:
description: Timeout in seconds for the connection to the device.
required: false
default: 5
type: integer
name:
description: Name of the device.
required: false
default: Broadlink
type: string
{% endconfiguration %}
### Learn command
Use the `remote.learn_command` service to learn new commands.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------- |
| `entity_id` | no | ID of the remote. |
| `device` | no | Name of the device to control. |
| `command` | no | Names of the commands to learn. |
| `alternative` | yes | Toggle commands? |
| `timeout` | yes | Timeout in seconds to learn each command. |
Example 1: Learn a single command
```yaml
script:
learn_mute_tv:
sequence:
- service: remote.learn_command
data:
entity_id: remote.bedroom
device: television
command: mute
```
Example 2: Learn a sequence of commands
```yaml
script:
learn_tv_commands:
sequence:
- service: remote.learn_command
data:
entity_id: remote.bedroom
device: television
command:
- turn on
- turn off
- volume up
- volume down
```
Example 3: Learn a toggle command
The `alternative` flag is useful for capturing commands where the same button is used for more than one purpose, such as the power button, which can turn the television on and off.
```yaml
script:
learn_tv_power_button:
sequence:
- service: remote.learn_command
data:
entity_id: remote.bedroom
device: television
command: power
alternative: True
```
In the above example, two codes will be captured for the power command, and will be sent alternately each time the command is called.
### Send command
Use the `remote.send_command` service to send commands.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------- |
| `entity_id` | no | ID of the remote. |
| `device` | no | Name of the device to control. |
| `command` | no | Names of the commands to send. |
| `num_repeats` | yes | Number of times to repeat the commands. |
| `delay_secs` | yes | Interval in seconds between one command and another. |
Example 1: Send a single command
```yaml
script:
mute_tv:
sequence:
- service: remote.send_command
data:
entity_id: remote.bedroom
device: television
command: mute
```
Example 2: Send a command repeatedly
```yaml
script:
turn_up_tv_volume_20:
sequence:
- service: remote.send_command
data:
entity_id: remote.bedroom
device: television
command: volume up
num_repeats: 20
```
Example 3: Send a sequence of commands
```yaml
script:
turn_on_ac:
sequence:
- service: remote.send_command
data:
entity_id: remote.bedroom
device: air conditioner
command:
- turn on
- turn off display
```
## Sensor
The `broadlink` sensor platform let you monitor data from an RM2 and A1 E-air. There is currently no support for the cloud API.
@ -292,10 +445,10 @@ switch:
You can use the service `broadlink.send` to directly send IR packets without the need to assign a switch entity for each command.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `host` | no | IP address to send command to.
| `packet` | no | String or list of strings that contain the packet data.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------- |
| `host` | no | IP address to send command to. |
| `packet` | no | String or list of strings that contain the packet data. |
Example:

View File

@ -13,7 +13,7 @@ You can enable the Cast integration by going to the Integrations page inside the
## Home Assistant Cast
Home Assistant has its own Cast application to show the Home Assistant UI on any Chromecast device. You can use it by adding the [Cast entity row](/lovelace/entities/#cast) to your Lovelace UI, or by calling the `cast.show_lovelace_view` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on.
Home Assistant has its own Cast application to show the Home Assistant UI on any Chromecast device. You can use it by adding the [Cast entity row](/lovelace/entities/#cast) to your Lovelace UI, or by calling the `cast.show_lovelace_view` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on. A `path` has to be defined in your Lovelace YAML for each view, as outlined in the [views documentation](/lovelace/views/#path).
```json
{

View File

@ -40,7 +40,7 @@ name:
type: string
{% endconfiguration %}
### Service `channels_seek_forward`
### Service `seek_forward`
Seek forward by the number of seconds currently set in settings on the instance of Channels.
@ -49,7 +49,7 @@ Seek forward by the number of seconds currently set in settings on the instance
| `entity_id` | no | String that points at `entity_id` of Channels app.
### Service `channels_seek_backward`
### Service `seek_backward`
Seek backward by the number of seconds currently set in settings on the instance of Channels.
@ -57,7 +57,7 @@ Seek backward by the number of seconds currently set in settings on the instance
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String that points at `entity_id` of Channels app.
### Service `channels_seek_by`
### Service `seek_by`
Seek forward or backward by a provided number of seconds.

View File

@ -22,6 +22,14 @@ climate:
name: Watlow F4T
hub: hub1
slave: 1
data_type: uint
count: 1
scale: 0.1
offset: 0
precision: 1
max_temp: 30
min_temp: 15
temp_step: 1
target_temp_register: 2782
current_temp_register: 27586
```
@ -62,6 +70,36 @@ precision:
required: false
type: integer
default: 0
scale:
description: Scale factor (output = scale * value + offset).
required: false
type: float
default: 1
offset:
description: Final offset (output = scale * value + offset).
required: false
type: float
default: 0
max_temp:
description: Maximum setpoint temperature.
required: false
type: integer
default: 35
min_temp:
description: Maximum setpoint temperature.
required: false
type: integer
default: 5
temp_step:
description: The supported step size a target temperature can be increased/decreased.
required: false
type: float
default: 0.5
temperature_unit:
description: Temperature unit reported by the current_temp_register. C or F
required: false
type: string
default: C
{% endconfiguration %}

View File

@ -6,6 +6,7 @@ ha_category:
- Fan
- Sensor
ha_release: 0.48
ha_iot_class: "Local Push"
---
The `comfoconnect` integration lets you control Zehnder ComfoAir [Q350](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-tr)/[Q450](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-tr)/[Q600](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st)
@ -57,14 +58,27 @@ To register the sensors, add the following to your `configuration.yaml` file:
sensor:
- platform: comfoconnect
resources:
- current_temperature
- current_humidity
- outside_temperature
- outside_humidity
- air_flow_supply
- air_flow_exhaust
- air_flow_supply
- bypass_state
- current_humidity
- current_temperature
- days_to_replace_filter
- exhaust_fan_duty
- exhaust_fan_speed
- exhaust_humidity
- exhaust_temperature
- outside_humidity
- outside_temperature
- power_usage
- supply_fan_duty
- supply_fan_speed
- supply_humidity
- supply_temperature
```
The list above indicates all supported sensors. It is recommended to only include the ones you need.
<div class='note'>
Note that it's not possible to have multiple connection to the bridge at the same time. This integration will keep the connection open, and if you open the app, it will ask you to disconnect Home Assistant. If you close the app again, Home Assistant will reconnect automatically.
</div>

View File

@ -29,7 +29,7 @@ device_tracker:
The following optional parameters can be used with any platform:
<div class='note'>
Device tracker will only look for global settings under the configuration of the first configured platform.
Device tracker will only look for global settings under the configuration of the first configured platform. These 3 are the global settings:
</div>
| Parameter | Default | Description |
@ -83,7 +83,7 @@ devicename:
<div class='note warning'>
In the example above, `devicename` refers to the detected name of the device. For instance, `my_iphone`.
In the example above, `devicename` refers to the detected name of the device. For example, with `nmap`, this will be the MAC address (with byte separators omitted).
</div>

View File

@ -43,3 +43,6 @@ See the [device tracker integration page](/integrations/device_tracker/) for ins
To ensure that your router is compatible, navigate to `http://YOUR_ROUTER_IP/api/misystem/devicelist`.
You should see a listing of the device currently connected to your router.
However, some users report that even when the previous URL does not work, they have been able to integrate their Mi Router 3 in Home Assistant. E.g., some users with the Mi Router 3 and firmware version 2.10.46 Stable have integrated their routers successfully and an alternative URL to test integration with is `http://YOUR_ROUTER_IP/cgi-bin/luci/api/misystem/devicelist`. Navigating to this page should show the `{"code":401,"msg":"Invalid token"}` message.

View File

@ -0,0 +1,24 @@
---
title: "DSMR Reader"
description: "Instructions on how to integrate DSMR Reader."
ha_category:
- Energy
ha_iot_class: Cloud Polling
ha_release: 0.103
---
The `dsmr_reader` sensor platform allows you to easily add all sensors that [DSMR Reader](https://dsmr-reader.readthedocs.io/en/latest/) exposes to MQTT. It adds a separate sensor for every field in the MQTT topics.
## Setup
To use this component, you will need DSMR Reader to be set up to publish to the MQTT server, that Home Assistant also uses. It is important that you setup DSMR Reader to publish to MQTT using "Split Topic" and that you use the default mappings.
## Configuration
To use this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: dsmr_reader
```

View File

@ -15,7 +15,7 @@ Be aware that `emulated_hue` doesn't work for new users of **Google Home** with
</div>
The `emulated_hue` integration provides a virtual Philips Hue bridge, written entirely in software, which allows services that work with the Hue API to interact with Home Assistant
The `emulated_hue` integration provides a virtual Philips Hue bridge, written entirely in software that allows services that work with the Hue API to interact with Home Assistant
entities. The driving use case behind for functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no setup cost outside of configuration changes.
The virtual bridge can turn entities on/off or change the brightness of dimmable lights. The volume level of media players can be controlled as brightness.

View File

@ -137,5 +137,5 @@ The following services are supported by Envisalink and can be used to script or
- **alarm_arm_away**: Arms the alarm in standard away mode.
- **alarm_arm_night**: Arms the alarm in night mode.
- **alarm_trigger**: Trigger an alarm on the Envisalink connected alarm system. For example, a newer zwave/zigbee sensor can now be integrated into a legacy alarm system using a Home Assistant automation.
- **envisalink_alarm_keypress**: Sends a string of up to 6 characters to the alarm. *DSC alarms only*
- **alarm_keypress**: Sends a string of up to 6 characters to the alarm. *Works with DSC panels, and confirmed to work with Honeywell Vista-20P (aka First Alert FA-168)*
- **invoke_custom_function**: Invokes a custom PGM function. *DSC alarms only*

View File

@ -111,9 +111,9 @@ Use the `image_processing.detect_face` events to trigger automations, and breako
```
{% endraw %}
## Service `facebox_teach_face`
## Service `facebox.teach_face`
The service `facebox_teach_face` can be used to teach Facebox faces.
The service `facebox.teach_face` can be used to teach Facebox faces.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
@ -141,7 +141,7 @@ You can use an automation to receive a notification when you train a face:
alias: Face taught
trigger:
- event_data:
service: facebox_teach_face
service: facebox.teach_face
event_type: call_service
platform: event
condition: []

View File

@ -180,11 +180,11 @@ device:
type: string
{% endconfiguration %}
<dkv class='note warning'>
<div class='note warning'>
Make sure that your topics match exactly. `some-topic/` and `some-topic` are different topics.
</dkv>
</div>
## Examples
@ -214,6 +214,7 @@ fan:
payload_medium_speed: "medium"
payload_high_speed: "high"
speeds:
- "off"
- low
- medium
- high

View File

@ -29,6 +29,7 @@ Air Purifier Super | zhimi.airpurifier.sa1 | |
Air Purifier Super 2 | zhimi.airpurifier.sa2 | |
Air Humidifier | zhimi.humidifier.v1 | |
Air Humidifier CA1 | zhimi.humidifier.ca1 | |
Air Humidifier CB1 | zhimi.humidifier.cb1 | |
Air Fresh VA2 | zhimi.airfresh.va2 | |
@ -246,6 +247,33 @@ Air Fresh VA2 | zhimi.airfresh.va2 | |
- depth
- dry
### Air Humidifier CB (zhimi.humidifier.cb1)
- On, Off
- Operation modes (silent, medium, high, auto)
- Buzzer (on, off)
- Child lock (on, off)
- LED (on, off), LED brightness (bright, dim, off)
- Target humidity (30, 40, 50, 60, 70, 80)
- Dry mode (on, off)
- Attributes
- speed
- speed_list
- model
- temperature
- humidity
- mode
- buzzer
- child_lock
- target_humidity
- led_brightness
- use_time
- hardware_version
- motor_speed
- depth
- dry
- supported_features
### Air Fresh VA2
* Power (on, off)
@ -314,7 +342,7 @@ Set the fan speed/operation mode.
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `speed` | no | Fan speed. Valid values are 'Auto', 'Silent', 'Favorite' and 'Idle' |
### Service `fan.xiaomi_miio_set_buzzer_on` (Air Purifier Pro excluded)
### Service `xiaomi_miio.fan_set_buzzer_on` (Air Purifier Pro excluded)
Turn the buzzer on.
@ -322,7 +350,7 @@ Turn the buzzer on.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_buzzer_off` (Air Purifier Pro excluded)
### Service `xiaomi_miio.fan_set_buzzer_off` (Air Purifier Pro excluded)
Turn the buzzer off.
@ -330,7 +358,7 @@ Turn the buzzer off.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_led_on` (Air Purifiers only)
### Service `xiaomi_miio.fan_set_led_on` (Air Purifiers only)
Turn the led on.
@ -338,7 +366,7 @@ Turn the led on.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_led_off` (Air Purifiers only)
### Service `xiaomi_miio.fan_set_led_off` (Air Purifiers only)
Turn the led off.
@ -346,7 +374,7 @@ Turn the led off.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_child_lock_on`
### Service `xiaomi_miio.fan_set_child_lock_on`
Turn the child lock on.
@ -354,7 +382,7 @@ Turn the child lock on.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_child_lock_off`
### Service `xiaomi_miio.fan_set_child_lock_off`
Turn the child lock off.
@ -362,7 +390,7 @@ Turn the child lock off.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_led_brightness` (Air Purifier 2S and Air Purifier Pro excluded)
### Service `xiaomi_miio.fan_set_led_brightness` (Air Purifier 2S and Air Purifier Pro excluded)
Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off).
@ -371,7 +399,7 @@ Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off).
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `brightness` | no | Brightness, between 0 and 2. |
### Service `fan.xiaomi_miio_set_favorite_level` (Air Purifiers only)
### Service `xiaomi_miio.fan_set_favorite_level` (Air Purifiers only)
Set the favorite level of the operation mode "favorite".
@ -380,7 +408,7 @@ Set the favorite level of the operation mode "favorite".
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `level` | no | Level, between 0 and 16. |
### Service `fan.xiaomi_miio_set_auto_detect_on` (Air Purifier 2S and Air Purifier Pro only)
### Service `xiaomi_miio.fan_set_auto_detect_on` (Air Purifier 2S and Air Purifier Pro only)
Turn the auto detect on.
@ -388,7 +416,7 @@ Turn the auto detect on.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_auto_detect_off` (Air Purifier 2S and Air Purifier Pro only)
### Service `xiaomi_miio.fan_set_auto_detect_off` (Air Purifier 2S and Air Purifier Pro only)
Turn the auto detect off.
@ -396,7 +424,7 @@ Turn the auto detect off.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_learn_mode_on` (Air Purifier 2 only)
### Service `xiaomi_miio.fan_set_learn_mode_on` (Air Purifier 2 only)
Turn the learn mode on.
@ -404,7 +432,7 @@ Turn the learn mode on.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_learn_mode_off` (Air Purifier 2 only)
### Service `xiaomi_miio.fan_set_learn_mode_off` (Air Purifier 2 only)
Turn the learn mode off.
@ -412,7 +440,7 @@ Turn the learn mode off.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_volume` (Air Purifier Pro only)
### Service `xiaomi_miio.fan_set_volume` (Air Purifier Pro only)
Set the sound volume.
@ -421,7 +449,7 @@ Set the sound volume.
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `volume` | no | Volume, between 0 and 100. |
### Service `fan.xiaomi_miio_reset_filter` (Air Purifier 2 only)
### Service `xiaomi_miio.fan_reset_filter` (Air Purifier 2 only)
Reset the filter lifetime and usage.
@ -429,7 +457,7 @@ Reset the filter lifetime and usage.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_extra_features` (Air Purifier only)
### Service `xiaomi_miio.fan_set_extra_features` (Air Purifier only)
Set the extra features.
@ -438,7 +466,7 @@ Set the extra features.
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `features` | no | Integer, known values are 0 and 1. |
### Service `fan.xiaomi_miio_set_target_humidity` (Air Humidifier only)
### Service `xiaomi_miio.fan_set_target_humidity` (Air Humidifier only)
Set the target humidity.
@ -447,7 +475,7 @@ Set the target humidity.
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `humidity` | no | Target humidity. Allowed values are 30, 40, 50, 60, 70 and 80 |
### Service `fan.xiaomi_miio_set_dry_on` (Air Humidifier CA only)
### Service `fan.xiaomi_miio_set_dry_on` (Air Humidifier CA and CB)
Turn the dry mode on.
@ -455,7 +483,7 @@ Turn the dry mode on.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_dry_off` (Air Humidifier CA only)
### Service `fan.xiaomi_miio_set_dry_off` (Air Humidifier CA and CB)
Turn the dry mode off.

View File

@ -0,0 +1,72 @@
---
title: "flume"
description: "Documentation about the flume sensor."
ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.103
---
The `flume` sensor will show you the current [flume](https://portal.flumetech.com/) status for the given Device ID.
Flume monitors the real-time status of your home water meter. Allowing the end-user to detect small leaks, gain real-time information on household water consumption, set water goals and budgets, and receive push notifications when suspicious water activities occur.
## Configuration
You can find your Client ID and Client Secret under "API Access" on the [settings page](https://https://portal.flumetech.com/#settings).
To enable the flume sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
# Flume
- platform: flume
username: YOUR_FLUME_USERNAME
password: YOUR_FLUME_PASSWORD
client_id: YOUR_FLUME_CLIENT_ID
client_secret: YOUR_FLUME_CLIENT_SECRET
```
{% configuration %}
username:
description: Your flume user id.
required: true
type: string
password:
description: Your flume password.
required: true
type: string
client_id:
description: Your flume Client ID.
required: true
type: string
client_secret:
description: Your flume Client Secret.
required: true
type: string
name:
description: A name to display on the sensor.
required: false
default: Flume Sensor
type: string
{% endconfiguration %}
# Configuration for Binary Sensor
The following YAML creates a binary sensor. This requires the default sensor to be configured successfully.
{% raw %}
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: template
sensors:
flume_status:
friendly_name: "Flume Flow Status"
value_template: >-
{{ states.sensor.flume_sensor.state != "0" }}
```
{% endraw %}

View File

@ -46,6 +46,12 @@ You can find out your Freebox host and port by opening the address <http://mafre
returned json should contain an api_domain (`host`) and a https_port (`port`).
Please consult the [api documentation](https://dev.freebox.fr/sdk/os/) for more information.
<div class='note warning'>
If you change your Freebox router for a new one, you need to delete the `freebox.conf` file located in your Home Assistant configuration directory to make the association again.
</div>
### Initial setup
<div class='note warning'>

View File

@ -23,6 +23,7 @@ $ sudo apt-get install libxml2-dev libxslt-dev \
If you installed Home Assistant in a virtualenv, also run the following command inside it.
Be patient this will take a while.
```bash
pip3 install lxml
```
@ -48,7 +49,7 @@ name:
default: Phone
type: string
host:
description: The IP address of your router, e.g., 192.168.1.1. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1.
description: The IP address of your router, e.g., 192.168.1.1. It is optional since every FRITZ!Box is also reachable by using the IP address 169.254.1.1. If you have a local DNS server and have assigned a hostname to your FRITZ!Box, you can also use that here instead of the IP address.
required: false
default: 169.254.1.1
type: string

View File

@ -7,6 +7,7 @@ ha_category:
- Switch
ha_release: 0.57
ha_iot_class: Local Polling
logo: global-cache.png
---
The Global Caché [GC-100](https://www.globalcache.com/products/gc-100/) can be integrated into Home Assistant. GC-100 is a TCP-controllable

View File

@ -0,0 +1,96 @@
---
title: "GeoNet NZ Volcanic Alert Level"
description: "Instructions on how to integrate the GeoNet New Zealand Volcanic Alert Level feed into Home Assistant."
logo: geonet-nz.png
ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.103
ha_config_flow: true
---
The `geonetnz_volcano` integration lets you use a GeoJSON feed provided by
New Zealand's [GeoNet](https://www.geonet.org.nz/) with information
about volcanoes in the New Zealand region.
It shows information of those volcanoes filtered by distance to Home Assistant's
location.
Entities are generated and updated automatically with each update
from the feed. Each entity defines the [volcanic alert level](https://www.geonet.org.nz/about/volcano/val)
as its state. Latitude and longitude of the volcano are included as attributes
to show on the default map automatically.
The data is updated every 5 minutes.
<p class='img'>
<img src='{{site_root}}/images/integrations/geonetnz_volcano/map.png' />
</p>
<p class='img'>
<img src='{{site_root}}/images/integrations/geonetnz_volcano/sensor.png' />
</p>
<div class='note'>
The material used by this integration is provided under the [Creative Commons Attribution 3.0 New Zealand (CC BY 3.0 NZ) license](http://creativecommons.org/licenses/by/3.0/nz/).
It has only been modified for the purpose of presenting the material in Home Assistant.
Please refer to the [creator's disclaimer notice](https://www.geonet.org.nz/disclaimer) and [data policy](https://www.geonet.org.nz/policy) for more information.
We acknowledge the New Zealand GeoNet project and its sponsors EQC, GNS Science and LINZ, for providing data/images used in this integration.
</div>
## Configuration
To integrate the GeoNet New Zealand Volcanic Alert Level feed use the **Integrations** feature
in the GUI, you find it under **Configurations** -> **Integrations**, or add the
following line to your `configuration.yaml`.
```yaml
# Example configuration.yaml entry
geonetnz_volcano:
```
{% configuration %}
radius:
description: The radius around your location to monitor; defaults to 50 km or mi (depending on the unit system defined in your configuration).
required: false
type: float
default: 50.0
latitude:
description: Latitude of the coordinates around which volcanoes are considered.
required: false
type: float
default: Latitude defined in your configuration.
longitude:
description: Longitude of the coordinates around which volcanoes are considered.
required: false
type: float
default: Longitude defined in your configuration.
{% endconfiguration %}
## State Attributes
The following state attributes are available for each entity in addition to
the standard ones:
| Attribute | Description |
|------------------------|-------------|
| latitude | Latitude of the volcano. |
| longitude | Longitude of the volcano. |
| external_id | The external ID used in the feed to identify the volcano. |
| activity | Volcanic activity. |
| hazards | Most likely hazards. |
| distance | The distance in km or mi to Home Assistant's location. |
| last update | Timestamp of the last update from the feed. |
| last update successful | Timestamp of the last successful update from the feed. |
## Full Configuration
```yaml
# Example configuration.yaml entry
geonetnz_quakes:
radius: 100
latitude: -41.2
longitude: 174.7
```

View File

@ -193,7 +193,7 @@ Currently, the following domains are available to be used with Google Assistant,
- media_player (on/off/set volume (via set volume)/source (via set input source))
- climate (temperature setting, hvac_mode)
- vacuum (dock/start/stop/pause)
- sensor (temperature setting, only for temperature sensor)
- sensor (temperature setting for temperature sensors and humidity setting for humidity sensors)
- Alarm Control Panel (Arm/Disarm)
<div class='note warning'>

View File

@ -10,7 +10,7 @@ ha_release: pre 0.7
Groups allow the user to combine multiple entities into one.
Check the **Set State** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page from the **Developer Tools** and browse the **Current entities:** listing for all available entities.
Check the **States** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page from the **Developer Tools** and browse the **Current entities:** listing for all available entities.
```yaml
# Example configuration.yaml entry
@ -70,7 +70,7 @@ Some integrations automatically create special groups containing integration ent
- `group.all_scripts`
- `group.all_automations`
You can see list of these groups in **State** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page of the **Developer Tools**.
You can see list of these groups in **States** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page of the **Developer Tools**.
## Group behavior

View File

@ -182,7 +182,7 @@ data:
delay_secs: 0.6
```
### Service `remote.harmony_change_channel`
### Service `harmony.change_channel`
Sends the change channel command to the Harmony HUB
@ -194,13 +194,13 @@ Sends the change channel command to the Harmony HUB
A typical service call for changing the channel would be::
```yaml
service: remote.change_channel
service: harmony.change_channel
data:
entity_id: remote.tv_room
channel: 200
```
### Service `remote.harmony_sync`
### Service `harmony.sync`
Force synchronization between the Harmony device and the Harmony cloud.

View File

@ -17,25 +17,24 @@ To set it up, add the following information to your `configuration.yaml` file:
```yaml
climate:
- platform: heatmiser
ipaddress: YOUR_IP_ADDRESS
host: YOUR_IP_ADDRESS
port: YOUR_PORT
tstats:
- 1:
id: THERMOSTAT_ID
- id: THERMOSTAT_ID
name: THERMOSTAT_NAME
```
A single interface can handle up to 32 connected devices.
{% configuration %}
ipaddress:
host:
description: The IP address of your interface.
required: true
type: string
port:
description: The port that the interface is listening on.
required: true
type: integer
type: string
tstats:
description: A list of thermostats activated on the gateway.
required: true

View File

@ -0,0 +1,44 @@
---
title: "Hisense AEH-W4A1"
description: "Instructions to setup the Hisense AEH W4A1 WiFi module for ACs."
logo: hisense.png
ha_release: 0.103
ha_category:
- Climate
ha_iot_class: Local Poll
---
The Hisense AEH-W4A1 is a WiFi module used to give WiFi connectivity to some Hisense ACs and rebranded models (Smart Cool, Beko and others).
Later AC models use other WiFi modules (like AEH-W4B1 and AEH-W4E1) that are not compatible or otherwise tested with this integration.
It is highly recommended not to use one of the official smartphone applications and this integration at the same time, to avoid problems related to command collision.
## Configuration
To integrate one or more Hisense AEH-W4A1 controlled ACs with Home Assistant, use the Configuration/Integrations or add the following section to your `configuration.yaml` file:
```yaml
# Automatic discovery
hisense_aehw4a1:
```
Alternately, devices that are not discoverable can be statically configured.
The use of static configuration disables automatic discovery.
{% configuration %}
ip_address:
description: One or more static IP addresses
required: false
type: list
{% endconfiguration %}
## Full configuration example
```yaml
# Static configured devices
hisense_aehw4a1:
ip_address:
- 192.168.5.10
- 192.168.5.20
```

View File

@ -32,6 +32,12 @@ There is currently support for the following device types within Home Assistant:
Device support is available for most of the wired and wireless devices, as well as a lot of IP devices. If you have a setup with mixed protocols, you have to configure additional [interfaces](/integrations/homematic#interfaces) with the appropriate ports. The default is using port 2001, which are wireless devices. Wired devices usually are available through port 2000 and IP devices through port 2010. The virtual thermostatgroups the CCU provides use port 9292 **and** require you to set the `path` setting to `/groups`. When using SSL on a CCU3, by default the same ports as usual with a prepended 4 are available. So 2001 becomes 42001, 2010 becomes 42010 etc..
<div class='note info'>
Since CCU Version 3, the internal firewalls are enabled by default. You have to grant full access for the `XML-RPC API` or specify the IP-address of the Home-Assistant server and whitelist it, inside the CCU's security settings.
</div>
If you want to see if a specific device you have is supported, head over to the [pyhomematic](https://github.com/danielperna84/pyhomematic/tree/master/pyhomematic/devicetypes) repository and browse through the source code. A dictionary with the device identifiers (e.g., HM-Sec-SC-2) can be found within the relevant modules near the bottom. If your device is not supported, feel free to contribute.
We automatically detect all devices we currently support and try to generate useful names. If you enable name-resolving, we try to fetch names from Metadata (Homegear), via JSON-RPC or the XML-API you may have installed on your CCU. Since this may fail this is disabled by default.

View File

@ -111,6 +111,12 @@ Within this delay the device registration should be completed in the App, otherw
* Radiator thermostat (*HmIP-eTRV,-2,-C*) - should also work with (*HmIP-eTRV-2-UK, -B, -B1*)
* Temperature and humidity sensor (*HmIP-STH*)
* Temperature and humidity Sensor with display (*HmIP-STHD*)
* There is no need to directly support the following devices by Home Assistant, because their integration is done by the required wall thermostats:
* Floor Heating Actuator 6x channels, 230V (*HMIP-FAL230-C6*)
* Floor Heating Actuator 10x channels, 230V (*HMIP-FAL230-C10*)
* Floor Heating Actuator 6x channels, 24V (*HMIP-FAL24-C6*)
* Floor Heating Actuator 10x channels, 24V (*HMIP-FAL24-C10*)
* Floor Heating Actuator 12x channels, motorised (*HMIP-FALMOT-C12*)
* homematicip_cloud.cover
* Shutter actuator for brand-mount (*HmIP-BROLL*)

View File

@ -8,7 +8,7 @@ ha_release: pre 0.7
ha_iot_class: Cloud Polling
---
The `honeywell` climate platform integrates Home Assistant with _US-based_ [Honeywell Total Connect Comfort (TCC)](https://mytotalconnectcomfort.com/portal/]) climate systems.
The `honeywell` climate platform integrates Home Assistant with _US-based_ [Honeywell Total Connect Comfort (TCC)](https://mytotalconnectcomfort.com/portal/) climate systems.
It does not support the home security functionality of TCC.

View File

@ -232,7 +232,7 @@ data:
### Dismiss
You can dismiss notifications by using service notify.html5_dismiss like so:
You can dismiss notifications by using service html5.dismiss like so:
```json
{

View File

@ -8,6 +8,7 @@ ha_category:
- Notifications
- Sensor
- Switch
- Binary Sensor
ha_release: 0.79
ha_iot_class: Local Polling
---
@ -20,6 +21,7 @@ There is currently support for the following platforms within Home Assistant:
- Notifications - via SMS
- Sensors - device, signal, and traffic information
- Switch - mobile data on/off
- Binary sensor - mobile connection status
## Configuration
@ -44,6 +46,7 @@ default:
- WAN IP address sensor
- LTE signal sensors RSRQ, RSRP, RSSI, and SINR
- mobile data switch
- mobile connection binary sensor
- device tracker entries
The rest are added to the entity registry, but disabled by default.

View File

@ -9,7 +9,7 @@ ha_release: 0.51
The `huawei` device tracker platform offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm).
Currently, this was only tested with the Huawei HG8247H and HG8247Q Smart Router (used by Vodafone Portugal).
Currently, this was only tested with the Huawei HG8247H, HS8247W and HG8247Q Smart Router (used by Vodafone Portugal).
## Configuration

View File

@ -64,7 +64,7 @@ If 2 Step Authentication is enabled for your iCloud account. The integration wil
2 Factor Authentication is the improved version of 2 Step Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet.
4 services are available for this component:
- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g., to check if anyone is home when door's been opened.
- **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional.
- **icloud_set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level.
- **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are found by the integration or if you have added a new iDevice to your account. The `account_name` is optional.
- **update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g., to check if anyone is home when door's been opened.
- **lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional.
- **set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level.
- **reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are found by the integration or if you have added a new iDevice to your account. The `account_name` is optional.

View File

@ -82,53 +82,54 @@ For easier use in automations, all time sensors have a `timestamp` attribute, wh
### Holiday sensor
The holiday sensor includes two attibutes: *type* and *id*.
The holiday sensor includes 3 attributes: *type*, *type_id* and *id*.
The *type_id* is useful for cases to condition automations based on a range of types.
The following is the list of holidays the sensor knows about with their selected type:
| ID | English | Hebrew | Type |
|----------------------|----------------------------|-----------------------|---------------------------|
| erev_rosh_hashana | Erev Rosh Hashana | ערב ראש השנה | EREV_YOM_TOV |
| rosh_hashana_i | Rosh Hashana I | א' ראש השנה | YOM_TOV |
| rosh_hashana_ii | Rosh Hashana II | ב' ראש השנה | YOM_TOV |
| tzom_gedaliah | Tzom Gedaliah | צום גדליה | FAST_DAY |
| erev_yom_kippur | Erev Yom Kippur | עיוה"כ | EREV_YOM_TOV |
| yom_kippur | Yom Kippur | יום הכפורים | YOM_TOV |
| erev_sukkot | Erev Sukkot | ערב סוכות | EREV_YOM_TOV |
| sukkot | Sukkot | סוכות | YOM_TOV |
| hol_hamoed_sukkot | Hol hamoed Sukkot | חול המועד סוכות | HOL_HAMOED |
| hoshana_raba | Hoshana Raba | הושענא רבה | EREV_YOM_TOV |
| simchat_torah | Simchat Torah | שמחת תורה | YOM_TOV |
| chanukah | Chanukah | חנוכה | MELACHA_PERMITTED_HOLIDAY |
| asara_btevet | Asara B'Tevet | צום עשרה בטבת | FAST_DAY |
| tu_bshvat | Tu B'Shvat | ט"ו בשבט | MINOR_HOLIDAY |
| taanit_esther | Ta'anit Esther | תענית אסתר | FAST_DAY |
| purim | Purim | פורים | MELACHA_PERMITTED_HOLIDAY |
| shushan_purim | Shushan Purim | שושן פורים | MELACHA_PERMITTED_HOLIDAY |
| erev_pesach | Erev Pesach | ערב פסח | EREV_YOM_TOV |
| pesach | Pesach | פסח | YOM_TOV |
| hol_hamoed_pesach | Hol hamoed Pesach | חול המועד פסח | HOL_HAMOED |
| pesach_vii | Pesach VII | שביעי פסח | YOM_TOV |
| yom_haatzmaut | Yom HaAtzma'ut | יום העצמאות | MODERN_HOLIDAY |
| lag_bomer | Lag B'Omer | ל"ג בעומר | MINOR_HOLIDAY |
| erev_shavuot | Erev Shavuot | ערב שבועות | EREV_YOM_TOV |
| shavuot | Shavuot | שבועות | YOM_TOV |
| tzom_tammuz | Tzom Tammuz | צום שבעה עשר בתמוז | FAST_DAY |
| tisha_bav | Tish'a B'Av | תשעה באב | FAST_DAY |
| tu_bav | Tu B'Av | ט"ו באב | MINOR_HOLIDAY |
| yom_hashoah | Yom HaShoah | יום השואה | MEMORIAL_DAY |
| yom_hazikaron | Yom HaZikaron | יום הזכרון | MEMORIAL_DAY |
| yom_yerushalayim | Yom Yerushalayim | יום ירושלים | MODERN_HOLIDAY |
| shmini_atzeret | Shmini Atzeret | שמיני עצרת | YOM_TOV |
| pesach_viii | Pesach VIII | אחרון של פסח | YOM_TOV |
| shavuot_ii | Shavuot II | שני של שבועות | YOM_TOV |
| sukkot_ii | Sukkot II | שני של סוכות | YOM_TOV |
| pesach_ii | Pesach II | שני של פסח | YOM_TOV |
| family_day | Family Day | יום המשפחה | ISRAEL_NATIONAL_HOLIDAY |
| memorial_day_unknown | Memorial day for fallen whose place of burial is unknown | יום זכרון... | MEMORIAL_DAY |
| rabin_memorial_day | Yitzhak Rabin memorial day | יום הזכרון ליצחק רבין | MEMORIAL_DAY |
| zeev_zhabotinsky_day | Zeev Zhabotinsky day | יום ז'בוטינסקי | MEMORIAL_DAY |
| ID | English | Hebrew | Type |
|----------------------|----------------------------|-----------------------|--------------------------------|
| erev_rosh_hashana | Erev Rosh Hashana | ערב ראש השנה | EREV_YOM_TOV (2) |
| rosh_hashana_i | Rosh Hashana I | א' ראש השנה | YOM_TOV (1) |
| rosh_hashana_ii | Rosh Hashana II | ב' ראש השנה | YOM_TOV (1) |
| tzom_gedaliah | Tzom Gedaliah | צום גדליה | FAST_DAY (5) |
| erev_yom_kippur | Erev Yom Kippur | עיוה"כ | EREV_YOM_TOV (2) |
| yom_kippur | Yom Kippur | יום הכפורים | YOM_TOV (1) |
| erev_sukkot | Erev Sukkot | ערב סוכות | EREV_YOM_TOV (2) |
| sukkot | Sukkot | סוכות | YOM_TOV (1) |
| hol_hamoed_sukkot | Hol hamoed Sukkot | חול המועד סוכות | HOL_HAMOED (3) |
| hoshana_raba | Hoshana Raba | הושענא רבה | EREV_YOM_TOV (2) |
| simchat_torah | Simchat Torah | שמחת תורה | YOM_TOV (1) |
| chanukah | Chanukah | חנוכה | MELACHA_PERMITTED_HOLIDAY (4) |
| asara_btevet | Asara B'Tevet | צום עשרה בטבת | FAST_DAY (5) |
| tu_bshvat | Tu B'Shvat | ט"ו בשבט | MINOR_HOLIDAY (7) |
| taanit_esther | Ta'anit Esther | תענית אסתר | FAST_DAY (5) |
| purim | Purim | פורים | MELACHA_PERMITTED_HOLIDAY (4) |
| shushan_purim | Shushan Purim | שושן פורים | MELACHA_PERMITTED_HOLIDAY (4) |
| erev_pesach | Erev Pesach | ערב פסח | EREV_YOM_TOV (2) |
| pesach | Pesach | פסח | YOM_TOV (1) |
| hol_hamoed_pesach | Hol hamoed Pesach | חול המועד פסח | HOL_HAMOED (3) |
| pesach_vii | Pesach VII | שביעי פסח | YOM_TOV (1) |
| yom_haatzmaut | Yom HaAtzma'ut | יום העצמאות | MODERN_HOLIDAY (6) |
| lag_bomer | Lag B'Omer | ל"ג בעומר | MINOR_HOLIDAY (7) |
| erev_shavuot | Erev Shavuot | ערב שבועות | EREV_YOM_TOV (2) |
| shavuot | Shavuot | שבועות | YOM_TOV (1) |
| tzom_tammuz | Tzom Tammuz | צום שבעה עשר בתמוז | FAST_DAY (5) |
| tisha_bav | Tish'a B'Av | תשעה באב | FAST_DAY (5) |
| tu_bav | Tu B'Av | ט"ו באב | MINOR_HOLIDAY (7) |
| yom_hashoah | Yom HaShoah | יום השואה | MEMORIAL_DAY (8) |
| yom_hazikaron | Yom HaZikaron | יום הזכרון | MEMORIAL_DAY (8) |
| yom_yerushalayim | Yom Yerushalayim | יום ירושלים | MODERN_HOLIDAY (6) |
| shmini_atzeret | Shmini Atzeret | שמיני עצרת | YOM_TOV (1) |
| pesach_viii | Pesach VIII | אחרון של פסח | YOM_TOV (1) |
| shavuot_ii | Shavuot II | שני של שבועות | YOM_TOV (1) |
| sukkot_ii | Sukkot II | שני של סוכות | YOM_TOV (1) |
| pesach_ii | Pesach II | שני של פסח | YOM_TOV (1) |
| family_day | Family Day | יום המשפחה | ISRAEL_NATIONAL_HOLIDAY (9) |
| memorial_day_unknown | Memorial day for fallen whose place of burial is unknown | יום זכרון... | MEMORIAL_DAY (8) |
| rabin_memorial_day | Yitzhak Rabin memorial day | יום הזכרון ליצחק רבין | MEMORIAL_DAY (8) |
| zeev_zhabotinsky_day | Zeev Zhabotinsky day | יום ז'בוטינסקי | MEMORIAL_DAY (8) |
## Full configuration sample

View File

@ -23,6 +23,12 @@ Since the sensor change their ID after each powercycle/battery change you can ch
sudo pylacrosse -d /dev/ttyUSB0 scan
```
Or, when using Docker containers:
```bash
docker exec -it <containername> pylacrosse -d /dev/ttyUSB0 scan
```
## Configuration
To use your `lacrosse` compatible sensor in your installation, add the following to your `configuration.yaml` file:

View File

@ -19,6 +19,12 @@ Then in the Home Assistant user interface (UI), click on Configuration in the le
If you would like to set any advanced options, see the following section. You may want to do this before entering your Life360 account information in the UI, or you can change it at any time. Any of the advanced options you want to set from the section below will need to be set manually in your configuration.yaml file. They are not able to be set from the UI. You can also enter your account information in the configuration file (in addition to, or instead of, the UI) if you prefer.
After configuring, it is expected for the Life360 integration page to show "This integration has no devices". You should see a new Life360 device tracker entity showing up on the States page. If it does not:
- Check the [device tracker documentation](/integrations/device_tracker), especially the `new_device_defaults` setting.
- Check your `known_devices.yaml`; `tracking` should be `true` for your Life360 device.
- In the Life360 app, Location Sharing should be enabled.
{% configuration %}
accounts:
description: Your Life360 account information.

View File

@ -65,7 +65,7 @@ script:
The available light effects and their options are listed below.
### Service `light.lifx_effect_pulse`
### Service `lifx.effect_pulse`
Run a flash effect by changing to a color and then back.
@ -80,7 +80,7 @@ Run a flash effect by changing to a color and then back.
| `mode` | The way to change between colors. Valid modes: `blink` (default - direct transition to new color for 'period' time with original color between cycles), `breathe` (color fade transition to new color and back to original), `ping` (short pulse of new color), `strobe` (light turns off between color changes), `solid`(light does not return to original color between cycles).
| `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True).
### Service `light.lifx_effect_colorloop`
### Service `lifx.effect_colorloop`
Run an effect with colors looping around the color wheel. All participating lights will coordinate to keep similar (but not identical) colors.
@ -94,7 +94,7 @@ Run an effect with colors looping around the color wheel. All participating ligh
| `spread` | Maximum color difference between participating lights, in degrees on a color wheel (ranges from 0 to 359).
| `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True).
### Service `light.lifx_effect_stop`
### Service `lifx.effect_stop`
Run an effect that does nothing, thereby stopping any other effect that might be running.

View File

@ -132,7 +132,7 @@ model:
## Platform Services
### Service `light.xiaomi_miio_set_scene`
### Service `xiaomi_miio.light_set_scene`
Set one of the 4 available fixed scenes.
@ -141,7 +141,7 @@ Set one of the 4 available fixed scenes.
| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
| `scene` | no | Scene, between 1 and 4. |
### Service `light.xiaomi_miio_set_delayed_turn_off`
### Service `xiaomi_miio.light_set_delayed_turn_off`
Delayed turn off.
@ -150,7 +150,7 @@ Delayed turn off.
| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
| `time_period` | no | Time period for the delayed turn off. |
### Service `light.xiaomi_miio_reminder_on` (Eyecare Smart Lamp 2 only)
### Service `xiaomi_miio.light_reminder_on` (Eyecare Smart Lamp 2 only)
Enable the eye fatigue reminder/notification.
@ -158,7 +158,7 @@ Enable the eye fatigue reminder/notification.
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_reminder_off` (Eyecare Smart Lamp 2 only)
### Service `xiaomi_miio.light_reminder_off` (Eyecare Smart Lamp 2 only)
Disable the eye fatigue reminder/notification.
@ -166,7 +166,7 @@ Disable the eye fatigue reminder/notification.
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_night_light_mode_on` (Eyecare Smart Lamp 2 only)
### Service `xiaomi_miio.light_night_light_mode_on` (Eyecare Smart Lamp 2 only)
Turn the smart night light mode on.
@ -174,7 +174,7 @@ Turn the smart night light mode on.
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_night_light_mode_off` (Eyecare Smart Lamp 2 only)
### Service `xiaomi_miio.light_night_light_mode_off` (Eyecare Smart Lamp 2 only)
Turn the smart night light mode off.
@ -182,7 +182,7 @@ Turn the smart night light mode off.
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_eyecare_mode_on` (Eyecare Smart Lamp 2 only)
### Service `xiaomi_miio.light_eyecare_mode_on` (Eyecare Smart Lamp 2 only)
Turn the eyecare mode on.
@ -190,7 +190,7 @@ Turn the eyecare mode on.
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_eyecare_mode_off` (Eyecare Smart Lamp 2 only)
### Service `xiaomi_miio.light_eyecare_mode_off` (Eyecare Smart Lamp 2 only)
Turn the eyecare mode off.

View File

@ -34,7 +34,7 @@ name:
type: string
{% endconfiguration %}
### Service `camera.local_file_update_file_path`
### Service `local_file.update_file_path`
Use this service to change the file displayed by the camera.

View File

@ -11,12 +11,6 @@ _This is one of multiple ways we support OpenWRT. For an overview, see [openwrt]
This is a presence detection scanner for OpenWRT using [luci](https://openwrt.org/docs/techref/luci).
<div class='note'>
This integration requires a [workaround](https://github.com/home-assistant/home-assistant/issues/1258#issuecomment-252469880) when using luci with HTTPS and a self-signed certificate.
</div>
Before this scanner can be used you have to install the luci RPC package on OpenWRT:
```bash

View File

@ -8,6 +8,7 @@ ha_category:
- Light
- Scene
- Switch
- Fan
ha_release: 0.41
ha_iot_class: Local Polling
---
@ -22,6 +23,7 @@ The currently supported Caseta devices are:
- Wall switches as [switches](#switch)
- Scenes as [scenes](#scene)
- Lutron shades as [covers](#cover)
- Lutron smart [fan](#fan) speed control
When configured, the `lutron_caseta` integration will automatically discover the currently supported devices as setup in the Lutron Smart Bridge. The name assigned in the Lutron mobile app will be used to form the `entity_id` used in Home Assistant. e.g., a dimmer called 'Lamp' in a room called 'Bedroom' becomes `light.bedroom_lamp` in Home Assistant.
@ -104,3 +106,11 @@ For dimmable lights including wall and plug-in dimmers, see the light section on
For more information on working with switches in Home Assistant, see the [Switches component](/integrations/switch/).
Available services: `switch.turn_on` and `switch.turn_off`.
## Fan
After setup, fans will appear in Home Assistant using an `entity_id` based on the name used in the Lutron mobile app. For example, a light switch called 'Master Bathroom Vanity' will appear in Home Assistant as `fan.master_bedroom_ceiling_fan`.
For more information on working with fans in Home Assistant, see the [Fans component](/components/fan/).
Available services: `fan.turn_on`, `fan.turn_off`, and `fan.set_speed`.

View File

@ -13,7 +13,7 @@ Interacts with media players on your network.
## Services
### Media control services
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `volume_set`, `volume_mute`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`, `shuffle_set`
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `volume_set`, `volume_mute`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`, `shuffle_set`, `play_media`, `select_source`, `select_sound_mode`
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------ |

View File

@ -80,7 +80,7 @@ monitored_conditions:
conductivity:
description: Conductivity in the soil.
battery:
description: Battery details.
description: Battery details. Cached and only updated once a day.
name:
description: The name displayed in the frontend.
required: false

View File

@ -36,7 +36,7 @@ password:
This platform supports a service to set the temperature for the room connected to heater in the Mill app:
`climate.mill_set_room_temperature`
`mill.set_room_temperature`
| Service data attribute | Optional | Description |

View File

@ -22,3 +22,8 @@ This integration is by default enabled, unless you've disabled or removed the [`
# Example configuration.yaml entry
mobile_app:
```
## Apps that use Mobile App
- [Home Assistant for iOS](https://apps.apple.com/us/app/home-assistant/id1099568401?ls=1) (official)
- [Home Assistant for Android](https://play.google.com/store/apps/details?id=io.homeassistant.companion.android) (official)

View File

@ -52,7 +52,7 @@ sources:
type: integer
{% endconfiguration %}
### Service `snapshot`
### Service `monoprice.snapshot`
Take a snapshot of one or more zones' states. This service, and the following one are useful if you want to play a doorbell or notification sound and resume playback afterward. If no `entity_id` is provided, all zones are snapshotted.
@ -66,7 +66,7 @@ The following attributes are stored in a snapshot:
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of zones.
### Service `restore`
### Service `monoprice.restore`
Restore a previously taken snapshot of one or more speakers. If no `entity_id` is provided, all zones are restored.

View File

@ -24,7 +24,7 @@ sensor:
{% configuration %}
station:
description: Name of the stop or station. Visit [the MVG live web site](https://www.mvg-live.de/) to find valid names.
description: Name of the stop or station. Visit [the MVG live web site](https://www.mvg-live.de/ims/dfiStaticAuswahl.svc) to find valid names. Be aware, that not all data of interest might be available (i.e. bus departure-times in Haar).
required: true
type: string
destinations:

View File

@ -7,6 +7,7 @@ ha_category:
- Sensor
- Switch
- Vacuum
ha_iot_class: Cloud Polling
ha_release: 0.33
ha_config_flow: true
---
@ -77,11 +78,11 @@ Currently supported services are:
And a specific Platform Service:
- `vacuum.neato_custom_cleaning`
- `neato.custom_cleaning`
### Platform Services
#### Service `vacuum.neato_custom_cleaning`
#### Service `neato.custom_cleaning`
Starts a custom cleaning of your house. You can set the various options like in the mobile application (mode, map usage, navigation mode, zone).

View File

@ -9,10 +9,6 @@ ha_release: 0.52
ha_iot_class: Cloud Polling
---
<div class="note warning">
Locumi Labs, the manufacturer of Nello, went bankrupt on 2 October 2019. Since Nello One locks require this cloud service, the locks will no longer work if the Nello shuts down the servers, which according to the official announcement should not happen for the time being. Nello has promised existing users via email that they will work on an alternative to use the lock without a server.
</div>
The `nello` platform allows you to control [Nello](https://www.nello.io) intercoms.
To get started you need to create a secondary Nello account and authorize it to access your lock(s).

View File

@ -58,5 +58,5 @@ show_on_map:
<p class='img'>
<img src='{{site_root}}/images/screenshots/nmbs-card-example.png' />
<p>Example using the Lovelace Attributes card</p>
<p>Example using the <a href="https://github.com/custom-cards/entity-attributes-card">Lovelace Attributes custom card</a> </p>
</p>

View File

@ -8,7 +8,7 @@ ha_qa_scale: internal
ha_release: 0.7
---
The `notify` integration makes it possible to send notifications to a wide variety of platforms. Please check the sidebar for a full list of platforms that are supported.
The `notify` integration makes it possible to send notifications to a wide variety of platforms. To use it you have to setup at least one notification target (notifier), check the [integrations list](/integrations/#notifications) for one that fits your use case.
If you want to send notifications to the Home Assistant web interface, you may use the [Persistent Notification integration](/integrations/persistent_notification/).
@ -37,7 +37,7 @@ action:
### Test if it works
A simple way to test if you have set up your notify platform correctly, is to open **Developer Tools** from the sidebar and then select the **Services** tab. Choose your service from the **Service** dropdown menu, enter the sample below into the **Service Data** field, and press the **CALL SERVICE** button.
After you setup a [notifier](/integrations/#notifications) a simple way to test if you have set up your notify platform correctly, is to open **Developer Tools** from the sidebar and then select the **Services** tab. Choose your service from the **Service** dropdown menu, enter the sample below into the **Service Data** field, and press the **CALL SERVICE** button.
```json
{

View File

@ -159,7 +159,7 @@ Sets the thermostat's preset mode. Without a preset mode set it run the thermost
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `hold_mode` | no | New value of hold mode.
### Service `resume_program`
### Service `nuheat.resume_program`
Resumes the currently active schedule.

View File

@ -48,11 +48,3 @@ See the [Nuki Website](https://nuki.io/en/support/smart-lock/sl-features/locking
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`s Nuki Locks.
| `unlatch` | yes | Boolean - Whether to unlatch the door when first opening it.
### Service `check_connection`
This will force the communication between the bridge and the lock, updating the available attribute.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`s Nuki Locks.

View File

@ -62,6 +62,7 @@ This component will create these sensors:
- `nzbget_speed`: Current download rate in MB/s.
- `nzbget_queue_size`: Remaining size to download in MB.
- `nzbget_disk_free`: Free disk space at the storage location of NZBGet.
- `nzbget_post_processing_jobs`: Number of Par-Jobs or Post-processing script jobs in the post-processing queue.
- `nzbget_post_processing_paused`: Whether post processing is paused.
- `nzbget_uptime`: NZBGet server uptime.
- `nzbget_size`: Amount of data downloaded since server start in MB.

View File

@ -12,8 +12,12 @@ The `Ombi` integration monitors data from your [Ombi](https://ombi.io) instance.
## Setup
This component needs to authenticate to your Ombi instance with either a user `password` or an `api_key`.
To find your `api_key` open the Ombi web interface. Navigate to **Settings** and then to **Ombi**, you should then be able to see your `api_key`.
If you want to use `password` authentication simply use the same `password` you normally use to login to Ombi. Alternatively, you can set up a separate local account in Ombi designated for Home Assistant. In order to do this, open the Ombi web interface. Navigate to **User Management** and then press **Add User To Ombi**. Input your desired user details and use the same details when configuring this integration.
## Configuration
If you want to enable this sensor, add the following lines to your `configuration.yaml`:
@ -21,16 +25,12 @@ If you want to enable this sensor, add the following lines to your `configuratio
```yaml
# Example configuration.yaml entry
ombi:
api_key: OMBI_API_KEY
host: OMBI_HOST
username: OMBI_USERNAME
password: OMBI_PASSWORD
```
{% configuration %}
api_key:
description: Your Ombi API key.
required: true
type: string
host:
description: The hostname or IP Address Ombi is running on.
required: true
@ -39,6 +39,14 @@ username:
description: Your Ombi username.
required: true
type: string
password:
description: Your Ombi password. [`password`](#password) and [`api_key`](#api_key) cannot be specified concurrently.
required: exclusive
type: string
api_key:
description: Your Ombi API key. [`password`](#password) and [`api_key`](#api_key) cannot be specified concurrently.
required: exclusive
type: string
port:
description: The port Ombi is running on.
required: false
@ -60,9 +68,9 @@ ssl:
```yaml
# Example configuration.yaml entry
ombi:
api_key: OMBI_API_KEY
host: OMBI_HOST
username: OMBI_USERNAME
api_key: OMBI_API_KEY
port: OMBI_PORT
urlbase: ombi/
ssl: true

View File

@ -23,7 +23,10 @@ cover:
device_key: opendoor
name: Left Garage Door
garage2:
host: 192.168.1.13
protocol: https
verify_ssl: false
host: garage.example.com
port: 443
device_key: opendoor
name: Right Garage Door
```
@ -39,6 +42,16 @@ covers:
required: true
type: map
keys:
ssl:
description: Use HTTPS instead of HTTP to connect.
required: false
type: boolean
default: false
verify_ssl:
description: Enable or disable SSL certificate verification. Set to false if you have a self-signed SSL certificate and haven't installed the CA certificate to enable verification.
required: false
default: true
type: boolean
host:
description: IP address of device.
required: true
@ -123,4 +136,5 @@ customize:
sensor.garage_car_present:
icon: mdi:car
```
{% endraw %}

View File

@ -39,7 +39,7 @@ Both events have three attributes:
- **callsign**: Callsign of the flight.
- **altitude**: Altitude of the flight in meters.
To receive notifications of the entering flights, add the following lines to your `configuration.yaml` file:
To receive notifications of the entering flights using the [Home Assistant Companion App](https://companion.home-assistant.io/), add the following lines to your `configuration.yaml` file:
{% raw %}
```yaml
@ -49,7 +49,7 @@ automation:
platform: event
event_type: opensky_entry
action:
service: notify.ios_YOURIPHONENAME
service: notify.mobile_app_<device_name>
data_template:
message : 'Flight entry of {{ trigger.event.data.callsign }} '
```

View File

@ -19,7 +19,7 @@ The following device types are currently supported within Home Assistant:
- Climate
- Sensor
This integration will add a single `climate` entity and multiple `sensor` and `binary_sensor` entities to Home Assistant for each configured gateway.
This integration will add a single `climate` entity to Home Assistant for each configured gateway. Each gateway also has a collection of `sensor` and `binary_sensor` entities, which are disabled by default. These can be enabled from the `Devices` panel in the `Configuration` page of the web interface.
<div class='note'>
The OpenTherm protocol is based on polling. The thermostat sends requests to the boiler at specific intervals. As a result, it may take some time for changes to propagate between Home Assistant and the thermostat.
@ -183,7 +183,7 @@ The value you provide here will be used with the GPIO `home` (5) and `away` (6)
## Sensors
The following `sensor` entities will be created for each configured gateway. The `entity_id` of every sensor will have a suffix containing the `gateway_id` of the gateway to which it belongs.
The following `sensor` entities will be created for each configured gateway. The `entity_id` of every sensor will have a suffix containing the `gateway_id` of the gateway to which it belongs. All `sensor` entities are disabled by default.
<p class='note'>
Not all boilers and thermostats properly support all OpenTherm features, so not all of the sensors will have useful values.
</p>
@ -383,7 +383,7 @@ Not all boilers and thermostats properly support all OpenTherm features, so not
## Binary Sensors
The following `binary_sensor` entities will be created for each configured gateway. The `entity_id` of every sensor will have a suffix containing the `gateway_id` of the gateway to which it belongs.
The following `binary_sensor` entities will be created for each configured gateway. The `entity_id` of every sensor will have a suffix containing the `gateway_id` of the gateway to which it belongs. All `binary_sensor` entities are disabled by default.
<p class='note'>
Not all boilers and thermostats properly support all OpenTherm features, so not all of the sensors will have useful values.
</p>

View File

@ -6,6 +6,7 @@ ha_category:
- Binary Sensor
ha_release: 0.93
ha_iot_class: Local Push
logo: orange-pi.png
---
The `orangepi_gpio` integration is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms please check their corresponding pages.

Some files were not shown because too many files have changed in this diff Show More