Merge branch 'rc' into current

This commit is contained in:
Paulus Schoutsen 2018-09-28 16:53:14 +02:00
commit 47d0901d9f
55 changed files with 1560 additions and 84 deletions

View File

@ -141,14 +141,14 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 78
current_patch_version: 3
date_released: 2018-09-22
current_minor_version: 80
current_patch_version: 0
date_released: 2018-09-24
# 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-0783---september-22"
patch_version_notes: ""
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View File

@ -0,0 +1,69 @@
---
layout: page
title: "Logi Circle Camera"
description: "Instructions on how to integrate your Logi Circle cameras within Home Assistant."
date: 2018-09-08 11:00
sidebar: true
comments: false
sharing: true
footer: true
logo: logi_circle.png
ha_category: Camera
ha_release: 0.79
ha_iot_class: "Cloud Polling"
---
The `logi_circle` camera platform allows you to watch the still frames of your [Logi Circle](https://circle.logi.com/) camera's live stream in Home Assistant.
<p class='note'>
You must have the [Logi Circle component](/components/logi_circle/) configured to use this camera platform.
</p>
Logi Circle cameras support the `camera.turn_on` and `camera.turn_off` services. This will set the streaming mode property of your camera accordingly, controlling whether the live stream is available and activity recordings are captured.
## {% linkable_title Configuration %}
Once you have enabled the [Logi Circle component](/components/logi_circle), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
camera:
- platform: logi_circle
```
Configuration variables:
- **scan_interval**: (*Optional*): How frequently to query for new camera stills. Defaults to 60 seconds.
### {% linkable_title Service `camera.logi_circle_livestream_record` %}
Initiates a recording of the camera's live stream.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to initiate a recording for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `filename ` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}.mp4`{% endraw %}. |
| `duration` | no | Duration of recording, in seconds.
The path part of `filename` must be an entry in the `whitelist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
### {% linkable_title Service `camera.logi_circle_livestream_snapshot` %}
Take a snapshot from a camera's live stream. This differs from the generic [snapshot](/components/camera/#service-snapshot) service in that it sources the snapshot from the camera's live stream. For battery powered devices, this will wake your camera from sleep to perform this action.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to create a live stream snapshot from, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `filename` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}.jpg`{% endraw %}. |
The path part of `filename` must be an entry in the `whitelist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
### {% linkable_title Service `camera.logi_circle_set_config` %}
Sets an configuration property for your camera.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to set the operation mode for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `mode` | no | Configuration property to set. Allowed values: `BATTERY_SAVING`, `LED`, `PRIVACY_MODE` |
| `value` | no | Mode value. Allowed values: `true`, `false` |

View File

@ -30,4 +30,5 @@ Configuration variables:
- **topic** (*Required*): MQTT topic to subscribe to.
- **name** (*Optional*): Name of the camera
- **unique_id** (*Optional*): An ID that uniquely identifies this camera. If two cameras have the same unique ID, Home Assistant will raise an exception.

View File

@ -0,0 +1,26 @@
---
layout: page
title: "deCONZ Covers"
description: "Instructions on how to integrate Zigbee covers from deCONZ into Home Assistant."
date: 2018-09-20 23:32
sidebar: true
comments: false
sharing: true
footer: true
logo: deconz.jpeg
ha_category: Cover
ha_release: "0.79"
ha_iot_class: "Local Push"
---
See the [deCONZ main component](/components/deconz/) for configuration instructions.
Covers are devices like ventilation dampers.
Note that devices in the cover platform identify as lights, so there is a manually curated list that defines which "lights" are covers.
The `entity_id` name will be `cover.device_name`, where `device_name` is defined in deCONZ.
#### {% linkable_title Verified supported covers %}
- Keen vents

View File

@ -15,7 +15,7 @@ The display style of each entity can be modified in the [customize section](/get
| Attribute | Default | Description |
| --------- | ------- | ----------- |
| `device_class` | | `none` Generic cover device<br>`window` Window controller<br>`garage` Garage door controller
| `device_class` | | `none` Generic cover device<br>`damper` Ventilation damper controller<br>`garage` Garage door controller<br>`window` Window controller
| `assumed_state` | `false` | If set to `true`, cover buttons will always be enabled
## {% linkable_title Services %}

View File

@ -16,9 +16,11 @@ ha_iot_class: "Local Polling"
The `bbox` platform offers presence detection by looking at connected devices to a [Bbox](https://fr.wikipedia.org/wiki/Bbox) based router from [Bouygues](https://www.bouyguestelecom.fr/), which is one of the main Internet provider in France.
<p class='note'>
Bbox is a generic name for different hardware routers. The platform has only been tested on a Sagem F@st 5330b because it's the only model the developer owns.
</p>
Bbox is a generic name for different hardware routers. The platform has been tested with the following devices:
- Sagem F@st 5330b
## {% linkable_title Configuration %}
To use an Bbox router in your installation, add the following to your `configuration.yaml` file:
@ -28,8 +30,17 @@ device_tracker:
- platform: bbox
```
{% configuration %}
host:
description: IP address of your Bbox device.
required: false
type: string
default: 192.168.1.254
{% endconfiguration %}
<p class='note warning'>
For now and due to third party limitation, the Bbox must be on the same local network as the Home Assistant installation. And with the default IP configuration (IP of the router must be 192.168.1.254).
For now and due to third party limitation, the Bbox must be on the same local network as the Home Assistant installation.
</p>
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -13,10 +13,6 @@ ha_iot_class: "Local Poll"
ha_release: 0.27
---
<p class='note warning'>
We have received <a href='https://github.com/home-assistant/home-assistant/issues/4442'>numerous reports</a> that this integration will have a big impact on the performance of the server.
</p>
This tracker discovers new devices on boot and in regular intervals and tracks Bluetooth low-energy devices periodically based on interval_seconds value. It is not required to pair the devices with each other.
Devices discovered are stored with 'BLE_' as the prefix for device mac addresses in `known_devices.yaml`.
@ -24,7 +20,7 @@ Devices discovered are stored with 'BLE_' as the prefix for device mac addresses
This platform requires pybluez to be installed. On Debian based installs, run
```bash
$ sudo apt install bluetooth libbluetooth-dev pkg-config libboost-python-dev libboost-thread-dev libglib2.0-dev python-dev
$ sudo apt install bluetooth
```
Before you get started with this platform, please note that:
@ -42,9 +38,7 @@ device_tracker:
Configuration variables:
- **device_id** (*Optional*): The device ID for the Bluetooth device to be used for tracking. Defaults to `hci0`.
- **track_new_devices** (*Optional*): If new discovered devices are tracked by default. Defaults to `True`.
- **scan_duration** (*Optional*): How long should the scanner be looking for BLE devices. Defaults to `10` seconds.
- **interval_seconds** (*Optional*): Seconds between each scan for new devices. Defaults to `12` seconds.
As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times.
@ -59,12 +53,6 @@ $ sudo apt-get install libcap2-bin
$ sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\``
```
If you have installed Home Assistant with [AIO](/getting-started/installation-raspberry-pi-all-in-one/), you need to do the following command, this will grant access to Home Assistant to run the required command.
```bash
$ sudo setcap cap_net_raw,cap_net_admin+eip /srv/homeassistant/homeassistant_venv/bin/python3
```
A restart of Home Assistant is required.
For additional configuration variables check the [Device tracker page](/components/device_tracker/).

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Huawei LTE Router Device Tracker"
description: "Instructions on how to use Huawei LTE routers to track devices within Home Assistant."
date: 2018-09-08 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: huawei.svg
ha_category: Presence Detection
ha_release: 0.79
---
This platform offers presence detection by looking at connected devices to a [Huawei LTE router](https://consumer.huawei.com/en/smart-home/).
This requires you to have set up the [Huawei LTE component](/components/huawei_lte/).
## {% linkable_title Configuration %}
To enable the sensor, add the following lines to your
`configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: huawei_lte
```
See the [device tracker component page](/components/device_tracker/)
for instructions how to configure the people to be tracked.

View File

@ -0,0 +1,45 @@
---
layout: page
title: "EDP re:dy"
description: "Instructions on how to integrate the EDP re:dy platform into Home Assistant."
date: 2018-09-04 16:30
sidebar: true
comments: false
sharing: true
footer: true
logo: edp_redy.png
ha_category: Hub
ha_release: "0.79"
ha_iot_class: "Cloud Polling"
---
[EDP re:dy](https://www.edp.pt/particulares/servicos/redy/) is a Home Automation platform from Portuguese energy provider EDP, that allows control of appliances and other devices, as well as monitoring power consumption. This component allows integrating EDP re:dy into Home Assistant.
## {% linkable_title Configuration %}
You will need your re:dy login information (username and password) to use this component.
To set it up, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
edp_redy:
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: The username for accessing your re:dy account.
required: true
type: string
password:
description: The password for accessing your re:dy account.
required: true
type: string
{% endconfiguration %}
After configuring the component, it will automatically add to Home Assistant:
* A switch per toggleable device (switch, plug, etc).
* A sensor per each device that reports power consumption (SmartMeter, plug, meter)

View File

@ -0,0 +1,57 @@
---
layout: page
title: "GeoJSON Events"
description: "Instructions on how to integrate GeoJSON feeds into Home Assistant."
date: 2018-09-19 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: geo_location.png
ha_category: Geo Location
ha_iot_class: "Cloud Polling"
ha_release: "0.79"
---
The `geo_json_events` platform lets you integrate GeoJSON feeds. It retrieves events from a feed and shows information of those events filtered by distance to Home Assistant's location.
All entries in the GeoJSON feed must define a `geometry` which typically is a point or polygon with geo coordinates. In addition, this platform will look for a `title` key in the entry's `properties` and use that as the entity's name.
Entities are generated, updated and removed automatically with each update from the GeoJSON feed. Each entity defines latitude and longitude and will be shown on the map automatically. The distance in kilometers is available as the state of each entity.
The data is updated every 5 minutes.
## {% linkable_title Configuration %}
To integrate a GeoJSON feed, add the following lines to your `configuration.yaml`. This is an example configuration showing [earthquake data provided by the U.S. Geological Survey](https://earthquake.usgs.gov/earthquakes/feed/v1.0/geojson.php).
```yaml
# Example configuration.yaml entry
geo_location:
- platform: geo_json_events
url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
```
{% configuration %}
url:
description: Full URL of the GeoJSON feed.
required: true
type: string
radius:
description: The distance in kilometers around the Home Assistant's coordinates in which events are considered.
required: false
type: string
default: 20km
{% endconfiguration %}
## {% linkable_title Advanced Configuration Example %}
When integrating several GeoJSON feeds, it may be useful to distinguish the entities of different feeds. The easiest way to do that is by defining an [`entity_namespace`](/docs/configuration/platform_options/#entity-namespace/) for each platform which will prefix each entity ID with the defined value.
```yaml
# Example configuration.yaml entry
geo_location:
- platform: geo_json_events
url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
radius: 250
entity_namespace: 'usgs_earthquakes'
```

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
ha_category: Other
logo: geo_location.png
ha_release: "0.78"
---

View File

@ -272,6 +272,7 @@ The following components are currently supported:
| sensor | TemperatureSensor | All sensors that have `Celsius` or `Fahrenheit` as their `unit_of_measurement` or `temperature` as their `device_class`. |
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. |
| sensor | AirQualitySensor | All sensors that have `pm25` as part of their `entity_id` or `pm25` as their `device_class` |
| sensor | CarbonMonoxideSensor | All sensors that have `co` as their `device_class` |
| sensor | CarbonDioxideSensor | All sensors that have `co2` as part of their `entity_id` or `co2` as their `device_class` |
| sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` |
| switch | Switch | Represented as a switch by default but can be changed by using `type` within `entity_config`. |

View File

@ -65,9 +65,11 @@ authtoken:
- homematicip_cloud.binary_sensor
- Window and door contact (*HmIP-SWDO*)
- Rotary Handle Sensor (*HmIP-SRH*)
- Smoke sensor and alarm (*HmIP-SWSD*)
- Motion detectors (*HmIP-SMI*)
- Motion detectors and push button (*HmIP-SMI55*)
- Water detector (*HmIP-SWD*)
- homematicip_cloud.climate
- Radiator thermostat (*HmIP-eTRV,-2*)
@ -82,6 +84,7 @@ authtoken:
- Wall-mounted thermostat (*HmIP-WTH*)
- Temperature and humidity sensor (*HmIP-STH*)
- Temperature and humidity Sensor with display (*HmIP-STHD*)
- Outdoor temperature and humidity sensor (*HmIP-STHO*)
- Illuminance sensor (*HmIP-SMI, 55*)
- homematicip_cloud.switch

View File

@ -0,0 +1,49 @@
---
layout: page
title: "Huawei LTE Routers"
description: "Instructions on how to integrate Huawei LTE routers with Home Assistant."
date: 2018-09-08 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: huawei.svg
ha_category: Network
ha_release: 0.79
---
The Huawei LTE router integration for Home Assistant allows you to observe
and control [Huawei LTE routers](https://consumer.huawei.com/en/smart-home/).
The integration provides:
* a sensor with device, signal, and traffic information
* a device tracker for connected devices
## {% linkable_title Configuration %}
To enable the component, add the following lines to your
`configuration.yaml` file:
```yaml
# Example configuration.yaml entry
huawei_lte:
- url: http://192.168.100.1/
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
url:
description: URL of the router web interface.
required: true
type: url
username:
description: The username used for the router web interface.
required: true
type: string
password:
description: The password used for the router web interface.
required: true
type: string
{% endconfiguration %}

View File

@ -83,6 +83,11 @@ devices:
description: The name of the device used in the front end.
required: false
default: automatically generated
inverse:
type: boolean
description: Inverts the open/closed meaning of a binary sensor circuit. Commonly needed for normally open wired smoke alarm circuits.
required: false
default: false
switches:
description: A list of actuators (on/off switches) connected to the device. See [Konnected Switch](/components/switch.konnected/) for configuration variables.
required: false
@ -133,6 +138,7 @@ konnected:
- zone: 2
type: smoke
name: 'Bedroom Smoke Detector'
inverse: true
- zone: 3
type: motion
name: 'Test Motion'
@ -182,6 +188,9 @@ Konnected runs on an ESP8266 board with the NodeMCU firmware. It is commonly use
### {% linkable_title Revision History %}
#### 0.79
* Added `inverse` configuration option for binary sensors.
#### 0.77
* Added support for momentary and beep/blink switches. [[#15973](https://github.com/home-assistant/home-assistant/pull/15973)]
* Decouple entity initialization from discovery, enabling devices to recover faster after a Home Assistant reboot. [[#16146](https://github.com/home-assistant/home-assistant/pull/16146)]

View File

@ -56,6 +56,10 @@ name:
required: false
type: string
default: MQTT JSON Light
unique_id:
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
required: false
type: string
command_topic:
description: The MQTT topic to publish commands to change the lights state.
required: true

View File

@ -28,7 +28,7 @@ light:
name: Living Room
transition: 1000
use_music_mode: True #(defaults to False)
save_on_change: False #(defaults to True)
save_on_change: True #(defaults to False)
192.168.1.13:
name: Front Door
```
@ -39,7 +39,7 @@ Configuration variables:
- **name** (*Optional*): A friendly name for the device.
- **transition** (*Optional*, default 350): Smooth transitions over time (in ms).
- **use_music_mode** (*Optional*, default False): Enable music mode.
- **save_on_change** (*Optional*, default True): Saves the bulb state when changed from Home Assistant.
- **save_on_change** (*Optional*, default False): Saves the bulb state in its nonvolatile memory when changed from Home Assistant.
#### {% linkable_title Music mode %}
Per default the bulb limits the amount of requests per minute to 60, a limitation which can be bypassed by enabling the music mode. In music mode the bulb is commanded to connect back to a socket provided by the component and it tries to keep the connection open, which may not be wanted in all use-cases.

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Logi Circle"
description: "Instructions on how to integrate your Logi Circle cameras within Home Assistant."
date: 2018-09-08 11:00
sidebar: true
comments: false
sharing: true
footer: true
logo: logi_circle.png
ha_category: Camera
ha_release: 0.79
ha_iot_class: "Cloud Polling"
---
The `logi_circle` implementation allows you to integrate your [Logi Circle](https://circle.logi.com/) cameras in Home Assistant.
## {% linkable_title Configuration %}
To integrate cameras linked with your [Logi Circle](https://circle.logi.com/) account, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
logi_circle:
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: The username for accessing your Logi Circle account.
required: true
type: string
password:
description: The password for accessing your Logi Circle account.
required: true
type: string
{% endconfiguration %}
Finish its configuration by visiting the [Logi Circle camera](/components/camera.logi_circle/) or [Logi Circle sensor](/components/sensor.logi_circle/) documentation.

View File

@ -0,0 +1,15 @@
---
layout: page
title: "Asterisk Call Data Recorder"
description: "Instructions on how to integrate an Asterisk CDR within Home Assistant."
date: 2018-09-12 06:30
sidebar: true
comments: false
sharing: true
footer: true
logo: asterisk.png
ha_category: Mailbox
ha_release: 0.79
---
The Asterisk Call Data Recorder provides access to Asterisk call logs on the Asterisk PBX server. This mailbox is enabled automatically through the [Asterisk Voicemail component](/components/asterisk_mbox/) configuration if the `asterisk_mbox_server` is configured to provide CDR data. More information on configuring the server can be found in the [Asterisk PBX configuration guide](/docs/asterisk_mbox/).

View File

@ -10,15 +10,14 @@ footer: true
logo: nfandroidtv.png
ha_category: Notifications
ha_release: 0.32
ha_iot_class: "Local Polling"
---
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google).
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g. security cam) is supported too.
The notifications are in the global scope of your Android TV device. They will be displayed regardless of which application is running.
When setting this up be aware, that there are two apps: one for your smartphone to send notifications (not required for this platform) and one for your Android TV device to receive the notifications. The app available in the store of your target device is the one that is needed to display notifications sent from Home Assistant. The In-App purchases only apply to the client for Android smartphones, so there isn't any limit when pushing notifications from Home Assistant.
When setting this up be aware, that there are two apps: one for your smartphone to send notifications (not required for this platform) and one for your Android TV device to receive the notifications. The app available in the store of your Android TV device is the one that is needed to display notifications sent from Home Assistant. The In-App purchases only apply to the client for Android smartphones, so there isn't any limit when pushing notifications from Home Assistant.
To enable the notification platform, add the following to your `configuration.yaml` file:
@ -35,6 +34,7 @@ Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **host** (*Required*): IP address of the Android TV / FireTV device.
- **duration** (*Optional*): The duration in seconds for which the notification will be displayed. Default is 5 seconds.
- **fontsize** (*Optional*): Has to be one of: small, medium (default), large, max
- **position** (*Optional*): Has to be one of: bottom-right (default), bottom-left, top-right, top-left, center
- **color** (*Optional*): Has to be one of: grey (default), black, indigo, green, red, cyan, teal, amber, pink
- **transparency** (*Optional*): Has to be one of: 0%, 25% (default), 50%, 75%, 100%
@ -48,6 +48,7 @@ This is a fully customized JSON you can use to test how the final notification w
"message": "Messagetext",
"title": "My Notification",
"data":{
"fontsize": "large",
"position":"center",
"duration":2,
"transparency":"0%",
@ -56,3 +57,48 @@ This is a fully customized JSON you can use to test how the final notification w
}
}
```
### {% linkable_title Service data for sending images %}
The following attributes can be placed inside `data` to send images.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `file` | yes | Groups the attributes for file upload. If present, either `url` or `path` have to be provided.
| `path ` | yes | Local path of an image file. Is placed inside `file`.
| `url` | yes | URL of an image file. Is placed inside `file`.
| `username` | yes | Username if the url requires authentication. Is placed inside `file`.
| `password` | yes | Password if the url requires authentication. Is placed inside `file`.
| `auth` | yes | If set to `digest` HTTP-Digest-Authentication is used. If missing, HTTP-BASIC-Authentication is used. Is placed inside `file`.
Example for posting file from URL:
```json
{
"message":"Messagetext",
"title":"My Notification",
"data":{
"file":{
"url":"http://[url to image file]",
"username":"optional user, if necessary",
"password":"optional password, if necessary",
"auth":"digest"
}
}
}
```
Example for posting file from local path:
```json
{
"message":"Messagetext",
"title":"My Notification",
"data":{
"file":{
"path":"/path/to/file.ext"
}
}
}
```
Please note that `path` is validated against the `whitelist_external_dirs` in the `configuration.yaml`.

View File

@ -0,0 +1,18 @@
---
layout: page
title: "EDP re:dy Sensor"
description: "Instructions on how to integrate the EDP re:dy sensors into Home Assistant."
date: 2018-09-04 16:30
sidebar: true
comments: false
sharing: true
footer: true
logo: edp_redy.png
ha_category: Sensor
ha_release: "0.79"
ha_iot_class: "Cloud Polling"
---
See the [EDP re:dy main component](/components/edp_redy/) for configuration instructions.
This sensor platform will provide a sensor per each EDP re:dy device that reports power consumption (SmartMeter, plug, meter).

View File

@ -0,0 +1,51 @@
---
layout: page
title: "Huawei LTE Router Sensor"
description: "Instructions on how to integrate Huawei LTE router sensors into Home Assistant."
date: 2018-09-08 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: huawei.svg
ha_category: Network
ha_iot_class: "Local Polling"
ha_release: 0.79
---
The `huawei_lte` sensor platform allows you to monitor Huawei LTE routers.
This requires you to have set up the [Huawei LTE component](/components/huawei_lte/).
## {% linkable_title Configuration %}
To enable the sensor, add the following lines to your
`configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: huawei_lte
monitored_conditions:
- device_information.SoftwareVersion
- device_signal.rssi
- traffic_statistics.CurrentDownloadRate
- traffic_statistics.TotalConnectTime
```
Configuration variables:
**monitored_conditions** array (*Optional*): Defines the data to monitor as sensors. Defaults to a few generally available data items expected to be available on most boxes. The names here are dot separated paths to information returned by the router. The data set varies by router model; to see what your router provides, set logging level to debug and watch homeassistant.components.huawei_lte debug entries. The following list contains a few example paths just to illustrate the syntax; these may not be available on all routers or their semantics may differ, and there are quite likely many more that are not listed here.
- **device_information.SoftwareVersion**: Software version.
- **device_information.WanIPAddress**: WAN interface IP address.
- **device_information.WanIPv6Address**: WAN interface IP address.
- **device_signal.rsrq**: The signal RSRQ value.
- **device_signal.rsrp**: The signal RSRP value.
- **device_signal.rssi**: The signal RSSI value.
- **device_signal.sinr**: The signal SINR value.
- **traffic_statistics.CurrentDownloadRate**: Current download rate, bytes/sec.
- **traffic_statistics.CurrentUploadRate**: Current upload rate, bytes/sec.
- **traffic_statistics.TotalUpload**: Total bytes uploaded since last reset.
- **traffic_statistics.TotalDownload**: Total bytes downloaded since last reset.
- **traffic_statistics.TotalConnectTime**: Total time connected since last reset.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "iOS"
description: "Instructions on how to use the iOS sensors with Home Assistant."
date: 2018-04-06 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: apple.png
ha_category: Sensor
featured: false
ha_release: 0.31
ha_iot_class: push
---
The `ios` component is the Home Assistant part for using the iOS companion app. For further details please check the [iOS section](/docs/ecosystem/ios/) in the documentation for further details.

View File

@ -0,0 +1,103 @@
---
layout: page
title: "Jewish Calendar"
description: "Instructions on how to integrate the Jewish Calendar sensor within Home Assistant."
date: 2018-09-09 00:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Calendar
ha_iot_class: "Local Poll"
ha_release: "0.79"
---
The Jewish Calendar (`jewish_calendar`) sensor platform displays a variety of information related to the Jewish Calendar as a variety of sensors.
## {% linkable_title Configuration %}
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: jewish_calendar
```
{% configuration %}
language:
required: false
default: hebrew
description: Whether to represent the sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishri 5779).
type: string
latitude:
required: false
description: Latitude for time calculations of the sensor.
default: Home Assistant location
type: int
longitude:
required: false
description: Longitude for time calculations of the sensor.
default: Home Assistant location
type: int
disapora:
required: false
description: Consider the location as diaspora or not for calculation of the weekly portion and holidays.
default: False
type: string
sensors:
required: false
default: date
description: List of available sensors.
keys:
date:
description: Show the hebrew date for today.
weekly_portion:
description: Show the weekly portion (parshat hashavu'a) - _At the moment only shows up on Saturday's_.
holiday_name:
description: If it is a holiday, show the name of the holiday.
holyness:
description: On a scale of 1 to 9 show the level of holyness _(see below)_.
first_light:
description: First light of dawn (Alot Hashachar - עלות השחר).
gra_end_shma:
description: Last time for reading of the Shma according to the GR"A.
mga_end_shma:
description: Last time for reading of the Shma according to the MG"A.
plag_mincha:
description: Time of the Plag Hamincha.
first_stars:
description: Time at which the first stars are visible (Tset Hakochavim - צאת הכוכבים).
{% endconfiguration %}
### {% linkable_title Holyness levels %}
1. Mido'rayta - by Torah ordination (Rosh Hashana, Yom Kippur, Pesach, Shavuot, Sukkot)
2. Erev Yom Kippur
3. Hol Hamo'ed
4. Hanukka and Purim
5. Fast days
6. Yom Yerushalayim and Yom Haatsmaut
7. Lag ba'omer and Tu bishvat
8. Memorial days: yom hazikaron and yom hashoah
9. Days mentioned by the Israeli parliament: Rabin memorial day, Ze'ev Zhabotinsky day, etc.
## {% linkable_title Full configuration sample %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: jewish_calendar
language: english
disapora: True
sensors:
- date
- weekly_portion
- holiday_name
- holyness
- first_light
- gra_end_shma
- mga_end_shma
- plag_mincha
- first_stars
```

View File

@ -0,0 +1,41 @@
---
layout: page
title: "Linky Sensor"
description: "Instructions on how to integrate Linky daily data within Home Assistant."
date: 2018-09-06 08:35
sidebar: true
comments: false
sharing: true
footer: true
logo: enedis.png
ha_release: 0.79
ha_category: Energy
ha_iot_class: "Cloud Polling"
---
The `linky` sensor platform is showing the last day consumption of your home from the [Linky electric meter](https://www.enedis.fr/english).
## {% linkable_title Configuration %}
To add the Linky sensor to your installation, add your Enedis account credentials to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: linky
username: YOUR_LINKY_USERNAME
password: YOUR_LINKY_PASSWORD
```
{% configuration %}
username:
description: The Enedis account username.
required: true
type: string
password:
description: The Enedis account password.
required: true
type: string
{% endconfiguration %}

View File

@ -0,0 +1,43 @@
---
layout: page
title: "Logi Circle Sensor"
description: "Instructions on how to integrate your Logi Circle cameras within Home Assistant."
date: 2018-09-08 11:00
sidebar: true
comments: false
sharing: true
footer: true
logo: logi_circle.png
ha_category: Camera
ha_release: 0.79
ha_iot_class: "Cloud Polling"
---
The `logi_circle` sensor platform lets you monitor sensors connected to your [Logi Circle](https://circle.logi.com) cameras in Home Assistant.
<p class='note'>
You must have the [Logi Circle component](/components/logi_circle/) configured to use this sensor platform.
</p>
## {% linkable_title Configuration %}
Once you have enabled the [Logi Circle component](/components/logi_circle), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: logi_circle
```
Configuration variables:
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions supported by your camera will be enabled.
- **battery_level**: Return the battery level percentage from the camera.
- **last_activity_time**: Return the timestamp from the last time the Logi Circle camera detected any activity.
- **privacy_mode**: Return the privacy mode status from the camera.
- **signal_strength_category**: Return the WiFi signal level from the camera.
- **signal_strength_percentage**: Return the WiFi signal percentage from the camera.
- **speaker_volume**: Return the relative speaker volume from the camera (0-100%).
- **streaming_mode**: Return the streaming mode status from the camera.
Currently it supports all 1st and 2nd generation cameras. Cameras without an internal battery will not expose a `battery_level` sensor.

View File

@ -51,9 +51,11 @@ To add this platform to your installation, add the following to your `configurat
sensor:
- platform: netdata
resources:
system.load:
load:
data_group: system.load
element: load15
system.cpu:
cpu:
data_group: system.cpu
element: system
```
@ -78,19 +80,19 @@ resources:
required: true
type: map
keys:
data_group:
description: "Name of the data group to monitor, e.g., `system.cpu`."
name:
description: Name to use for the sensor in the frontend.
required: true
type: string
keys:
data_group:
description: "Name of the data group to monitor, e.g., `system.cpu`."
required: true
type: string
element:
description: The element of the group to monitor.
required: true
type: string
name:
description: Name to use for the sensor in the frontend.
required: false
type: string
default: element name
icon:
description: Icon to use for the sensor.
required: false

View File

@ -0,0 +1,80 @@
---
layout: page
title: "Starling Bank"
description: "How to integrate your Starling Bank account within Home Assistant."
date: 2018-09-07 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: starlingbank.png
ha_category: Finance
featured: false
ha_release: "0.79"
ha_iot_class: "Cloud Polling"
---
The Starling Bank sensor platform allows you to monitor your account balance data as sensors in Home Assistant.
* Turn off the lights when money's tight?
* Play a song when you reach a savings goal?
* Sound an alarm if you go into your overdraft?
You can find more information about Starling Bank at [their website](https://www.starlingbank.com/). Information on their API can be found on their [developers site](https://developer.starlingbank.com/).
## {% linkable_title Access Token %}
Once you have your own Starling bank account you will need to sign up for a Staring developer account [here](https://developer.starlingbank.com/signup). You won't need to do any development but you will need to get a "Personal Access Token" that will allow the integration to access your account balance.
<p class='note info'>
You control what access is granted using this token. This integration only needs very basic access (see below).
</p>
Once you've signed up:
1. Head to the [Personal Access Section](https://developer.starlingbank.com/personal/token) of your developer account.
2. Click "Create Token".
3. Give your token a name e.g. "Home Assistant".
4. Tick the permissions "account:read" and "balance:read". The others you can leave un-ticked.
5. Click "Create" and make a note of the newly created token, you will need this for your Home Assistant configuration.
## {% linkable_title Configuration %}
To add Starling account balance sensors to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: starlingbank
accounts:
- access_token: YOUR_PERSONAL_ACCESS_TOKEN
```
{% configuration %}
accounts:
description: A list of Starling accounts. Allows you to monitor multiple Starling accounts.
required: true
type: list
name:
description: A friendly name for your account.
required: false
type: string
default: Starling
sandbox:
description: For test purposes. Set to true if you are using an access token for a sandbox Starling account.
required: false
default: false
type: boolean
access_token:
description: Your personal access token.
required: true
type: string
balance_types:
description: Choose to monitor your cleared or effective balance (or both).
required: false
type: list
default: Both balance types will be monitored.
keys:
cleared_balance:
description: Excludes outstanding transactions.
effective_balance:
description: Includes outstanding transactions.
{% endconfiguration %}

View File

@ -14,6 +14,7 @@ ha_iot_class: "Cloud Polling"
---
The `tibber` sensor provides the current electricity price if you are a [Tibber](https://tibber.com/) customer.
If you have a Tibber Pulse it will also show the electricity consumption in real time.
To add Tibber to your installation, add the following to your `configuration.yaml` file:

View File

@ -13,6 +13,6 @@ ha_iot_class: "Local Push"
ha_release: 0.78
---
The `velbus` sensor allows you to control [Velbus](http://www.velbus.eu) connected temperature sensors.
The `velbus` sensor allows you to control [Velbus](http://www.velbus.eu) connected sensors.
For hub configuration, see [the Velbus component](/components/velbus/).

View File

@ -0,0 +1,18 @@
---
layout: page
title: "EDP re:dy Switch"
description: "Instructions on how to integrate the EDP re:dy switches into Home Assistant."
date: 2018-09-04 16:30
sidebar: true
comments: false
sharing: true
footer: true
logo: edp_redy.png
ha_category: Switch
ha_release: "0.79"
ha_iot_class: "Cloud Polling"
---
See the [EDP re:dy main component](/components/edp_redy/) for configuration instructions.
This switch platform will provide a switch per toggleable EDP re:dy device (switch, plug, etc).

View File

@ -32,5 +32,12 @@ name:
description: The name used to display the switch in the frontend.
required: false
type: string
flip_on_off:
description: Option to flip the on/off state.
required: false
type: boolean
default: false
{% endconfiguration %}
The component is tested with SwitchMate Lighting Control Rocker and SwitchMate Lighting Control Toggle.

View File

@ -17,6 +17,10 @@ redirect_from: /components/sensor.neato/
The `neato` vacuum platform allows you to control your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/).
The status will contain attributes on the robots last clean session.
<p class='note'>
If you notice the robot stops responding to commands check the status attribute to see if the robot is offline. If you see "Robot Offline" check the Neato app and make sure your robot is connected and working. If it is not then follow the steps in the app to reset your robot and give it the same name as before then restart Home Assistant.
</p>
To add `neato` vacuum to your installation, please follow instructions in [Neato component](/components/neato/).
Currently supported services are:

View File

@ -13,21 +13,27 @@ ha_iot_class: "Local Push"
ha_release: "0.50"
---
The `velbus` component supports the Velbus USB and serial gateways.
The `velbus` component supports the Velbus USB, Velbus serial and a TCP/IP gateway.
## {% linkable_title Configuration %}
The gateway needs to be configured by adding the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
# Example configuration.yaml entry for a USB or serial interface
velbus:
port: '/dev/ttyUSB00'
```
```yaml
# Example configuration.yaml entry for a TCP/IP interface
velbus:
port: '127.0.0.1:3678'
```
{% configuration %}
port:
description: The port where your board is connected to your Home Assistant host. The port will be most likely named `ttyUSB*`.
description: The port where your board is connected to your Home Assistant host.
required: true
type: string
{% endconfiguration %}

View File

@ -58,11 +58,15 @@ name:
required: false
type: string
default: Open Sky
mode:
description: "The forecast type. Can be `hourly` or `daily`."
required: false
type: string
default: hourly
{% endconfiguration %}
<p class='note'>
This platform is an alternative to the [`darksky`](/components/sensor.darksky/)
sensor.
This platform is an alternative to the [`darksky`](/components/sensor.darksky/) sensor.
</p>
Details about the API are available in the [Dark Sky documentation](https://darksky.net/dev/docs).

View File

@ -0,0 +1,44 @@
---
layout: page
title: "Met.no"
description: "Instructions on how to integrate Met.no within Home Assistant."
date: 2018-09-17 09:00
sidebar: true
comments: false
sharing: true
footer: true
logo: metno.png
ha_category: Weather
ha_release: 0.79
ha_iot_class: "Cloud Polling"
---
The `met` platform uses the [Met.no](https://met.no/) web service as a source for meteorological data for your location. The weather forecast is delivered by the Norwegian Meteorological Institute and the NRK.
## {% linkable_title Configuration %}
To add Met to your installation, add the following to your `configuration.yaml` file:
```yaml
weather:
- platform: met
```
{% configuration %}
latitude:
description: Manually specify latitude. By default the value will be taken from the Home Assistant configuration.
required: false
type: number
default: Provided by Home Assistant configuration
longitude:
description: Manually specify longitude. By default the value will be taken from the Home Assistant configuration.
required: false
type: number
default: Provided by Home Assistant configuration
altitude:
description: Manually specify altitude. By default the value will be taken from the Home Assistant configuration.
required: false
type: number
default: Provided by Home Assistant configuration
{% endconfiguration %}

View File

@ -141,6 +141,7 @@ The Wink hub, by default, can only be accessed via the cloud. This means it requ
- GoControl siren and strobe
- Dome siren/chime/strobe
- Quirky Nimbus (Legacy device) These can no longer be officialy added to your Wink account
### {% linkable_title Service `set_siren_auto_shutoff` %}
@ -286,3 +287,55 @@ script:
data:
enabled: False
```
### {% linkable_title Service `set_nimbus_dial_state` %}
You can use the service wink/set_nimbus_dial_state to update an individual dial's value/position and it's labels
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of chime/chime.
| `value` | no | A number, should be between the dials min and max value (See set_nimbus_dial_configuration below)
| `labels` | yes | A list of strings the first being the value set on the dial's face and the second being the value on the dial face when the Nimbus is pressed
Example:
```yaml
script:
set_dial_1_value:
sequence:
- service: wink.set_nimbus_dial_state
data:
entity_id: wink.nimbus_dial_1
value: 150
labels:
- "Dial 1"
- "150"
```
### {% linkable_title Service `set_nimbus_dial_configuration` %}
You can use the service wink/set_nimbus_dial_configuration to update an individual dial's configuration.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of chime/chime.
| `rotation` | yes | One of "cw" or "ccw" the direction the dial hand should rotate.
| `ticks` | yes | A positive number, the number of times the hand should move.
| `scale` | yes | One of "linear" or "log" How the dial should move in response to higher values.
| `min_value` | yes | A number, the minimum value that the dial can have.
| `max_value` | yes | A number, the maximum value that the dial can have.
| `min_position` | yes | A number generally [0-360], the minimum position for the dial's hand.
| `max_value` | yes | A number generally [0-360], the maximum position for the dial's hand.
Example:
```yaml
script:
set_dial_1_value:
sequence:
- service: wink.set_nimbus_dial_state
data:
entity_id: wink.nimbus_dial_1
rotation: 'ccw'
```

View File

@ -56,6 +56,8 @@ Before beginning make sure that you have the following:
mbox_path = PATH_TO_VOICEMAIL_FILES
cache_file = PATH_TO_CACHE_FILE
google_key = GOOGLE_API_KEY
cdr = mysql+pymysql://<mysql-user>:<mysql-password>@localhost/asterisk/cdr
```
- **host** (*Optional*): The IP address to listen on for client requests. This defaults to all IP addresses on the server. To listen only locally, choose `127.0.0.1`
@ -64,6 +66,7 @@ Before beginning make sure that you have the following:
- **mbox\_path** (*Required*): The path to the storage location of mailbox files. This is typically `/var/spool/asterisk/voicemail/default/<mailbox>/`
- **cache\_file** (*Required*): A fully-qualified path to a file thht can be written by the server containing transcriptions of voicemails. Example: `/var/spool/asterisk/transcription.cache`
- **google\_key** (*Required*): Your 40 characters Google API key.
- **cdr** (*Optional*): Where to find CDR data. Supports various SQL databases as well as a file log. Configuring the CDR will enable the `asterisk_cdr` platfom.
Once complete, ensure this file is only accessible by the Asterisk user:

View File

@ -42,7 +42,7 @@ Below is a list of the currently available auth providers.
[Time-based One-Time Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm) is widely adopted in modern authencation system, it combines a secret key with the current timestamp using a cryptographic hash function to generate a one-time password. Whoever possessed the secret key will get same one-time password in certain time period. By verifying that password, Home Assistant knows the user have the right secrt key.
When trying to set up TOTP module, a QR code will show up. The user can scan it by an authenticator app, or set it up manually using the code showed in the UI. After setup, the user needs to input a six digit number generated in the autendicator app to verify the setup is good. If the verification keeps failing, you need to check whether the clock on Home Assistant is accurate.
When trying to set up TOTP module, a QR code will show up. The user can scan it by an authenticator app, or set it up manually using the code showed in the UI. After setup, the user needs to input a six digit number generated in the authenticator app to verify the setup is good. If the verification keeps failing, you need to check whether the clock on Home Assistant is accurate.
There are several authenticator apps on the market, we recommend either [Google Authenticator](https://support.google.com/accounts/answer/1066447) or [Authy](https://authy.com/).
@ -52,6 +52,8 @@ Please treat the secret key like a password, never expose it to others.
By default, one TOTP multi-factor named "Authenticator app" will be auto loaded if no `auth_mfa_modules` configuration section defined in the `configuration.yaml` file.
By default one TOTP multi-factor auth module named "Authenticator app" will be auto loaded if no `auth_mfa_modules` config section defined in `configuration.yaml`.
Example of configuration:
```yaml
@ -59,3 +61,39 @@ homeassistant:
auth_mfa_modules:
- type: totp
```
### {% linkable_title Notify mutli-factor authentication module %}
Notify MFA module using [notify component](https://www.home-assistant.io/components/notify/) to delivery a [HMAC-based One-Time Password](https://en.wikipedia.org/wiki/HMAC-based_One-time_Password_algorithm) to user configured target.
User need first set up the MFA module by select one of the aviliable notify service. A 6 digit one-time password will be sent by this notify service, user need to input it to verify the setup.
During the login process, an 8 digit one-time password will be sent again, user need to input it to verify his/her identity. If the validation failed, a new one-time password will be sent again.
<p class='note'>
Notify MFA module would not verify the one-time password deliveried success, so that if user cannot received the message due any reason, he/she may not be login again. Edit or remove `[your_config_dir]/.storage/auth_module.notify` can disable nofiy MFA module to resolve the issue.
</p>
Example of configuration
```yaml
homeassistant:
auth_mfa_modules:
- type: notify
```
Optional configuration variables:
- **exclude** (*Optional*): The list of notify services you do not want to include in.
- **include** (*Optional*): The list of notify services you want to include in.
- **message** (*Optional*): The message template
```yaml
# Example configure with message template
homeassistant:
auth_mfa_modules:
- type: totp
name: Authenticator app
- type: notify
message: 'I almost forget, to get into my clubhouse, you need to say {}'
```

View File

@ -63,9 +63,8 @@ light:
There are some rules for packages that will be merged:
1. Component names may only use the basic form (e.g., `switch`, but not `switch 1` or `switch aa`).
2. Platform based components (`light`, `switch`, etc) can always be merged.
3. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file.
1. Platform based components (`light`, `switch`, etc) can always be merged.
2. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file.
For example if we have the following in the main config. You are not allowed to re-use "my_input" again for `input_boolean` in a package:
@ -73,7 +72,7 @@ There are some rules for packages that will be merged:
input_boolean:
my_input:
```
4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] can only be merged if its keys, except those for lists, are solely defined once.
3. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] can only be merged if its keys, except those for lists, are solely defined once.
<p class='note tip'>
Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name.

View File

@ -25,7 +25,6 @@ Supported by MQTT discovery:
- [Sensors](/components/sensor.mqtt/)
- [Switches](/components/switch.mqtt/)
To enable MQTT discovery, add the following to your `configuration.yaml` file:
```yaml
@ -52,6 +51,8 @@ The discovery topic need to follow a specific format:
The payload will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`.
An empty payload will cause a previously discovered device to be deleted.
The `<node_id>` level can be used by clients to only subscribe to their own (command) topics by using one wildcard topic like `<discovery_prefix>/+/<node_id>/+/set`.
### {% linkable_title Support by third-party tools %}
@ -82,6 +83,12 @@ Update the state.
$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/state" -m ON
```
Delete the sensor by sending an empty message.
```bash
$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/state" -m ''
```
Setting up a switch is similar but requires a `command_topic` as mentioned in the [MQTT switch documentation](/components/switch.mqtt/).
- Configuration topic: `homeassistant/switch/irrigation/config`

View File

@ -41,6 +41,36 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro
* **Test Node** sends no_op test messages to the node. This could in theory bring back a dead node.
* **Node Information** this will display the Z-Wave entity card with information about the node:
* **averageRequestRTT** The average Round Trip Time (RTT) of requests sent to the node, in milliseconds. A value of 250, for example, is a quarter of a second.
* **averageResponseRTT** The average Round Trip Time of responses to requests
* **battery_level** *Battery powered devices only* - the battery level, which may be rounded to the nearest 10
* **capabilities** A comma separated list of the capabilities of the device
* **friendly_name** The name you specified to be displayed
* **is_awake** Whether the device is awake or not
* **is_failed** Whether the device has been marked as failed. The controller won't try to contact failed devices.
* **is_info_received** True once the controller has received the node information from the node.
* **is_ready** When you start the network (or Home Assistant) it will take a short while before all devices are ready, this shows which aren't yet ready.
* **is_zwave_plus** True for any Z-Wave Plus devices (note that controllers always report *false*, regardless of whether they are Plus devices or not)
* **lastRequestRTT** The Round Trip Time of the last request
* **lastResponseRTT** The Round Trip Time of the response to the last request
* **manufacturer_name** The name of the manufacturer, as supplied by OpenZWave
* **max_baud_rate** The maximum bandwidth the device supports, most modern devices will support 40,000 or higher
* **node_id** The unique node ID of this node
* **node_name** The base name of this node, this is used to build the entity ID of all entities of this node
* **product_name** The product name of the device, as supplied by OpenZWave
* **query_stage** The query stage for this device (see [here](/docs/z-wave/query-stage/) for details)
* **receivedCnt** The number of messages received from the device
* **receivedDups** The number of duplicate messages received from the device
* **receivedTS** The date and time the last message was received from the devices
* **receivedUnsolicited** How many unsolicited messages were received
* **retries** How many retries have been made to send messages to this node
* **sentCnt** How many messages have been sent to the node
* **sentFailed** How many messages that were sent weren't acknowledged
* **sentTS** The date and time the last message was sent to the ndoe
* **wake_up_interval** *Battery powered devices only* - the wakeup interval of the device, in seconds
<p class='note'>
Battery powered devices need to be awake before you can use the Z-Wave control panel to update their settings. How to wake your device is device specific, and some devices will stay awake for only a couple of seconds. Please refer to the manual of your device for more details.
</p>
@ -58,38 +88,6 @@ The **Polling intensity** says how many poll intervals does is this device polle
You can also exclude a Z-Wave devices from Home Assistant. You can do that if you have a device that you need to have on the Z-Wave network, but you don't want it to appear in Home Assistant, or if you've got a device that's failed and you're unable to exclude it.
### {% linkable_title Node Information %}
This will display the Z-Wave related information about the node:
* **averageRequestRTT** The average Round Trip Time (RTT) of requests sent to the node, in milliseconds. A value of 250, for example, is a quarter of a second.
* **averageResponseRTT** The average Round Trip Time of responses to requests
* **battery_level** *Battery powered devices only* - the battery level, which may be rounded to the nearest 10
* **capabilities** A comma separated list of the capabilities of the device
* **friendly_name** The name you specified to be displayed
* **is_awake** Whether the device is awake or not
* **is_failed** Whether the device has been marked as failed. The controller won't try to contact failed devices.
* **is_info_received** True once the controller has received the node information from the node.
* **is_ready** When you start the network (or Home Assistant) it will take a short while before all devices are ready, this shows which aren't yet ready.
* **is_zwave_plus** True for any Z-Wave Plus devices (note that controllers always report *false*, regardless of whether they are Plus devices or not)
* **lastRequestRTT** The Round Trip Time of the last request
* **lastResponseRTT** The Round Trip Time of the response to the last request
* **manufacturer_name** The name of the manufacturer, as supplied by OpenZWave
* **max_baud_rate** The maximum bandwidth the device supports, most modern devices will support 40,000 or higher
* **node_id** The unique node ID of this node
* **node_name** The base name of this node, this is used to build the entity ID of all entities of this node
* **product_name** The product name of the device, as supplied by OpenZWave
* **query_stage** The query stage for this device (see [here](/docs/z-wave/query-stage/) for details)
* **receivedCnt** The number of messages received from the device
* **receivedDups** The number of duplicate messages received from the device
* **receivedTS** The date and time the last message was received from the devices
* **receivedUnsolicited** How many unsolicited messages were received
* **retries** How many retries have been made to send messages to this node
* **sentCnt** How many messages have been sent to the node
* **sentFailed** How many messages that were sent weren't acknowledged
* **sentTS** The date and time the last message was sent to the ndoe
* **wake_up_interval** *Battery powered devices only* - the wakeup interval of the device, in seconds
### {% linkable_title Node Values %}
Contains a list of available values of the selected node, and it's instances.
@ -164,4 +162,5 @@ for c in sys.argv[1]:
## {% linkable_title OZW Log %}
If you want to only retrieve some lines at the end of the log, you can specify that with the selection field. Max is the last 1000 lines and minimum is 0 which equals the whole log. If this is not specified, you will retrieve the whole log.
Select **Refresh** to display the log if you need it to check activities.
Select **Load** to open a new window with the static log.
Select **Tail** to open a new window with a tailing log with the last specified lines of the log. This is a self updating window.

View File

@ -38,6 +38,10 @@ state_image:
required: false
description: "Map entity states to images (`state: image URL`, check the example below)."
type: object
aspect_ratio:
required: false
description: "Forces the height of the image to be a ratio of the width. You may enter a value such as: `16x9`, `16:9`, `1.78`."
type: string
name:
required: false
description: Overwrite entity name.

View File

@ -51,6 +51,10 @@ state_image:
type: string
required: false
description: "`state: image-url`, check the example below."
aspect_ratio:
required: false
description: "Forces the height of the image to be a ratio of the width. You may enter a value such as: `16x9`, `16:9`, `1.78`."
type: string
entity:
required: false
description: Entity to use for `state_image`.

View File

@ -0,0 +1,534 @@
---
layout: post
title: "0.79: Device Registry, Logi Circle, Huawei LTE routers, GeoJSON"
description: "Home Assistant is now able to show the devices and entities that belong to an integration."
date: 2018-09-27 00:01:00
date_formatted: "September 28, 2018"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2018-09-release-0.79/components.png
---
<p class='note'>
In case you missed it two weeks ago, check [our plans for the future](/blog/2018/09/17/thinking-big/).
</p>
<a href='/components/#version/0.79'><img src='/images/blog/2018-09-release-0.79/components.png' style='border: 0;box-shadow: none;'></a>
It's time for another great release and we're introducing a brand new feature: device registry. This allows integrations to tell Home Assistant not only about entities, but also which devices the entities represent. It also allows integrations to tell Home Assistant how a device is connected to Home Assistant. For example, a Hue light bulb is connected to Home Assistant via the Hue hub.
<p class='img'>
<img src='/images/blog/2018-09-release-0.79/integrations.png' alt='Screenshot showing several configured integrations'>
Screenshot showing several configured integrations in the configuration panel.
</p>
Adding devices to the mix allows us to do a lot of cool things. It allows us to group entities and show how they relate to one another. It will also allow us to inform the user if data leaves the home network and shows the firmware version that the device is running on.
<p class='img'>
<img src='/images/blog/2018-09-release-0.79/config_entry.png' alt='Screenshot showing the devices of a config entry'>
Screenshot showing the devices of the iOS integration.
</p>
Devices can only be added by integrations that are configured via the integrations panel in the config panel. So we've also been expanding the integrations that support that. This release brings support to iOS, MQTT and Tradfri.
<p class='img'>
<img src='/images/blog/2018-09-release-0.79/mqtt.png' alt='Screenshot showing how to configure MQTT via UI'>
Screenshot showing how to configure MQTT via UI
</p>
And this is not all! There is so much more. In an effort to make the quality of an integration more clear, we've added an [Integration Quality Scale](/docs/quality_scale/). With this scale we'll be able to clearly communicate to the user how good an integration is and it gives developers a list on how to improve it. Expect these levels to pop up in the integration list soon.
And did you think we forgot about auth? We did not. [@awarecan] has added a new multi-factor auth module that will send you a one-time authentication code to finish your login, **with a notification service of your choice**. PushBullet, Hangouts, iOS app, some obscure custom notification service using a shell script? It's possible.
Oh, and yes, there is also some cool new integrations. Support has been added for Logi Circle camera's, GeoJSON events and even a bank. More below 👇
## {% linkable_title New Platforms %}
- Add Huawei LTE router platform, device tracker, and sensor ([@scop] - [#16498]) ([device_tracker docs]) ([huawei_lte docs]) ([sensor.huawei_lte docs]) (new-platform)
- New EDP re:dy component ([@abmantis] - [#16426]) ([edp_redy docs]) ([sensor.edp_redy docs]) ([switch.edp_redy docs]) (new-platform)
- Jewish calendar sensor ([@tsvi] - [#16393]) ([sensor.jewish_calendar docs]) (new-platform)
- Added support for Starling Bank ([@Dullage] - [#16522]) ([sensor.starlingbank docs]) (new-platform)
- Add Call Data Log platform. Mailboxes no longer require media ([@PhracturedBlue] - [#16579]) ([asterisk_mbox docs]) ([mailbox docs]) ([mailbox.asterisk_cdr docs]) ([mailbox.asterisk_mbox docs]) (new-platform)
- Add Logi Circle component, camera and sensor platform ([@evanjd] - [#16540]) ([logi_circle docs]) ([camera.logi_circle docs]) ([sensor.logi_circle docs]) (new-platform)
- deCONZ cover support ([@Kane610] - [#16759]) ([cover docs]) ([deconz docs]) ([cover.deconz docs]) (new-platform)
- GeoJSON platform ([@exxamalte] - [#16610]) ([geo_location docs]) (new-platform)
- Add linky sensor ([@tiste] - [#16468]) ([sensor.linky docs]) (new-platform)
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). 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](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
<!--more-->
## {% linkable_title Breaking Changes %}
- Netdata configuration change: Allows multiple elements per group. Specify the `data_group` as part of the sensor description. See docs for details. ([@reefab] - [#16656]) ([sensor.netdata docs]) (breaking change)
- The Dyson sensor Air Quality Index is now named AQI following Dyson's mobile app ([@glpatcern] - [#14550]) ([sensor.dyson docs]) (breaking change)
## {% linkable_title Beta Fixes %}
- Don't warn but info when on dev mode ([@balloob] - [#16831]) ([updater docs]) (beta fix)
- Bump zm-py to 0.0.3 ([@rohankapoorcom] - [#16835]) ([zoneminder docs]) (beta fix)
- Support old tradfri config format ([@balloob] - [#16841]) ([tradfri docs]) (beta fix)
- Allow MQTT discovery ([@balloob] - [#16842]) ([mqtt docs]) (beta fix)
- Add unique ID and device info to Nest camera ([@balloob] - [#16846]) ([camera.nest docs]) (beta fix)
- Device Registry Support for iOS Sensors ([@cgarwood] - [#16862]) ([sensor.ios docs]) (beta fix)
- Fix MQTT discovery ([@balloob] - [#16864]) ([mqtt docs]) (beta fix)
- Make ring sync again ([@balloob] - [#16866]) ([camera.ring docs]) (beta fix)
- Add unique_id to Nest Sensors ([@cgarwood] - [#16869]) ([binary_sensor.nest docs]) ([sensor.nest docs]) (beta fix)
- Prevent discovered Tradfri while already configured ([@balloob] - [#16891]) ([tradfri docs]) (beta fix)
- Handle exception handling websocket command ([@balloob] - [#16927]) ([websocket_api docs]) (beta fix)
## {% linkable_title All changes %}
- Upgrade wakeonlan to 1.1.6 ([@fabaff] - [#16512]) ([wake_on_lan docs]) ([media_player.panasonic_viera docs]) ([media_player.samsungtv docs]) ([switch.wake_on_lan docs])
- Make the Qnap sensor more resilient if server is not reachable ([@mrosseel] - [#16445]) ([sensor.qnap docs])
- Update PyRMVtransport version ([@cgtobi] - [#16547]) ([sensor.rmvtransport docs])
- Isort preparations ([@scop] - [#16555]) ([apple_tv docs]) ([geo_location docs]) ([google_assistant docs]) ([rachio docs]) ([media_player.cast docs]) ([media_player.webostv docs])
- Store notifications in component. Add ws endpoint for fetching. ([@jeradM] - [#16503]) ([http docs]) ([persistent_notification docs])
- Fixes an OpenUV bug with the scan interval ([@bachya] - [#16570]) ([openuv docs])
- Bump pyeconet ([@w1ll1am23] - [#16571]) ([climate.econet docs])
- yr: use async syntax ([@Danielhiversen] - [#16563]) ([sensor.yr docs])
- Notifications for Android TV: Add fontsize and sending images ([@danielperna84] - [#16565]) ([notify docs])
- Upgrade pytest to 3.8.0 and pytest-timeout to 1.3.2 ([@scop] - [#16489])
- Refactor zha/async_device_initialized(). ([@Adminiuga] - [#16485]) ([zha docs])
- Update fan.zha platform. ([@Adminiuga] - [#16551]) ([fan.zha docs])
- Hangouts help "page" and little bugfix ([@hobbypunk90] - [#16464]) ([hangouts docs])
- Konnected component feature updates ([@heythisisnate] - [#16479]) ([konnected docs])
- Add config entry to iOS ([@balloob] - [#16580]) ([ios docs]) ([notify docs])
- Switchmate ([@Danielhiversen] - [#16395]) ([switch.switchmate docs])
- Update pyhomematic to 0.1.48 ([@danielperna84] - [#16588]) ([homematic docs])
- Add configure_reporting() method to zha component ([@Adminiuga] - [#16487]) ([zha docs]) ([binary_sensor.zha docs]) ([sensor.zha docs])
- Allow only_cache parameter in zha.safe_read() ([@Adminiuga] - [#16553]) ([zha docs])
- Update tibber lib version ([@Danielhiversen] - [#16590]) ([sensor.tibber docs])
- xiaomi lib 0.10.0 ([@Danielhiversen] - [#16591]) ([xiaomi_aqara docs])
- Support for the Quirky Nimbus ([@w1ll1am23] - [#16520]) ([wink docs]) ([climate.wink docs])
- Multiple tag managers for Wireless Sensor Tags. ([@sergeymaysak] - [#16353]) ([wirelesstag docs]) ([binary_sensor.wirelesstag docs]) ([sensor.wirelesstag docs]) ([switch.wirelesstag docs])
- Add Huawei LTE router platform, device tracker, and sensor ([@scop] - [#16498]) ([device_tracker docs]) ([huawei_lte docs]) ([sensor.huawei_lte docs]) (new-platform)
- Changing z-wave brightness calculation to respect 0x01 and 0x02 byte values ([@Harvtronix] - [#16420]) ([light.zwave docs])
- Add myself to CODEOWNERS for upcloud ([@scop] - [#16599])
- Add websocket list APIs for the registries ([@balloob] - [#16597]) ([config docs])
- MQTT config entry ([@balloob] - [#16594]) ([hangouts docs]) ([homematicip_cloud docs]) ([mqtt docs])
- Upgrade python-twitch-client to 0.6.0 ([@fabaff] - [#16602]) ([sensor.twitch docs])
- Improve precision of timer ticks ([@amelchio] - [#16598])
- Switch components.sensor.zha to await syntax. ([@Adminiuga] - [#16619]) ([sensor.zha docs])
- Adding support for RTDSContactSensor and RTDSMotionSensor in Tahoma … (RTS Alarms sensors and contacts for Somfy Protexiom alarms) ([@christopheBfr] - [#16609]) ([tahoma docs]) ([sensor.tahoma docs])
- fix bug where momentary switch with activation low does not reset ([@heythisisnate] - [#16603]) ([switch.konnected docs])
- Extracting zoneminder to a new library ([@rohankapoorcom] - [#16527]) ([zoneminder docs]) ([camera.zoneminder docs])
- Add @rohankapoorcom to CODEOWNERS for the zoneminder platform ([@rohankapoorcom] - [#16627])
- Small huawei_lte improvements ([@scop] - [#16626]) ([huawei_lte docs]) ([sensor.huawei_lte docs])
- Upgrade pwmled to 1.3.0 ([@soldag] - [#16624]) ([light.rpi_gpio_pwm docs])
- Clean up MjpegCamera by removing unnused hass object in __init__ ([@rohankapoorcom] - [#16628]) ([camera.axis docs]) ([camera.mjpeg docs]) ([camera.zoneminder docs])
- Update developer doc links to developers.home-assistant.io ([@scop] - [#16622]) ([websocket_api docs])
- Add valid_window=1 to TOTP verify ([@awarecan] - [#16625])
- Add new devices to HomematicIP Cloud ([@mxworm] - [#16636]) ([binary_sensor.homematicip_cloud docs]) ([sensor.homematicip_cloud docs])
- New EDP re:dy component ([@abmantis] - [#16426]) ([edp_redy docs]) ([sensor.edp_redy docs]) ([switch.edp_redy docs]) (new-platform)
- Upgrade Switchmate lib ([@Danielhiversen] - [#16637]) ([switch.switchmate docs])
- Update pyhomematic to 0.1.49 ([@danielperna84] - [#16649]) ([homematic docs])
- Upgrade holidays to 0.9.7 ([@fabaff] - [#16651]) ([binary_sensor.workday docs])
- Fix link to docs ([@fabaff] - [#16652]) ([vacuum.ecovacs docs])
- Log raw result of configure_reporting() command. ([@Adminiuga] - [#16655]) ([zha docs])
- Rework timer delays ([@amelchio] - [#16650])
- Add config entries to connection class ([@balloob] - [#16618])
- Add zha device entity ([@damarco] - [#14579]) ([zha docs])
- Clean up device update, add via-hub ([@balloob] - [#16659])
- Jewish calendar sensor ([@tsvi] - [#16393]) ([sensor.jewish_calendar docs]) (new-platform)
- Fixes an AirVisual bug where response data is missing ([@bachya] - [#16673]) ([sensor.airvisual docs])
- Suppress traceback and log error ([@fabaff] - [#16669]) ([sensor.scrape docs])
- Fix Ecovacs vacuums showing "None" for name ([@OverloadUT] - [#16654]) ([ecovacs docs]) ([vacuum.ecovacs docs])
- Upgrade paho-mqtt to 1.4.0 ([@fabaff] - [#16688]) ([mqtt docs]) ([shiftr docs])
- Streamline log messages ([@gwww] - [#16243])
- Added velbus counter sensors, updated to py-velbus 2.0.20 ([@Cereal2nd] - [#16683]) ([velbus docs]) ([sensor.velbus docs])
- Added support for Starling Bank ([@Dullage] - [#16522]) ([sensor.starlingbank docs]) (new-platform)
- Netdata configuration change: Allows multiple elements per group ([@reefab] - [#16656]) ([sensor.netdata docs]) (breaking change)
- Upgrade mypy to 0.630 ([@scop] - [#16674])
- Use one regex for Hass.io URL check ([@pvizeli] - [#16710]) ([hassio docs])
- Remove usage of "run_until_complete" ([@smurfix] - [#16617])
- More isort preparations ([@scop] - [#16633])
- Use posargs in tox lint env ([@scop] - [#16646])
- Make pylint report non-LF linefeeds per the style guidelines ([@scop] - [#16601])
- Config flow tradfri ([@balloob] - [#16665])
- MyQ Open State Fix ([@geekofweek] - [#16681]) ([cover.myq docs])
- Save disabled_by in entity registry ([@cgarwood] - [#16699])
- Upgrading librouteros version ([@kunago] - [#16718]) ([device_tracker docs])
- Add unique_id to mqtt_json light ([@nikolaykasyanov] - [#16721])
- On-demand update of swiss public transport sensor ([@vikramgorla] - [#16723]) ([sensor.swiss_public_transport docs])
- Upgrade youtube_dl to 2018.09.18 ([@fabaff] - [#16729]) ([media_extractor docs])
- Met.no weather platform ([@Danielhiversen] - [#16582])
- Upgrade keyring to 15.1.0 ([@fabaff] - [#16734])
- Avoid calling yr update every second for a minute ones every hour ([@Danielhiversen] - [#16731]) ([sensor.yr docs])
- Upgrade shodan to 1.10.2 ([@fabaff] - [#16736]) ([sensor.shodan docs])
- Add subscription info endpoint ([@balloob] - [#16727]) ([cloud docs]) ([websocket_api docs])
- Small cleanup for slack ([@pvizeli] - [#16743]) ([notify docs])
- light.zha: Catch exceptions for all commands. ([@Adminiuga] - [#16752]) ([light.zha docs])
- Changed save_on_change to default to False ([@zoe1337] - [#16744]) ([light.yeelight docs])
- Add option to disable specific integrations ([@balloob] - [#16757]) ([alexa docs]) ([cloud docs]) ([google_assistant docs])
- Use pysonos for Sonos media player ([@amelchio] - [#16753]) ([sonos docs]) ([media_player.sonos docs])
- deCONZ add via_hub attribute for device registry ([@Kane610] - [#16760]) ([binary_sensor.deconz docs]) ([light.deconz docs]) ([sensor.deconz docs]) ([switch.deconz docs])
- Upgrade pysonos to 0.0.2 ([@amelchio] - [#16761])
- Fix faulty color temp crashing google ([@balloob] - [#16758]) ([google_assistant docs])
- Add Call Data Log platform. Mailboxes no longer require media ([@PhracturedBlue] - [#16579]) ([asterisk_mbox docs]) ([mailbox docs]) ([mailbox.asterisk_cdr docs]) ([mailbox.asterisk_mbox docs]) (new-platform)
- Implement support for complex templates in script delays ([@rohankapoorcom] - [#16442])
- Add Logi Circle component, camera and sensor platform ([@evanjd] - [#16540]) ([logi_circle docs]) ([camera.logi_circle docs]) ([sensor.logi_circle docs]) (new-platform)
- Zha switch schedule update state ([@Adminiuga] - [#16621]) ([switch.zha docs])
- Add Carbon Monoxide HomeKit Sensor ([@cdce8p] - [#16664]) ([homekit docs])
- Add unique_id to mqtt camera ([@bieniu] - [#16569]) ([camera.mqtt docs])
- Add tradfri device info ([@balloob] - [#16768])
- Make rest sensor and binary sensor more efficient ([@exxamalte] - [#14484]) ([binary_sensor.rest docs]) ([sensor.rest docs])
- Refactored units and icons for the Dyson sensors ([@glpatcern] - [#14550]) ([sensor.dyson docs]) (breaking change)
- Add confirmation to Cast/Sonos/iOS config entries ([@balloob] - [#16769])
- deCONZ cover support ([@Kane610] - [#16759]) ([cover docs]) ([deconz docs]) ([cover.deconz docs]) (new-platform)
- GeoJSON platform ([@exxamalte] - [#16610]) ([geo_location docs]) (new-platform)
- Upgrade restrictedpython to 4.0b5 ([@fabaff] - [#16779]) ([python_script docs])
- Upgrade bimmer_connected to 0.5.2 ([@gerard33] - [#16780]) ([bmw_connected_drive docs])
- Fix Windows loop ([@balloob] - [#16737])
- Fix return to base logic for neato ([@dshokouhi] - [#16776]) ([vacuum.neato docs])
- Update Tibber lib ([@Danielhiversen] - [#16795])
- Bump pybotvac to 0.0.10 ([@dshokouhi] - [#16799]) ([neato docs])
- Bump zm-py up to 0.0.2 ([@rohankapoorcom] - [#16800]) ([zoneminder docs])
- Bump sucks (Ecovacs) lib to 0.9.3 ([@OverloadUT] - [#16803]) ([ecovacs docs]) ([vacuum.ecovacs docs])
- Upgrade zeroconf to 0.21.3 ([@tadly] - [#16789])
- Add Tuya cover state ([@huangyupeng] - [#16709]) ([cover.tuya docs])
- Add configurable host for bbox routers ([@isonet] - [#16778])
- Set botvac state when offline ([@dshokouhi] - [#16805]) ([vacuum.neato docs])
- Handle netgear_lte connection errors ([@amelchio] - [#16806]) ([netgear_lte docs]) ([notify docs]) ([sensor.netgear_lte docs])
- Improve opentherm_gw state detection ([@mvn23] - [#16809]) ([climate.opentherm_gw docs])
- Rework chromecast fix ([@awarecan] - [#16804]) ([media_player.cast docs])
- Add linky sensor ([@tiste] - [#16468]) ([sensor.linky docs]) (new-platform)
- Use pyspcwebgw for SPC component ([@mbrrg] - [#16214]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs])
- Remove discovered MQTT Switch device when discovery topic is cleared ([@emontnemery] - [#16605]) ([mqtt docs]) ([switch.mqtt docs])
- Allow split component definitions in packages ([@thomasloven] - [#16177])
- Add Notify MFA module ([@awarecan] - [#16314])
- Broadlink service name ([@Danielhiversen] - [#16345]) ([switch.broadlink docs])
- Add Python 3.7 classifier ([@scop] - [#16645])
- Allow soundtouch to play https content too ([@robin13] - [#16713]) ([media_player.soundtouch docs])
- Fix some unhandled exceptions due to missing null checks ([@OverloadUT] - [#16812]) ([cover.isy994 docs]) ([light.isy994 docs])
- Don't warn but info when on dev mode ([@balloob] - [#16831]) ([updater docs]) (beta fix)
- Bump zm-py to 0.0.3 ([@rohankapoorcom] - [#16835]) ([zoneminder docs]) (beta fix)
- Support old tradfri config format ([@balloob] - [#16841]) ([tradfri docs]) (beta fix)
- Allow MQTT discovery ([@balloob] - [#16842]) ([mqtt docs]) (beta fix)
- Add unique ID and device info to Nest camera ([@balloob] - [#16846]) ([camera.nest docs]) (beta fix)
- Device Registry Support for iOS Sensors ([@cgarwood] - [#16862]) ([sensor.ios docs]) (beta fix)
- Fix MQTT discovery ([@balloob] - [#16864]) ([mqtt docs]) (beta fix)
- Make ring sync again ([@balloob] - [#16866]) ([camera.ring docs]) (beta fix)
- Add unique_id to Nest Sensors ([@cgarwood] - [#16869]) ([binary_sensor.nest docs]) ([sensor.nest docs]) (beta fix)
- Prevent discovered Tradfri while already configured ([@balloob] - [#16891]) ([tradfri docs]) (beta fix)
- Handle exception handling websocket command ([@balloob] - [#16927]) ([websocket_api docs]) (beta fix)
[#14484]: https://github.com/home-assistant/home-assistant/pull/14484
[#14550]: https://github.com/home-assistant/home-assistant/pull/14550
[#14579]: https://github.com/home-assistant/home-assistant/pull/14579
[#16177]: https://github.com/home-assistant/home-assistant/pull/16177
[#16214]: https://github.com/home-assistant/home-assistant/pull/16214
[#16243]: https://github.com/home-assistant/home-assistant/pull/16243
[#16314]: https://github.com/home-assistant/home-assistant/pull/16314
[#16345]: https://github.com/home-assistant/home-assistant/pull/16345
[#16353]: https://github.com/home-assistant/home-assistant/pull/16353
[#16393]: https://github.com/home-assistant/home-assistant/pull/16393
[#16395]: https://github.com/home-assistant/home-assistant/pull/16395
[#16420]: https://github.com/home-assistant/home-assistant/pull/16420
[#16426]: https://github.com/home-assistant/home-assistant/pull/16426
[#16442]: https://github.com/home-assistant/home-assistant/pull/16442
[#16445]: https://github.com/home-assistant/home-assistant/pull/16445
[#16464]: https://github.com/home-assistant/home-assistant/pull/16464
[#16468]: https://github.com/home-assistant/home-assistant/pull/16468
[#16479]: https://github.com/home-assistant/home-assistant/pull/16479
[#16485]: https://github.com/home-assistant/home-assistant/pull/16485
[#16487]: https://github.com/home-assistant/home-assistant/pull/16487
[#16489]: https://github.com/home-assistant/home-assistant/pull/16489
[#16498]: https://github.com/home-assistant/home-assistant/pull/16498
[#16503]: https://github.com/home-assistant/home-assistant/pull/16503
[#16512]: https://github.com/home-assistant/home-assistant/pull/16512
[#16520]: https://github.com/home-assistant/home-assistant/pull/16520
[#16522]: https://github.com/home-assistant/home-assistant/pull/16522
[#16527]: https://github.com/home-assistant/home-assistant/pull/16527
[#16540]: https://github.com/home-assistant/home-assistant/pull/16540
[#16547]: https://github.com/home-assistant/home-assistant/pull/16547
[#16551]: https://github.com/home-assistant/home-assistant/pull/16551
[#16553]: https://github.com/home-assistant/home-assistant/pull/16553
[#16555]: https://github.com/home-assistant/home-assistant/pull/16555
[#16563]: https://github.com/home-assistant/home-assistant/pull/16563
[#16565]: https://github.com/home-assistant/home-assistant/pull/16565
[#16569]: https://github.com/home-assistant/home-assistant/pull/16569
[#16570]: https://github.com/home-assistant/home-assistant/pull/16570
[#16571]: https://github.com/home-assistant/home-assistant/pull/16571
[#16579]: https://github.com/home-assistant/home-assistant/pull/16579
[#16580]: https://github.com/home-assistant/home-assistant/pull/16580
[#16582]: https://github.com/home-assistant/home-assistant/pull/16582
[#16588]: https://github.com/home-assistant/home-assistant/pull/16588
[#16590]: https://github.com/home-assistant/home-assistant/pull/16590
[#16591]: https://github.com/home-assistant/home-assistant/pull/16591
[#16594]: https://github.com/home-assistant/home-assistant/pull/16594
[#16597]: https://github.com/home-assistant/home-assistant/pull/16597
[#16598]: https://github.com/home-assistant/home-assistant/pull/16598
[#16599]: https://github.com/home-assistant/home-assistant/pull/16599
[#16601]: https://github.com/home-assistant/home-assistant/pull/16601
[#16602]: https://github.com/home-assistant/home-assistant/pull/16602
[#16603]: https://github.com/home-assistant/home-assistant/pull/16603
[#16605]: https://github.com/home-assistant/home-assistant/pull/16605
[#16609]: https://github.com/home-assistant/home-assistant/pull/16609
[#16610]: https://github.com/home-assistant/home-assistant/pull/16610
[#16617]: https://github.com/home-assistant/home-assistant/pull/16617
[#16618]: https://github.com/home-assistant/home-assistant/pull/16618
[#16619]: https://github.com/home-assistant/home-assistant/pull/16619
[#16621]: https://github.com/home-assistant/home-assistant/pull/16621
[#16622]: https://github.com/home-assistant/home-assistant/pull/16622
[#16624]: https://github.com/home-assistant/home-assistant/pull/16624
[#16625]: https://github.com/home-assistant/home-assistant/pull/16625
[#16626]: https://github.com/home-assistant/home-assistant/pull/16626
[#16627]: https://github.com/home-assistant/home-assistant/pull/16627
[#16628]: https://github.com/home-assistant/home-assistant/pull/16628
[#16633]: https://github.com/home-assistant/home-assistant/pull/16633
[#16636]: https://github.com/home-assistant/home-assistant/pull/16636
[#16637]: https://github.com/home-assistant/home-assistant/pull/16637
[#16645]: https://github.com/home-assistant/home-assistant/pull/16645
[#16646]: https://github.com/home-assistant/home-assistant/pull/16646
[#16649]: https://github.com/home-assistant/home-assistant/pull/16649
[#16650]: https://github.com/home-assistant/home-assistant/pull/16650
[#16651]: https://github.com/home-assistant/home-assistant/pull/16651
[#16652]: https://github.com/home-assistant/home-assistant/pull/16652
[#16654]: https://github.com/home-assistant/home-assistant/pull/16654
[#16655]: https://github.com/home-assistant/home-assistant/pull/16655
[#16656]: https://github.com/home-assistant/home-assistant/pull/16656
[#16659]: https://github.com/home-assistant/home-assistant/pull/16659
[#16664]: https://github.com/home-assistant/home-assistant/pull/16664
[#16665]: https://github.com/home-assistant/home-assistant/pull/16665
[#16669]: https://github.com/home-assistant/home-assistant/pull/16669
[#16673]: https://github.com/home-assistant/home-assistant/pull/16673
[#16674]: https://github.com/home-assistant/home-assistant/pull/16674
[#16681]: https://github.com/home-assistant/home-assistant/pull/16681
[#16683]: https://github.com/home-assistant/home-assistant/pull/16683
[#16688]: https://github.com/home-assistant/home-assistant/pull/16688
[#16699]: https://github.com/home-assistant/home-assistant/pull/16699
[#16709]: https://github.com/home-assistant/home-assistant/pull/16709
[#16710]: https://github.com/home-assistant/home-assistant/pull/16710
[#16713]: https://github.com/home-assistant/home-assistant/pull/16713
[#16718]: https://github.com/home-assistant/home-assistant/pull/16718
[#16721]: https://github.com/home-assistant/home-assistant/pull/16721
[#16723]: https://github.com/home-assistant/home-assistant/pull/16723
[#16727]: https://github.com/home-assistant/home-assistant/pull/16727
[#16729]: https://github.com/home-assistant/home-assistant/pull/16729
[#16731]: https://github.com/home-assistant/home-assistant/pull/16731
[#16734]: https://github.com/home-assistant/home-assistant/pull/16734
[#16736]: https://github.com/home-assistant/home-assistant/pull/16736
[#16737]: https://github.com/home-assistant/home-assistant/pull/16737
[#16743]: https://github.com/home-assistant/home-assistant/pull/16743
[#16744]: https://github.com/home-assistant/home-assistant/pull/16744
[#16752]: https://github.com/home-assistant/home-assistant/pull/16752
[#16753]: https://github.com/home-assistant/home-assistant/pull/16753
[#16757]: https://github.com/home-assistant/home-assistant/pull/16757
[#16758]: https://github.com/home-assistant/home-assistant/pull/16758
[#16759]: https://github.com/home-assistant/home-assistant/pull/16759
[#16760]: https://github.com/home-assistant/home-assistant/pull/16760
[#16761]: https://github.com/home-assistant/home-assistant/pull/16761
[#16768]: https://github.com/home-assistant/home-assistant/pull/16768
[#16769]: https://github.com/home-assistant/home-assistant/pull/16769
[#16776]: https://github.com/home-assistant/home-assistant/pull/16776
[#16778]: https://github.com/home-assistant/home-assistant/pull/16778
[#16779]: https://github.com/home-assistant/home-assistant/pull/16779
[#16780]: https://github.com/home-assistant/home-assistant/pull/16780
[#16789]: https://github.com/home-assistant/home-assistant/pull/16789
[#16795]: https://github.com/home-assistant/home-assistant/pull/16795
[#16799]: https://github.com/home-assistant/home-assistant/pull/16799
[#16800]: https://github.com/home-assistant/home-assistant/pull/16800
[#16803]: https://github.com/home-assistant/home-assistant/pull/16803
[#16804]: https://github.com/home-assistant/home-assistant/pull/16804
[#16805]: https://github.com/home-assistant/home-assistant/pull/16805
[#16806]: https://github.com/home-assistant/home-assistant/pull/16806
[#16809]: https://github.com/home-assistant/home-assistant/pull/16809
[#16812]: https://github.com/home-assistant/home-assistant/pull/16812
[#16831]: https://github.com/home-assistant/home-assistant/pull/16831
[#16835]: https://github.com/home-assistant/home-assistant/pull/16835
[#16841]: https://github.com/home-assistant/home-assistant/pull/16841
[#16842]: https://github.com/home-assistant/home-assistant/pull/16842
[#16846]: https://github.com/home-assistant/home-assistant/pull/16846
[#16862]: https://github.com/home-assistant/home-assistant/pull/16862
[#16864]: https://github.com/home-assistant/home-assistant/pull/16864
[#16866]: https://github.com/home-assistant/home-assistant/pull/16866
[#16869]: https://github.com/home-assistant/home-assistant/pull/16869
[#16891]: https://github.com/home-assistant/home-assistant/pull/16891
[#16927]: https://github.com/home-assistant/home-assistant/pull/16927
[@Adminiuga]: https://github.com/Adminiuga
[@Cereal2nd]: https://github.com/Cereal2nd
[@Danielhiversen]: https://github.com/Danielhiversen
[@Dullage]: https://github.com/Dullage
[@Harvtronix]: https://github.com/Harvtronix
[@Kane610]: https://github.com/Kane610
[@OverloadUT]: https://github.com/OverloadUT
[@PhracturedBlue]: https://github.com/PhracturedBlue
[@abmantis]: https://github.com/abmantis
[@amelchio]: https://github.com/amelchio
[@awarecan]: https://github.com/awarecan
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@bieniu]: https://github.com/bieniu
[@cdce8p]: https://github.com/cdce8p
[@cgarwood]: https://github.com/cgarwood
[@cgtobi]: https://github.com/cgtobi
[@christopheBfr]: https://github.com/christopheBfr
[@damarco]: https://github.com/damarco
[@danielperna84]: https://github.com/danielperna84
[@dshokouhi]: https://github.com/dshokouhi
[@emontnemery]: https://github.com/emontnemery
[@evanjd]: https://github.com/evanjd
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@geekofweek]: https://github.com/geekofweek
[@gerard33]: https://github.com/gerard33
[@glpatcern]: https://github.com/glpatcern
[@gwww]: https://github.com/gwww
[@heythisisnate]: https://github.com/heythisisnate
[@hobbypunk90]: https://github.com/hobbypunk90
[@huangyupeng]: https://github.com/huangyupeng
[@isonet]: https://github.com/isonet
[@jeradM]: https://github.com/jeradM
[@kunago]: https://github.com/kunago
[@mbrrg]: https://github.com/mbrrg
[@mrosseel]: https://github.com/mrosseel
[@mvn23]: https://github.com/mvn23
[@mxworm]: https://github.com/mxworm
[@nikolaykasyanov]: https://github.com/nikolaykasyanov
[@pvizeli]: https://github.com/pvizeli
[@reefab]: https://github.com/reefab
[@robin13]: https://github.com/robin13
[@rohankapoorcom]: https://github.com/rohankapoorcom
[@scop]: https://github.com/scop
[@sergeymaysak]: https://github.com/sergeymaysak
[@smurfix]: https://github.com/smurfix
[@soldag]: https://github.com/soldag
[@tadly]: https://github.com/tadly
[@thomasloven]: https://github.com/thomasloven
[@tiste]: https://github.com/tiste
[@tsvi]: https://github.com/tsvi
[@vikramgorla]: https://github.com/vikramgorla
[@w1ll1am23]: https://github.com/w1ll1am23
[@zoe1337]: https://github.com/zoe1337
[alarm_control_panel.spc docs]: /components/alarm_control_panel.spc/
[alexa docs]: /components/alexa/
[apple_tv docs]: /components/apple_tv/
[asterisk_mbox docs]: /components/asterisk_mbox/
[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/
[binary_sensor.nest docs]: /components/binary_sensor.nest/
[binary_sensor.rest docs]: /components/binary_sensor.rest/
[binary_sensor.spc docs]: /components/binary_sensor.spc/
[binary_sensor.wirelesstag docs]: /components/binary_sensor.wirelesstag/
[binary_sensor.workday docs]: /components/binary_sensor.workday/
[binary_sensor.zha docs]: /components/binary_sensor.zha/
[bmw_connected_drive docs]: /components/bmw_connected_drive/
[camera.axis docs]: /components/camera.axis/
[camera.logi_circle docs]: /components/camera.logi_circle/
[camera.mjpeg docs]: /components/camera.mjpeg/
[camera.mqtt docs]: /components/camera.mqtt/
[camera.nest docs]: /components/camera.nest/
[camera.ring docs]: /components/camera.ring/
[camera.zoneminder docs]: /components/camera.zoneminder/
[climate.econet docs]: /components/climate.econet/
[climate.opentherm_gw docs]: /components/climate.opentherm_gw/
[climate.wink docs]: /components/climate.wink/
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[cover docs]: /components/cover/
[cover.deconz docs]: /components/cover.deconz/
[cover.isy994 docs]: /components/cover.isy994/
[cover.myq docs]: /components/cover.myq/
[cover.tuya docs]: /components/cover.tuya/
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[ecovacs docs]: /components/ecovacs/
[edp_redy docs]: /components/edp_redy/
[fan.zha docs]: /components/fan.zha/
[geo_location docs]: /components/geo_location/
[google_assistant docs]: /components/google_assistant/
[hangouts docs]: /components/hangouts/
[hassio docs]: /components/hassio/
[homekit docs]: /components/homekit/
[homematic docs]: /components/homematic/
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
[huawei_lte docs]: /components/huawei_lte/
[ios docs]: /components/ios/
[konnected docs]: /components/konnected/
[light.deconz docs]: /components/light.deconz/
[light.isy994 docs]: /components/light.isy994/
[light.rpi_gpio_pwm docs]: /components/light.rpi_gpio_pwm/
[light.yeelight docs]: /components/light.yeelight/
[light.zha docs]: /components/light.zha/
[light.zwave docs]: /components/light.zwave/
[logi_circle docs]: /components/logi_circle/
[mailbox docs]: /components/mailbox/
[mailbox.asterisk_cdr docs]: /components/mailbox.asterisk_cdr/
[mailbox.asterisk_mbox docs]: /components/mailbox.asterisk_mbox/
[media_extractor docs]: /components/media_extractor/
[media_player.cast docs]: /components/media_player.cast/
[media_player.panasonic_viera docs]: /components/media_player.panasonic_viera/
[media_player.samsungtv docs]: /components/media_player.samsungtv/
[media_player.sonos docs]: /components/media_player.sonos/
[media_player.soundtouch docs]: /components/media_player.soundtouch/
[media_player.webostv docs]: /components/media_player.webostv/
[mqtt docs]: /components/mqtt/
[neato docs]: /components/neato/
[netgear_lte docs]: /components/netgear_lte/
[notify docs]: /components/notify/
[openuv docs]: /components/openuv/
[persistent_notification docs]: /components/persistent_notification/
[python_script docs]: /components/python_script/
[rachio docs]: /components/rachio/
[sensor.airvisual docs]: /components/sensor.airvisual/
[sensor.deconz docs]: /components/sensor.deconz/
[sensor.dyson docs]: /components/sensor.dyson/
[sensor.edp_redy docs]: /components/sensor.edp_redy/
[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
[sensor.huawei_lte docs]: /components/sensor.huawei_lte/
[sensor.ios docs]: /components/sensor.ios/
[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
[sensor.linky docs]: /components/sensor.linky/
[sensor.logi_circle docs]: /components/sensor.logi_circle/
[sensor.nest docs]: /components/sensor.nest/
[sensor.netdata docs]: /components/sensor.netdata/
[sensor.netgear_lte docs]: /components/sensor.netgear_lte/
[sensor.qnap docs]: /components/sensor.qnap/
[sensor.rest docs]: /components/sensor.rest/
[sensor.rmvtransport docs]: /components/sensor.rmvtransport/
[sensor.scrape docs]: /components/sensor.scrape/
[sensor.shodan docs]: /components/sensor.shodan/
[sensor.starlingbank docs]: /components/sensor.starlingbank/
[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
[sensor.tahoma docs]: /components/sensor.tahoma/
[sensor.tibber docs]: /components/sensor.tibber/
[sensor.twitch docs]: /components/sensor.twitch/
[sensor.velbus docs]: /components/sensor.velbus/
[sensor.wirelesstag docs]: /components/sensor.wirelesstag/
[sensor.yr docs]: /components/sensor.yr/
[sensor.zha docs]: /components/sensor.zha/
[shiftr docs]: /components/shiftr/
[sonos docs]: /components/sonos/
[spc docs]: /components/spc/
[switch.broadlink docs]: /components/switch.broadlink/
[switch.deconz docs]: /components/switch.deconz/
[switch.edp_redy docs]: /components/switch.edp_redy/
[switch.konnected docs]: /components/switch.konnected/
[switch.mqtt docs]: /components/switch.mqtt/
[switch.switchmate docs]: /components/switch.switchmate/
[switch.wake_on_lan docs]: /components/switch.wake_on_lan/
[switch.wirelesstag docs]: /components/switch.wirelesstag/
[switch.zha docs]: /components/switch.zha/
[tahoma docs]: /components/tahoma/
[tradfri docs]: /components/tradfri/
[updater docs]: /components/updater/
[vacuum.ecovacs docs]: /components/vacuum.ecovacs/
[vacuum.neato docs]: /components/vacuum.neato/
[velbus docs]: /components/velbus/
[wake_on_lan docs]: /components/wake_on_lan/
[websocket_api docs]: /components/websocket_api/
[wink docs]: /components/wink/
[wirelesstag docs]: /components/wirelesstag/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
[zoneminder docs]: /components/zoneminder/

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB