mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-25 18:26:56 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
a05af2b752
@ -1 +1 @@
|
||||
2.3.1
|
||||
2.4.1
|
||||
|
@ -1,6 +1,6 @@
|
||||
language: ruby
|
||||
sudo: false
|
||||
cache: bundler
|
||||
script: bundle exec rake generate
|
||||
script: travis_wait bundle exec rake generate
|
||||
after_success:
|
||||
- '[ "${TRAVIS_BRANCH}" = "current" ] && [ "${TRAVIS_PULL_REQUEST}" = "false" ] && bundle exec rake deploy || false'
|
||||
|
10
Gemfile
10
Gemfile
@ -3,18 +3,9 @@ source "https://rubygems.org"
|
||||
group :development do
|
||||
gem 'rake', '~> 10.0'
|
||||
gem 'jekyll', '~> 3.0'
|
||||
gem 'pygments.rb', '~> 1.1.2'
|
||||
gem 'rdiscount', '~> 2.0'
|
||||
gem 'RedCloth', '~> 4.2'
|
||||
gem 'haml', '~> 4.0'
|
||||
gem 'compass', '~> 0.12'
|
||||
gem 'sass-globbing', '~> 1.0'
|
||||
gem 'rubypants', '~> 0.2'
|
||||
gem 'rb-fsevent', '~> 0.9'
|
||||
gem 'stringex', '~> 1.4'
|
||||
gem 'execjs'
|
||||
gem 'therubyracer', :platforms => :ruby
|
||||
gem 'coderay'
|
||||
gem 'pry'
|
||||
end
|
||||
|
||||
@ -24,7 +15,6 @@ group :jekyll_plugins do
|
||||
gem 'jekyll-sitemap'
|
||||
gem 'jekyll-time-to-read'
|
||||
gem 'octopress', '~> 3.0'
|
||||
gem 'octopress-filters'
|
||||
gem 'octopress-include-tag'
|
||||
end
|
||||
|
||||
|
73
Gemfile.lock
73
Gemfile.lock
@ -1,51 +1,47 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
RedCloth (4.3.2)
|
||||
addressable (2.4.0)
|
||||
chunky_png (1.3.6)
|
||||
addressable (2.5.2)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
chunky_png (1.3.8)
|
||||
coderay (1.1.1)
|
||||
colorator (1.1.0)
|
||||
compass (0.12.7)
|
||||
chunky_png (~> 1.2)
|
||||
fssm (>= 0.2.7)
|
||||
sass (~> 3.2.19)
|
||||
execjs (2.7.0)
|
||||
ffi (1.9.14)
|
||||
ffi (1.9.18)
|
||||
forwardable-extended (2.6.0)
|
||||
fssm (0.2.10)
|
||||
haml (4.0.7)
|
||||
tilt
|
||||
jekyll (3.2.1)
|
||||
jekyll (3.5.2)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 1.1)
|
||||
kramdown (~> 1.3)
|
||||
liquid (~> 3.0)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.3.3)
|
||||
pathutil (~> 0.9)
|
||||
rouge (~> 1.7)
|
||||
safe_yaml (~> 1.0)
|
||||
jekyll-paginate (1.1.0)
|
||||
jekyll-redirect-from (0.11.0)
|
||||
jekyll (>= 2.0)
|
||||
jekyll-redirect-from (0.12.1)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-sass-converter (1.3.0)
|
||||
sass (~> 3.2)
|
||||
jekyll-sitemap (0.11.0)
|
||||
addressable (~> 2.4.0)
|
||||
jekyll-sitemap (1.1.1)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-time-to-read (0.1.2)
|
||||
jekyll
|
||||
jekyll-watch (1.5.0)
|
||||
listen (~> 3.0, < 3.1)
|
||||
kramdown (1.12.0)
|
||||
libv8 (3.16.14.15)
|
||||
liquid (3.0.6)
|
||||
kramdown (1.14.0)
|
||||
liquid (4.0.0)
|
||||
listen (3.0.8)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
mercenary (0.3.6)
|
||||
method_source (0.8.2)
|
||||
multi_json (1.12.1)
|
||||
octopress (3.0.11)
|
||||
jekyll (>= 2.0)
|
||||
mercenary (~> 0.3.2)
|
||||
@ -58,12 +54,7 @@ GEM
|
||||
colorator
|
||||
octopress-escape-code (2.1.1)
|
||||
jekyll (~> 3.0)
|
||||
octopress-filters (1.4.0)
|
||||
jekyll
|
||||
octopress-hooks (~> 2.0)
|
||||
rubypants-unicode
|
||||
titlecase
|
||||
octopress-hooks (2.6.1)
|
||||
octopress-hooks (2.6.2)
|
||||
jekyll (>= 2.0)
|
||||
octopress-include-tag (1.1.3)
|
||||
jekyll (>= 2.0)
|
||||
@ -76,64 +67,46 @@ GEM
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
slop (~> 3.4)
|
||||
pygments.rb (1.1.2)
|
||||
multi_json (>= 1.0.0)
|
||||
rack (1.6.4)
|
||||
public_suffix (3.0.0)
|
||||
rack (1.6.8)
|
||||
rack-protection (1.5.3)
|
||||
rack
|
||||
rake (10.5.0)
|
||||
rb-fsevent (0.9.7)
|
||||
rb-inotify (0.9.7)
|
||||
ffi (>= 0.5.0)
|
||||
rdiscount (2.2.0.1)
|
||||
redcarpet (3.3.4)
|
||||
ref (2.0.0)
|
||||
rb-fsevent (0.10.2)
|
||||
rb-inotify (0.9.10)
|
||||
ffi (>= 0.5.0, < 2)
|
||||
redcarpet (3.4.0)
|
||||
rouge (1.11.1)
|
||||
rubypants (0.5.0)
|
||||
rubypants-unicode (0.2.5)
|
||||
safe_yaml (1.0.4)
|
||||
sass (3.2.19)
|
||||
sass-globbing (1.1.5)
|
||||
sass (>= 3.1)
|
||||
sinatra (1.4.7)
|
||||
sinatra (1.4.8)
|
||||
rack (~> 1.5)
|
||||
rack-protection (~> 1.4)
|
||||
tilt (>= 1.3, < 3)
|
||||
slop (3.6.0)
|
||||
stringex (1.5.1)
|
||||
therubyracer (0.12.2)
|
||||
libv8 (~> 3.16.14.0)
|
||||
ref
|
||||
tilt (2.0.5)
|
||||
tilt (2.0.8)
|
||||
titlecase (0.1.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
RedCloth (~> 4.2)
|
||||
coderay
|
||||
compass (~> 0.12)
|
||||
execjs
|
||||
haml (~> 4.0)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-paginate
|
||||
jekyll-redirect-from
|
||||
jekyll-sitemap
|
||||
jekyll-time-to-read
|
||||
octopress (~> 3.0)
|
||||
octopress-filters
|
||||
octopress-include-tag
|
||||
pry
|
||||
pygments.rb (~> 1.1.2)
|
||||
rake (~> 10.0)
|
||||
rb-fsevent (~> 0.9)
|
||||
rdiscount (~> 2.0)
|
||||
rubypants (~> 0.2)
|
||||
sass-globbing (~> 1.0)
|
||||
sinatra (~> 1.4.2)
|
||||
stringex (~> 1.4)
|
||||
therubyracer
|
||||
|
||||
BUNDLED WITH
|
||||
1.14.6
|
||||
1.15.4
|
||||
|
13
_config.yml
13
_config.yml
@ -35,8 +35,6 @@ category_dir: blog/categories
|
||||
markdown: kramdown
|
||||
timezone: UTC
|
||||
|
||||
# highlighter: coderay
|
||||
|
||||
kramdown:
|
||||
input: GFM
|
||||
auto_ids: false
|
||||
@ -48,10 +46,9 @@ kramdown:
|
||||
|
||||
highlighter: rouge
|
||||
|
||||
gems:
|
||||
plugins:
|
||||
- jekyll-redirect-from
|
||||
- jekyll-time-to-read
|
||||
- octopress-filters
|
||||
- octopress-include-tag
|
||||
|
||||
paginate: 10 # Posts per page on the blog index
|
||||
@ -142,12 +139,12 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 51
|
||||
current_patch_version: 2
|
||||
date_released: 2017-08-14
|
||||
current_minor_version: 52
|
||||
current_patch_version: 0
|
||||
date_released: 2017-08-26
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
# Major release:
|
||||
patch_version_notes: "#release-0512--august-14"
|
||||
patch_version_notes: "#"
|
||||
# Minor release (Example #release-0431---april-25):
|
||||
|
@ -9,7 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Set up a [mariadb](https://mariadb.org/) SQL server. It support multible database, users and permission. If you want only connect from inside use `172.17.0.1` as host address.
|
||||
Set up a [mariadb](https://mariadb.org/) SQL server. It support multible database, users and permission. If you want only connect from inside use `core-mariadb` as host address.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -17,14 +17,14 @@ Set up a [mariadb](https://mariadb.org/) SQL server. It support multible databas
|
||||
"logins": [
|
||||
{
|
||||
"username": "hass",
|
||||
"host": "172.17.0.1",
|
||||
"host": "homeassistant",
|
||||
"password": "securePassword"
|
||||
}
|
||||
],
|
||||
"rights": [
|
||||
{
|
||||
"username": "hass",
|
||||
"host": "172.17.0.1",
|
||||
"host": "homeassistant",
|
||||
"database": "homeassistant",
|
||||
"grant": "ALL PRIVILEGES ON"
|
||||
}
|
||||
@ -51,5 +51,5 @@ Use the following configuration in Home Assistant to use the database above:
|
||||
|
||||
```yaml
|
||||
recorder:
|
||||
db_url: mysql://hass:securePassword@127.0.0.1/homeassistant
|
||||
db_url: mysql://hass:securePassword@core-mariadb/homeassistant
|
||||
```
|
||||
|
@ -23,6 +23,5 @@ Configuration variables:
|
||||
- **domain** (*Required*): Domain they will proxy run with it.
|
||||
|
||||
<p class='note'>
|
||||
It is possible to deactive port 80 if you need this for things like `emulate_hue`. It exists a the moment no UI function for that, so you need call Hass.io API with SSH addon:
|
||||
`curl -d '{"network": {"443/tcp": 443}}' http://172.17.0.2/addons/core_nginx_proxy/options`
|
||||
It is possible to deactive port 80 if you need this for things like `emulate_hue`. Remove the host port from Network option of this add-on.
|
||||
</p>
|
||||
|
@ -2,7 +2,7 @@
|
||||
layout: page
|
||||
title: "Abode Home Security"
|
||||
description: "Instructions on integrating Abode home security with Home Assistant."
|
||||
date: 2017-08-26 13:28
|
||||
date: 2017-08-26 0:28
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
|
@ -2,7 +2,7 @@
|
||||
layout: page
|
||||
title: "Abode Alarm Control Panel"
|
||||
description: "Instructions how to setup the Abode Alarm control panel within Home Assistant."
|
||||
date: 2017-08-26 13:28
|
||||
date: 2017-08-26 0:28
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
|
@ -2,7 +2,7 @@
|
||||
layout: page
|
||||
title: "Abode Binary Sensor"
|
||||
description: "Instructions how to integrate Abode binary sensors into Home Assistant."
|
||||
date: 2017-08-26 13:28
|
||||
date: 2017-08-26 0:28
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
|
@ -12,7 +12,7 @@ ha_category: Other
|
||||
---
|
||||
|
||||
|
||||
Home Assistant can discover and automatically configure zeroconf/mDNS and uPnP devices on your network. Currently the `discovery` component can detect:
|
||||
Home Assistant can discover and automatically configure [zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking)/[mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) and [uPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) devices on your network. Currently the `discovery` component can detect:
|
||||
|
||||
* Google Chromecast
|
||||
* Belkin WeMo switches
|
||||
@ -54,7 +54,7 @@ Configuration variables:
|
||||
Valid values for ignore are:
|
||||
|
||||
* `apple_tv`: Apple TV
|
||||
* `axis`: (Axis Communications security devices)
|
||||
* `axis`: Axis Communications security devices
|
||||
* `bose_soundtouch`: Bose Soundtouch speakers
|
||||
* `denonavr`: Denon Network Receivers
|
||||
* `directv`: DirecTV
|
||||
@ -62,31 +62,31 @@ Valid values for ignore are:
|
||||
* `google_cast`: Google Chromecast
|
||||
* `ikea_tradfri`: IKEA Trådfri
|
||||
* `logitech_mediaserver`: Logitech media server - Squeezebox player
|
||||
* `openhome`: Linn / Openhome
|
||||
* `openhome`: Linn/Openhome
|
||||
* `panasonic_viera`: Panasonic Viera
|
||||
* `philips_hue`: Philips Hue
|
||||
* `plex_mediaserver`: Plex media server
|
||||
* `roku`: Roku media player
|
||||
* `samsung_tv`: (Samsung TV
|
||||
* `samsung_tv`: Samsung TV
|
||||
* `sonos`: Sonos Speakers
|
||||
* `yamaha`: Yamaha media player
|
||||
* `yeelight`: Yeelight Sunflower Bulb
|
||||
|
||||
<p class='note'>
|
||||
Home Assistant must be on the same network as the devices for uPnP discovery to work.
|
||||
If running Home Assistant in a Docker container use switch `--net=host` to put it on the host's network.
|
||||
If running Home Assistant in a [Docker container](/docs/installation/docker/) use switch `--net=host` to put it on the host's network.
|
||||
</p>
|
||||
|
||||
If you are developing a new platform, please read [how to make your platform discoverable]({{site_root}}/developers/add_new_platform/#discovery).
|
||||
|
||||
<p class='note warning'>
|
||||
There is currently a <a href='https://bitbucket.org/al45tair/netifaces/issues/17/dll-fails-to-load-windows-81-64bit'>known issue</a> with running this platform on a 64-bit version of Python and Windows.
|
||||
There is currently a <a href='https://bitbucket.org/al45tair/netifaces/issues/17/dll-fails-to-load-windows-81-64bit'>known issue</a> with running this component on a 64-bit version of Python and Windows.
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
If you are on Windows and you're using Python 3.5, download the Netifaces dependency <a href='http://www.lfd.uci.edu/~gohlke/pythonlibs/#netifaces'>here</a>.
|
||||
If you are on Windows and you're using Python 3.5, download the [Netifaces](http://www.lfd.uci.edu/~gohlke/pythonlibs/#netifaces) dependency.
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of home-assistant, discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.
|
||||
</p>
|
||||
|
||||
If you are developing a new platform, please read [how to make your platform discoverable](/developers/component_discovery/) for further details.
|
||||
|
@ -39,7 +39,7 @@ mysensors:
|
||||
optimistic: false
|
||||
persistence: true
|
||||
retain: true
|
||||
version: 2.0
|
||||
version: '2.0'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
@ -172,7 +172,23 @@ void receive(const MyMessage &message) {
|
||||
|
||||
### {% linkable_title Heartbeats %}
|
||||
|
||||
Sending a heartbeat from the MySensors device to Home Assistant activates the SmartSleep functionality in Home Assistant. This means that messages are buffered and only sent to the device upon receiving a heartbeat from the device. State changes are stored so that only the last requested state change is sent to the device. Other types of messages are queued in a FIFO queue. SmartSleep is useful for battery powered actuators that are waiting for commands. See the MySensors library API for information on how to send heartbeats and sleep device.
|
||||
Sending a heartbeat from the MySensors device to Home Assistant activates the SmartSleep functionality in Home Assistant. This means that messages are buffered and only sent to the device upon receiving a heartbeat from the device. State changes are stored so that only the last requested state change is sent to the device. Other types of messages are queued in a FIFO queue. SmartSleep is useful for battery powered actuators that are waiting for commands. See the MySensors library API for information on how to send heartbeats and sleep device.
|
||||
|
||||
### {% linkable_title Message validation %}
|
||||
|
||||
Messages sent to or from Home Assistant from or to a MySensors device will be validated according to the MySensors [serial API](https://www.mysensors.org/download/serial_api_20). If a message doesn't pass validation, it will be dropped and not be passed forward either to or from home assistant. Make sure you follow the serial API for your version of MySensors when writing your Arduino sketch.
|
||||
|
||||
If you experience dropped messages or that a device is not added to Home Assistant, please turn on debug logging for the `mysensors` component and the `mysensors` package.
|
||||
```yaml
|
||||
logger:
|
||||
default: info
|
||||
logs:
|
||||
homeassistant.components.mysensors: debug
|
||||
mysensors: debug
|
||||
```
|
||||
The log should inform you of messages that failed validation or if a child value is missing that is required for a certain child type. Note that the log will log all possible combinations of platforms for a child type that failed validation. It is normal to see some platforms fail validation if the child type supports multiple platforms and your sketch doesn't send all corresponding value types. Eg. the S_BARO child type supports both V_PRESSURE and V_FORECAST value types. If you only send a V_PRESSURE value, an S_BARO entity with V_PRESSURE value will be set up for the sensor platform. But the log will inform of a sensor platform that failed validation due to missing V_FORECAST value type for the S_BARO child. Home Assistant will log failed validations of child values at warning level if one required value type for a platform has been received, but other required value types are missing. Most failed validations are logged at debug level.
|
||||
|
||||
Message validation was introduced in version 0.52 of Home Assistant.
|
||||
|
||||
|
||||
Visit the [library api][MySensors library api] of MySensors for more information.
|
||||
|
@ -10,81 +10,30 @@ footer: true
|
||||
logo: xiaomi.png
|
||||
ha_category: Vacuum
|
||||
ha_release: 0.51
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `xiaomi` vacuum platform allows you to control the state of your [Xiaomi Mi Robot Vacuum](http://www.mi.com/roomrobot/).
|
||||
|
||||
Current supported features are `turn_on`, `pause`, `stop`, `return_to_home`, `turn_off` (stops goes to dock), `locate`, `clean_spot`, `set_fanspeed` and even remote control your robot.
|
||||
|
||||
## {% linkable_title Getting started %}
|
||||
Please follow the instructions on [Retrieving the Access Token](/xiaomi/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file.
|
||||
|
||||
Follow the pairing process using your phone and Mi-Home app. From here you will be able to retrieve the token from a SQLite file inside your phone.
|
||||
|
||||
Before you begin you need to install `libffi-dev` by running the command below. This is needed for `python-mirobi` to be installed correctly.
|
||||
|
||||
```bash
|
||||
apt-get install libffi-dev
|
||||
```
|
||||
|
||||
<p class='note warning'>
|
||||
If your Home Assistant installation is running in a [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant), make sure you activate it by running the commands below.</p>
|
||||
|
||||
```bash
|
||||
$ sudo su -s /bin/bash homeassistant
|
||||
$ source /srv/homeassistant/bin/activate
|
||||
```
|
||||
|
||||
To fetch the token follow these instructions depending on your mobile phone platform.
|
||||
|
||||
### Windows and Android
|
||||
1. Configure the robot with the Mi-Home app.
|
||||
2. Enable developer mode and USB debugging on the Android phone and plug it into the computer.
|
||||
3. Get ADB tool for Windows: https://developer.android.com/studio/releases/platform-tools.html
|
||||
4. Create a backup of the application com.xiaomi.smarthome:
|
||||
```bash
|
||||
.\adb backup -noapk com.xiaomi.smarthome -f backup.ab
|
||||
```
|
||||
5. If you have this message: "More than one device or emulator", use this command to list all devices:
|
||||
```bash
|
||||
.\adb devices
|
||||
```
|
||||
and execute this command:
|
||||
```bash
|
||||
.\adb -s DEVICEID backup -noapk com.xiaomi.smarthome -f backup.ab # (with DEVICEID the device id from the previous command)
|
||||
```
|
||||
6. On the phone, you must confirm the backup. DO NOT enter any password and press button to make the backup.
|
||||
7. Get ADB Backup Extractor: https://sourceforge.net/projects/adbextractor/
|
||||
8. Extract All files from the backup:
|
||||
```bash
|
||||
java.exe -jar ../android-backup-extractor/abe.jar unpack backup.ab backup.tar ""
|
||||
```
|
||||
9. Unzip the ".tar" file.
|
||||
10. Open the SQLite DB miio2.db with a tool like SQLite Manager extension for FireFox.
|
||||
11. Get the token from "devicerecord" table.
|
||||
|
||||
|
||||
### macOS and iOS
|
||||
1. Setup iOS device with the Mi-Home app.
|
||||
2. Create an unencrypted backup of the device using iTunes.
|
||||
3. Install iBackup Viewer from here: http://www.imactools.com/iphonebackupviewer/
|
||||
4. Extract this file: **`/raw data/com.xiami.mihome/1234567_mihome.sqlite`** to your computer, where _1234567_ is any string of numbers.
|
||||
5. Open the sqlite DB with a tool like SQLite Manager extension for FireFox, DB Browser, etc. You will then see the list of all the devices in your account with their token. The token you need is in the column **`ZToken`** and looks like **`123a1234567b12345c1d123456789e12`**.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
To add a vacuum to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
vacuum:
|
||||
- platform: xiaomi
|
||||
name: 'name of the robot'
|
||||
host: 192.168.1.2
|
||||
token: your-token-here
|
||||
- platform: xiaomi
|
||||
host: 192.168.1.2
|
||||
token: YOUR_TOKEN
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
- **name** (*Optional*): The name of your robot
|
||||
- **host** (*Required*): The IP of your robot
|
||||
- **token** (*Required*): The token of your robot. Go to Getting started section to read more about how to get it
|
||||
|
||||
- **host** (*Required*): The IP of your robot.
|
||||
- **token** (*Required*): The API token of your robot.
|
||||
- **name** (*Optional*): The name of your robot.
|
||||
|
||||
### {% linkable_title Platform services %}
|
||||
|
||||
|
@ -34,7 +34,6 @@ The `xiaomi` platform allows you to integrate the following [Xiaomi](http://www.
|
||||
- Intelligent Curtain
|
||||
- Battery
|
||||
|
||||
|
||||
What's not available?
|
||||
|
||||
- Gateway Radio
|
||||
@ -45,12 +44,13 @@ What's not available?
|
||||
- Decoupled mode of the Aqara Wall Switches (Single & Double)
|
||||
- Additional alarm events of the Gas and Smoke Detector: Analog alarm, battery fault alarm (smoke detector only), sensitivity fault alarm, I2C communication failure
|
||||
|
||||
Follow the setup process using your phone and Mi-Home app. From here you will be able to retrieve the key from within the app following [this tutorial](https://community.home-assistant.io/t/beta-xiaomi-gateway-integration/8213/1832)
|
||||
|
||||
Follow the setup process using your phone and Mi Home app. From here you will be able to retrieve the key from within the app following [this tutorial](https://community.home-assistant.io/t/beta-xiaomi-gateway-integration/8213/1832)
|
||||
Please check the instructions in this [section](/xiaomi/#retrieving-the-access-token) to get the API token to use with your platforms.
|
||||
|
||||
To enable Xioami gateway in your installation, add the following to your `configuration.yaml` file:
|
||||
To enable Xiaomi gateway in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
One Gateway
|
||||
### {% linkable_title One Gateway %}
|
||||
|
||||
```yaml
|
||||
# You can leave mac empty if you only have one gateway.
|
||||
@ -60,8 +60,7 @@ xiaomi:
|
||||
key: xxxxxxxxxxxxxxxx
|
||||
```
|
||||
|
||||
|
||||
Multiple Gateways
|
||||
### {% linkable_title Multiple Gateways %}
|
||||
|
||||
```yaml
|
||||
# 12 characters mac can be obtained from the gateway.
|
||||
@ -73,12 +72,10 @@ xiaomi:
|
||||
key: xxxxxxxxxxxxxxxx
|
||||
```
|
||||
|
||||
|
||||
|
||||
Search for gateways on specific interface
|
||||
### {% linkable_title Search for gateways on specific interface %}
|
||||
|
||||
```yaml
|
||||
# 12 characters mac can be obtained from the gateway.
|
||||
# 12 characters MAC can be obtained from the gateway.
|
||||
xiaomi:
|
||||
interface: '192.168.0.1'
|
||||
gateways:
|
||||
@ -86,11 +83,10 @@ xiaomi:
|
||||
key: xxxxxxxxxxxxxxxx
|
||||
```
|
||||
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **mac** (*Optional*): The MAC of your gateway. Required if you have more than one.
|
||||
- **key** (*Optional*): The key of your gateway. Required if you also want to control lights and switches; sensors and binary sensors will still work.
|
||||
- **key** (*Optional*): The key of your gateway. Required if you also want to control lights and switches. Sensors and binary sensors will still work.
|
||||
- **discovery_retry** (*Optional*): Amount of times Home Assitant should try to reconnect to the Xiaomi Gateway. Default is 3.
|
||||
- **interface** (*Optional*): Which network interface to use. Defaults to any.
|
||||
|
||||
@ -101,7 +97,7 @@ The gateway provides two services: `xiaomi.play_ringtone` and `xiaomi.stop_ringt
|
||||
- alarm ringtones [0-8]
|
||||
- doorbell ring [10-13]
|
||||
- alarm clock [20-29]
|
||||
- custom ringtones (uploaded by mi home app) starting from 10001
|
||||
- custom ringtones (uploaded by the Mi Home app) starting from 10001
|
||||
|
||||
Automation example
|
||||
|
||||
@ -133,19 +129,83 @@ Automation example
|
||||
gw_mac: xxxxxxxxxxxx
|
||||
```
|
||||
|
||||
|
||||
### {% linkable_title Troubleshooting %}
|
||||
### {% linkable_title Troubleshooting %}
|
||||
|
||||
**Connection problem**
|
||||
|
||||
```
|
||||
```bash
|
||||
2017-08-20 16:51:19 ERROR (SyncWorker_0) [homeassistant.components.xiaomi] No gateway discovered
|
||||
2017-08-20 16:51:20 ERROR (MainThread) [homeassistant.setup] Setup failed for xiaomi: Component failed to initialize.
|
||||
```
|
||||
|
||||
That means that Home Assistant is not getting any response from your Xiaomi gateway. Might be a local network problem or your firewall.
|
||||
- Make sure you have enabled LAN access: https://community.home-assistant.io/t/beta-xiaomi-gateway-integration/8213/1832
|
||||
- Turn off the firewall on the HA computer
|
||||
- Try to leave the mac address blank.
|
||||
- Turn off the firewall on the system where Home Assistant is running
|
||||
- Try to leave the MAC address `mac:` blank.
|
||||
- Try to set `discovery_retry: 10`
|
||||
- Try to disable and then enable LAN access
|
||||
|
||||
### {% linkable_title Retrieving the Access Token %}
|
||||
|
||||
Follow the pairing process using your phone and Mi-Home app. You will be able to retrieve the token from a SQLite file inside your phone. This token is needed for using various `xiaomi_*` platforms.
|
||||
|
||||
Before you begin you need to install `libffi-dev` by running the command below. This is needed for `python-mirobi` to be installed correctly.
|
||||
|
||||
```bash
|
||||
$ sudo apt-get install libffi-dev
|
||||
```
|
||||
|
||||
If your Home Assistant installation is running in a [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant), make sure you activate it by running the commands below.
|
||||
|
||||
```bash
|
||||
$ sudo su -s /bin/bash homeassistant
|
||||
$ source /srv/homeassistant/bin/activate
|
||||
```
|
||||
|
||||
To fetch the token follow these instructions depending on your mobile phone platform.
|
||||
|
||||
#### {% linkable_title Windows and Android %}
|
||||
|
||||
1. Configure the robot with the Mi-Home app.
|
||||
2. Enable developer mode and USB debugging on the Android phone and plug it into the computer.
|
||||
3. Get and install the [ADB tool for Windows](https://developer.android.com/studio/releases/platform-tools.html).
|
||||
4. Create a backup of the application `com.xiaomi.smarthome`:
|
||||
```bash
|
||||
$ adb backup -noapk com.xiaomi.smarthome -f backup.ab
|
||||
```
|
||||
5. If you have this message: "More than one device or emulator", use this command to list all devices:
|
||||
```bash
|
||||
$ adb devices
|
||||
```
|
||||
and execute this command:
|
||||
```bash
|
||||
$ adb -s DEVICEID backup -noapk com.xiaomi.smarthome -f backup.ab # (with DEVICEID the device id from the previous command)
|
||||
```
|
||||
6. On the phone, you must confirm the backup. DO NOT enter any password and press button to make the backup.
|
||||
7. Get and install [ADB Backup Extractor](https://sourceforge.net/projects/adbextractor/).
|
||||
8. Extract All files from the backup:
|
||||
```bash
|
||||
$ java.exe -jar ../android-backup-extractor/abe.jar unpack backup.ab backup.tar ""
|
||||
```
|
||||
9. Unzip the ".tar" file.
|
||||
10. Open the SQLite database `miio2.db` with a tool like SQLite Manager extension for FireFox.
|
||||
11. Get the token from "devicerecord" table.
|
||||
|
||||
#### {% linkable_title Linux and Android (rooted!) %}
|
||||
|
||||
1. Configure the light with the Mi-Home app.
|
||||
2. Enable developer mode, USB debugging and root permission only for ADB on the Android phone and plug it into the computer.
|
||||
3. Get ADB f.e. `apt-get install android-tools-adb`
|
||||
4. `adb devices` should list your device
|
||||
5. `adb root` (does work for development builds only: ones with `ro.debuggable=1`)
|
||||
6. `adb shell`
|
||||
7. `echo "select name,localIP,token from devicerecord;" | sqlite3 /data/data/com.xiaomi.smarthome/databases/miio2.db` returns a list of all registered devices including IP address and token.
|
||||
|
||||
#### {% linkable_title macOS and iOS %}
|
||||
|
||||
1. Setup iOS device with the Mi-Home app.
|
||||
2. Create an unencrypted backup of the device using iTunes.
|
||||
3. Install [iBackup Viewer](http://www.imactools.com/iphonebackupviewer/).
|
||||
4. Extract this file: **`/raw data/com.xiami.mihome/1234567_mihome.sqlite`** to your computer, where `_1234567_` is any string of numbers.
|
||||
5. Open the SQLite database with a tool like SQLite Manager extension for FireFox or DB Browser. You will then see the list of all the devices in your account with their token. The token you need is in the column **`ZToken`** and looks like **`123a1234567b12345c1d123456789e12`**.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Automation Editor"
|
||||
description: "Instructions on how to use the new automation editor."
|
||||
description: "Instructions on how to use the automation editor."
|
||||
date: 2016-04-24 08:30 +0100
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -9,11 +9,9 @@ sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
In Home Assistant 0.45 we have introduced the first version of our automation editor. The editor is still in a very early stage and rough around the edges. For now we are only supporting Chrome but better browser support is planned for the future.
|
||||
In Home Assistant 0.45 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy.
|
||||
|
||||
If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy.
|
||||
|
||||
From the UI choose **Automation** which is located in the sidebar. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/components/sensor.random/).
|
||||
From the UI choose **Configuration** which is located in the sidebar, then click on **Automation** to go to the automation editor. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/components/sensor.random/).
|
||||
|
||||
Choose a meaningful name for your automation rules.
|
||||
|
||||
|
@ -77,7 +77,7 @@ delay: {% raw %}'00:{{ states.input_slider.minute_delay.state | int }}:00'{% end
|
||||
```
|
||||
### {% linkable_title Wait %}
|
||||
|
||||
Wait until some things are complete. We support at the moment `wait_template` for waiting until a condition is `true`, see also on [Template-Trigger](/getting-started/automation-trigger/#template-trigger). The Timeout has same syntax as `delay`. If you set a Timeout for 1 minute and the condition is not satified within that minute, the script will continue.
|
||||
Wait until some things are complete. We support at the moment `wait_template` for waiting until a condition is `true`, see also on [Template-Trigger](/docs/automation/trigger/#template-trigger). The Timeout has same syntax as `delay`. If you set a Timeout for 1 minute and the condition is not satified within that minute, the script will continue.
|
||||
|
||||
```yaml
|
||||
# wait until media player have stop the playing
|
||||
|
28
source/_docs/scripts/editor.markdown
Normal file
28
source/_docs/scripts/editor.markdown
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Script Editor"
|
||||
description: "Instructions on how to use the new script editor."
|
||||
date: 2016-08-26 03:30 +0000
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
redirect_from: /docs/script/editor/
|
||||
---
|
||||
|
||||
In Home Assistant 0.52 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe src="https://www.youtube.com/embed/_Rntpcj1CGA" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
## {% linkable_title Updating your configuration to use the editor %}
|
||||
|
||||
The script editor reads and writes to the file `scripts.yaml` in your [configuration](/docs/configuration/) folder. Make sure that you have set up the script component to read from it:
|
||||
|
||||
```yaml
|
||||
# Configuration.yaml example
|
||||
script: !include scripts.yaml
|
||||
```
|
||||
|
||||
The conten that was under `script:` should now be moved to `scripts.yaml` to be editable.
|
@ -78,6 +78,7 @@
|
||||
<ul>
|
||||
<li>{% active_link /docs/scripts/service-calls/ Service Calls %}</li>
|
||||
<li>{% active_link /docs/scripts/conditions/ Conditions %}</li>
|
||||
<li>{% active_link /docs/scripts/editor/ Editor %}</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
376
source/_posts/2017-08-26-release-0-52.markdown
Normal file
376
source/_posts/2017-08-26-release-0-52.markdown
Normal file
@ -0,0 +1,376 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.52: Scripts editor, Nello.io locks, HipChat and Abode Home Security"
|
||||
description: "The summer is not holding development back at all. A brand new release including bug fixes and goodies."
|
||||
date: 2017-08-26 00:11:05
|
||||
date_formatted: "August 26, 2017"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2017-08-0.52/components.png
|
||||
---
|
||||
|
||||
<a href='/components/#version/0.52'><img src='/images/blog/2017-08-0.52/components.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
Although the summer is in full progress, the development hasn't stalled. This release brings bug fixes, clean ups and another 8 new integrations. On top of that we are also introducing a new [script editor](/docs/scripts/editor/)!
|
||||
|
||||
To use the scripts editor, create a new file in your config directory named `scripts.yaml` and copy your existing scripts over:
|
||||
|
||||
```yaml
|
||||
# scripts.yaml
|
||||
turn_on_some_lights:
|
||||
alias: Turn on the lights
|
||||
sequence:
|
||||
- data: {}
|
||||
service: light.turn_on
|
||||
```
|
||||
|
||||
Than update your `configuration.yaml` to look like this:
|
||||
|
||||
```yaml
|
||||
# Configuration.yaml example
|
||||
script: !include scripts.yaml
|
||||
```
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe src="https://www.youtube.com/embed/_Rntpcj1CGA" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
## New Platforms
|
||||
|
||||
- Add version sensor ([@fabaff] - [#8912]) ([sensor.version docs]) (new-platform)
|
||||
- Nello.io lock support ([@pschmitt] - [#8957]) ([lock.nello docs]) (new-platform)
|
||||
- Add HipChat notify service. ([@BioSehnsucht] - [#8918]) ([notify.hipchat docs]) (new-platform)
|
||||
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
|
||||
- Adds London_air component ([@robmarkcole] - [#9020]) ([sensor.london_air docs]) (new-platform)
|
||||
- Add Abode home security component ([@arsaboo] - [#9030]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) (new-platform)
|
||||
- Add support for Prowl notifications. ([@mbrrg] - [#9028]) ([notify.prowl docs]) (new-platform)
|
||||
- Add worldtidesinfo sensor component ([@aetolus] - [#8860]) ([sensor.worldtidesinfo docs]) (new-platform)
|
||||
|
||||
## {% linkable_title If you need help... %}
|
||||
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][discord]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
||||
## {% linkable_title Reporting Issues %}
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
|
||||
|
||||
<!--more-->
|
||||
## Breaking Changes
|
||||
|
||||
- Remove spaces from Xiami switch attributes ([@syssi] - [#8952]) ([switch.xiaomi docs]) (breaking change)
|
||||
- MQTT Switch: command and availability payload are now no longer linked. Command and availability payload default to ON/OFF and must be configured individually if custom values are required. ([@timstanley1985] - [#8934]) ([switch.mqtt docs]) (breaking change)
|
||||
|
||||
```yaml
|
||||
- platform: mqtt
|
||||
name: "Kitchen"
|
||||
state_topic: "stat/sonoff_1/POWER"
|
||||
command_topic: "cmnd/sonoff_1/POWER"
|
||||
availability_topic: "tele/sonoff_1/LWT"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: true
|
||||
```
|
||||
|
||||
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
|
||||
|
||||
```yaml
|
||||
usps:
|
||||
username: user
|
||||
password: pass
|
||||
name: optional
|
||||
```
|
||||
|
||||
- eliqonline: The optional channel_id configuration variable of the Eliqonline sensor needs to be a positive integer. ([@molobrakos] - [#9072]) ([sensor.eliqonline docs]) (breaking change)
|
||||
- MySensors: Not a breaking change per se but users that have not been following the mysensors [serial API](https://www.mysensors.org/download/serial_api_20) could face dropped messages after this change. Messages are now validated according to the API before being passed along from/to devices. See [0.11 release notes](https://github.com/theolind/pymysensors/releases/tag/0.11) for more info. ([@MartinHjelmare] - [#9069]) ([mysensors docs]) ([binary_sensor.mysensors docs]) ([climate.mysensors docs]) ([cover.mysensors docs]) ([device_tracker.mysensors docs]) ([light.mysensors docs]) ([notify.mysensors docs]) ([sensor.mysensors docs]) ([switch.mysensors docs]) (breaking change)
|
||||
- Automatic has disabled password authentication on their API. Home Assistant will now use OAuth2 to authenticate accounts. The following steps must be taken to transition your setup:
|
||||
1) Log in to your Automatic developer account. In the Automatic Developer Apps Manager, specify the OAuth Redirect URL in the developer page. This should be configured to `<home-assistant-url>/api/automatic/callback`. (Example: `http://hassio.local:8123/api/automatic/callback`) Note that this URL only needs to be accessible from the browser you use to perform the authentication.
|
||||
2) Remove username/password from your automatic device tracker configuration in configuration.yaml.
|
||||
3) If you have authorized your account for `scope:current_location`, add `current_location: true` to your automatic device tracker configuration in configuration.yaml.
|
||||
4) When you restart home assistant, click on the Automatic Configure link in the Configurator card, and follow the instructions to authorize Home Assistant.<br><br>NOTE: Automatic's API is currently not correctly authorizing with refresh tokens, so Step 4 currently needs to be performed after every restart. ([@armills] - [#8962] [#9002]) ([configurator docs]) ([device_tracker.automatic docs]) (breaking change)
|
||||
|
||||
## All changes
|
||||
|
||||
- Add version sensor ([@fabaff] - [#8912]) ([sensor.version docs]) (new-platform)
|
||||
- Fix hue lights for Philips and non-philips lights ([@groth-its] - [#8905]) ([light.hue docs])
|
||||
- Fixed cert_expiry sensor to delay firing on HA startup ([@arsaboo] - [#8920]) ([sensor.cert_expiry docs])
|
||||
- Remove spaces from Xiami switch attributes ([@syssi] - [#8952]) ([switch.xiaomi docs]) (breaking change)
|
||||
- Add service to alarm control panel for night mode arming ([@schmittx] - [#8614]) ([alarm_control_panel docs]) ([alarm_control_panel.totalconnect docs])
|
||||
- Add support for Automatic OAuth2 authentication ([@armills] - [#8962]) ([configurator docs]) ([device_tracker.automatic docs]) (breaking change)
|
||||
- Nello.io lock support ([@pschmitt] - [#8957]) ([lock.nello docs]) (new-platform)
|
||||
- Added continue-on-errors, added value template ([@iamjackg] - [#8971]) ([sensor.snmp docs])
|
||||
- Is_allowed_path raise for None path ([@danielhiversen] - [#8953])
|
||||
- Fix #8960 - Decora Wi-Fi Switch unable to set brightness ([@tlyakhov] - [#8989]) ([light.decora_wifi docs])
|
||||
- Adds port/SSL config options for RainMachine ([@bachya] - [#8986]) ([switch.rainmachine docs])
|
||||
- Automatic device tracker remove password ([@armills] - [#9002]) ([device_tracker.automatic docs]) (breaking change)
|
||||
- Add scripts editor backend ([@balloob] - [#8993]) ([config docs]) ([script docs]) (new-platform)
|
||||
- MQTT Switch - Add configurable availability payload ([@timstanley1985] - [#8934]) ([switch.mqtt docs]) (breaking change)
|
||||
- Buienradar newconditions ([@mjj4791] - [#8897]) ([sensor.buienradar docs]) ([weather.buienradar docs])
|
||||
- Pushbullet, fix multiple messages sent when url param is set ([@karlkar] - [#9006]) ([notify.pushbullet docs])
|
||||
- Update to pyenvisalink 2.2, and remove range validation on zonedump i… ([@Cinntax] - [#8981]) ([envisalink docs])
|
||||
- Fix #9010 - Swiss Public Transportation shows departure time in the past ([@michaelhertig] - [#9011]) ([sensor.swiss_public_transport docs])
|
||||
- Add HipChat notify service. ([@BioSehnsucht] - [#8918]) ([notify.hipchat docs]) (new-platform)
|
||||
- Update onkyo-eiscp to 1.2.3 ([@danieljkemp] - [#9019]) ([media_player.onkyo docs])
|
||||
- Check if album image(s) exist in spotify ([@Tommatheussen] - [#9024]) ([media_player.spotify docs])
|
||||
- Update ffmpeg to 1.7 to fix severals problems ([@pvizeli] - [#9029])
|
||||
- Add state_with_unit property to state objects in templates ([@balloob] - [#9014])
|
||||
- Fix Geizhals index issue when not 4 prices available ([@celeroll] - [#9035]) ([sensor.geizhals docs])
|
||||
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
|
||||
- Set password after connecting. Fixes #8983 ([@StevenLooman] - [#9039]) ([media_player.mpd docs])
|
||||
- Update iOS sensor (battery icon fix and format updates) ([@schmittx] - [#9032])
|
||||
- Adds London_air component ([@robmarkcole] - [#9020]) ([sensor.london_air docs]) (new-platform)
|
||||
- Update pwmled to 1.2.1. ([@soldag] - [#9040]) ([light.rpi_gpio_pwm docs])
|
||||
- Configurable timeout for webostv. ([@soldag] - [#9042]) ([media_player.webostv docs])
|
||||
- Update ios.py ([@schmittx] - [#9041]) ([sensor.ios docs])
|
||||
- Support Windows in UPNP discovery ([@kabongsteve] - [#8936])
|
||||
- Upgrade python-pushover to 0.3 ([@fanaticDavid] - [#9045]) ([notify.pushover docs])
|
||||
- Add speeds to fan dropdown in ISY fan component ([@boojew] - [#9004]) ([fan.isy994 docs])
|
||||
- Update Fitbit sensor (icons, formatting, client update) ([@schmittx] - [#9031]) ([sensor.fitbit docs])
|
||||
- Add Abode home security component ([@arsaboo] - [#9030]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) (new-platform)
|
||||
- LIFX: avoid rare NoneType errors ([@amelchio] - [#9054]) ([light.lifx docs])
|
||||
- Bump dlib face_recognition to 0.2.2 ([@arsaboo] - [#9060]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs])
|
||||
- Update fitbit.py ([@schmittx] - [#9064]) ([sensor.fitbit docs])
|
||||
- Upgrade sendgrid to 5.0.0 ([@fabaff] - [#9062]) ([notify.sendgrid docs])
|
||||
- Upgrade slacker to 0.9.60 ([@fabaff] - [#9065]) ([notify.slack docs])
|
||||
- Add support for Prowl notifications. ([@mbrrg] - [#9028]) ([notify.prowl docs]) (new-platform)
|
||||
- Upgrade onkyo-eiscp to 1.2.4 (fixes #8995) ([@fabaff] - [#9068]) ([media_player.onkyo docs])
|
||||
- Workday sensor offset ([@LaStrada] - [#8824]) ([binary_sensor.workday docs])
|
||||
- eliqonline: channel id is an integer ([@molobrakos] - [#9072]) ([sensor.eliqonline docs]) (breaking change)
|
||||
- Use builtin constants for Abode alarm_control_panel ([@arsaboo] - [#9059]) ([alarm_control_panel.abode docs])
|
||||
- bump python-ecobee-api version to 0.0.8 ([@nkgilley] - [#9074]) ([ecobee docs])
|
||||
- Bump abodepy to 0.7.1 ([@arsaboo] - [#9077]) ([abode docs])
|
||||
- async_query returns False if connection to server failed, handle this properly ([@molobrakos] - [#9070]) ([media_player.squeezebox docs])
|
||||
- Added insteonplm device_override multiple capabilities ([@teharris1] - [#9078]) ([insteon_plm docs])
|
||||
- Upgrade uber_rides to 0.5.1 ([@fabaff] - [#9080]) ([sensor.uber docs])
|
||||
- Upgrade discord.py to 0.16.10 ([@fabaff] - [#9082]) ([notify.discord docs])
|
||||
- Fix `device` attribute in fritz_callmonitor.py (fixes #9055) ([@870074+max-te] - [#9081]) ([sensor.fritzbox_callmonitor docs])
|
||||
- Upgrade youtube_dl to 2017.8.18 ([@fabaff] - [#9079]) ([media_extractor docs])
|
||||
- Remove dash ([@fabaff] - [#9089])
|
||||
- Upgrade credstash to 1.13.3 ([@fabaff] - [#9088])
|
||||
- 9043 Fixed error while running dev docker ([@MungoRae] - [#9044])
|
||||
- Don't redefine consts ([@fabaff] - [#9086]) ([notify.hipchat docs])
|
||||
- Fix octoprint errors when printer is off/disconnected ([@w1ll1am23] - [#8988]) ([octoprint docs]) ([sensor.octoprint docs])
|
||||
- Pilight switch: restore last state after restart ([@janLo] - [#8580]) ([switch.pilight docs])
|
||||
- Fix netdata system_load and add disk_free. ([@michaelarnauts] - [#9091]) ([sensor.netdata docs])
|
||||
- Add worldtidesinfo sensor component ([@aetolus] - [#8860]) ([sensor.worldtidesinfo docs]) (new-platform)
|
||||
- Support changing the bulb color for tplink smartbulbs, fixes #8766 ([@rytilahti] - [#8780]) ([light.tplink docs])
|
||||
- bump snapcast version ([@happyleavesaoc] - [#9100]) ([media_player.snapcast docs])
|
||||
- bump fedex version ([@happyleavesaoc] - [#9099]) ([sensor.fedex docs])
|
||||
- Yeelight fix updates on hsv mode ([@rytilahti] - [#9093]) ([light.yeelight docs])
|
||||
- Catch exceptions ([@fabaff] - [#9085]) ([notify.discord docs])
|
||||
- Fix issue 8894 with uk_transport component if no next_buses or next_trains ([@robmarkcole] - [#9046]) ([sensor.uk_transport docs])
|
||||
- upgrade Xiaomi Gateway lib to 0.3 ([@danielhiversen] - [#9101]) ([xiaomi docs])
|
||||
- pythonegardia package requirement to .18 ([@jeroenterheerdt] - [#9104]) ([alarm_control_panel.egardia docs])
|
||||
- Simplisafe unknown status fix ([@lekobob] - [#9111]) ([alarm_control_panel.simplisafe docs])
|
||||
- Update flux_led.py ([@danielhiversen] - [#9122]) ([light.flux_led docs])
|
||||
- Xiaomi ([@danielhiversen] - [#9126]) ([xiaomi docs])
|
||||
- refactor pushbullet ([@danielhiversen] - [#9125]) ([notify.pushbullet docs])
|
||||
- optimistic mode for template covers (w/o timed movement) ([@PhracturedBlue] - [#8402]) ([cover.template docs])
|
||||
- Use const ([@fabaff] - [#9127]) ([prometheus docs])
|
||||
- Refactor mysensors callback and add validation ([@MartinHjelmare] - [#9069]) ([mysensors docs]) ([binary_sensor.mysensors docs]) ([climate.mysensors docs]) ([cover.mysensors docs]) ([device_tracker.mysensors docs]) ([light.mysensors docs]) ([notify.mysensors docs]) ([sensor.mysensors docs]) ([switch.mysensors docs]) (breaking change)
|
||||
|
||||
[#8402]: https://github.com/home-assistant/home-assistant/pull/8402
|
||||
[#8580]: https://github.com/home-assistant/home-assistant/pull/8580
|
||||
[#8614]: https://github.com/home-assistant/home-assistant/pull/8614
|
||||
[#8679]: https://github.com/home-assistant/home-assistant/pull/8679
|
||||
[#8780]: https://github.com/home-assistant/home-assistant/pull/8780
|
||||
[#8824]: https://github.com/home-assistant/home-assistant/pull/8824
|
||||
[#8860]: https://github.com/home-assistant/home-assistant/pull/8860
|
||||
[#8897]: https://github.com/home-assistant/home-assistant/pull/8897
|
||||
[#8905]: https://github.com/home-assistant/home-assistant/pull/8905
|
||||
[#8912]: https://github.com/home-assistant/home-assistant/pull/8912
|
||||
[#8918]: https://github.com/home-assistant/home-assistant/pull/8918
|
||||
[#8920]: https://github.com/home-assistant/home-assistant/pull/8920
|
||||
[#8934]: https://github.com/home-assistant/home-assistant/pull/8934
|
||||
[#8936]: https://github.com/home-assistant/home-assistant/pull/8936
|
||||
[#8952]: https://github.com/home-assistant/home-assistant/pull/8952
|
||||
[#8953]: https://github.com/home-assistant/home-assistant/pull/8953
|
||||
[#8957]: https://github.com/home-assistant/home-assistant/pull/8957
|
||||
[#8962]: https://github.com/home-assistant/home-assistant/pull/8962
|
||||
[#8971]: https://github.com/home-assistant/home-assistant/pull/8971
|
||||
[#8981]: https://github.com/home-assistant/home-assistant/pull/8981
|
||||
[#8986]: https://github.com/home-assistant/home-assistant/pull/8986
|
||||
[#8988]: https://github.com/home-assistant/home-assistant/pull/8988
|
||||
[#8989]: https://github.com/home-assistant/home-assistant/pull/8989
|
||||
[#8993]: https://github.com/home-assistant/home-assistant/pull/8993
|
||||
[#9002]: https://github.com/home-assistant/home-assistant/pull/9002
|
||||
[#9004]: https://github.com/home-assistant/home-assistant/pull/9004
|
||||
[#9006]: https://github.com/home-assistant/home-assistant/pull/9006
|
||||
[#9011]: https://github.com/home-assistant/home-assistant/pull/9011
|
||||
[#9014]: https://github.com/home-assistant/home-assistant/pull/9014
|
||||
[#9019]: https://github.com/home-assistant/home-assistant/pull/9019
|
||||
[#9020]: https://github.com/home-assistant/home-assistant/pull/9020
|
||||
[#9024]: https://github.com/home-assistant/home-assistant/pull/9024
|
||||
[#9028]: https://github.com/home-assistant/home-assistant/pull/9028
|
||||
[#9029]: https://github.com/home-assistant/home-assistant/pull/9029
|
||||
[#9030]: https://github.com/home-assistant/home-assistant/pull/9030
|
||||
[#9031]: https://github.com/home-assistant/home-assistant/pull/9031
|
||||
[#9032]: https://github.com/home-assistant/home-assistant/pull/9032
|
||||
[#9035]: https://github.com/home-assistant/home-assistant/pull/9035
|
||||
[#9039]: https://github.com/home-assistant/home-assistant/pull/9039
|
||||
[#9040]: https://github.com/home-assistant/home-assistant/pull/9040
|
||||
[#9041]: https://github.com/home-assistant/home-assistant/pull/9041
|
||||
[#9042]: https://github.com/home-assistant/home-assistant/pull/9042
|
||||
[#9044]: https://github.com/home-assistant/home-assistant/pull/9044
|
||||
[#9045]: https://github.com/home-assistant/home-assistant/pull/9045
|
||||
[#9046]: https://github.com/home-assistant/home-assistant/pull/9046
|
||||
[#9054]: https://github.com/home-assistant/home-assistant/pull/9054
|
||||
[#9059]: https://github.com/home-assistant/home-assistant/pull/9059
|
||||
[#9060]: https://github.com/home-assistant/home-assistant/pull/9060
|
||||
[#9062]: https://github.com/home-assistant/home-assistant/pull/9062
|
||||
[#9064]: https://github.com/home-assistant/home-assistant/pull/9064
|
||||
[#9065]: https://github.com/home-assistant/home-assistant/pull/9065
|
||||
[#9068]: https://github.com/home-assistant/home-assistant/pull/9068
|
||||
[#9069]: https://github.com/home-assistant/home-assistant/pull/9069
|
||||
[#9070]: https://github.com/home-assistant/home-assistant/pull/9070
|
||||
[#9072]: https://github.com/home-assistant/home-assistant/pull/9072
|
||||
[#9074]: https://github.com/home-assistant/home-assistant/pull/9074
|
||||
[#9077]: https://github.com/home-assistant/home-assistant/pull/9077
|
||||
[#9078]: https://github.com/home-assistant/home-assistant/pull/9078
|
||||
[#9079]: https://github.com/home-assistant/home-assistant/pull/9079
|
||||
[#9080]: https://github.com/home-assistant/home-assistant/pull/9080
|
||||
[#9081]: https://github.com/home-assistant/home-assistant/pull/9081
|
||||
[#9082]: https://github.com/home-assistant/home-assistant/pull/9082
|
||||
[#9085]: https://github.com/home-assistant/home-assistant/pull/9085
|
||||
[#9086]: https://github.com/home-assistant/home-assistant/pull/9086
|
||||
[#9088]: https://github.com/home-assistant/home-assistant/pull/9088
|
||||
[#9089]: https://github.com/home-assistant/home-assistant/pull/9089
|
||||
[#9091]: https://github.com/home-assistant/home-assistant/pull/9091
|
||||
[#9093]: https://github.com/home-assistant/home-assistant/pull/9093
|
||||
[#9099]: https://github.com/home-assistant/home-assistant/pull/9099
|
||||
[#9100]: https://github.com/home-assistant/home-assistant/pull/9100
|
||||
[#9101]: https://github.com/home-assistant/home-assistant/pull/9101
|
||||
[#9104]: https://github.com/home-assistant/home-assistant/pull/9104
|
||||
[#9111]: https://github.com/home-assistant/home-assistant/pull/9111
|
||||
[#9122]: https://github.com/home-assistant/home-assistant/pull/9122
|
||||
[#9125]: https://github.com/home-assistant/home-assistant/pull/9125
|
||||
[#9126]: https://github.com/home-assistant/home-assistant/pull/9126
|
||||
[#9127]: https://github.com/home-assistant/home-assistant/pull/9127
|
||||
[@870074+max-te]: https://github.com/870074+max-te
|
||||
[@BioSehnsucht]: https://github.com/BioSehnsucht
|
||||
[@Cinntax]: https://github.com/Cinntax
|
||||
[@LaStrada]: https://github.com/LaStrada
|
||||
[@MartinHjelmare]: https://github.com/MartinHjelmare
|
||||
[@MungoRae]: https://github.com/MungoRae
|
||||
[@PhracturedBlue]: https://github.com/PhracturedBlue
|
||||
[@StevenLooman]: https://github.com/StevenLooman
|
||||
[@Tommatheussen]: https://github.com/Tommatheussen
|
||||
[@aetolus]: https://github.com/aetolus
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@armills]: https://github.com/armills
|
||||
[@arsaboo]: https://github.com/arsaboo
|
||||
[@bachya]: https://github.com/bachya
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@boojew]: https://github.com/boojew
|
||||
[@celeroll]: https://github.com/celeroll
|
||||
[@danielhiversen]: https://github.com/danielhiversen
|
||||
[@danieljkemp]: https://github.com/danieljkemp
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@fanaticDavid]: https://github.com/fanaticDavid
|
||||
[@groth-its]: https://github.com/groth-its
|
||||
[@happyleavesaoc]: https://github.com/happyleavesaoc
|
||||
[@iamjackg]: https://github.com/iamjackg
|
||||
[@janLo]: https://github.com/janLo
|
||||
[@jeroenterheerdt]: https://github.com/jeroenterheerdt
|
||||
[@kabongsteve]: https://github.com/kabongsteve
|
||||
[@karlkar]: https://github.com/karlkar
|
||||
[@lekobob]: https://github.com/lekobob
|
||||
[@mbrrg]: https://github.com/mbrrg
|
||||
[@mezz64]: https://github.com/mezz64
|
||||
[@michaelarnauts]: https://github.com/michaelarnauts
|
||||
[@michaelhertig]: https://github.com/michaelhertig
|
||||
[@mjj4791]: https://github.com/mjj4791
|
||||
[@molobrakos]: https://github.com/molobrakos
|
||||
[@nkgilley]: https://github.com/nkgilley
|
||||
[@pschmitt]: https://github.com/pschmitt
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@robmarkcole]: https://github.com/robmarkcole
|
||||
[@rytilahti]: https://github.com/rytilahti
|
||||
[@schmittx]: https://github.com/schmittx
|
||||
[@soldag]: https://github.com/soldag
|
||||
[@syssi]: https://github.com/syssi
|
||||
[@teharris1]: https://github.com/teharris1
|
||||
[@timstanley1985]: https://github.com/timstanley1985
|
||||
[@tlyakhov]: https://github.com/tlyakhov
|
||||
[@w1ll1am23]: https://github.com/w1ll1am23
|
||||
[abode docs]: https://home-assistant.io/components/abode/
|
||||
[alarm_control_panel docs]: https://home-assistant.io/components/alarm_control_panel/
|
||||
[alarm_control_panel.abode docs]: https://home-assistant.io/components/alarm_control_panel.abode/
|
||||
[alarm_control_panel.egardia docs]: https://home-assistant.io/components/alarm_control_panel.egardia/
|
||||
[alarm_control_panel.simplisafe docs]: https://home-assistant.io/components/alarm_control_panel.simplisafe/
|
||||
[alarm_control_panel.totalconnect docs]: https://home-assistant.io/components/alarm_control_panel.totalconnect/
|
||||
[binary_sensor.abode docs]: https://home-assistant.io/components/binary_sensor.abode/
|
||||
[binary_sensor.mysensors docs]: https://home-assistant.io/components/binary_sensor.mysensors/
|
||||
[binary_sensor.workday docs]: https://home-assistant.io/components/binary_sensor.workday/
|
||||
[camera.usps docs]: https://home-assistant.io/components/camera.usps/
|
||||
[climate.mysensors docs]: https://home-assistant.io/components/climate.mysensors/
|
||||
[config docs]: https://home-assistant.io/components/config/
|
||||
[configurator docs]: https://home-assistant.io/components/configurator/
|
||||
[cover.mysensors docs]: https://home-assistant.io/components/cover.mysensors/
|
||||
[cover.template docs]: https://home-assistant.io/components/cover.template/
|
||||
[device_tracker.automatic docs]: https://home-assistant.io/components/device_tracker.automatic/
|
||||
[device_tracker.mysensors docs]: https://home-assistant.io/components/device_tracker.mysensors/
|
||||
[ecobee docs]: https://home-assistant.io/components/ecobee/
|
||||
[emulated_hue.upnp docs]: https://home-assistant.io/components/emulated_hue.upnp/
|
||||
[envisalink docs]: https://home-assistant.io/components/envisalink/
|
||||
[fan.isy994 docs]: https://home-assistant.io/components/fan.isy994/
|
||||
[image_processing.dlib_face_detect docs]: https://home-assistant.io/components/image_processing.dlib_face_detect/
|
||||
[image_processing.dlib_face_identify docs]: https://home-assistant.io/components/image_processing.dlib_face_identify/
|
||||
[insteon_plm docs]: https://home-assistant.io/components/insteon_plm/
|
||||
[light.decora_wifi docs]: https://home-assistant.io/components/light.decora_wifi/
|
||||
[light.flux_led docs]: https://home-assistant.io/components/light.flux_led/
|
||||
[light.hue docs]: https://home-assistant.io/components/light.hue/
|
||||
[light.lifx docs]: https://home-assistant.io/components/light.lifx/
|
||||
[light.mysensors docs]: https://home-assistant.io/components/light.mysensors/
|
||||
[light.rpi_gpio_pwm docs]: https://home-assistant.io/components/light.rpi_gpio_pwm/
|
||||
[light.tplink docs]: https://home-assistant.io/components/light.tplink/
|
||||
[light.yeelight docs]: https://home-assistant.io/components/light.yeelight/
|
||||
[lock.nello docs]: https://home-assistant.io/components/lock.nello/
|
||||
[media_extractor docs]: https://home-assistant.io/components/media_extractor/
|
||||
[media_player.mpd docs]: https://home-assistant.io/components/media_player.mpd/
|
||||
[media_player.onkyo docs]: https://home-assistant.io/components/media_player.onkyo/
|
||||
[media_player.snapcast docs]: https://home-assistant.io/components/media_player.snapcast/
|
||||
[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/
|
||||
[media_player.squeezebox docs]: https://home-assistant.io/components/media_player.squeezebox/
|
||||
[media_player.webostv docs]: https://home-assistant.io/components/media_player.webostv/
|
||||
[mysensors docs]: https://home-assistant.io/components/mysensors/
|
||||
[notify.discord docs]: https://home-assistant.io/components/notify.discord/
|
||||
[notify.hipchat docs]: https://home-assistant.io/components/notify.hipchat/
|
||||
[notify.mysensors docs]: https://home-assistant.io/components/notify.mysensors/
|
||||
[notify.prowl docs]: https://home-assistant.io/components/notify.prowl/
|
||||
[notify.pushbullet docs]: https://home-assistant.io/components/notify.pushbullet/
|
||||
[notify.pushover docs]: https://home-assistant.io/components/notify.pushover/
|
||||
[notify.sendgrid docs]: https://home-assistant.io/components/notify.sendgrid/
|
||||
[notify.slack docs]: https://home-assistant.io/components/notify.slack/
|
||||
[octoprint docs]: https://home-assistant.io/components/octoprint/
|
||||
[prometheus docs]: https://home-assistant.io/components/prometheus/
|
||||
[script docs]: https://home-assistant.io/components/script/
|
||||
[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/
|
||||
[sensor.cert_expiry docs]: https://home-assistant.io/components/sensor.cert_expiry/
|
||||
[sensor.eliqonline docs]: https://home-assistant.io/components/sensor.eliqonline/
|
||||
[sensor.fedex docs]: https://home-assistant.io/components/sensor.fedex/
|
||||
[sensor.fitbit docs]: https://home-assistant.io/components/sensor.fitbit/
|
||||
[sensor.fritzbox_callmonitor docs]: https://home-assistant.io/components/sensor.fritzbox_callmonitor/
|
||||
[sensor.geizhals docs]: https://home-assistant.io/components/sensor.geizhals/
|
||||
[sensor.ios docs]: https://home-assistant.io/components/sensor.ios/
|
||||
[sensor.london_air docs]: https://home-assistant.io/components/sensor.london_air/
|
||||
[sensor.mysensors docs]: https://home-assistant.io/components/sensor.mysensors/
|
||||
[sensor.netdata docs]: https://home-assistant.io/components/sensor.netdata/
|
||||
[sensor.octoprint docs]: https://home-assistant.io/components/sensor.octoprint/
|
||||
[sensor.snmp docs]: https://home-assistant.io/components/sensor.snmp/
|
||||
[sensor.swiss_public_transport docs]: https://home-assistant.io/components/sensor.swiss_public_transport/
|
||||
[sensor.uber docs]: https://home-assistant.io/components/sensor.uber/
|
||||
[sensor.uk_transport docs]: https://home-assistant.io/components/sensor.uk_transport/
|
||||
[sensor.usps docs]: https://home-assistant.io/components/sensor.usps/
|
||||
[sensor.version docs]: https://home-assistant.io/components/sensor.version/
|
||||
[sensor.worldtidesinfo docs]: https://home-assistant.io/components/sensor.worldtidesinfo/
|
||||
[switch.mqtt docs]: https://home-assistant.io/components/switch.mqtt/
|
||||
[switch.mysensors docs]: https://home-assistant.io/components/switch.mysensors/
|
||||
[switch.pilight docs]: https://home-assistant.io/components/switch.pilight/
|
||||
[switch.rainmachine docs]: https://home-assistant.io/components/switch.rainmachine/
|
||||
[switch.xiaomi docs]: https://home-assistant.io/components/switch.xiaomi/
|
||||
[usps docs]: https://home-assistant.io/components/usps/
|
||||
[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/
|
||||
[xiaomi docs]: https://home-assistant.io/components/xiaomi/
|
||||
[forum]: https://community.home-assistant.io/
|
||||
[issue]: https://github.com/home-assistant/home-assistant/issues
|
||||
[discord]: https://discord.gg/c5DvZ4e
|
@ -56,7 +56,7 @@ def async_setup_platform(hass, config, async_add_entities,
|
||||
# Setup your platform inside of the event loop
|
||||
```
|
||||
|
||||
The only difference with the original parameters is that the add_entities function has been replaced by the async friendly callback `async_add_entities`.
|
||||
The only difference with the original parameters is that the `add_entities` function has been replaced by the async friendly callback `async_add_entities`.
|
||||
|
||||
## {% linkable_title Implementing an async entity %}
|
||||
|
||||
|
BIN
source/images/blog/2017-08-0.52/components.png
Normal file
BIN
source/images/blog/2017-08-0.52/components.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
Loading…
x
Reference in New Issue
Block a user