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