Merge pull request #2226 from home-assistant/release-0-40

0.40
This commit is contained in:
Paulus Schoutsen 2017-03-11 14:14:28 -08:00 committed by GitHub
commit 0f4eb3885b
46 changed files with 1155 additions and 52 deletions

View File

@ -127,10 +127,10 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 39
current_patch_version: 3
date_released: 2017-03-04
current_minor_version: 40
current_patch_version: 0
date_released: 2017-03-11
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
patch_version_notes: "#release-0393---march-4"
patch_version_notes: "#"

View File

@ -0,0 +1,66 @@
---
layout: page
title: "Android IP Webcam"
description: "Connect Android devices as IP webcam to Home Assistant"
date: 2017-03-10 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: android_ip_webcam.png
ha_category: Hub
ha_release: "0.40"
---
The Android IP webcam component turns your Android phone into a network camera with multiple viewing options.
It's setup as a mjpeg camera and all settings as switches inside of Home Assistant. You can also expose the sensors. If you have multiple phones, you can use all options inside a list.
To set it up, download [the IP Webcam app][app] and add the following information to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
android_ip_webcam:
# This should be the ip of your phone
- host: 192.168.1.10
name: Entrance
```
Configuration variables:
- **host** (*Required*): The ip address where your phone have on network.
- **port** (*Optional*): Default is set 8080. The port where is ip webcam listens.
- **name** (*Optional*): This parameter allows you to override the name of your phone.
- **username** (*Optional*): The username for accessing your phone.
- **password** (*Optional*): The password for accessing your phone.
- **scan_interval** (*Optional*): Default is 10 seconds. Defines the update interval of the phone.
- **auto_discovery** (*Optional*): Default is True. Auto detect which sensors and settings are available for setup.
- **sensors** array (*Optional*): Conditions to display sensor in the frontend. See list of supported sensors.
- **switches** array (*Optional*): Conditions to display settings in the frontend. See list of supported settings.
- **motion_sensor** (*Optional*): Activate motion sensor if auto_discovery is disabled.
### {% linkable_title Supported features %}
Sensors:
- audio_connections
- battery_level
- battery_temp
- battery_voltage
- light
- motion
- pressure
Settings:
- exposure_lock
- ffc
- focus
- gps_active
- night_vision
- overlay
- torch
- whitebalance_lock
- video_recording
[app]: https://play.google.com/store/apps/details?id=com.pas.webcam

View File

@ -0,0 +1,18 @@
---
layout: page
title: "Android IP Webcam Binary Sensor"
description: "Instructions how to integrate binary motion sensors for Android IP webcam within Home Assistant."
date: 2017-03-10 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: android_ip_webcam.png
ha_category: Binary Sensor
ha_release: "0.40"
---
The `android_ip_webcam` binary sensor platform lets you observe the motion state of [Android IP webcam](https://play.google.com/store/apps/details?id=com.pas.webcam) sensors through Home Assistant.
Devices will be configured automatically. Please refer to the [component](/components/android_ip_webcam/) configuration on how to setup.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "Blink Binary Sensor"
description: "Instructions for how to setup Blink binary sensors within Home Assistant."
date: 2017-03-05 22:13
sidebar: true
comments: false
sharing: true
footer: true
logo: blink.png
ha_category: Binary Sensor
ha_release: "0.40"
---
<p class='note'>
To get your Blink binary sensors working with Home Assistant, follow the instructions for the general [Blink component](/components/blink/).
</p>

View File

@ -29,3 +29,28 @@ Configuration variables:
- **id** (*Required*): The ID of the device. This is the 4 bytes long number written on the dimmer.
- **name** (*Optional*): An identifier for the switch in the frontend.
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
EnOcean binary sensors only generate 'button_pressed' events. The event data has follwing four fields:
- **id**: The ID of the device (see configuration).
- **pushed**: `1` for a button press, `0` for a button release.
- **which**: Always `0` when using the single rocket. `0` or `1` when using the dual rocket switch.
- **onoff**: `0` or `1` for either side of the rocket.
Sample automation to switch lights on and off:
```yaml
# Example automation to turn lights on/off on button release
automation:
- alias: hall light switches
trigger:
platform: event
event_type: button_pressed
event_data:
id: [0xYY, 0xYY, 0xYY, 0xYY]
pushed: 0
action:
service_template: "{% raw %}{% if trigger.event.data.onoff %} light.turn_on {% else %} light.turn_off {%endif %}{% endraw %}"
data_template:
entity_id: "{% raw %}{% if trigger.event.data.which == 1 %} light.hall_left {% else %} light.hall_right {%endif %}{% endraw %}"
```

View File

@ -0,0 +1,75 @@
---
layout: page
title: "Blink"
description: "Instructions for how to integrate Blink camera/security system within Home Assistant."
date: 2017-03-05 22:13
sidebar: true
comments: false
sharing: true
footer: true
logo: blink.png
ha_category: Hub
ha_release: "0.40"
---
The `blink` component lets you view camera images and motion events from [Blink](http://blinkforhome.com) camera and security systems.
You will need your Blink login information (username, usually you email address, and password) to use this module.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
blink:
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
Once loaded, your front end will have the following components:
* A camera image for each camera in your system.
* A binary_sensor per camera that indicates whether motion detection is enabled.
* A binary_sensor for the system that indicates if the system is armed or disarmed.
* A sesnor per camera that reports temperature.
* A sensor per camera that reports battery level.
* A sensor per camera that reports unread notification (ie. detected motion events).
Since the cameras are battery operated, the images are only updated in Home Assistant when the user manually forces a new photo. The image can only be updated in Home Assistant every 60 seconds in order to not overwhelm Blink's servers with API requests.
Services:
There are three services availiabe for the blink platform:
- arm_system
- arm_camera
- snap_picture
For arm_system, the value sent can be either "True" or "False" and will arm and disarm the whole blink system, respectively
Arm system example
```json
{
"device_armed": "True"
}
```
Arm camera follows a similar structure, but each indidivual camera can have motion detection enabled or disabled. Because of this, you also need to supply a name. For example, if I have a camera named "Living Room" and I want to turn off motion detection on that camera, I'd call the blink.arm_camera service with the following payload:
```json
{
"friendly_name": "Living Room",
"device_armed": "False"
}
```
The blink.snap_picture service takes the camera name as the payload and with take a new picture with your camera.
```
{
"friendly_name": "Living Room"
}
```
Configuration variables:
- **username** (*Required*): Your username to login to Blink
- **password** (*Required*): Your password to login to Blink
<p class='img'>
<img src='{{site_root}}/images/screenshots/blink_example_frontend.png' />
</p>

View File

@ -0,0 +1,17 @@
---
layout: page
title: "Blink Camera"
description: "Instructions for how to setup Blink cameras within Home Assistant."
date: 2017-03-05 22:13
sidebar: true
comments: false
sharing: true
footer: true
logo: blink.png
ha_category: Camera
ha_release: "0.40"
---
<p class='note'>
To get your Blink cameras working with Home Assistant, follow the instructions for the general [Blink component](/components/blink/).
</p>

View File

@ -34,14 +34,16 @@ limits).
A _climate_ is a predefined or user-defined set of states that the
thermostat aims to achieve. The ecobee thermostat provides three predefined
climates: home, away, and sleep. The user can define additional climates.
climates: Home, Away, and Sleep. The user can define additional climates.
A _hold_ is an override of the target temperature defined in the
currently active climate. The temperature targeted in the hold mode may be
explicitly set (temperature hold) or it may be derived from a reference
climate (home or away hold). All holds are temporary. Temperature and
explicitly set (temperature hold), it may be derived from a reference
climate (home, away, sleep, etc.), or it may be derived from a vacation
defined by the thermostat. All holds are temporary. Temperature and
climate holds expire when the thermostat transitions to the next climate
defined in its program.
defined in its program. A vacation hold starts at the beginning of the
defined vacation period, and expires when the vacation period ends.
When in _away mode_, the target temperature is permanently overridden by
the target temperature defined for the away climate. The away mode is a
@ -59,7 +61,7 @@ The following attributes are provided by the Ecobee Thermostat:
`target_temperature_low`, `target_temperature_high`, `desired_fan_mode`,
`fan`, `current_hold_mode`, `current_operation`, `operation_list`,
`operation_mode`, `mode`, `fan_min_on_time`, `device_state_attributes`,
`is_away_mode_on`.
`is_away_mode_on`, `vacation`, `climate_list`.
The attributes `min_temp` and `max_temp` are meaningless constant values.
@ -136,7 +138,7 @@ Returns the current temperature hold, if any.
| Attribute type | Description |
| ---------------| ----------- |
| String | 'home', 'away', 'temp', None
| String | 'temp', 'vacation', 'home', 'away', etc., None
### {% linkable_title Attribute `current_operation` %}
@ -164,7 +166,8 @@ Returns the current operation mode of the thermostat.
### {% linkable_title Attribute `mode` %}
Returns the climate currently active on the thermostat.
Returns the climate currently active on the thermostat. The mode
is returned as the user-visible name (rather than the internally used name).
### {% linkable_title Attribute `fan_min_on_time` %}
@ -187,6 +190,18 @@ Returns the humidity as measured by the thermostat.
| ---------------| ----------- |
| Integer | Current humidity
### {% linkable_title Attribute `vacation` %}
Returns the currently active vacation or `None`.
| Attribute type | Description |
| ---------------| ----------- |
| String | Name of currently active vacation |
### {% linkable_title Attribute `climate_list` %}
Returns the list of climates defined in the thermostat.
## {% linkable_title Services %}
@ -211,15 +226,19 @@ Turns the away mode on or off for the thermostat.
### {% linkable_title Service `set_hold_mode` %}
Puts the thermostat into the given hold mode. For 'home' and 'away', the
target temperature is taken from the home or away, climate, respectively.
Puts the thermostat into the given hold mode. For 'home', 'away', 'sleep',
and ony other hold based on a reference climate, the
target temperature is taken from the reference climate.
For 'temp', the current temperature is taken as the target temperature.
When None is provided as parameter, the hold_mode is turned off.
It is not possible to set a vacation hold; such hold has to be
defined on the thermostat directly. However, a vacation hold can be
cancelled.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `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 | 'home', 'away', 'temp', None
| `hold_mode` | no | 'temp', 'home', 'away', 'sleep', etc., None
### {% linkable_title Service `set_temperature` %}

View File

@ -35,8 +35,9 @@ Configuration variables:
- **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device.
- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in it's current state prior to being switched either off or on.
- **tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched either off or on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor goes below 24.5 and it will stop when the sensor goes above 25.5.
- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while.
A full configuration example looks like the one below. `min_cycle_duration` must contains at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`.
A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`.
```yaml
# Full example configuration.yaml entry
@ -51,4 +52,6 @@ climate:
tolerance: 0.3
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
```

View File

@ -0,0 +1,41 @@
---
layout: page
title: "Config"
description: "Instructions how to setup the configuration panel Home Assistant."
date: 2017-02-24 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: Other
ha_release: 0.39
---
The `config` component is designed to display panels in the frontend to configure and manage parts of Home Assistant.
To enable the configuration panel, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
config:
```
### {% linkable_title Group & Views %}
The **Groups & Views** sections allows you to re-arrange your [groups](/components/group/). Also, you can edit the group's setting and switch between "view" and "group".
<p class='img'>
<img src='{{site_root}}/images/screenshots/group-views.png' />
</p>
### {% linkable_title Server Management %}
This section enables you to control Home Assistant from within Home Assistant. Check your configuration, reload the core, groups, and automation, and the Home Assistant process itself. With a single mouse click.
<p class='img'>
<img src='{{site_root}}/images/screenshots/server-management.png' />
</p>

View File

@ -34,7 +34,7 @@ Configuration variables:
- **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection.
- **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://home-assistant.io` will allow requests from `https://home-assistant.io` but __not__ `http://home-assistant.io`.
- **use_x_forwarded_for** (*Optional*): Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You should only enable this in a trustworthy network environment, as clients passing that header could easily spoof their source IP address. Defaults to False.
- **trusted_networks** (*Optional*): List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant.
- **trusted_networks** (*Optional*): List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. It should be noted that if you use a reverse proxy, all requests to home assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario this option should be used with extreme care.
- **ip_ban_enabled** (*Optional*): Flag indicating whether additional IP filtering is enabled. Defaults to False.
- **login_attempts_threshold** (*Optional*): Number of failed login attemt from single IP after which it will be automatically banned if `ip_ban_enabled` is True. Defaults to -1, meaning that no new automatic bans will be added.

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Yeelight Sunflower Bulb"
description: "Instructions how to setup Yeelight Sunflower hub and bulbs within Home Assistant."
date: 2017-02-11
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Light
ha_release: 0.39
---
The `yeelightsunflower` light platform allows you to control your Yeelight Sunflower light bulbs with Home Assistant.
Note that the "Yeelight Sunflower" bulbs are not the same as the "Yeelight WiFi" bulbs.
### {% linkable_title Example configuration %}
To enable your lights, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
light:
- platform: yeelightsunflower
host: 192.168.1.59
```
Configuration variables:
- **host** (*Required*): IP address of your Yeelight Sunflower hub.
<p class='note'>
When the hub is loaded, your lights will appear as devices with their Zigbee IDs as part of the entity name.
</p>
<p class='note warning'>
The Yeelight Sunflower hub supports SSDP discovery, but that has not been built into the platform. Let the developer know if that would be helpful to you.
</p>

View File

@ -54,3 +54,16 @@ Possible log severities are:
- debug
- notset
### {% linkable_title Service `set_level` %}
You can alter log level for one or several components using the service
``logger.set_level``. It accepts the same format as ``logs`` in the configuration.
An example call might look like this:
```yaml
service: logger.set_level
data:
homeassistant.components: warning
homeassistant.components.media_player.yamaha: debug
```

View File

@ -0,0 +1,37 @@
---
layout: page
title: "eQ-3 MAX! Cube"
description: "Instructions on how to integrate eQ-3 MAX! components with Home Assistant via eQ-3 MAX! Cube."
date: 2017-02-04 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: maxcube.png
ha_category: DIY
ha_release: "0.40"
ha_iot_class: "Local Polling"
---
[eQ-3 MAX!](http://www.eq-3.com/products/max.html) integration for Home Assistant allows you to connect eQ-3 MAX! components via the eQ-3 MAX! Cube. The components connects to the eQ-3 MAX! Cube via TCP and automatically makes all supported components available in Home Assistant. The name for each device is created by concatenating the MAX! room and device names.
Limitations:
- Configuring weekly schedules is not possible
- Implementation is based on the reverse engineered [MAX! protocol](https://github.com/Bouni/max-cube-protocol)
Supported Devices:
- MAX! Radiator Thermostat (tested)
- MAX! Radiator Thermostat+
- MAX! Window Sensor (tested)
- MAX! Wall Thermostat (tested)
A `maxcube` section must be present in the `configuration.yaml` file and contain the following options as required:
```yaml
# Example configuration.yaml entry
maxcube:
host: 192.168.0.20
```
- **host** (*Required*): The IP address of the eQ-3 MAX! Cube to use.
- **port** (*Optional*): The UDP port number. Defaults to `62910`.

View File

@ -0,0 +1,97 @@
---
layout: page
title: "Frontier Silicon Internet Radios"
description: "Instructions how to integrate Frontier Silicon Internet Radios into Home Assistant."
date: 2017-02-04 00:01
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Media Player
ha_iot_class: "Local Push"
ha_release: "0.40"
---
This component provides support for Internet Radios based on the [Frontier Silicon chipset]. Some of the manufacturers which offer products based on these chips include: Hama, Medion, Slivercrest, Auna, Technisat, Revo, Pinnel, etc. These devices will be usually controlled by the [UNDOK] app.
## {% linkable_title Supported Models %}
* Hama: [IR110], [DIR3110]
* Medion: [Medion Radios]
* Silvercrest: [SIRD 14 C2]
* Some models from: Auna, Technisat, Revo, Pinell
This component was developed and tested with a Hama [DIR3110] and a Medion [MD 87466].
## Configuration
Your Frontier Silicon based device should be automatically discovered by home assistant. The auto-discovery service assumes that the device uses the default PIN code: *1234*. If you have changed the PIN code, the auto-discovery will fail as home assistant will not be able to connect to the device. You can set the PIN code of your device (depending on manufacturer) under:
*MENU button > Main Menu > System setting > Network > NetRemote PIN setup*
If your device was not automatically discovered or you have changed the PIN you can alternatively add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
media_player:
- platform: frontier_silicon
host: IP_ADDRESS
```
Configuration variables:
- **host** (*Required*): The host name or the IP address of the device. Defaults to 192.168.1.11.
- **port** (*Optional*): The port number. Defaults to 80.
- **password** (*Optional*): PIN code of the Internet Radio. Defaults to 1234.
In case your device (friendly name) is called *badezimmer*, an example automation can look something like this:
```yaml
# Example configuration.yaml automation
alias: "Bathroom Motion Detected"
trigger:
platform: state
entity_id: binary_sensor.motion_sensor_166d0001171111
from: 'off'
to: 'on'
state: 'on'
action:
service: media_player.turn_on
data:
entity_id: "media_player.badezimmer"
```
## Screenshots:
Overview DAB+ (Badezimmer) and Spotify (Küche):
<p class='img'>
<img src='/images/screenshots/frontier_silicon_overview.png' />
</p>
Overview of the info dialog:
<p class='img'>
<img src='/images/screenshots/frontier_silicon_info_dialog.png' />
</p>
## Development
Support is provided through the Python [fsapi] module. The Python module was developed by using the documentation provided by [flammy] and
is based on [tiwillam]'s fsapi project. Special thanks to both developers, this component would have not been possible without their work.
## Notes and Limitations
<p class='note warning'>
The Frontier Silicon API does not provide a multi-user environment. There is always a single user (session) controlling a device, which means that once home assistant connects to a device all other sessions will be invalidated. This renders the usage of [UNDOK] almost impossible, as the home assistant component polls the device state every 30 seconds or issues a command by creating a new session.
*If you want to prevent home assistant to auto connect to your device, simply change the PIN code of the device to something else than: 1234*
</p>
[Frontier Silicon chipset]: http://www.frontier-silicon.com/digital-radio-solutions
[Medion Radios]: http://internetradio.medion.com/
[IR110]: https://www.hama.com/00054823/hama-ir110-internet-radio-internet-radio-multi-room-app-control
[DIR3110]: https://www.hama.com/00054824/hama-digitalradio-dir3110-internetradio-dab+-fm-multiroom-app-steuerung
[MD 87466]: https://www.medion.com/de/shop/internet-dab-radios-medion-kuechen-internetradio-medion-p83302-md-87466-50051273a1.html
[SIRD 14 C2]: https://www.lidl.de/de/silvercrest-stereo-internetradio-sird-14-c2/p233545
[fsapi]: https://github.com/zhelev/python-fsapi
[UNDOK]: http://www.frontier-silicon.com/undok
[flammy]: https://github.com/flammy/fsapi/
[tiwillam]: https://github.com/tiwilliam/fsapi

View File

@ -0,0 +1,33 @@
---
layout: page
title: "Cisco Spark"
description: "Instructions how to add CiscoSpark notifications to Home Assistant."
date: 2017-02-20 15:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ciscospark.png
ha_category: Notifications
ha_release: "0.40"
---
The `Cisco Spark` platform allows you to deliver notifications from Home Assistant to [Cisco Spark](https://ciscospark.com/).
To use this notification platform you need to get a developer token. To obtain a token visit [Spark for Devleopers](https://developer.ciscospark.com/index.html)
At this time you also need to specify the `Cisco Spark` `roomid`. The `roomid` can also be found at [Spark for Devleopers](https://developer.ciscospark.com/index.html).
Just look in the Doumentation under Rooms.
To enable the `Cisco Spark` notification in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: ciscospark
token: <YOUR_DEVELOPER_TOKEN>
roomid: <CISCO_SPARK_ROOMID>
```
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -28,10 +28,10 @@ remote:
- name: TV
connaddr: 2
commands:
- name: ON
data: 0000 006D 0000 0022 00AC 00AC 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0689
- name: OFF
data: 0000 006D 0000 0022 00AC 00AC 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0689
- name: "ON"
data: "0000 006D 0000 0022 00AC 00AC 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0689"
- name: "OFF"
data: "0000 006D 0000 0022 00AC 00AC 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0689"
```
Configuration variables:

View File

@ -0,0 +1,18 @@
---
layout: page
title: "Android IP Webcam Sensor"
description: "Instructions how to integrate sensors for Android IP webcam within Home Assistant."
date: 2017-03-10 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: android_ip_webcam.png
ha_category: Sensor
ha_release: "0.40"
---
The `android_ip_webcam` sensor platform lets you observe states of [Android IP webcam](https://play.google.com/store/apps/details?id=com.pas.webcam) sensors through Home Assistant.
Devices will be configured automatically. Please refer to the [component](/components/android_ip_webcam/) configuration on how to setup.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "Blink Sensor"
description: "Instructions for how to setup Blink sensors within Home Assistant."
date: 2017-03-05 22:13
sidebar: true
comments: false
sharing: true
footer: true
logo: blink.png
ha_category: Sensor
ha_release: "0.40"
---
<p class='note'>
To get your Blink sensors working with Home Assistant, follow the instructions for the general [Blink component](/components/blink/).
</p>

View File

@ -0,0 +1,37 @@
---
layout: page
title: "ComEd Hourly Pricing"
description: "Instructions how to set up the ComEd Hourly Pricing sensor in Home Assistant."
date: 2017-03-02 0:15
sidebar: true
comments: false
sharing: true
footer: true
logo: comed.jpg
ha_category: Energy
ha_release: "0.40"
ha_iot_class: "Cloud Polling"
---
The ComEd Hourly Pricing program is an optional program available to ComEd electric subscribers which charges customers a variable rate for electricity supply based on current demand rather than a traditional fixed rate. Live prices are published [here](https://hourlypricing.comed.com/live-prices/) and also via an [API](https://hourlypricing.comed.com/hp-api/) which we can integrate as a sensor in Home Assistant.
There are two price feeds available: the 5-minute price and current hour average price.
```yaml
# Example configuration.yaml entry
sensor:
- platform: comed_hourly_pricing
monitored_feeds:
- type: five_minute
- type: current_hour_average
```
Configuration variables:
- **monitored_feeds** array (*Required*): Feeds to monitor.
- **type** (*Required*): Name of the feed.
- **five_minute**: The latest 5-minute price in cents.
- **current_hour_average**: The latest current hour average price in cents.
- **name** (*Optional*): Custom name for the sensor.
- **offset** (*Optional*): The pricing feeds provide only the *supply* cost of the electricity. The offset parameter allows you to provide a fixed constant that will be added to the pricing data to provide a more accurate representation of the total electricity cost per kWh.

View File

@ -0,0 +1,50 @@
---
layout: page
title: "DNS IP"
description: "Instructions on how to integrate a DNS IP sensor into Home Assistant."
date: 2017-02-25 11:05
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Sensor
ha_iot_class: "Cloud Polling"
ha_release: "0.40"
---
The `dnsip` sensor will expose an IP address, fetched via DNS resolution, as its value. There are two operational modes:
1. When you enable the sensor with minimal configuration, it will query [OpenDNS](https://www.opendns.com/)' nameserver with the hostname `myip.opendns.com`, which will resolve to your external/public IP address.
2. If you specify a `hostname`, a regular DNS lookup will be performed, providing you the IP the hostname resolves to.
You may also override the nameserver that is being used by setting the `resolver` parameter to any nameserver you like.
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: dnsip
```
Configuration variables:
- **hostname** (*Optional*): The hostname for which to perform the DNS query. Default: `myip.opendns.com` (special hostname that resolves to your public IP)
- **resolver** (*Optional*): The DNS server to target the query at. Default: `208.67.222.222` (OpenDNS)
- **ipv6** (*Optional*): Set this to `true` or `false` if IPv6 should be used. When resolving the public IP, this will be the IP of the machine HASS is running on.
- **resolver_ipv6** (*Optional*): The IPv6 DNS server to target the query at. Default: `2620:0:ccc::2` (OpenDNS)
- **scan_interval** (*Optional*): Defines number of seconds for polling interval. Default: `120` seconds.
#### {% linkable_title Extended example %}
```yaml
# Example configuration.yaml entry
sensor:
# Own public IPv4 address
- platform: dnsip
# Resolve IP address of home-assistant.io via Google DNS
- platform: dnsip
hostname: home-assistant.io
resolver: 8.8.8.8
```

View File

@ -12,7 +12,7 @@ ha_category: Sensor
ha_release: 0.27
---
The MH-Z19 is a small nondispersive infrared sensor that can measure CO2 sensors. High CO2 levels can lead to drowsiness, poor concentration, loss of attention or increased heart rate. The CO2 level outside is around 400ppm, but inside levels can reach between 1000 and 5000 ppm. High CO2 levels indicate that you should increase ventilation.
The MH-Z19 is a small nondispersive infrared sensor that can measure CO2 level. High CO2 levels can lead to drowsiness, poor concentration, loss of attention or increased heart rate. The CO2 level outside is around 400ppm, but inside levels can reach between 1000 and 5000 ppm. High CO2 levels indicate that you should increase ventilation.
Check out the [Open Home Automation web site](https://www.open-homeautomation.com/2016/08/24/monitor-co2-levels-in-your-house/) for a quick guide how to connect the sensor to your PC or Raspberry Pi.
@ -26,4 +26,17 @@ sensor:
- **serial_device** (*Required*): The serial port to use. On *nix systems, it can often be identified by `$ ls /dev/tty*`
- **name** (*Optional*): The name displayed in the frontend.
- **monitored_conditions** (*Optional*, starting from version 0.40): Conditions to monitor. Supported conditions:
- **co2** (*default*)
- **temperature**
Full example:
```yaml
sensor:
- platform: mhz19
serial_device: /dev/tty.SLAB_USBtoUART
name: My MHZ19
monitored_conditions:
- co2
- temperature
```

View File

@ -0,0 +1,74 @@
---
layout: page
title: "Caller ID Sensor"
description: "Instructions how to integrate the Caller ID sensor into Home Assistant."
date: 2017-02-20 22:10
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Sensor
ha_release: "0.40"
---
The `modem_callerid` sensor platform uses an available modem for collecting caller ID information. It requires a Hayes AT compatible modem that supports caller ID detection (via AT+VCID=1).
To enable the sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: modem_callerid
```
Configuration variables:
- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `modem_callerid`.
- **device** (*Optional*): Device port name. Defaults to `/dev/ttyACM0`.
To find the path of your USB modem, run:
`$ ls /dev/ttyACM*`
If `hass` runs with another user (e.g. *homeassistant* on Hassbian) give access to the stick with:
`$ sudo usermod -a -G dialout homeassistant`
Depending on what's plugged into your USB ports, the name found above may change. You can lock in a name, such as `/dev/modem`, by following [these instructions](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/).
When the sensor detects a new call, it's state changes to 'ring' for each ring and 'callerid' when caller id information is received. It returns to 'idle' once ringing stops. The state event includes an attribute payload that includes the time of the call, name and number.
Some example automations:
```yaml
{% raw %}automation:
- alias: Notify CallerID
trigger:
platform: state
entity_id: sensor.modem_callerid
state: "callerid"
action:
service: notify.notify
data:
message: 'Call from {{ states.sensor.modem_callerid.attributes.cid_name }} at {{ states.sensor.modem_callerid.attributes.cid_number }} '
- alias: Notify CallerID webui
trigger:
platform: state
entity_id: sensor.modem_callerid
state: "callerid"
action:
service: persistent_notification.create
data:
title: "Call from"
message: '{{ states.sensor.modem_callerid.attributes.cid_time.strftime("%I:%M %p") }} {{ states.sensor.modem_callerid.attributes.cid_name }} {{ states.sensor.modem_callerid.attributes.cid_number }} '
- alias: Say CallerID
trigger:
platform: state
entity_id: sensor.modem_callerid
state: "callerid"
action:
service: tts.google_say
data_template:
message: 'Call from {{ states.sensor.modem_callerid.attributes.cid_name }} '{% endraw %}
```

View File

@ -29,4 +29,8 @@ Configuration variables:
- **host** (*Optional*): The IP address of the Pi-Hole system. Defaults to `localhost`.
- **ssl** (*Optional*): If `true`, use SSL/TLS to connect to the Pi-Hole system. Defaults to `False`.
- **verify_ssl** (*Optional*): Verify the certification of the system. Default to `True`.
- **monitored_conditions** (*Optional*): Defines the stats to monitor as sensors.
- **dns_queries_today**: Total number of DNS queries handled by Pi-Hole today
- **ads_blocked_today**: Total number of blocked ads today
- **ads_percentage_today**: Percentage of blocked ads

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Ring"
description: "Instructions on how to integrate your Ring.com devices within Home Assistant."
date: 2017-03-05 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ring.png
ha_category: Sensor
ha_release: "0.40"
---
The `ring` sensor allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant.
Currently it supports doorbells and external chimes only.
To enable device linked in your [Ring.com](https://ring.com/) account, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: ring
username: USERNAME
password: PASSWORD
monitored_conditions:
- battery
- last_activity
- volume
```
Configuration variables:
- **username** (*Required*): The username for accessing your Ring account.
- **password** (*Required*): The password for accessing your Ring account.
- **scan_interval** (*Optional*): Defines the update interval of the sensor in seconds. The default is 30 seconds.
- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored.
- **battery**: Return the battery level from device
- **last_activity**: Return the timestamp from the last event captured by the Ring doorbell camera
- **volume**: Return the volume level from the device. Currently supported by external chimes and doorbells.

View File

@ -12,34 +12,11 @@ ha_category: Weather
ha_release: 0.35
---
The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für
Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at/).
The `zamg` platform uses meteorological details published by the Austrian weather service
[Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at).
The following stations are available:
| `station_id` | Location |
| :----------- |:---------------------|
| 11010 | Linz/Hörsching |
| 11012 | Kremsmünster |
| 11022 | Retz |
| 11035 | Wien/Hohe Warte |
| 11036 | Wien/Schwechat |
| 11101 | Bregenz |
| 11121 | Innsbruck |
| 11126 | Patscherkofel |
| 11130 | Kufstein |
| 11150 | Salzburg |
| 11155 | Feuerkogel |
| 11157 | Aigen im Ennstal |
| 11171 | Mariazell |
| 11190 | Eisenstadt |
| 11204 | Lienz |
| 11240 | Graz/Flughafen |
| 11244 | Bad Gleichenberg |
| 11265 | Villacher Alpe |
| 11331 | Klagenfurt/Flughafen |
| 11343 | Sonnblick |
| 11389 | St. Pölten |
Only observations for capital cities are publically available. You can check the
list of stations in [CSV format](http://www.zamg.ac.at/ogd).
To add ZAMG to your installation, add the following to your `configuration.yaml` file:
@ -55,7 +32,7 @@ sensor:
Configuration variables:
- **station_id** (*Required*): Your API key for http://openweathermap.org/.
- **station_id** (*Optional*): The ID number for a supported ZAMG station.
- **name** (*Optional*): Additional name for the sensors. Defaults to platform name.
- **monitored_conditions** array (*Required*): Conditions to display in the frontend.
- **pressure**: Pressure at station level
@ -65,8 +42,12 @@ Configuration variables:
- **wind_bearing**: Wind bearing
- **wind_max_speed**: Top wind speed
- **wind_max_bearing**: Top wind bearing
- **sun_last_hour**: Sun last hourpercentage
- **sun_last_hour**: Sun last hour percentage
- **temperature**: Temperature
- **precipitation**: Precipitation
- **dewpoint**: Dew point
<p class='note'>
This sensor is an alternative to the [`zamg`](/components/weather.zamg/) weather platform.
The weather platform is easier to configure but less customisable.
</p>

View File

@ -0,0 +1,18 @@
---
layout: page
title: "Android IP Webcam Settings"
description: "Instructions how to integrate settings for Android IP webcam as switch within Home Assistant."
date: 2017-03-10 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: android_ip_webcam.png
ha_category: Switch
ha_release: "0.40"
---
The `android_ip_webcam` switch platform lets you control settings of [Android IP webcam](https://play.google.com/store/apps/details?id=com.pas.webcam) through Home Assistant.
Devices will be configured automatically. Please refer to the [component](/components/android_ip_webcam/) configuration on how to setup.

View File

@ -0,0 +1,37 @@
---
layout: page
title: "ZAMG Weather"
description: "Instructions how to integrate ZAMG sensors within Home Assistant."
date: 2016-12-06 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: zamg.png
ha_category: Weather
ha_release: 0.39
---
The `zamg` platform uses meteorological details published by the Austrian weather service
[Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at).
Only observations for capital cities are publically available. You can check the
list of stations in [CSV format](http://www.zamg.ac.at/ogd).
To add ZAMG to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
weather:
- platform: zamg
```
Configuration variables:
- **station_id** (*Optional*): The ID number for a supported ZAMG station.
- **name** (*Optional*): A name for the weather platform.
<p class='note'>
This platform is an alternative to the [`zamg`](/components/sensor.zamg/) sensor.
The weather platform is easier to configure but less customisable.
</p>

View File

@ -0,0 +1,12 @@
---
layout: page
title: "Configuration.yaml by Scottoc11"
description: ""
date: 2017-02-23 16:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Example configuration.yaml
ha_external_link: https://github.com/scottocs11/Home-Assistant-Config
---

View File

@ -237,8 +237,12 @@ The `zwave` component exposes multiple services to help maintain the network.
| heal_network | Tells the controller to "heal" the Z-Wave network. Basically asks the nodes to tell the controller all of their neighbors so the controller can refigure out optimal routing. |
| print_config_parameter | Prints Z-Wave node's config parameter value to the log. |
| print_node | Print all state of Z-Wave node. |
| refresh_entity| Refresh Z-Wave entity by refreshing dependent values.|
| refresh_node| Refresh Z-Wave node. |
| remove_node | Put the Z-Wave controller in exclusion mode. Allows one to remove a device from the Z-Wave network.|
| rename_node | Sets a node's name. Requires an `entity_id` and `name` field. |
| remove_failed_node | Remove a failed node from the network. The Node should be on the Controllers Failed Node List, otherwise this command will fail.|
| replace_failed_node | Replace a failed device with another. If the node is not in the controller's failed nodes list, or the node responds, this command will fail.|
| set_config_parameter | Let's the user set a config parameter to a node. |
| soft_reset | Tells the controller to do a "soft reset". This is not supposed to lose any data, but different controllers can behave differently to a "soft reset" command.|
| start_network | Starts the Z-Wave network.|

View File

@ -0,0 +1,297 @@
---
layout: post
title: "Home Assistant 0.40: Turn any Android phone into an IP Webcam"
description: "Tons of bug fixes for MQTT, Z-Wave and "
date: 2017-03-11 08:04:05 +0000
date_formatted: "March 11, 2017"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2017-03-0.40/social.png
---
<a href='/components/#added_in_current_version'><img src='/images/blog/2017-03-0.40/social.png' style='border: 0;box-shadow: none;'></a>
It's time for version 0.40 already! For this version, the main focus was on performance and bug fixes. Big thanks to [@pvizeli] for driving this effort. Startup is now super fast. We have also continued with adding warnings for components and platforms that are slowing down Home Assistant.
Some people have interpreted our recent added warnings as if 0.39 introduced the issues that caused the warning. This is not the case, the platforms and components have been misbehaving for a while but now we are adding warnings so we are able to track down the culprits.
Before we continue talking about all the improvements in this release I want to take a moment to thank a few people from the Home Assistant community that are fundamental to the success of Home Assistant. Big thanks to [@dale3h], [@CCOSTAN], [@skalavala] [@rrubin0] [@brahmafear] [@bassclarinetl2] and [@torn8o]! These are all people that hang out in our [main chat channel] and help new users get started and help existing users when running into trouble. Home Assistant would not be there without all the effort you put in! 🙇
And that our community kicks ass is also shown in the numbers. We have already raised together over $700 for the [EFF] via the sale of [our t-shirts][hass-shirt]! All of you rock! Another number worth mentioning is that this release brings us passed 600 integrations for Home Assistant. All of you rock, again!
## Z-Wave is now threadsafe
[@andrey-git] has spend a lot of time to make Z-Wave perform better. It should no longer cause Home Assistant to run slower or raise warnings about the timer getting out of sync.
## Update on the MQTT Out of Memory errors in 0.39
MQTT started causing "Out of Memory" errors for some people on a Raspberry Pi. We have been able to track this down to Raspberry Pis that are using an older firmware. If you are experiencing this issue, please [upgrade your firmware using `rpi-update`](https://github.com/Hexxeh/rpi-update#installing).
## Turn any Android phone into an IP Camera
With the new support for [IP Webcam](/components/android_ip_webcam/) added by [@robbiet480] and [@pvizeli] you are now able to re-purpose any Android phone to become a multifunctional IP webcam. Some of the cool things that you can do:
- Integrate the Android device camera
- Binary sensor when motion is detected
- Sensors to expose the device sensors, including pressure, sound, battery, light
- Control device features like the GPS, night vision and camera flash
<p class='img'>
<img src='/images/blog/2017-03-0.40/ipwebcam.png' />
Screenshot of all the different functionality the IP webcam integration offers.
</p>
## Other Highlights
- Support added for Austrian weather using Zamg weather data ([@Zac-HD])
- Ring.com video doorbell integration added ([@tchellomello])
- Blink Home Security Camera support added ([@fronzbot])
- AppleTV has been converted to push data to Home Assistant instead of us having to poll ([@postlund])
## Breaking changes
- Vera entity ids have changed. This is a one time change to migrate to a model that will prevent future conflicts.
- The Twilio notify platforms now have to be configured via the twilio component.
```yaml
twilio:
account_sid: "abc"
auth_token: "xyz"
```
- If you are using async custom components, the passed in `async_add_devices` method is now a callback instead of a coroutine function.
### If you need help...
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][gitter]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
### 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-->
## All changes
- Cleanup run_callback_threadsafe ([@pvizeli])
- Use H2 headers to split up the different sections ([@colinodell])
- Refactory of envisalink ([@pvizeli])
- Create zwave devices on OZW thread and only add them during discovery ([@andrey-git])
- Bugfix restore startup state ([@kellerza])
- Random test fixes ([@balloob])
- Remove automatically reloading group config ([@balloob])
- Default config to setup group editor ([@balloob])
- minor broadlink fix ([@danielhiversen])
- Update Yeelight Sunflower light platform to 0.0.6 ([@lindsaymarkwawrd])
- Some zwave cleanup ([@andrey-git])
- sensor.speedtest: provide a default icon ([@molobrakos])
- Test the temperature returned by RM2 ([@aronsky])
- Zamg weather ([@Zac-HD])
- Fix reporting on bad login ([@balloob])
- Move mqtt from eventbus to dispatcher / add unsub for dispatcher ([@pvizeli])
- Update flake8 and pylint to latest ([@andrey-git])
- Fix link ([@fabaff])
- Make glob preserve order ([@andrey-git])
- Update regex ([@fabaff])
- Fix recorder async ([@balloob])
- Fix livebox-play interactions for Python < 3.6 ([@pschmitt])
- Ensure we properly close HASS instances. ([@balloob])
- Add service to change log levels ([@postlund])
- Move ffmpeg to dispatcher from hass.data entity store. ([@pvizeli])
- Feature/reorg recorder ([@balloob])
- Bugfix mqtt socket error ([@pvizeli])
- Notify ciscospark ([@shenning00])
- Config fix ([@balloob])
- Bugfix mqtt paho client to speend time ([@pvizeli])
- Properly report features for each hue bulb type ([@jawilson])
- Local file camera now supports yet inexisting files. ([@jjmontestl])
- light.transition now supports float instead of int in order to be able to perform faster transitions ([@BillyNate])
- Fix for OSRAM lights connected to hue bridge ([@groth-its])
- Add support for MAX!Cube thermostats and window shutter sensors ([@BastianPoe])
- Analog modem callerid support ([@vroomfonde1])
- [sensor.dnsip] New Sensor: DNS IP ([@danielperna84])
- Update library version for Yeelight Sunflower lights platform (fix for packaging problem with 0.0.7) ([@lindsaymarkwawrd])
- Prevent duplicate names on Vera devices by appending the device id ([@arjenfvellinga])
- Add temperature support for MH-Z19 CO2 sensor. ([@andrey-git])
- improve history_stats accuracy ([@bokub])
- Updated pyitachip2ir ([@alanfischer])
- Influx fix ([@open-homeautomation])
- Fix toggle and media_play_pause post async ([@armills])
- Migrate calendar setup to async. ([@pvizeli])
- Frontier silicon ([@zhelev])
- Bootstrap / Component setup async ([@pvizeli])
- Convert kpH and mpH to kph and mph ([@ericgingras])
- Rollback netdisco to 0.8.2 to resolve #6165 ([@jumpkick])
- Log errors when loading yaml ([@kellerza])
- Bootstrap tweaks tests ([@balloob])
- Telegram webhooks new text event ([@scipioni])
- Cleanup component track_point_in_utc_time usage ([@pvizeli])
- Discovery fix ([@balloob])
- Test against 3.6-dev ([@balloob])
- Bugfix ZigBee / Move from eventbus to dispatcher ([@pvizeli])
- Bump netdisco to 0.9.1 ([@balloob])
- sensor.dovado: compute state in update ([@molobrakos])
- Fix mysensors callback race ([@MartinHjelmare])
- Upgrade TwitterAPI to 2.4.5 ([@fabaff])
- Upgrade py-cpuinfo to 0.2.6 ([@fabaff])
- Template sensor change flow / add restore ([@pvizeli])
- Zwave optimize value_added ([@andrey-git])
- Update Vagrant provision.sh ([@shaftoe])
- Update Adafruit_Python_DHT to support new raspberry kernel ([@masarliev])
- Add fallback for name if userdevicename isn't set using old serialnumber logic ([@reedriley])
- Improve Honeywell US climate component ([@titilambert])
- Template binary_sensor change flow / add restore ([@pvizeli])
- Additional support for ecobee hold mode ([@Duoxilian])
- Update Formulas in Convert XY to RGB ([@dramamoose])
- Use dynamic ports for test instances ([@armills])
- Added support for multiple codes executed in a row ([@martinfrancois])
- Use push updates in Apple TV ([@postlund])
- Fix command sudo not found error in dev Dockerfile ([@jawilson])
- Fix calendar authentication text, and handle calendar events without summaries. ([@alanfischer])
- Move dispatcher out of init. ([@pvizeli])
- Zwave: Add remove/replace failed node services. ([@andrey-git])
- Template switch change flow / add restore ([@pvizeli])
- Bump limitlessled dependency to 1.0.5. ([@janLo])
- snmp: upgrade pysnmp to 4.3.4 ([@milaq])
- Bugfix new async_add_devices function ([@pvizeli])
- Restore for input_slider ([@pvizeli])
- Added IPv4 data collector ([@open-homeautomation])
- Return None instead of raising ValueException from as_timestamp template function. ([@jjmontestl])
- [recorder] Catch more startup errors #6179 ([@kellerza])
- twilio component ([@happyleavesaoc])
- Add Z-Wave battery level as a sensor. ([@andrey-git])
- OwnTrack Async ([@pvizeli])
- Fix possibility that have multible topic subscribe mqtt ([@pvizeli])
- Migrate mqtt tracker and arwn sensor to async / cleanup owntrack ([@pvizeli])
- Z-Wave prevent I/O event loop ([@balloob])
- Update pwaqi to 3.0 to use public API ([@valentinalexeev])
- Update Hikvision Binary Sensors to latest library, remove pyDispatcher ([@mezz64])
- Don't initialize components which have already been discovered ([@colinodell])
- Comed Hourly Pricing sensor ([@joe248])
- Add multi contracts support for Hydroquebec ([@titilambert])
- Add Zwave refresh services ([@andrey-git])
- Add keep-alive feature to the generic thermostat ([@aronsky])
- Fix wake_on_lan for german version of Windows 10 (#6397) ([@siebert])
- flux led lib ([@danielhiversen])
- Cleanup async handling ([@pvizeli])
- Restore for automation entities ([@kellerza])
- Fix tests no internet ([@balloob])
- Prevent more I/O in apns ([@balloob])
- Restore flow on device_tracker platform ([@pvizeli])
- switch.tplink: catch exceptions coming from pyHS100 to avoid flooding the logs when the plug is not available ([@rytilahti])
- Added sensors to support Ring.com devices ([@tchellomello])
- Split bootstrap into bs + setup ([@balloob])
- Tweak recorder/restore_state ([@balloob])
- Fix unnecessary warning for ip bans.yaml ([@balloob])
- Better restore_state warnings ([@balloob])
- Set new color before turning LIFX bulbs on ([@amelchio])
- Don't log username and password in camera url ([@ishults])
- Ignore deleted mails in IMAP unread count (#6394) ([@amelchio])
- Delay zwave updates for 100ms to group them. ([@andrey-git])
- Rename _scheduled_update to _update_scheduled ([@andrey-git])
- Revert "Use dynamic port allocation for tests" ([@armills])
- Tado device_tracker exception when mobile device has geofencing enabled but location is currently unknown. ([@jmvermeulen])
- Add a Z-wave workaround to do full refresh on update ([@andrey-git])
- Use bundled certificates if port matches mqtts ([@dennisdegreef])
- Bugfix samsungtv discovery ([@pvizeli])
- Added unittest for Ring sensor ([@tchellomello])
- Shorten recorder connection init ([@balloob])
- KWB Easyfire support ([@bimbar])
- Bumped version number for supporting lib ([@bazwilliams])
- Send a logo with webostv notifications ([@andersonshatch])
- Upgrade netdisco to 0.9.2 ([@balloob])
- Allow testing against uvloop ([@balloob])
- fix issue ([@appzer])
- Remove connection status state. ([@aequitas])
- Support for Blink Camera System ([@fronzbot])
- Add warning for slow platforms/components ([@balloob])
- Fix wake_on_lan ping for Linux. ([@siebert])
- Add support for remove services / Reload script support ([@pvizeli])
- Expand MQTT lights ([@robbiet480])
- Allow configurable conditions for Pi-Hole sensor ([@colinodell])
- Improved iCloud 2FA support. ([@reedriley])
- Update pymyq requirement ([@arraylabs])
- Not always asume manufacturername is present ([@balloob])
- Add first pass at Z-Wave light tests ([@balloob])
- Bugfix mqtt socket memory error ([@pvizeli])
- Increase upper limit on light transitions ([@amelchio])
- Bugfix android camera autodiscovery settings ([@pvizeli])
- Update to Pyunifi2.0 ([@finish06])
- Insteon lib ([@wardcraigj])
- Bugfix rpi_rf cleanup ([@pvizeli])
- Android webcam better error handling / pump library 0.4 ([@pvizeli])
[@BastianPoe]: https://github.com/BastianPoe
[@BillyNate]: https://github.com/BillyNate
[@Duoxilian]: https://github.com/Duoxilian
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@Zac-HD]: https://github.com/Zac-HD
[@aequitas]: https://github.com/aequitas
[@alanfischer]: https://github.com/alanfischer
[@amelchio]: https://github.com/amelchio
[@andersonshatch]: https://github.com/andersonshatch
[@andrey-git]: https://github.com/andrey-git
[@appzer]: https://github.com/appzer
[@arjenfvellinga]: https://github.com/arjenfvellinga
[@armills]: https://github.com/armills
[@aronsky]: https://github.com/aronsky
[@arraylabs]: https://github.com/arraylabs
[@balloob]: https://github.com/balloob
[@bazwilliams]: https://github.com/bazwilliams
[@bimbar]: https://github.com/bimbar
[@bokub]: https://github.com/bokub
[@colinodell]: https://github.com/colinodell
[@danielhiversen]: https://github.com/danielhiversen
[@danielperna84]: https://github.com/danielperna84
[@dennisdegreef]: https://github.com/dennisdegreef
[@dramamoose]: https://github.com/dramamoose
[@ericgingras]: https://github.com/ericgingras
[@fabaff]: https://github.com/fabaff
[@finish06]: https://github.com/finish06
[@fronzbot]: https://github.com/fronzbot
[@groth-its]: https://github.com/groth-its
[@happyleavesaoc]: https://github.com/happyleavesaoc
[@ishults]: https://github.com/ishults
[@janLo]: https://github.com/janLo
[@jawilson]: https://github.com/jawilson
[@jjmontestl]: https://github.com/jjmontestl
[@jmvermeulen]: https://github.com/jmvermeulen
[@joe248]: https://github.com/joe248
[@jumpkick]: https://github.com/jumpkick
[@kellerza]: https://github.com/kellerza
[@lindsaymarkwawrd]: https://github.com/lindsaymarkwawrd
[@martinfrancois]: https://github.com/martinfrancois
[@masarliev]: https://github.com/masarliev
[@mezz64]: https://github.com/mezz64
[@milaq]: https://github.com/milaq
[@molobrakos]: https://github.com/molobrakos
[@open-homeautomation]: https://github.com/open-homeautomation
[@postlund]: https://github.com/postlund
[@pschmitt]: https://github.com/pschmitt
[@pvizeli]: https://github.com/pvizeli
[@reedriley]: https://github.com/reedriley
[@robbiet480]: https://github.com/robbiet480
[@rytilahti]: https://github.com/rytilahti
[@scipioni]: https://github.com/scipioni
[@shaftoe]: https://github.com/shaftoe
[@shenning00]: https://github.com/shenning00
[@siebert]: https://github.com/siebert
[@tchellomello]: https://github.com/tchellomello
[@titilambert]: https://github.com/titilambert
[@valentinalexeev]: https://github.com/valentinalexeev
[@vroomfonde1]: https://github.com/vroomfonde1
[@wardcraigj]: https://github.com/wardcraigj
[@zhelev]: https://github.com/zhelev
[main chat channel]: https://gitter.im/home-assistant/home-assistant
[@dale3h]: https://github.com/dale3h
[@CCOSTAN]: https://github.com/CCOSTAN
[@skalavala]: https://github.com/skalavala
[@rrubin0]: https://github.com/rrubin0
[@brahmafear]: https://github.com/brahmafear
[@bassclarinetl2]: https://github.com/bassclarinetl2
[@torn8o]: https://github.com/torn8o
[forum]: https://community.home-assistant.io/
[gitter]: https://gitter.im/home-assistant/home-assistant
[issue]: https://github.com/home-assistant/home-assistant/issues
[EFF]: https://www.eff.org
[hass-shirt]: https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB