Merge branch 'rc' into current

This commit is contained in:
Paulus Schoutsen 2018-05-11 12:31:07 -04:00
commit 286f800eef
515 changed files with 1132 additions and 154 deletions

View File

@ -139,14 +139,14 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 68
current_patch_version: 1
date_released: 2018-04-30
current_minor_version: 69
current_patch_version: 0
date_released: 2018-05-11
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#release-0681---april-30"
patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View File

@ -2,7 +2,7 @@ module Jekyll
class ConfigurationBlock < Liquid::Block
TYPE_LINKS = {
'action' => '/docs/scripts/',
'device_class' => '/components/%{component}/#device_class',
'device_class' => '/components/%{component}/#device-class',
'template' => '/docs/configuration/templating/',
}

View File

@ -11,6 +11,8 @@ footer: true
Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality.
### {% linkable_title Device Class %}
The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors:
- **None**: Generic on/off. This is the default and doesn't need to be set.

View File

@ -13,7 +13,6 @@ ha_iot_class: "Local Polling"
ha_release: pre 0.7
---
This platform allows you to detect presence by looking at connected devices to a [Netgear](http://www.netgear.com/) device.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
@ -29,10 +28,18 @@ device_tracker:
Configuration variables:
- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. If not provided `routerlogin.net` will be used.
- **username** (*Optional*): The username of an user with administrative privileges. If not provided `admin` will be used.
- **port** (*Optional*): The port your router communicates with (defaults to `5000`, but `80` is also known to be used on some models).
- **url** (*Optional*): The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used.
- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`.
- **port** (*Optional*): The port your router communicates with.
- **username** (*Optional*): The username of a user with administrative privileges. If not provided `admin` will be used.
- **password** (*Required*): The password for your given admin account.
- **devices** (*Optional*): If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI.
- **exclude** (*Optional*): Devices to exclude from the scan.
- **accesspoints** (*Optional*): Also track devices on the specified APs. Only supports MAC address.
When `accesspoints` is specified an extra device will be reported for each device connected to the APs specified here, as `MY-LAPTOP on RBS40`. `Router` will be reported as AP name for the main AP. Only tested with Orbi.
The use of `devices` or `exclude` is recommended when using `accesspoints` to avoid having a lot of entries.
List of models that are known to use port 80:
- Nighthawk X4S - AC2600 (R7800)

View File

@ -32,7 +32,7 @@ Open OwnTracks and go to Connection preferences:
- Mode: Select **Private HTTP**
- Host: [Home Assistant URL]:[port]/api/owntracks/[your name]/[device name]
- Identification: Turn **Authentication** on, username `homeassistant` and password is your API password that you use to login to Home Assistant.
Host example: If I host my Home Assistant at `https://example.duckdns.org`, my name is Paulus and my phone is a Pixel I would set the host to be `https://example.duckdns.org/api/owntracks/paulus/pixel`. This will result in an entity with an ID of `device_tracker.paulus_pixel`. You can pick any name for the user and the device.
Since the battery data is available as an attribute of the device tracker entity, it can be tracked with a [`template` sensor](/components/sensor.template/).
@ -47,17 +47,6 @@ sensor:
friendly_name: Pixel of Paulus
unit_of_measurement: "%"
value_template: '{{ states.device_tracker.paulus_pixel.attributes.battery|int }}'
icon_template: >-
{% set battery_level = states.device_tracker.paulus_pixel.attributes.battery|default(0)|int %}
{% set battery_round = (battery_level / 10) |int * 10 %}
{% if battery_round >= 100 %}
mdi:battery
{% elif battery_round > 0 %}
mdi:battery-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
entity_id:
- device_tracker.paulus_pixel
device_class: battery
```
{% endraw %}

View File

@ -0,0 +1,96 @@
---
layout: page
title: "Template Fan"
description: "Instructions how to setup the Template fans within Home Assistant."
date: 2018-05-03 09:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Fan
ha_release: 0.69
ha_iot_class: "Local Push"
logo: home-assistant.png
---
The `template` platform creates fans that combine components and provides the
ability to run scripts or invoke services for each of the turn_on, turn_off, set_speed, and
set_oscillating commands of a fan.
To enable Template Fans in your installation, add the following to your
`configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
fan:
- platform: template
fans:
bedroom_fan:
friendly_name: "Bedroom fan"
value_template: "{{ states('input_boolean.state') }}"
speed_template: "{{ states('input_select.speed') }}"
oscillating_template: "{{ states('input_select.osc') }}"
turn_on:
service: script.fan_on
turn_off:
service: script.fan_off
set_speed:
service: script.fan_speed
data_template:
speed: "{{ speed }}"
set_oscillating:
service: script.fan_oscillating
data_template:
oscillating: "{{ oscillating }}"
speeds:
- '1'
- '2'
- '3'
```
{% endraw %}
{% configuration %}
fans:
description: List of your fans.
required: true
type: map
keys:
friendly_name:
description: Name to use in the frontend.
required: false
type: string
value_template:
description: "Defines a template to get the state of the fan. Valid value: 'on'/'off'"
required: true
type: template
speed_template:
description: Defines a template to get the speed of the fan.
required: false
type: template
oscillating_template:
description: "Defines a template to get the osc state of the fan. Valid value: True/False"
required: false
type: template
turn_on:
description: Defines an action to run when the fan is turned on.
required: true
type: action
turn_off:
description: Defines an action to run when the fan is turned off.
required: true
type: action
set_speed:
description: Defines an action to run when the fan is given a speed command.
required: false
type: action
set_oscillating:
description: Defines an action to run when the fan is given a osc state command.
required: false
type: action
speeds:
description: List of speeds the fan is capable of running at.
required: false
type: string list
default: ['low', 'medium', 'high']
{% endconfiguration %}

View File

@ -212,11 +212,11 @@ The following components are currently supported:
| device_tracker | Sensor | Support for `occupancy` device class. |
| light | Light | Support for `on / off`, `brightness` and `rgb_color`. |
| lock | DoorLock | Support for `lock / unlock`. |
| sensor | TemperatureSensor | All sensors that have `Celsius` and `Fahrenheit` as their `unit_of_measurement` or `temperature` as their `device_class`. |
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` or `humidity` as their `device_class`. |
| 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 | 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`/`lux` as their `unit_of_measurement` or `light` 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 / remote / input_boolean / script | Switch | All represented as switches. |

View File

@ -15,12 +15,17 @@ ha_iot_class: "Local Polling"
[HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This component should not be confused with the [HomeKit](/components/homekit/) component, which allows you to control Home Assistant devices via HomeKit.
<p class="note warning">
You may need additional packages to support the HomeKit Python module:
`$ sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev`
</p>
There is currently support for the following device types within Home Assistant:
- [Light](/components/light.homekit_controller/)
- [Switch](/components/switch.homekit_controller/)
The component will be automatically configured if the [`discovery:`](components/discovery/) component is enabled and an enable entry added for HomeKit:
The component will be automatically configured if the [`discovery:`](/components/discovery/) component is enabled and an enable entry added for HomeKit:
```yaml
discovery:
@ -28,4 +33,4 @@ discovery:
- homekit
```
For each detected HomeKit accessory, a configuration prompt will appear in the web front end. Use this to provide the HomeKit PIN.
For each detected HomeKit accessory, a configuration prompt will appear in the web front end. Use this to provide the HomeKit PIN. Note that HomeKit accessories can only be paired to one device at once. If your device is currently paired with Siri, you will need to reset it in order to pair it with Home Assistant. Once Home Assistant is configured to work with the device, you can export it back to Siri with the [`HomeKit`](/components/homekit/) component.

View File

@ -63,26 +63,52 @@ a responder or a controller.
In order for any two Insteon devices to talk with one another, they must be
linked. For an overview of device linking please read the Insteon page on
[understanding linking]. Currently Insteon PLM does not support software
linking of devices. If you need software that can link your devices (if you
are using a USB Stick PLM for example), you can download [HouseLinc] which runs
on any Windows PC, or you can use [Insteon Terminal] which is open source and
runs on most platforms. HouseLinc is no longer supported by SmartHome but it
still works. Insteon Terminal is a very useful tool but please read the
disclaimers carefully, they are important.
[understanding linking]. The Insteon PLM module supports All-Linking through
[Development Tools] service calls. The following services are available:
In order for any two Insteon devices to talk with one another, they must be
linked. For an overview of device linking, please read the Insteon page on
[understanding linking]. The Insteon PLM module supports All-Linking through
[Development Tools] service calls. The following services are available:
- **insteon_plm.add_all_link**: Tells the Insteon Modem (IM) start All-Linking
mode. Once the IM is in All-Linking mode, press the link button on the device
to complete All-Linking.
- **insteon_plm.delete_all_link**: Tells the Insteon Modem (IM) to remove an
All-Link record from the All-Link Database of the IM and a device. Once the IM
is set to delete the link, press the link button on the corresponding device
to complete the process.
- **insteon_plm.load_all_link_database**: Load the All-Link Database for a
device. WARNING - Loading a device All-Link database is very time consuming
and inconsistent. This may take a LONG time and may need to be repeated to
obtain all records.
- **insteon_plm.print_all_link_database**: Print the All-Link Database for a
device. Requires that the All-Link Database is loaded into memory.
- **insteon_plm.print_im_all_link_database**: Print the All-Link Database for
the INSTEON Modem (IM).
If you are looking for more advanced options, you can use the
[insteonplm_interactive] command line tool that is distributed with the
[insteonplm] Python module. Please see the documentation on the [insteonplm]
GitHub site. Alternatively, you can download [HouseLinc] which runs on any
Windows PC, or you can use [Insteon Terminal] which is open source and runs
on most platforms. SmartHome no longer supports HouseLinc, but it still
works. Insteon Terminal is a very useful tool but please read the disclaimers
carefully, they are important.
[understanding linking]: http://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking
[Development Tools]: https://www.home-assistant.io/docs/tools/dev-tools/
[HouseLinc]: https://www.smarthome.com/houselinc.html
[Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal
[insteonplm_interactive]: https://github.com/nugget/python-insteonplm#command-line-interface
### {% linkable_title Customization %}
The only configuration item that is absolutely necessary is the port so that
Home Assistant can connect to the PLM. This will expose all the supported INSTEON
devices which exist in the modem's ALL-Link database. However, devices will
only be shown by their INSTEON hex address (e.g., "1A.2B.3C") which can be a bit
unwieldy. As you link and unlink devices using the 'Set' buttons, they'll be
added and removed from Home Assistant automatically.
The only configuration item that is absolutely necessary is the port so that
Home Assistant can connect to the PLM. This will expose all the supported
INSTEON devices which exist in the modems ALL-Link database. However, devices
will only be shown by their INSTEON hex address (e.g., “1A.2B.3C”) which can
be a bit unwieldy. As you link and unlink devices using the Set buttons,
theyll be added and removed from Home Assistant automatically.
You can use the normal Home Assistant [device customization] section of your
configuration to assign friendly names and special icons to your devices. This
@ -123,7 +149,9 @@ insteon_plm:
cat: 0x10
subcat: 0x11
```
### {% linkable_title What NOT to do %}
Insteon PLM is a top level component and device discovery will identify
the Home Assistant platform the device belongs in. As such, do not
declare Insteon devices in other platforms. For example, this configuration
@ -134,4 +162,3 @@ light:
- platform: insteon_plm
address: 1a2b3c
```

View File

@ -196,6 +196,7 @@ payload_not_available:
| RGB Color | ✔ | ✔ | ✔ |
| Transitions | ✘ | ✔ | ✔ |
| XY Color | ✔ | ✔ | ✘ |
| HS Color | ✘ | ✔ | ✘ |
| White Value | ✔ | ✔ | ✔ |
## {% linkable_title Examples %}

View File

@ -23,10 +23,12 @@ This platform supports on/off, brightness, RGB colors, XY colors, color temperat
"color_temp": 155,
"color": {
"r": 255,
"g": 255,
"b": 255,
"x": 0.123,
"y": 0.123
"g": 180,
"b": 200,
"x": 0.406,
"y": 0.301,
"h": 344.0,
"s": 29.412
},
"effect": "colorloop",
"state": "ON",
@ -126,6 +128,11 @@ xy:
required: false
type: boolean
default: false
hs:
description: Flag that defines if the light supports HS colors.
required: false
type: boolean
default: false
availability_topic:
description: The MQTT topic subscribed to receive availability (online/offline) updates.
required: false
@ -147,7 +154,7 @@ payload_not_available:
</p>
<p class='note warning'>
XY and RGB can not be used at the same time. If both are provided, XY overrides RGB.
RGB, XY and HSV can not be used at the same time in `state_topic` messages. Make sure that only one of the color models is in the "color" section of the state MQTT payload.
</p>
## {% linkable_title Comparison of light MQTT platforms %}
@ -161,6 +168,7 @@ payload_not_available:
| RGB Color | ✔ | ✔ | ✔ |
| Transitions | ✘ | ✔ | ✔ |
| XY Color | ✔ | ✔ | ✘ |
| HS Color | ✘ | ✔ | ✘ |
| White Value | ✔ | ✔ | ✔ |
## {% linkable_title Examples %}
@ -215,7 +223,32 @@ Home Assistant will then convert its 8bit value in the message to and from the d
```json
{
"brightness": 4095,
"state": "ON"
}
```
### {% linkable_title HS Color %}
To use a light with hue+saturation as the color model, set `hs` to `true` in the platform configuration:
```yaml
light:
- platform: mqtt_json
name: mqtt_json_hs_light
state_topic: "home/light"
command_topic: "home/light/set"
hs: True
```
Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade:
```json
{
"state": "ON",
"color": {
"h": 24.0,
"s": 100.0
}
}
```

View File

@ -132,6 +132,7 @@ payload_not_available:
| RGB Color | ✔ | ✔ | ✔ |
| Transitions | ✘ | ✔ | ✔ |
| XY Color | ✔ | ✔ | ✘ |
| HS Color | ✘ | ✔ | ✘ |
| White Value | ✔ | ✔ | ✔ |
## {% linkable_title Examples %}

View File

@ -0,0 +1,136 @@
---
layout: page
title: "Matrix"
description: "Matrix chatbot support"
date: 2018-03-25 18:50
sidebar: true
comments: false
sharing: true
footer: true
logo: matrix.png
ha_category: Hub
ha_version: 0.69
---
This component allows you to send messages to matrix rooms, as well as to react to messages in matrix rooms. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered.
```yaml
# Example configuration.yaml entry
matrix:
homeserver: https://matrix.org
username: "@my_matrix_user:matrix.org"
password: supersecurepassword
rooms:
- "#hasstest:matrix.org"
commands:
- word: my_command
name: my_command
```
Configuration variables:
{% configuration %}
username:
description: "The matrix username that home assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes."
required: true
type: string
password:
description: The password for your Matrix account.
required: true
type: string
homeserver:
description: "The full URL for your homeserver. If you use the defauls matrix.org homeserver, this is 'https://matrix.org'."
required: true
type: string
verify_ssl:
description: Verify the homeservers certificate.
required: false
type: string
default: true
rooms:
description: "The list of rooms that the bot should join and listen for commands (see below) in. While you can limit the list of rooms that a certain command applies to on a per-command basis (see below), you must still list all rooms here that commands should be received in. Rooms can be given either by their internal ID (e.g., '!cURbafjkfsMDVwdRDQ:matrix.org') or any of their aliases (e.g., '#matrix:matrix.org')."
required: false
type: [string]
default: empty
commands:
description: "A list of commands that the bot should listen for. If a command is triggered (via its *word* or *expression*, see below), an event is fired that you can handle using automations. Every command consists of these possible configuration options:"
required: false
type: map
default: empty
keys:
word:
description: "Specifies a word that the bot should listen for. If you specify 'my_command' here, the bot will react to any message starting with '!my_command'."
required: false
type: string
expression:
description: "Specifies a regular expression (in python regexp syntax) that the bot should listen to. The bot will react to any message that matches the regular expression."
required: false
type: string
name:
description: "The name of the command. This will be an attribute of the event that is fired when this command triggers."
required: true
type: string
rooms:
description: "A list of rooms that the bot should listen for this command in. If this is not given, the *rooms* list from the main config is used. Please note that every room in this list must also be in the main *room* config."
required: false
type: [string]
default: empty
{% endconfiguration %}
### {% linkable_title Event Data %}
If a command is triggered, a `matrix_command` event is fired. The event contains the name of the command in the `name` field. If the command is a word command that has no name set, the `name` field contains the word instead.
If the command is a word command, the `data` field contains a list of the command's arguments, i.e., everything that stood behind the word, split at spaces. If the command is an expression command, the `data` field contains the [group dictionary](https://docs.python.org/3.6/library/re.html?highlight=re#re.match.groupdict) of the regular expression that matched the message.
### {% linkable_title Comprehensive Configuration Example %}
This example also uses the [matrix `notify` platform](/components/notify.matrix/).
```yaml
# The Matrix component
matrix:
homeserver: https://matrix.org
username: "@my_matrix_user:matrix.org"
password: supersecurepassword
rooms:
- "#hasstest:matrix.org"
- "#someothertest:matrix.org"
commands:
- word: testword
rooms:
- "#someothertest:matrix.org"
- expression: "My name is (?P<name>.*)"
name: introduction
notify:
- name: matrix_notify
platform: matrix
default_room: "#hasstest:matrix.org"
automation:
- alias: 'React to !testword'
trigger:
platform: event
event_type: matrix_command
event_data:
command: testword
action:
service: notify.matrix_notify
data:
message: 'It looks like you wrote !testword'
- alias: 'React to an introduction'
trigger:
platform: event
event_type: matrix_command
event_data:
command: introduction
action:
service: notify.matrix_notify
data_template:
message: "Hello {{trigger.event.data.name}}"
```
This configuration will:
- Listen for "!testword" in the room "#someothertest:matrix.org" (and *only*) there. If such a message is encountered, it will answer with "It looks like you wrote !testword" into the "#hasstest:matrix.org" channel.
- Listen in both rooms for any message matching "My name is <any string>" and answer with "Hello <the string>" into "#hasstest:matrix.org".

View File

@ -12,12 +12,11 @@ ha_category: Media Player
ha_release: 0.41
---
The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player
from Home Assistant.
The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player from Home Assistant.
The preferred way to set up the Volumio platform is by enabling the [discovery component](/components/discovery/).
To add a Volumio player to your installation, add the following to
your `configuration.yaml` file.
In case the discovery does not work, or you need specific configuration variables, you can add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View File

@ -17,27 +17,21 @@ The `matrix` platform allows you to deliver notifications from Home Assistant to
## {% linkable_title Configuration %}
To enable Matrix notifications in your installation, add the following to your `configuration.yaml` file:
To enable Matrix notifications in your installation, you first need to configure
the [Matrix component](/components/matrix/). Then, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: matrix
homeserver: HOMESERVER
username: YOUR_USERNAME
password: YOUR_PASSWORD
default_room: ROOM_ID_OR_ALIAS
```
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`.
- **homeserver** (*Required*): The base URL of the homeserver, where the notifier account is registered (e.g., `https://matrix.org`).
- **username** (*Required*): The username of the notifying Matrix account.
- **password** (*Required*): The password for the given Matrix account.
- **default_room** (*Required*): The room all messages will be sent to, when no other target is given.
- **verify_ssl** (*Optional*): Verify the homeservers certificate. Defaults to `true`.
The target room has to be precreated, the room id can be obtained from the rooms settings dialog. Rooms by default have a canonical id of the form `"!<randomid>:homeserver.tld"`, but can also be allocated aliases like `"#roomname:homeserver.tld"`. Make sure to use quotes around the room id or alias to escape special characters (`!`, and `#`) in YAML. The notifying account may need to be invited to the room, depending on the individual rooms policies.

View File

@ -0,0 +1,71 @@
---
layout: page
title: "RainMachine"
description: "Instructions on how to integrate RainMachine units within Home Assistant."
date: 2018-04-25 20:32
sidebar: true
comments: false
sharing: true
footer: true
logo: rainmachine.png
ha_category: Hub
ha_release: 0.69
ha_iot_class: "Cloud Polling"
---
The `rainmachine` component is the main component to integrate all platforms
related to [RainMachine smart Wi-Fi sprinkler controllers](http://www.rainmachine.com/).
## {% linkable_title Base Configuration %}
To connect to your RainMachine device, add the following to your
`configuration.yaml` file:
```yaml
rainmachine:
ip_address: 192.168.1.100
password: YOUR_PASSWORD
```
To configure switch-related functionality, add configuration options beneath
a `switches` key within the `rainmachine` sections of `configuration.yaml`
as below:
```yaml
rainmachine:
ip_address: 192.168.1.100
password: YOUR_PASSWORD
switches:
# switch configuration options...
```
{% configuration %}
ip_address:
description: the IP address or hostname of your RainMachine unit
required: optional
type: string
password:
description: your RainMachine password.
required: true
type: string
port:
description: the TCP port used by your unit for the REST API
required: false
type: int
default: 8080
ssl:
description: whether communication with the local device should occur over HTTPS
required: false
type: boolean
default: true
switches:
description: switch-related configuration options
required: false
type: map
keys:
zone_run_time:
description: the default number of seconds that a zone should run when turned on
required: false
type: int
default: 600
{% endconfiguration %}

View File

@ -9,8 +9,21 @@ sharing: true
footer: true
---
Sensors are gathering information about states and conditions.
Sensors are gathering information about states and conditions.
Home Assistant currently supports a wide range of sensors. They are able to display information which are provides by Home Assistant directly, are gathered from web services, and, of course, physical devices. Please check the sidebar for a full list of supported sensor platforms.
### {% linkable_title Device Class %}
The way these sensors are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for sensors:
- **None**: Generic sensor. This is the default and doesn't need to be set.
- **battery**: Percentage of battery that is left.
- **humidity**: Percentage of humidity in the air.
- **illuminance**: The current light level in lx or lm.
- **temperature**: Temperature in °C or °F.
<p class='img'>
<img src='/images/screenshots/sensor_device_classes_icons.png' />
Example of various device class icons for sensors.
</p>

View File

@ -0,0 +1,93 @@
---
layout: page
title: "Xiaomi BLE Temperature and Humidity sensor"
description: "Instructions on how to integrate MiTemp BLE temperature and humidity sensor with Home Assistant."
date: 2018-04-22 12:00
sidebar: true
comments: false
sharing: true
footer: true
logo: xiaomi.png
ha_category: DIY
ha_release: 0.69
ha_iot_class: "Local Polling"
---
The `mitemp_bt` sensor platform allows one to monitor room temperature and humidity. The [Xiaomi Mijia BLE Temperature and Humidity sensor with LCD](https://www.amazon.com/Temperature-Humidity-Xiaomi-Bluetooth-Screen-Remote/dp/B079L6N6PC) is a small Bluetooth Low Energy device that monitors the room temperature and humidity. As only a single BLE device can be polled at the same time, the library employs locking to make sure this is the case.
# Installation
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
- On [Hass.io](/hassio/installation/): Not yet supported.
- On other Linux systems:
- Preferred solution: Install the `bluepy` and `btlewrap` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
   - Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
- Windows and MacOS are currently not supported by the btlewrap library.
# Configuration
Start a scan to determine the MAC addresses of the sensor:
```bash
$ sudo hcitool lescan
LE Scan ...
4C:65:A8:D2:31:7F MJ_HT_V1
[...]
```
Or if your distribution is using bluetoothctl:
```bash
$ bluetoothctl
[bluetooth]# scan on
Discovery started
[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes
[NEW] Device 4C:65:A8:D2:31:7F MJ_HT_V1
```
Check for `MJ_HT_V1` or similar entries, those are your sensor.
To use your Mi Temperature and Humidity sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: mitemp_bt
mac: 'xx:xx:xx:xx:xx:xx'
monitored_conditions:
- temperature
```
- **mac** (*Required*): The MAC address of your sensor.
- **monitored_conditions** array (*Optional*): The parameters that should be monitored (defaults to monitoring all parameters).
- **temperature**: Temperature in C at the sensor's location.
- **humidity**: Humidity level in % at the sensor's location.
- **battery**: Battery details (in %).
- **name** (*Optional*): The name displayed in the frontend.
- **force_update** (*Optional*): Sends update events even if the value hasn't changed.
- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine.
- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined)
- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined)
- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined)
- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters.
Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperaturs don't change that quickly.
Reducing polling intervals will have a negative effect on the battery life.
A full configuration example could look like the one below:
```yaml
# Example configuration.yaml entry
sensor:
- platform: mitemp_bt
mac: 'xx:xx:xx:xx:xx:xx'
name: Kids Room Temp
force_update: false
median: 3
monitored_conditions:
- temperature
- humidity
- battery
```

View File

@ -83,9 +83,14 @@ json_attributes:
reqired: false
type: list, string
unique_id:
description: "An id that uniquely identifies this sensor. If 2 sensors have the same unique id, Home Assistant will raise an exception.**"
description: "An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception."
required: false
type: string
device_class:
description: The type/class of the sensor to set the icon in the frontend.
required: false
type: device_class
default: None
{% endconfiguration %}
## {% linkable_title Examples %}

View File

@ -0,0 +1,47 @@
---
layout: page
title: PostNL Sensor
description: "Instructions on how to set up PostNL sensors within Home Assistant."
date: 2017-04-22 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: postnl.png
ha_category: Sensor
ha_release: 0.69
ha_iot_class: "Cloud Polling"
---
The `postnl` platform allows one to track deliveries by [PostNL](https://www.postnl.nl) (Dutch Postal Services). To use this sensor, you need a [PostNL Account](https://jouw.postnl.nl). It is possible to add multiple accounts to your Home Assistant configuration.
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
sensor:
- platform: postnl
username: POSTNL_USERNAME
password: POSTNL_PASSWORD
```
{% configuration %}
name:
description: Sensor name
required: false
default: "postnl"
type: string
username:
description: Account username of jouw.postnl.nl
required: true
type: string
password:
description: Account password of jouw.postnl.nl
required: true
type: string
{% endconfiguration %}
<p class='note warning'>
This component is not affiliated with PostNL and retrieves date from the endpoints of the mobile application. Use at your own risk.
</p>

View File

@ -0,0 +1,37 @@
---
layout: page
title: Social Blade Sensor
description: "Instructions on how to set up Social Blade Sensor within Home Assistant."
date: 2018-04-23 08:00
sidebar: false
comments: false
sharing: true
footer: true
logo: socialblade.png
ha_category: Sensor
ha_release: 0.69
ha_iot_class: "Cloud Polling"
---
The `socialblade` sensor component allows you get updates on a youtube channel using your social blade channel id. The sensor gets the subscribers and total views count from [Social Blade Website]( https://socialblade.com/)
to get the channel id you can go to [Social Blade Website]( https://socialblade.com/) and search for youtube channel by username, then select the channel and grab the id from the url.
The channel id will be the last part of the url :
https://socialblade.com/youtube/channel/{channel_id}
## Example for `configuration.yaml` :
```yaml
sensor:
- platform: socialblade
channel_id: YOUR_CHANNEL_NUMBER
```
{% configuration %}
channel_id:
description: channel id number optained from the URL when you access Social Blade web client.
required: true
type: string
{% endconfiguration %}
All the data will be fetch from [Social Blade]( https://socialblade.com/).

View File

@ -69,6 +69,11 @@ sensor:
description: Defines a template for the entity picture of the sensor.
required: false
type: template
device_class:
description: The type/class of the sensor to set the icon in the frontend.
required: false
type: device_class
default: None
{% endconfiguration %}
## {% linkable_title Considerations %}

View File

@ -13,84 +13,24 @@ ha_iot_class: "Cloud Polling"
ha_release: 0.51
---
The `rainmachine` switch platform allows you to control programs and zones within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
## {% linkable_title Configuring the Platform %}
The platform allows for either local (i.e., directly across the LAN) or remote (i.e., through RainMachine's cloud API) access; the route you choose will dictate what your configuration should look like.
For local access, specify the IP address/hostname of your RainMachine unit, your RainMachine password, and optionally, the device's HTTP port:
```yaml
switch:
platform: rainmachine
ip_address: 192.168.1.100
password: YOUR_PASSWORD
```
For remote access, specify your RainMachine username/email and password:
```yaml
switch:
platform: rainmachine
email: user@host.com
password: YOUR_PASSWORD
```
{% configuration %}
password:
description: Your RainMachine password.
required: true
type: string
email:
description: "Your RainMachine username/email. Cannot be used with the `ip_address` parameter."
required: false
type: string
ip_address:
description: "The IP address of your RainMachine unit; cannot be used with the `email` parameter."
required: optional
type: string
port:
description: The TCP port used by your unit for the REST API.
required: false
type: int
default: 8080
ssl:
description: Whether communication with the local device should occur over HTTPS.
required: false
type: boolean
default: true
zone_run_time:
description: The number of seconds that a zone should run when turned on.
required: false
type: int
default: 600
{% endconfiguration %}
The `rainmachine` switch platform allows you to control programs and zones
within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
<p class='note'>
You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/)
configured to use this switch. After configuring that component, switches will
automatically appear.
</p>
## {% linkable_title Controlling Your Device %}
After Home Assistant loads, you will see new switches for every enabled program and zone. These work as expected:
After Home Assistant loads, new switches will be added for every enabled
program and zone. These work as expected:
- Program On/Off: starts/stops a program
- Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to determine how long to run for)
- Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to
determine how long to run for)
Programs and zones are linked. If a program is running its final zone, you will see both the program and zone switches turned on; turning either one off will turn the other one off (just like in the web app).
## {% linkable_title Weblink %}
If you would like to see and control more detailed information, create an [iFrame](/components/panel_iframe/) that renders the RainMachine web app:
```yaml
panel_iframe:
rainmachine:
title: RainMachine
url: "https://my.rainmachine.com/s/<YOUR_DEVICE_ID>/ui/"
icon: mdi:water-pump
```
You can find `<YOUR_DEVICE_ID>` by logging into [https://my.rainmachine.com](https://my.rainmachine.com ) and taking note of the URL.
## {% linkable_title For Awareness %}
The remote RainMachine API currently has two broken operations (i.e., they return error codes): starting a program and stopping a program. Please note that starting/stopping programs with the remote API is disabled until RainMachine can fix the issue.
Programs and zones are linked. While a program is running, you will see both
the program and zone switches turned on; turning either one off will turn the
other one off (just like in the web app).

View File

@ -18,6 +18,9 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/
#### {% linkable_title Supported Devices %}
- Xiaomi Aqara Gateway (lumi.gateway.v2, lumi.gateway.v3)
- Aqara Air Conditioning Companion (lumi.acpartner.v3)
- Aqara Intelligent Door Lock (lock.aq1)
- Temperature and Humidity Sensor (1st and 2nd generation)
- Motion Sensor (1st and 2nd generation)
- Door and Window Sensor (1st and 2nd generation)
@ -42,8 +45,8 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/
- Gateway Radio
- Gateway Button
- Aqara Air Conditioning Companion
- Aqara Intelligent Air Conditioner Controller Hub
- Xiaomi Mi Air Conditioning Companion (lumi.acpartner.v2)
- Aqara Intelligent Air Conditioner Controller Hub (lumi.acpartner.v1)
- Decoupled mode of the Aqara Wall Switches (Single & Double)
- Additional alarm events of the Gas and Smoke Detector: Analog alarm, battery fault alarm (smoke detector only), sensitivity fault alarm, I2C communication failure

View File

@ -12,7 +12,7 @@ ha_category: Automation Examples
### {% linkable_title iOS Devices %}
If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the icon template option to create a dynamic icon that changes with the battery level.
If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level.
{% raw %}
```yaml
@ -21,8 +21,6 @@ sensor:
sensors:
battery_iphone:
friendly_name: iPhone Battery
# "entity_id:" ensures that this sensor will only update when your device tracker does.
entity_id: device_tracker.iphone
unit_of_measurement: '%'
value_template: >-
{%- if states.device_tracker.iphone.attributes.battery %}
@ -30,21 +28,10 @@ sensor:
{% else %}
{{ states.sensor.battery_iphone.state }}
{%- endif %}
icon_template: >
{% set battery_level = states.sensor.battery_iphone.state|default(0)|int %}
{% set battery_round = (battery_level / 10) |int * 10 %}
{% if battery_round >= 100 %}
mdi:battery
{% elif battery_round > 0 %}
mdi:battery-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
device_class: battery
```
{% endraw %}
The `else` part is used to have the sensor keep its last state if the newest [iCloud](/components/device_tracker.icloud/) update doesn't have any battery state in it (which happens sometimes). Otherwise the sensor will be blank.
### {% linkable_title Android and iOS Devices %}
While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor. Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks.
@ -57,5 +44,6 @@ sensor:
name: "Battery Tablet"
unit_of_measurement: "%"
value_template: '{{ value_json.batt }}'
device_class: battery
```
{% endraw %}

View File

@ -71,9 +71,10 @@ homeassistant:
### {% linkable_title Device Class %}
Device class is currently supported by the following platforms:
Device class is currently supported by the following components:
* [Binary Sensor](/components/binary_sensor/)
* [Sensor](/components/sensor/)
* [Cover](/components/cover/)
### {% linkable_title Reloading customize %}

View File

@ -140,7 +140,7 @@ With strings
```text
{% raw %}{% set tracker_name = "paulus"%}
{% if states("device_tracker." + tracker_name) != "unknown" %}
{{ state_attr("device_tracker." + tracker_name, "battery")}}
{% else %}

View File

@ -0,0 +1,481 @@
---
layout: post
title: "0.69: Matrix Chatbot, PostNL, Social Blade, Xiaomi Mijia sensors"
description: "Great release mainly focused on bug fixes."
date: 2018-05-11 00:01:00
date_formatted: "May 11, 2018"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2018-05-0.69/components.png
---
<a href='/components/#version/0.69'><img src='/images/blog/2018-05-0.69/components.png' style='border: 0;box-shadow: none;'></a>
Not much time to write a great into this time as we're hanging out at PyCon! Some fixes for the Hue and Wink colors thanks to [@amelchio]. Initial foundation for users has landed, it's not anywhere near usable. We'll keep hacking on it. Google Assistant for Home Assistant Cloud now supports room hints. This will cause Google Assistant put the devices in the right groups when you link your account.
## {% linkable_title New Platforms %}
- Support Xiaomi Mijia Bluetooth Wireless Temperature and Humidity Sensor ([@ratcashdev] - [#13955]) ([sensor.mitemp_bt docs]) (new-platform)
- Move RainMachine to component/hub model ([@bachya] - [#14085]) ([rainmachine docs]) ([switch.rainmachine docs]) (breaking change) (new-platform)
- Add Social Blade Sensor ([@meauxt] - [#14060]) ([sensor.socialblade docs]) ([sensor.uscis docs]) (new-platform)
- Add PostNL sensor (Dutch Postal Services) ([@iMicknl] - [#12366]) ([sensor.postnl docs]) (new-platform)
- Issue/add template fans ([@giangvo] - [#12027]) ([fan.template docs]) (new-platform)
- Matrix Chatbot ([@tinloaf] - [#13355]) ([matrix docs]) ([notify docs]) (breaking change) (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 %}
- Pollen.com: Added attributes on top 3 allergens. This caused attribute names `primary_allergen_genus`, `primary_allergen_name` and `primary_allergen_type` to be suffixed with `_1` ([@bachya] - [#14018]) ([sensor.pollen docs]) (breaking change)
- Add Sonos device attribute with grouping information. The `media_player.sonos` attribute `is_coordinator` has been removed; the new attribute `sonos_group` (listing all group members, coordinator first) can be used instead. ([@amelchio] - [#13553]) ([media_player.sonos docs]) (breaking change)
- Re-implement HomematicIP cloud to async. Change of configuration schema: `name` is optional and cannot be empty. Remove of state attributes for sensors. Remove of additional sensor to show state of all found components ([@mxworm] - [#13468]) ([homematicip_cloud docs]) ([sensor.homematicip_cloud docs]) (breaking change)
- System log: make firing event optional ([@balloob] - [#14102]) ([system_log docs]) (breaking change)
- Converts RainMachine to hub model (part 2) ([@bachya] - [#14225]) ([rainmachine docs]) ([switch.rainmachine docs]) (breaking change)
- Homekit: Changed device_class requirement Humidity Sensor ([@cdce8p] - [#14277]) ([homekit docs]) (breaking change)
- The sensor unit `lux` has been replaced with `lx` for consistency. That covers the following sensor platforms: homematic, isy994, miflora, mysensors, tahoma, vera and template sensors. To add light sensors for the HomeKit component the device_class changed to illuminance. ([@cdce8p] - [#14282]) ([sensor docs]) (breaking change)
- The Matrix notification platform now depends on the the new Matrix component. Please see the documentation for how to configure the Matrix component. ([@tinloaf] - [#13355]) ([matrix docs]) ([notify docs]) (breaking change) (new-platform)
- Move RainMachine to component/hub model and remove Remote API. ([@bachya] - [#14085] - [#14225]) ([rainmachine docs]) ([switch.rainmachine docs]) (breaking change) (new-platform)
```yaml
# New rainmachine config
rainmachine:
ip_address: 192.168.1.100
password: abc123
switches:
zone_run_time: 240
```
## {% linkable_title Beta Fixes %}
- Add missing 'sensor' to ABODE_PLATFORMS ([@jloutsenhizer] - [#14313]) ([abode docs]) (beta fix)
- Add debounce to move_cover ([@cdce8p] - [#14314]) ([homekit docs]) (beta fix)
- Fix module names for custom components ([@balloob] - [#14317]) (beta fix)
- Revert custom component loading logic ([@balloob] - [#14327]) (beta fix)
- fix(hbmqtt): partial packets breaking hbmqtt ([@graffic] - [#14329]) ([mqtt docs]) (beta fix)
- Ignore more loading errors ([@balloob] - [#14331]) (beta fix)
- Ignore NaN values for influxdb ([@amelchio] - [#14347]) ([influxdb docs]) (beta fix)
## {% linkable_title All changes %}
- Pollen.com: Added attributes on top 3 allergens ([@bachya] - [#14018]) ([sensor.pollen docs]) (breaking change)
- Expose the condition code on condition sensors ([@maddox] - [#14011]) ([sensor.yweather docs])
- upgrade rfxtrx lib, dimming support for Lighting3 ([@Danielhiversen] - [#14026]) ([rfxtrx docs])
- Add Accuracy to Google Location Sharing ([@rdbahm] - [#14039]) ([device_tracker docs])
- bump gogogate2 version ([@dlbroadfoot] - [#14044]) ([cover.gogogate2 docs])
- device_tracker.ubus: catch ConnectionError ([@stintel] - [#14045]) ([device_tracker docs])
- Show a notification when a config entry is discovered ([@balloob] - [#14022])
- deCONZ use forward entry setup ([@Kane610] - [#13990]) ([binary_sensor docs]) ([deconz docs]) ([scene docs]) ([sensor docs]) ([binary_sensor.deconz docs]) ([light.deconz docs]) ([scene.deconz docs]) ([sensor.deconz docs])
- Bump pyEight version to update API & reduce connection issues ([@mezz64] - [#14058]) ([eight_sleep docs])
- Bump locationsharinglib to 1.2.2 ([@thelittlefireman] - [#14070]) ([device_tracker docs])
- Remove excessive debugging in webostv module ([@stephanerosi] - [#14056]) ([media_player.webostv docs])
- Support new Xiaomi Aqara device model names and LAN protocol 2.0 ([@ileler] - [#13540]) ([xiaomi_aqara docs]) ([binary_sensor.xiaomi_aqara docs]) ([light.xiaomi_aqara docs]) ([sensor.xiaomi_aqara docs]) ([switch.xiaomi_aqara docs])
- Add devices to Tahoma ([@bakedraccoon] - [#14075]) ([tahoma docs]) ([cover.tahoma docs]) ([sensor.tahoma docs])
- Modify weather components for "new" frontend card ([@c727] - [#14076]) ([weather.buienradar docs]) ([weather.darksky docs]) ([weather.openweathermap docs])
- Add Sonos device attribute with grouping information ([@amelchio] - [#13553]) ([media_player.sonos docs]) (breaking change)
- Re-implement HomematicIP cloud to async ([@mxworm] - [#13468]) ([homematicip_cloud docs]) ([sensor.homematicip_cloud docs]) (breaking change)
- Update pyhomematic to 0.1.42 ([@danielperna84] - [#14095]) ([homematic docs])
- Adds update file_path service to local_file camera ([@robmarkcole] - [#13976]) ([camera.local_file docs])
- Zone component config entry support ([@Kane610] - [#14059]) ([zone docs])
- Improve MQTT topic validation ([@OttoWinter] - [#14099]) ([mqtt docs])
- Fix the optional friendly name of the Yeelight (Closes: #14088) ([@syssi] - [#14110]) ([light.yeelight docs])
- Update QNAP lib to 0.2.6; handle null temps gracefully ([@colinodell] - [#14117]) ([sensor.qnap docs])
- Support Xiaomi Mijia Bluetooth Wireless Temperature and Humidity Sensor ([@ratcashdev] - [#13955]) ([sensor.mitemp_bt docs]) (new-platform)
- Upgrade colorlog to 3.1.4 ([@fabaff] - [#14132])
- Move RainMachine to component/hub model ([@bachya] - [#14085]) ([rainmachine docs]) ([switch.rainmachine docs]) (breaking change) (new-platform)
- Add support for light sensors with 'lx' unit to HomeKit ([@bieniu] - [#14131]) ([homekit docs])
- Upgrade restrictedpython to 4.0b3 ([@fabaff] - [#14140]) ([python_script docs])
- Logitech Pop support for emulated_hue component ([@dgraye] - [#12833]) ([emulated_hue docs])
- Bump pyvizio to 0.0.3 ([@cgarwood] - [#14147]) ([media_player.vizio docs])
- System log: make firing event optional ([@balloob] - [#14102]) ([system_log docs]) (breaking change)
- Upgrade pylast to 2.2.0 ([@fabaff] - [#14139]) ([sensor.lastfm docs])
- Upgrade sqlalchemy to 1.2.7 ([@fabaff] - [#14138])
- Upgrade tapsaff to 0.2.0 ([@fabaff] - [#14137]) ([binary_sensor.tapsaff docs])
- Upgrade python-telegram-bot to 10.0.2 ([@fabaff] - [#14144])
- Upgrade youtube_dl to 2018.04.25 ([@fabaff] - [#14136]) ([media_extractor docs])
- Clean up HomeKit accessory information characteristics ([@schmittx] - [#14114]) ([homekit docs])
- Upgrade psutil to 5.4.5 ([@fabaff] - [#14135])
- Fixed datetime values ([@gives1976] - [#14153]) ([sensor.sql docs])
- deluge-components-update ([@engrbm87] - [#14016]) ([sensor.deluge docs]) ([switch.deluge docs])
- Light mqtt_json: Add HS color support ([@OttoWinter] - [#14029]) ([light.mqtt_json docs])
- Convert more files to async/await syntax ([@OttoWinter] - [#14142])
- Disable eliqonline requirement ([@balloob] - [#14156]) ([sensor.eliqonline docs]) (breaking change)
- deCONZ allow unloading of config entry ([@Kane610] - [#14115]) ([binary_sensor docs]) ([deconz docs]) ([scene docs]) ([sensor docs])
- Upgrade netdisco to 1.4.0 ([@fabaff] - [#14152])
- Add precipitation to OpenWeatherMap forecast ([@escoand] - [#13971]) ([weather.openweathermap docs])
- Allow transitioning to colour temp for tradfri ([@Hate-Usernames] - [#14157])
- Added update_interval to maxcube ([@dingusdk] - [#14143]) ([maxcube docs])
- zha: Support remotes/buttons ([@rcloran] - [#12528]) ([zha docs]) ([binary_sensor.zha docs])
- Upgrade numpy to 1.14.3 ([@fabaff] - [#14187]) ([binary_sensor.trend docs]) ([image_processing.opencv docs])
- Updating darksky default update interval to 5 mins ([@msubra] - [#14195]) ([sensor.darksky docs])
- Fix TypeError on round(self.humidity) (fixes #13116) ([@mvn23] - [#14174]) ([weather docs])
- Add room hint support to Google Assistant cloud ([@balloob] - [#14180])
- Update CODEOWNERS ([@pschmitt] - [#14214])
- Fixes #14169 (Upgrade pyupnp-async to 0.1.0.2) ([@dgomes] - [#14210]) ([upnp docs])
- zha: Clean up binary_sensor listener registration/state updates ([@rcloran] - [#14197])
- HomematicIP cloud: Add logic to check accesspoint connection state ([@sander76] - [#14203]) ([homematicip_cloud docs])
- Foundation for users ([@balloob] - [#13968]) ([http docs]) (new-platform)
- Allow easy extension of websocket API ([@balloob] - [#14186]) ([frontend docs]) ([websocket_api docs])
- Change the divisor for total consumption output ([@CM000n] - [#14215]) ([switch.fritzbox docs])
- Upgrade mypy to 0.590 ([@fabaff] - [#14207])
- Template Sensor add device_class support ([@OttoWinter] - [#14034]) ([sensor.template docs])
- Add more parameters for DSMR sensor ([@rubenvandeven] - [#13967]) ([sensor.dsmr docs])
- Support setting explicit mute value for Panasonic Viera TV ([@blackwind] - [#13954]) ([media_player.panasonic_viera docs])
- Allow to set a desired update interval for camera_proxy_stream view ([@NovapaX] - [#13350]) ([camera docs])
- panasonic_viera: Provide unique_id from SSDP UDN, if available ([@scop] - [#13541]) ([media_player.panasonic_viera docs])
- Custom component loading cleanup ([@balloob] - [#14211]) (breaking change)
- Buienradar improvements: continuous sensors and unique ID's ([@corneyl] - [#13249]) ([sensor.buienradar docs])
- add volumio discovery ([@escoand] - [#14220]) ([media_player.volumio docs])
- Converts RainMachine to hub model (part 2) ([@bachya] - [#14225]) ([rainmachine docs]) ([switch.rainmachine docs]) (breaking change)
- Add MQTT Sensor device_class ([@OttoWinter] - [#14033]) ([sensor.mqtt docs])
- Allow independent control of white level on flux_led component ([@oblogic7] - [#13985]) ([light.flux_led docs])
- Add Social Blade Sensor ([@meauxt] - [#14060]) ([sensor.socialblade docs]) ([sensor.uscis docs]) (new-platform)
- UPnP code cleanup ([@dgomes] - [#14235]) ([upnp docs]) ([sensor.upnp docs])
- Improve config schema of the blackbird component ([@syssi] - [#14007]) ([media_player.blackbird docs])
- Fix Hue color state for missing xy ([@amelchio] - [#14230]) ([light.hue docs])
- Add support for tracking devices on Netgear access points ([@MatMaul] - [#13331]) ([device_tracker docs])
- WUnderground unique ids ([@OttoWinter] - [#13311]) ([sensor.wunderground docs])
- Add PostNL sensor (Dutch Postal Services) ([@iMicknl] - [#12366]) ([sensor.postnl docs]) (new-platform)
- python_openzwave update config service ([@perosb] - [#12060]) ([zwave docs])
- Add unique_id to zwave node entity ([@andrey-git] - [#14201]) ([zwave docs])
- Add prereqs for HomeKit Controller ([@marthoc] - [#14172])
- Restores switch state, case the switch is optimistic ([@dgomes] - [#14151]) ([switch.mqtt docs])
- Issue/add template fans ([@giangvo] - [#12027]) ([fan.template docs]) (new-platform)
- HomeKit - Climate: power state on/off support ([@roiff] - [#14082]) ([homekit docs])
- Demo Sensor - Added device_class support ([@cdce8p] - [#14269])
- Re-enable eliqonline requirement ([@molobrakos] - [#14265]) ([sensor.eliqonline docs])
- Add fetching camera thumbnails over websocket ([@balloob] - [#14231]) ([camera docs]) ([frontend docs]) ([image_processing docs]) ([microsoft_face docs]) ([websocket_api docs])
- Allow fetching media player covers via websocket connection ([@balloob] - [#14233]) ([media_player docs])
- Fix ZWave light brightness ([@cdce8p] - [#14261]) ([light.zwave docs])
- Color fixes for Wink lights ([@amelchio] - [#14263]) ([light.wink docs])
- fix check config not working after #14211 ([@fanthos] - [#14259])
- Issue Template Fix CRLF ([@OttoWinter] - [#14283])
- Upgrade attrs to 18.1.0 ([@fabaff] - [#14281])
- Update HAP-python to 2.0.0 ([@cdce8p] - [#14278]) ([homekit docs])
- Upgrade holidays to 0.9.5 ([@fabaff] - [#14274]) ([binary_sensor.workday docs])
- Homekit: Changed device_class requirement Humidity Sensor ([@cdce8p] - [#14277]) ([homekit docs]) (breaking change)
- HomeKit: Support triggered state for alarm_control_panel ([@schmittx] - [#14285]) ([homekit docs])
- Fix filter sensor missing window_size argument ([@dgomes] - [#14252]) ([sensor.filter docs])
- Upgrade astral to 1.6.1 ([@fabaff] - [#14297])
- BOM Weather throttle fix ([@nickw444] - [#14234]) ([sensor.bom docs])
- Publish attributes unconditionally ([@blackwind] - [#14179]) ([mqtt_statestream docs])
- Sensor device classes ([@cdce8p] - [#14282]) ([sensor docs]) (breaking change)
- Matrix Chatbot ([@tinloaf] - [#13355]) ([matrix docs]) ([notify docs]) (breaking change) (new-platform)
- deCONZ add new device without restart ([@Kane610] - [#14221]) ([deconz docs]) ([binary_sensor.deconz docs]) ([light.deconz docs]) ([sensor.deconz docs])
- Add alarmdotcom sensor status ([@jnewland] - [#14254]) ([alarm_control_panel.alarmdotcom docs])
- Add domain to labels and count state changes to Prometheus ([@jnewland] - [#14253]) ([prometheus docs])
- Add support for max_volume ([@relvacode] - [#13822]) ([media_player.onkyo docs])
- Refactor ImageProcessingFaceEntity ([@robmarkcole] - [#14296]) ([image_processing docs]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs]) ([image_processing.microsoft_face_detect docs]) ([image_processing.microsoft_face_identify docs])
- Onkyo: SUPPORT_VOLUME_STEP ([@rsmeral] - [#14299]) ([media_player.onkyo docs])
- Add All-Linking capabilities ([@teharris1] - [#14065]) ([insteon_plm docs]) ([binary_sensor.insteon_plm docs]) ([fan.insteon_plm docs]) ([light.insteon_plm docs]) ([sensor.insteon_plm docs]) ([switch.insteon_plm docs])
- Add missing 'sensor' to ABODE_PLATFORMS ([@jloutsenhizer] - [#14313]) ([abode docs]) (beta fix)
- Add debounce to move_cover ([@cdce8p] - [#14314]) ([homekit docs]) (beta fix)
- Fix module names for custom components ([@balloob] - [#14317]) (beta fix)
- Revert custom component loading logic ([@balloob] - [#14327]) (beta fix)
- fix(hbmqtt): partial packets breaking hbmqtt ([@graffic] - [#14329]) ([mqtt docs]) (beta fix)
- Ignore more loading errors ([@balloob] - [#14331]) (beta fix)
- Ignore NaN values for influxdb ([@amelchio] - [#14347]) ([influxdb docs]) (beta fix)
[#12027]: https://github.com/home-assistant/home-assistant/pull/12027
[#12060]: https://github.com/home-assistant/home-assistant/pull/12060
[#12366]: https://github.com/home-assistant/home-assistant/pull/12366
[#12528]: https://github.com/home-assistant/home-assistant/pull/12528
[#12833]: https://github.com/home-assistant/home-assistant/pull/12833
[#13249]: https://github.com/home-assistant/home-assistant/pull/13249
[#13311]: https://github.com/home-assistant/home-assistant/pull/13311
[#13331]: https://github.com/home-assistant/home-assistant/pull/13331
[#13350]: https://github.com/home-assistant/home-assistant/pull/13350
[#13355]: https://github.com/home-assistant/home-assistant/pull/13355
[#13468]: https://github.com/home-assistant/home-assistant/pull/13468
[#13540]: https://github.com/home-assistant/home-assistant/pull/13540
[#13541]: https://github.com/home-assistant/home-assistant/pull/13541
[#13553]: https://github.com/home-assistant/home-assistant/pull/13553
[#13822]: https://github.com/home-assistant/home-assistant/pull/13822
[#13954]: https://github.com/home-assistant/home-assistant/pull/13954
[#13955]: https://github.com/home-assistant/home-assistant/pull/13955
[#13967]: https://github.com/home-assistant/home-assistant/pull/13967
[#13968]: https://github.com/home-assistant/home-assistant/pull/13968
[#13971]: https://github.com/home-assistant/home-assistant/pull/13971
[#13976]: https://github.com/home-assistant/home-assistant/pull/13976
[#13985]: https://github.com/home-assistant/home-assistant/pull/13985
[#13990]: https://github.com/home-assistant/home-assistant/pull/13990
[#14007]: https://github.com/home-assistant/home-assistant/pull/14007
[#14011]: https://github.com/home-assistant/home-assistant/pull/14011
[#14016]: https://github.com/home-assistant/home-assistant/pull/14016
[#14018]: https://github.com/home-assistant/home-assistant/pull/14018
[#14022]: https://github.com/home-assistant/home-assistant/pull/14022
[#14026]: https://github.com/home-assistant/home-assistant/pull/14026
[#14029]: https://github.com/home-assistant/home-assistant/pull/14029
[#14033]: https://github.com/home-assistant/home-assistant/pull/14033
[#14034]: https://github.com/home-assistant/home-assistant/pull/14034
[#14039]: https://github.com/home-assistant/home-assistant/pull/14039
[#14044]: https://github.com/home-assistant/home-assistant/pull/14044
[#14045]: https://github.com/home-assistant/home-assistant/pull/14045
[#14056]: https://github.com/home-assistant/home-assistant/pull/14056
[#14058]: https://github.com/home-assistant/home-assistant/pull/14058
[#14059]: https://github.com/home-assistant/home-assistant/pull/14059
[#14060]: https://github.com/home-assistant/home-assistant/pull/14060
[#14065]: https://github.com/home-assistant/home-assistant/pull/14065
[#14067]: https://github.com/home-assistant/home-assistant/pull/14067
[#14070]: https://github.com/home-assistant/home-assistant/pull/14070
[#14075]: https://github.com/home-assistant/home-assistant/pull/14075
[#14076]: https://github.com/home-assistant/home-assistant/pull/14076
[#14082]: https://github.com/home-assistant/home-assistant/pull/14082
[#14085]: https://github.com/home-assistant/home-assistant/pull/14085
[#14095]: https://github.com/home-assistant/home-assistant/pull/14095
[#14099]: https://github.com/home-assistant/home-assistant/pull/14099
[#14102]: https://github.com/home-assistant/home-assistant/pull/14102
[#14110]: https://github.com/home-assistant/home-assistant/pull/14110
[#14114]: https://github.com/home-assistant/home-assistant/pull/14114
[#14115]: https://github.com/home-assistant/home-assistant/pull/14115
[#14117]: https://github.com/home-assistant/home-assistant/pull/14117
[#14131]: https://github.com/home-assistant/home-assistant/pull/14131
[#14132]: https://github.com/home-assistant/home-assistant/pull/14132
[#14135]: https://github.com/home-assistant/home-assistant/pull/14135
[#14136]: https://github.com/home-assistant/home-assistant/pull/14136
[#14137]: https://github.com/home-assistant/home-assistant/pull/14137
[#14138]: https://github.com/home-assistant/home-assistant/pull/14138
[#14139]: https://github.com/home-assistant/home-assistant/pull/14139
[#14140]: https://github.com/home-assistant/home-assistant/pull/14140
[#14142]: https://github.com/home-assistant/home-assistant/pull/14142
[#14143]: https://github.com/home-assistant/home-assistant/pull/14143
[#14144]: https://github.com/home-assistant/home-assistant/pull/14144
[#14147]: https://github.com/home-assistant/home-assistant/pull/14147
[#14151]: https://github.com/home-assistant/home-assistant/pull/14151
[#14152]: https://github.com/home-assistant/home-assistant/pull/14152
[#14153]: https://github.com/home-assistant/home-assistant/pull/14153
[#14156]: https://github.com/home-assistant/home-assistant/pull/14156
[#14157]: https://github.com/home-assistant/home-assistant/pull/14157
[#14172]: https://github.com/home-assistant/home-assistant/pull/14172
[#14174]: https://github.com/home-assistant/home-assistant/pull/14174
[#14179]: https://github.com/home-assistant/home-assistant/pull/14179
[#14180]: https://github.com/home-assistant/home-assistant/pull/14180
[#14186]: https://github.com/home-assistant/home-assistant/pull/14186
[#14187]: https://github.com/home-assistant/home-assistant/pull/14187
[#14195]: https://github.com/home-assistant/home-assistant/pull/14195
[#14197]: https://github.com/home-assistant/home-assistant/pull/14197
[#14201]: https://github.com/home-assistant/home-assistant/pull/14201
[#14203]: https://github.com/home-assistant/home-assistant/pull/14203
[#14207]: https://github.com/home-assistant/home-assistant/pull/14207
[#14210]: https://github.com/home-assistant/home-assistant/pull/14210
[#14211]: https://github.com/home-assistant/home-assistant/pull/14211
[#14214]: https://github.com/home-assistant/home-assistant/pull/14214
[#14215]: https://github.com/home-assistant/home-assistant/pull/14215
[#14220]: https://github.com/home-assistant/home-assistant/pull/14220
[#14221]: https://github.com/home-assistant/home-assistant/pull/14221
[#14225]: https://github.com/home-assistant/home-assistant/pull/14225
[#14230]: https://github.com/home-assistant/home-assistant/pull/14230
[#14231]: https://github.com/home-assistant/home-assistant/pull/14231
[#14233]: https://github.com/home-assistant/home-assistant/pull/14233
[#14234]: https://github.com/home-assistant/home-assistant/pull/14234
[#14235]: https://github.com/home-assistant/home-assistant/pull/14235
[#14252]: https://github.com/home-assistant/home-assistant/pull/14252
[#14253]: https://github.com/home-assistant/home-assistant/pull/14253
[#14254]: https://github.com/home-assistant/home-assistant/pull/14254
[#14259]: https://github.com/home-assistant/home-assistant/pull/14259
[#14261]: https://github.com/home-assistant/home-assistant/pull/14261
[#14263]: https://github.com/home-assistant/home-assistant/pull/14263
[#14265]: https://github.com/home-assistant/home-assistant/pull/14265
[#14269]: https://github.com/home-assistant/home-assistant/pull/14269
[#14274]: https://github.com/home-assistant/home-assistant/pull/14274
[#14277]: https://github.com/home-assistant/home-assistant/pull/14277
[#14278]: https://github.com/home-assistant/home-assistant/pull/14278
[#14281]: https://github.com/home-assistant/home-assistant/pull/14281
[#14282]: https://github.com/home-assistant/home-assistant/pull/14282
[#14283]: https://github.com/home-assistant/home-assistant/pull/14283
[#14285]: https://github.com/home-assistant/home-assistant/pull/14285
[#14296]: https://github.com/home-assistant/home-assistant/pull/14296
[#14297]: https://github.com/home-assistant/home-assistant/pull/14297
[#14299]: https://github.com/home-assistant/home-assistant/pull/14299
[#14313]: https://github.com/home-assistant/home-assistant/pull/14313
[#14314]: https://github.com/home-assistant/home-assistant/pull/14314
[#14317]: https://github.com/home-assistant/home-assistant/pull/14317
[#14327]: https://github.com/home-assistant/home-assistant/pull/14327
[#14329]: https://github.com/home-assistant/home-assistant/pull/14329
[#14331]: https://github.com/home-assistant/home-assistant/pull/14331
[#14347]: https://github.com/home-assistant/home-assistant/pull/14347
[#14381]: https://github.com/home-assistant/home-assistant/pull/14381
[@CM000n]: https://github.com/CM000n
[@Danielhiversen]: https://github.com/Danielhiversen
[@Hate-Usernames]: https://github.com/Hate-Usernames
[@Kane610]: https://github.com/Kane610
[@MatMaul]: https://github.com/MatMaul
[@NovapaX]: https://github.com/NovapaX
[@OttoWinter]: https://github.com/OttoWinter
[@amelchio]: https://github.com/amelchio
[@andrey-git]: https://github.com/andrey-git
[@bachya]: https://github.com/bachya
[@bakedraccoon]: https://github.com/bakedraccoon
[@balloob]: https://github.com/balloob
[@bieniu]: https://github.com/bieniu
[@blackwind]: https://github.com/blackwind
[@c727]: https://github.com/c727
[@cdce8p]: https://github.com/cdce8p
[@cgarwood]: https://github.com/cgarwood
[@colinodell]: https://github.com/colinodell
[@corneyl]: https://github.com/corneyl
[@danielperna84]: https://github.com/danielperna84
[@dgomes]: https://github.com/dgomes
[@dgraye]: https://github.com/dgraye
[@dingusdk]: https://github.com/dingusdk
[@dlbroadfoot]: https://github.com/dlbroadfoot
[@engrbm87]: https://github.com/engrbm87
[@escoand]: https://github.com/escoand
[@fabaff]: https://github.com/fabaff
[@fanthos]: https://github.com/fanthos
[@giangvo]: https://github.com/giangvo
[@gives1976]: https://github.com/gives1976
[@graffic]: https://github.com/graffic
[@iMicknl]: https://github.com/iMicknl
[@ileler]: https://github.com/ileler
[@jloutsenhizer]: https://github.com/jloutsenhizer
[@jnewland]: https://github.com/jnewland
[@maddox]: https://github.com/maddox
[@marthoc]: https://github.com/marthoc
[@masarliev]: https://github.com/masarliev
[@meauxt]: https://github.com/meauxt
[@mezz64]: https://github.com/mezz64
[@molobrakos]: https://github.com/molobrakos
[@msubra]: https://github.com/msubra
[@mvn23]: https://github.com/mvn23
[@mxworm]: https://github.com/mxworm
[@nickw444]: https://github.com/nickw444
[@oblogic7]: https://github.com/oblogic7
[@perosb]: https://github.com/perosb
[@pschmitt]: https://github.com/pschmitt
[@ratcashdev]: https://github.com/ratcashdev
[@rcloran]: https://github.com/rcloran
[@rdbahm]: https://github.com/rdbahm
[@relvacode]: https://github.com/relvacode
[@robmarkcole]: https://github.com/robmarkcole
[@roiff]: https://github.com/roiff
[@rsmeral]: https://github.com/rsmeral
[@rubenvandeven]: https://github.com/rubenvandeven
[@sander76]: https://github.com/sander76
[@schmittx]: https://github.com/schmittx
[@scop]: https://github.com/scop
[@stephanerosi]: https://github.com/stephanerosi
[@stintel]: https://github.com/stintel
[@syssi]: https://github.com/syssi
[@teharris1]: https://github.com/teharris1
[@thelittlefireman]: https://github.com/thelittlefireman
[@tinloaf]: https://github.com/tinloaf
[abode docs]: /components/abode/
[alarm_control_panel.alarmdotcom docs]: /components/alarm_control_panel.alarmdotcom/
[auth docs]: /components/auth/
[binary_sensor docs]: /components/binary_sensor/
[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
[binary_sensor.insteon_plm docs]: /components/binary_sensor.insteon_plm/
[binary_sensor.tapsaff docs]: /components/binary_sensor.tapsaff/
[binary_sensor.trend docs]: /components/binary_sensor.trend/
[binary_sensor.workday docs]: /components/binary_sensor.workday/
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
[binary_sensor.zha docs]: /components/binary_sensor.zha/
[camera docs]: /components/camera/
[camera.local_file docs]: /components/camera.local_file/
[cover.gogogate2 docs]: /components/cover.gogogate2/
[cover.tahoma docs]: /components/cover.tahoma/
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[eight_sleep docs]: /components/eight_sleep/
[emulated_hue docs]: /components/emulated_hue/
[fan.insteon_plm docs]: /components/fan.insteon_plm/
[fan.template docs]: /components/fan.template/
[frontend docs]: /components/frontend/
[homekit docs]: /components/homekit/
[homematic docs]: /components/homematic/
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
[image_processing docs]: /components/image_processing/
[image_processing.demo docs]: /components/image_processing.demo/
[image_processing.dlib_face_detect docs]: /components/image_processing.dlib_face_detect/
[image_processing.dlib_face_identify docs]: /components/image_processing.dlib_face_identify/
[image_processing.microsoft_face_detect docs]: /components/image_processing.microsoft_face_detect/
[image_processing.microsoft_face_identify docs]: /components/image_processing.microsoft_face_identify/
[image_processing.opencv docs]: /components/image_processing.opencv/
[influxdb docs]: /components/influxdb/
[insteon_plm docs]: /components/insteon_plm/
[light.deconz docs]: /components/light.deconz/
[light.flux_led docs]: /components/light.flux_led/
[light.hue docs]: /components/light.hue/
[light.insteon_plm docs]: /components/light.insteon_plm/
[light.mqtt_json docs]: /components/light.mqtt_json/
[light.wink docs]: /components/light.wink/
[light.xiaomi_aqara docs]: /components/light.xiaomi_aqara/
[light.yeelight docs]: /components/light.yeelight/
[light.zwave docs]: /components/light.zwave/
[matrix docs]: /components/matrix/
[maxcube docs]: /components/maxcube/
[media_extractor docs]: /components/media_extractor/
[media_player docs]: /components/media_player/
[media_player.blackbird docs]: /components/media_player.blackbird/
[media_player.onkyo docs]: /components/media_player.onkyo/
[media_player.panasonic_viera docs]: /components/media_player.panasonic_viera/
[media_player.sonos docs]: /components/media_player.sonos/
[media_player.vizio docs]: /components/media_player.vizio/
[media_player.volumio docs]: /components/media_player.volumio/
[media_player.webostv docs]: /components/media_player.webostv/
[microsoft_face docs]: /components/microsoft_face/
[mqtt docs]: /components/mqtt/
[mqtt_statestream docs]: /components/mqtt_statestream/
[notify docs]: /components/notify/
[prometheus docs]: /components/prometheus/
[python_script docs]: /components/python_script/
[rainmachine docs]: /components/rainmachine/
[rfxtrx docs]: /components/rfxtrx/
[scene docs]: /components/scene/
[scene.deconz docs]: /components/scene.deconz/
[sensor docs]: /components/sensor/
[sensor.bom docs]: /components/sensor.bom/
[sensor.buienradar docs]: /components/sensor.buienradar/
[sensor.darksky docs]: /components/sensor.darksky/
[sensor.deconz docs]: /components/sensor.deconz/
[sensor.deluge docs]: /components/sensor.deluge/
[sensor.demo docs]: /components/sensor.demo/
[sensor.domain_expiry docs]: /components/sensor.domain_expiry/
[sensor.dsmr docs]: /components/sensor.dsmr/
[sensor.eliqonline docs]: /components/sensor.eliqonline/
[sensor.filter docs]: /components/sensor.filter/
[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
[sensor.insteon_plm docs]: /components/sensor.insteon_plm/
[sensor.lastfm docs]: /components/sensor.lastfm/
[sensor.mitemp_bt docs]: /components/sensor.mitemp_bt/
[sensor.mqtt docs]: /components/sensor.mqtt/
[sensor.pollen docs]: /components/sensor.pollen/
[sensor.postnl docs]: /components/sensor.postnl/
[sensor.qnap docs]: /components/sensor.qnap/
[sensor.socialblade docs]: /components/sensor.socialblade/
[sensor.sql docs]: /components/sensor.sql/
[sensor.tahoma docs]: /components/sensor.tahoma/
[sensor.template docs]: /components/sensor.template/
[sensor.upnp docs]: /components/sensor.upnp/
[sensor.uscis docs]: /components/sensor.uscis/
[sensor.wunderground docs]: /components/sensor.wunderground/
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
[sensor.yweather docs]: /components/sensor.yweather/
[switch.deluge docs]: /components/switch.deluge/
[switch.fritzbox docs]: /components/switch.fritzbox/
[switch.insteon_plm docs]: /components/switch.insteon_plm/
[switch.mqtt docs]: /components/switch.mqtt/
[switch.rainmachine docs]: /components/switch.rainmachine/
[switch.xiaomi_aqara docs]: /components/switch.xiaomi_aqara/
[system_log docs]: /components/system_log/
[tahoma docs]: /components/tahoma/
[upnp docs]: /components/upnp/
[weather docs]: /components/weather/
[weather.buienradar docs]: /components/weather.buienradar/
[weather.darksky docs]: /components/weather.darksky/
[weather.openweathermap docs]: /components/weather.openweathermap/
[websocket_api docs]: /components/websocket_api/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
[zone docs]: /components/zone/
[zwave docs]: /components/zwave/

View File

@ -42,6 +42,7 @@ cloud:
aliases:
- bright lights
- entry lights
room: living room
```
{% configuration cloud %}
@ -89,5 +90,8 @@ google_actions:
description: Aliases that can also be used to refer to this entity
required: false
type: list
room:
description: Hint for Google Assistant in which room this entity is.
required: false
type: string
{% endconfiguration %}

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 972 B

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 844 B

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 739 B

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1023 B

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
source/images/supported_brands/blockchain.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 B

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
source/images/supported_brands/coinbase.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 2.2 KiB

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