Merge pull request #3530 from home-assistant/release-0-55

0.55
This commit is contained in:
Fabian Affolter 2017-10-07 21:12:17 +02:00 committed by GitHub
commit ae690e4953
60 changed files with 1387 additions and 88 deletions

View File

@ -139,9 +139,9 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 54
current_minor_version: 55
current_patch_version: 0
date_released: 2017-09-23
date_released: 2017-10-07
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Duck DNS"
title: "DuckDNS"
description: "Automatically update your Duck DNS IP address."
date: 2017-04-30 13:28
sidebar: true

View File

@ -51,7 +51,7 @@ Configuration variables:
- **password** (*Required*): Password for your Abode account.
- **name** (*Optional*): The name for your alarm controller.
- **polling** (*Optional*): Enable polling if cloud push updating is less reliable. Will update the devices once every 30 seconds. Defaults to False.
- **exclude** (*Optional*): A list of devices to exclude from Home Assistant by their Abode `device_id`, found within the component attributes.
- **exclude** (*Optional*): A list of devices to exclude from Home Assistant by their Abode `device_id` or `automation_id`, found within the component attributes.
- **lights** (*Optional*): A list of switch devices that Home Assistant should treat as lights by the switches Abode `device_id`, found within the component attributes.
## {% linkable_title Events %}
@ -106,4 +106,4 @@ Trigger a quick action automation on your Abode system.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | No | String or list of strings that point at `entity_id`s of binary_sensors that represent your Abode quick actions.
| `entity_id` | No | String or list of strings that point at `entity_id`s of binary_sensors that represent your Abode quick actions.

View File

@ -55,13 +55,14 @@ alarm_control_panel:
report_server_enabled: True
report_server_port: PORT_OF_EGARDIASERVER (85 as per the instructions above)
report_server_codes:
arm: XXXXXXXXXXXXXXXX
disarm: XXXXXXXXXXXXXXXX
arm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX
disarm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX
armhome: XXXXXXXXXXXXXXXX
triggered: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX
standby: XXXXXXXXXXXXXXXX
ignore: XXXXXXXXXXXXXXXX
```
Note that you can have more than one code for triggered since every sensor generates its own code. arm, disarm, armhome and standby will all be one code.
Note that for triggered, arm and disarm multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as ignore (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, armhome, triggered) even when system checks occur.
5. Start the `egardiaserver.py` script on boot of your Home Assistant machine, for example by using systemd. To use this method, create a shell script named `egardiaserver.sh` that contains the following:
```bash
source /srv/homeassistant/homeassistant_venv/bin/activate

View File

@ -52,9 +52,9 @@ $ ffmpeg -i YOUR_INPUT -an -filter:v select=gt(scene\,0.1) -f framemd5 -
If you are running into trouble with this sensor, please refer to the [troubleshooting section](/components/ffmpeg/#troubleshooting).
#### {% linkable_title Tipps %}
#### {% linkable_title Tips %}
- Use motion only in a customer area with [crop filter](https://ffmpeg.org/ffmpeg-filters.html#crop):
- Use motion only in a custom area with [crop filter](https://ffmpeg.org/ffmpeg-filters.html#crop):
```yaml
extra_arguments: -filter:v "crop=100:100:12:34"

View File

@ -14,9 +14,13 @@ ha_iot_class: "depends"
---
The `mqtt` binary sensor platform uses the MQTT message payload as the sensor value. If messages in this `state_topic` are published with *RETAIN* flag, the sensor will receive an instant update with the last known value. Otherwise, the initial state will be off.
The `mqtt` binary sensor platform uses an MQTT message payload to set the binary sensor to one of two states: `on` or `off`.
To use your MQTT binary sensor in your installation, add the following to your `configuration.yaml` file:
The binary sensor state will be updated only after a new message is published on `state_topic` matching `payload_on` or `payload_off`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`.
The `mqtt` binary sensor platform optionally supports an `availability_topic` to receive online and offline messages (birth and LWT messages) from the MQTT device. During normal operation, if the MQTT cover device goes offline (i.e. publishes `payload_not_available` to `availability_topic`), Home Assistant will display the binary sensor as `unavailable`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant update after subscription and Home Assistant will display the correct availability state of the binary sensor when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the binary sensor as `unavailable` when Home Assistant starts up. If no `availability_topic` is defined, Home Assistant will consider the MQTT device to be available.
To use an MQTT binary sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -27,32 +31,37 @@ binary_sensor:
Configuration variables:
- **name** (*Optional*): The name of the binary sensor. Default is `MQTT Binary Sensor`.
- **state_topic** (*Required*): The MQTT topic subscribed to receive sensor values.
- **name** (*Optional*): The name of the sensor. Default is 'MQTT Sensor'.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0.
- **payload_on** (*Optional*): The payload that represents on state. Default is "ON".
- **payload_off** (*Optional*): The payload that represents state. Default is "OFF".
- **payload_on** (*Optional*): The payload that represents the on state. Default is `ON`.
- **payload_off** (*Optional*): The payload that represents the off state. Default is `OFF`.
- **availability_topic** (*Optional*): The MQTT topic subscribed to receive birth and LWT messages from the MQTT device. If `availability_topic` is not defined, the binary sensor availability state will always be `available`. If `availability_topic` is defined, the binary sensor availability state will be `unavailable` by default.
- **payload_available** (*Optional*): The payload that represents the online state. Default is `online`.
- **payload_not_available** (*Optional*): The payload that represents the offline state. Default is `offline`.
- **qos** (*Optional*): The maximum QoS level to be used when receiving messages. Default is `0`.
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
For a quick check you can use the command line tools shipped with `mosquitto` to send MQTT messages. Set the state of a sensor manually:
To test, you can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. To set the state of the binary sensor manually:
```bash
$ mosquitto_pub -h 127.0.0.1 -t home-assistant/window/contact -m "OFF"
```
An extended configuration for the same sensor could look like this if you want/need to be more specific.
The example below shows a full configuration for a binary sensor:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: mqtt
name: "Window Contact Sensor"
state_topic: "home-assistant/window/contact"
name: "Windows contact"
payload_on: "ON"
payload_off: "OFF"
availability_topic: "home-assistant/window/availability"
payload_available: "online"
payload_not_available: "offline"
qos: 0
payload_on: "1"
payload_off: "0"
device_class: opening
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```

View File

@ -0,0 +1,30 @@
---
layout: page
title: "Melnor Raincloud Binary Sensor"
description: "Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant."
date: 2017-09-04 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raincloud.jpg
ha_category: Binary Sensor
ha_release: "0.55"
ha_iot_class: "Cloud Polling"
---
To get your [Melnor RainCloud](https://wifiaquatimer.com) binary sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud).
Once you have enabled the [Raincloud component](/components/raincloud), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: raincloud
```
Configuration variables:
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. If not specified, all conditions below will be enabled by default. The following conditions can be monitored.
- **is_watering**: Return if is currently watering per zone.
- **status**: Return status from the Melnor RainCloud Controller and Melnor RainCloud Faucet.

View File

@ -14,7 +14,9 @@ ha_release: 0.34
---
The `threshold` binary sensor platform is consuming the state from another sensor. If the value is below (`lower`) or higher (`upper`) than the given threshold then state of this sensor change..
The `threshold` binary sensor platform observes the state of another sensor. If the value is below (`lower`) or higher (`upper`) than the given threshold then state of the threshold sensor is changed.
If the sensor is configured with no hysteresis and the sensor value is equal to the threshold, the sensor is turned off since it is not `lower` or `upper` with respect to the threshold.
It's an alternative to the template binary sensor's `value_template:` to get the abnormal/too high/too low states.
@ -36,7 +38,7 @@ binary_sensor:
Configuration variables:
- **entity_id** (*Required*): The entity to monitor. Only [sensors](/components/sensor/) are supported.
- **threshold** (*Required*): The value which is the threshold.
- **threshold** (*Required*): The threshold which the observed value is compared against.
- **type** (*Required*): `lower` if the value needs to be below the threshold or `upper` if higher.
- **hysteresis** (*Optional*): The distance the observed value must be from the threshold before the state is changed. Defaults to `0.0`
- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Stats`.

View File

@ -0,0 +1,90 @@
---
layout: page
title: "MQTT HVAC"
description: "Instructions how to integrate MQTT HVAC into Home Assistant."
date: 2017-07-31 19:59
sidebar: true
comments: false
sharing: true
footer: true
logo: heat-control.png
ha_category: Climate
ha_release: 0.55
ha_iot_class: "Local Polling"
---
The `mqtt` climate platform let you control your MQTT enabled HVAC devices.
The platform currently works in optimistic mode, which means it does not obtain states from MQTT topics, but it sends and remembers control commands.
It uses a sensor under the hood to obtain the current temperature.
```yaml
# Example configuration.yaml entry
climate:
- platform: mqtt
name: Study
current_temperature_topic: /sensors/hvac_study/current_temp
temperature_command_topic: /sensors/hvac_study/target_temp
```
Configuration variables *except* for MQTT topics:
- **name** (*Required*): Name of MQTT HVAC.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is `0` and will also be used to publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not.
- **send_if_off** (*Optional*): Set to `false` to suppress sending of all MQTT messages when the current mode is `Off`. Defaults to `true`.
- **initial** (*Optional*): Set the initial target temperature. Defaults to 21 degrees.
- **payload_on** (*Optional*): For MQTT topics that control an `on` / `off` value (e.g., `aux_command_topic`), set the value that should be sent for `on`. Defaults to 'ON'.
- **payload_off** (*Optional*): For MQTT topics that control an `on` / `off` value (e.g., `aux_command_topic`), set the value that should be sent for `off`. Defaults to 'OFF'.
Configuration of the MQTT topics:
- **current_temperature_topic** (*Optional*): The MQTT topic on which to listen for the current temperature
- **power_command_topic** (*Optional*): The MQTT topic to publish commands to change the power state. This is useful if your device has a separate power toggle in addition to mode.
- **mode_command_topic** (*Optional*): The MQTT topic to publish commands to change the HVAC operation mode.
- **mode_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC operation mode. If this is not set, the operation mode works in optimistic mode (see below).
- **temperature_command_topic** (*Optional*): The MQTT topic to publish commands to change the target temperature.
- **temperature_state_topic** (*Optional*): The MQTT topic to subscribe for changes in the target temperature. If this is not set, the target temperature works in optimistic mode (see below).
- **fan_mode_command_topic** (*Optional*): The MQTT topic to publish commands to change the fan mode.
- **fan_mode_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC fan mode. If this is not set, the fan mode works in optimistic mode (see below).
- **swing_mode_command_topic** (*Optional*): The MQTT topic to publish commands to change the swing mode.
- **swing_mode_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC swing mode. If this is not set, the swing mode works in optimistic mode (see below).
- **away_mode_command_topic** (*Optional*): The MQTT topic to publish commands to change the away mode.
- **away_mode_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC away mode. If this is not set, the away mode works in optimistic mode (see below).
- **hold_command_topic** (*Optional*): The MQTT topic to publish commands to change the hold mode.
- **hold_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC hold mode. If this is not set, the hold mode works in optimistic mode (see below).
- **aux_command_topic** (*Optional*): The MQTT topic to publish commands to switch auxiliary heat.
- **aux_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the auxiliary heat mode. If this is not set, the auxiliary heat mode works in optimistic mode (see below).
#### Optimistic mode
If a property works in *optimistic mode* (when the corresponding state topic is not set), home assistant will assume that any state changes published to the command topics did work and change the internal state of the entity immediately after publishing to the command topic. If it does not work in optimistic mode, the internal state of the entity is only updated when the requested update is confirmed by the device through the state topic.
### {% linkable_title Example %}
A full configuration example looks like the one below.
```yaml
# Full example configuration.yaml entry
climate:
- platform: mqtt
name: Study
target_sensor: sensor.study_temperature
modes:
- off
- cool
- fan_only
swing_modes:
- on
- off
fan_modes:
- high
- medium
- low
power_command_topic: "study/ac/power/set"
mode_command_topic: "study/ac/mode/set"
temperature_command_topic: "study/ac/temperature/set"
fan_mode_command_topic: "study/ac/fan/set"
swing_mode_command_topic: "study/ac/swing/set"
```

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Wink Thermostat"
description: "Instructions how to setup the Wink binary sensors within Home Assistant."
title: "Wink Climate"
description: "Instructions how to setup the Wink climate devices within Home Assistant."
date: 2016-11-01 22:36
sidebar: true
comments: false
@ -14,20 +14,21 @@ ha_iot_class: "Cloud Polling"
---
The Wink climate platform allows you to get data from your [Wink](http://www.wink.com/) thermostats.
The Wink climate platform allows you to get data from your [Wink](http://www.wink.com/) thermostats, Air Conditioners, and Water Heaters.
The requirement is that you have setup [Wink](/components/wink/).
### {% linkable_title Supported climate devices %}
- Nest (No wink hub required)
- Ecobee (No wink hub required)
- Sensi (No wink hub required)
- Nest (No Wink hub required)
- Ecobee (No Wink hub required)
- Sensi (No Wink hub required)
- Carrier (Unconfirmed)
- Honeywell (No wink hub required)
- Honeywell (No Wink hub required)
- Generic Z-Wave
- Quirky Aros window AC unit
- Rheem Econet water heaters (No Wink hub required)
<p class='note'>
The above devices are confirmed to work, but others may work as well.

View File

@ -13,39 +13,44 @@ ha_iot_class: "depends"
ha_release: 0.18
---
The `mqtt` cover platform enables the possibility to control an MQTT cover. The device state will be updated only after receiving the a new
state from `state_topic`. If these messages are published with `RETAIN` flag, the MQTT device will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state will be `unknown`.
The `mqtt` cover platform allows you to control an MQTT cover (such as blinds, a rollershutter, or a garage door).
There is a state attribute that stores the relative position of the device, where 0 means the device is `closed` and all other intermediate positions means the device is `open`.
The device state (`open` or `closed`) will be updated only after a new message is published on `state_topic` matching `state_open` or `state_closed`. If these messages are published with the `retain` flag set, the cover will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`.
When a state topic is not available, the cover will work in optimistic mode. In this mode, the cover will immediately change state after every command. Otherwise, the cover will wait for state confirmation from device (message from `state_topic`).
There is an attribute that stores the relative position of the device, where 0 means the device is `closed` and all other intermediate positions means the device is `open`.
Optimistic mode can be forced, even if `state_topic` is available. Try to enable it, if experiencing incorrect cover operation.
If a state topic is not defined, the cover will work in optimistic mode. In this mode, the cover will immediately change state (`open` or `closed`) after every command sent by Home Assistant. If a state topic is defined, the cover will wait for a message on `state_topic` matching `state_open` or `state_closed` before changing state in Home Assistant.
Optimistic mode can be forced, even if a `state_topic` is defined. Try to enable it if experiencing incorrect cover operation.
The `mqtt` cover platform optionally supports an `availability_topic` to receive online and offline messages (birth and LWT messages) from the MQTT cover device. During normal operation, if the MQTT cover device goes offline (i.e. publishes `payload_not_available` to `availability_topic`), Home Assistant will display the cover as "unavailable". If these messages are published with the `retain` flag set, the cover will receive an instant update after subscription and Home Assistant will display correct availability state of the cover when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the cover as "unavailable" when Home Assistant starts up.
To use your MQTT cover in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
cover:
- platform: mqtt
name: "MQTT Cover"
state_topic: "home-assistant/cover"
command_topic: "home-assistant/cover/set"
```
Configuration variables:
- **name** (*Optional*): The name of the sensor. Default is `MQTT Cover`.
- **state_topic** (*Optional*): The MQTT topic subscribed to receive sensor values.
- **command_topic** (*Optional*): The MQTT topic to publish commands to control the rollershutter.
- **command_topic** (*Optional*): The MQTT topic to publish commands to control the cover.
- **payload_open** (*Optional*): The payload that opens the cover. Default is `OPEN`.
- **payload_close** (*Optional*): The payload that closes the cover. Default is `CLOSE`.
- **payload_stop** (*Optional*): The payload that stops the rollershutter. default is `STOP`.
- **state_open** (*Optional*): The payload that represents open state. Default is `open`.
- **state_closed** (*Optional*): The payload that represents closed state. Default is `closed`.
- **payload_stop** (*Optional*): The payload that stops the cover. default is `STOP`.
- **state_topic** (*Optional*): The MQTT topic subscribed to receive cover state messages.
- **state_open** (*Optional*): The payload that represents the open state. Default is `open`.
- **state_closed** (*Optional*): The payload that represents the closed state. Default is `closed`.
- **availability_topic** (*Optional*): The MQTT topic subscribed to to receive birth and LWT messages from the MQTT cover device. If `availability_topic` is not defined, the cover availability state will always be "available". If `availability_topic` is defined, the cover availability state will be "unavailable" by default.
- **payload_available** (*Optional*): The payload that represents the online state. Default is `online`.
- **payload_not_available** (*Optional*): The payload that represents the offline state. Default is `offline`.
- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is `true` if no state topic defined, else `false`.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is `0`. Will also be used when publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not. Default is `false`.
- **qos** (*Optional*): The maximum QoS level to be used when receiving and publishing messages. Default is `0`.
- **retain** (*Optional*): Defines if published messages should have the retain flag set. Default is `false`.
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
- **set_position_topic** (*Optional*): The MQTT topic to publish position commands to.
- **set_position_template** (*Optional*): Defines a [template](/topics/templating/) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{{position}}`. If no template is defined, the numeric position (0-100) will be written directly to the topic.
@ -60,7 +65,7 @@ Configuration variables:
## {% linkable_title Examples %}
In this section you find some real life examples of how to use this sensor.
In this section you find some real life examples of how to use this platform.
### {% linkable_title Full configuration without tilt %}
@ -70,16 +75,19 @@ The example below shows a full configuration for a cover without tilt.
# Example configuration.yml entry
cover:
- platform: mqtt
state_topic: "home-assistant/cover"
command_topic: "home-assistant/cover/set"
name: "MQTT Cover"
command_topic: "home-assistant/cover/set"
state_topic: "home-assistant/cover/state"
availability_topic: "home-assistant/cover/availability"
qos: 0
retain: true
payload_open: "OPEN"
payload_close: "CLOSE"
payload_stop: "STOP"
state_open: "OPEN"
state_closed: "STATE"
state_open: "open"
state_closed: "closed"
payload_available: "online"
payload_not_available: "offline"
optimistic: false
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
@ -92,27 +100,30 @@ The example below shows a full configuration for a cover.
# Example configuration.yml entry
cover:
- platform: mqtt
state_topic: "home-assistant/cover"
command_topic: "home-assistant/cover/set"
name: "MQTT Cover"
command_topic: "home-assistant/cover/set"
state_topic: "home-assistant/cover/state"
availability_topic: "home-assistant/cover/availability"
qos: 0
retain: true
payload_open: "OPEN"
payload_close: "CLOSE"
payload_stop: "STOP"
state_open: "OPEN"
state_closed: "STATE"
state_open: "open"
state_closed: "closed"
payload_available: "online"
payload_not_available: "offline"
optimistic: false
value_template: '{% raw %}{{ value.x }}{% endraw %}'
tilt_command_topic: 'home-assistant/cover/tilt'
tilt_status_topic: 'home-assistant/cover/tilt-status'
tilt_status_topic: 'home-assistant/cover/tilt-state'
tilt_min: 0
tilt_max: 180
tilt_closed_value: 70
tilt_opened_value: 180
```
For a check you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your cover manually:
To test, you can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. This allows you to operate your cover manually:
```bash
$ mosquitto_pub -h 127.0.0.1 -t home-assistant/cover/set -m "CLOSE"

View File

@ -29,10 +29,10 @@ device_tracker:
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`.
- **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).
- **password** (*Required*): The password for your given admin account.
- **port** (*Optional*): The port your router communicates with (defaults to 5000, but 80 is also known to be used on some models)
List of models that are known to use port 80:
- Nighthawk X4S - AC2600 (R7800)

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
logo: owntracks.png
ha_category: Presence Detection
featured: true
featured: false
ha_release: 0.7.4
---

View File

@ -0,0 +1,36 @@
---
layout: page
title: "OwnTracks (via HTTP)"
description: "Instructions how to use Owntracks via HTTP to track devices in Home Assistant."
date: 2017-09-28 07:00
sidebar: true
comments: false
sharing: true
footer: true
logo: owntracks.png
ha_category: Presence Detection
featured: true
ha_release: 0.55
---
OwnTracks is a free and open source application that allows you to track your location in Home Assistant. This is a platform that supports OwnTracks via their HTTP publishing method.
To integrate Owntracks tracking via HTTP in Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: owntracks_http
```
For configuration options and usage instructions, read the documentation for the [OwnTracks platform](/components/device_tracker.owntracks/).
## {% linkable_title Configuring OwnTracks to submit data via HTTP %}
Open OwnTracks and go to Connection preferences:
- Mode: Private HTTP
- Host: <Home Assistant url>/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.

View File

@ -0,0 +1,36 @@
---
layout: page
title: "DuckDNS"
description: "Keep your computer registered with the DuckDNS dynamic DNS."
date: 2017-09-23 07:08
sidebar: true
comments: false
sharing: true
footer: true
logo: duckdns.png
ha_category: Utility
featured: false
ha_release: 0.55
---
With the DuckDNS component you can keep your DuckDNS record up to date. DuckDNS is a free dynamic DNS service that allows you to point a subdomain under `duckdns.org` at your computer.
To use the component in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
duckdns:
domain: mysubdomain
access_token: abcdefgh
```
{% configuration binary_sensor.template %}
domain:
description: Your duckdns subdomain (without the `.duckdns.org` suffix).
required: true
type: string
access_token:
description: Your DuckDNS access token. Log in to the site to get one.
required: true
type: string
{% endconfiguration %}

View File

@ -0,0 +1,62 @@
---
layout: page
title: "History Graph"
description: "Instructions for setting up History Graph."
date: 2017-09-20 15:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: History
logo: home-assistant.png
ha_release: "0.55"
---
<p class='img'>
<img src='{{site_root}}/images/screenshots/history_graph.png' />
</p>
The `history_graph` component will make the UI display a graph similar to the graphs in `more-info` popups and the [history](/components/history/) panel.
To use this component in your installation, add the following to your `configuration.yaml` file:
```yaml
# Minimal configuration.yaml entry
history_graph:
gr1:
entities:
- light.ceiling.lights
```
### {% linkable_title Configuration variables %}
| Attribute | Optional | Default | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entities` | no | | List of entities whose history to show as a graph. |
| `name` | yes | ID | Name to display. |
| `hours_to_show` | yes | 24 | Number of hours to show. |
| `refresh` | yes | 0 | Number of seconds between graph refreshes. 0 for no refreshes. |
### {% linkable_title Full Example %}
```yaml
# Full configuration.yaml entry
history_graph:
gr1:
name: Lights Graph
entities:
- light.ceiling.lights
- light.bed_light
hours_to_show: 240
refresh: 60
gr2:
name: Temperature
entities:
- sensor.outside_temperature
- sensor.inside_temperature
hours_to_show: 120
# refresh: 0
```

View File

@ -0,0 +1,50 @@
---
layout: page
title: "Input Datetime"
description: "Instructions how to integrate the Input Datetime component into Home Assistant."
date: 2017-09-14 16:01
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: Automation
ha_release: 0.55
---
The `input_datetime` component allows the user to define date and time values that can be controlled via the frontend and can be used within automations and templates.
To add three datetime inputs to your installation, one with both date and time, and one with date or time each, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
input_datetime:
both_date_and_time:
name: Input with both date and time
has_date: true
has_time: true
only_date:
name: Input with only date
has_date: true
has_time: false
only_time:
name: Input with only time
has_date: false
has_time: true
```
Configuration variables:
- **[alias]** (*Required*): Alias for the datetime input. Multiple entries are allowed.
- **name** (*Optional*): Friendly name of the datetime input.
- **has_time** (*Optional*): Set to `true` if this input should have time. Defaults to `false`.
- **has_date** (*Optional*): Set to `true` if this input should have a date. Defaults to `false`.
- **initial** (*Optional*): Set the initial value of this input. Defaults to '1970-01-01 00:00'.
A datetime input entity's state exports several attributes that can be useful in automations and templates:
- **has_time**: `true` if this entity has time.
- **has_date**: `true` if this entity has a date.
- **year**, **month**, **day** (Only available if *has_date* is true): The year, month and day of the date.
- **hour**, **minute**, **second** (Only available if *has_time* is true): The hour, minute and second of the time.
- **timestamp**: A timestamp representing the time held in the input. If *has_date* is true, this is the UNIX timestamp of the date / time held by the input. Otherwise (i.e., if only *has_time* is true) the number of seconds since midnight representing the time held by the input.

View File

@ -87,7 +87,7 @@ script:
sequence:
- service: wink.wink_set_lock_alarm_state
data:
enabled: false
enabled: false
```
### {% linkable_title Service `wink_set_lock_beeper_state` %}
@ -130,6 +130,20 @@ script:
enabled: false
```
### {% linkable_title Service `wink_add_new_lock_key_code` %}
You can use the service wink/wink_add_new_lock_key_code to add a new user code to your Wink lock.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of locks.
| `name` | no | the name of the new key code
| `code` | no | The new code. Must match length of existing codes.
<p class='note'>
Calling service wink/pull_newly_added_wink_devices will add the new key code to Home Assistant. The device will also show up on the next restart of Home Assistant.
</p>
<p class='note'>
If supported by your lock, a binary sensor will be created for each user key code you have defined. These key codes will turn on when the code is entered and automatically turn off after a few seconds.

View File

@ -24,6 +24,9 @@ Currently known supported models:
- TX-49DX650B
- TX-50DX700B
- TX-L42ET50
- TX-P50GT60E
- TX-65EXW784
- TX-32AS520E
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io).

View File

@ -28,7 +28,7 @@ media_player:
Configuration variables:
- **host** (*Optional*): The IP of the LG webOS Smart TV, e.g. `192.168.0.10`.
- **mac** (*Optional*): The MAC address of the TV, e.g. `C8:08:E9:99:99:1A`.
- **turn_on_action** (*Optional*): Defines an [action](/docs/automation/action/) to turn the TV on.
- **name** (*Optional*): The name you would like to give to the LG webOS Smart TV.
- **timeout** (*Optional*): The timeout for connections to the TV in seconds.
- **filename** (*Optional*): The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. It defaults to `webostv.conf`.
@ -36,7 +36,7 @@ Configuration variables:
- ***sources** array (*Optional*): List of hardware inputs.
If you do not specify `host:`, all LG webOS Smart TVs within your network will be auto-discovered if they use the default name setting of `[LG] webOS TV`.
Home Assistant is able to turn on a LG webOS Smart TV if you specify its MAC address with `mac:`. Some models require the **Mobile TV On** setting and/or a wired network connection to use Wake-on-LAN.
Home Assistant is able to turn on a LG webOS Smart TV if you specify an action, like HDMI-CEC or WakeOnLan.
A full configuration example will look like the sample below:
@ -45,10 +45,13 @@ A full configuration example will look like the sample below:
media_player:
- platform: webostv
host: 192.168.0.10
mac: C8:08:E9:99:99:1A
name: Living Room TV
timeout: 5
filename: webostv.conf
turn_on_action:
service: persistent_notification.create
data:
message: "Turn on action"
customize:
sources:
- livetv

View File

@ -2,7 +2,7 @@
layout: page
title: "MQTT Statestream"
description: "Instructions how to setup MQTT Statestream within Home Assistant."
date: 2017-09-11 08:00
date: 2017-10-01 20:00
sidebar: true
comments: false
sharing: true
@ -21,11 +21,17 @@ To enable MQTT Statestream in Home Assistant, add the following section to your
# Example configuration.yaml entry
mqtt_statestream:
base_topic: homeassistant
publish_attributes: true
publish_timestamps: true
```
Configuration variables:
- **base_topic** (*Required*): Base topic used to generate the actual topic used to publish.
- **publish_attributes** (*Optional*): Publish attributes of the entity as well as the state.
Default is false.
- **publish_timestamps** (*Optional*): Publish the last_changed and last_updated timestamps for the entity.
Default is false.
## Operation
@ -34,4 +40,8 @@ When any Home Assistant entity changes, this component will publish that change
The topic for each entity is different, so you can easily subscribe other systems to just the entities you are interested in.
The topic will be in the form `base_topic/domain/entity/state`.
For example, with the example configuration above, if an entity called 'light.master_bedroom_dimmer' is turned on, this component will publish `on` to `homeassistant/light/master_bedroom_dimmer/state`.
For example, with the example configuration above, if an entity called 'light.master_bedroom_dimmer' is turned on, this component will publish `on` to `homeassistant/light/master_bedroom_dimmer/state`.
If that entity also has an attribute called `brightness`, the component will also publish the value of that attribute to `homeassistant/light/master_bedroom_dimmer/brightness`.
The last_updated and last_changed values for the entity will be published to `homeassistant/light/master_bedroom_dimmer/last_updated` and `homeassistant/light/master_bedroom_dimmer/last_changed`, respectively. The timestamps are in ISO 8601 format - for example, `2017-10-01T23:20:30.920969+00:00`.

View File

@ -50,6 +50,51 @@ automation:
- +919784516314
```
You can also send messages to users that do not have stored their phone number with Facebook, but this requires a bit more work. The Messenger platform uses page specific user IDs instead of a global user ID. You will need to enable a webhook for the "messages" event in Facebook's developer console. Once a user writes a message to a page, that webhook will then receive the user's page specifc ID as part of the webhook's payload. Below is a simple PHP script that reacts to the message "get my id" and sends a reply containing the user's ID:
```php
<?php
$access_token = "";
$verify_token = "";
if (isset($_REQUEST['hub_challenge'])) {
$challenge = $_REQUEST['hub_challenge'];
$hub_verify_token = $_REQUEST['hub_verify_token'];
if ($hub_verify_token === $verify_token) {
echo $challenge;
}
}
$input = json_decode(file_get_contents('php://input'), true);
$sender = $input['entry'][0]['messaging'][0]['sender']['id'];
$message = $input['entry'][0]['messaging'][0]['message']['text'];
if (preg_match('/get my id/', strtolower($message))) {
$url = 'https://graph.facebook.com/v2.10/me/messages?access_token=' . $access_token;
$ch = curl_init($url);
$jsonData = '{
"recipient":{
"id":"' . $sender . '"
},
"message":{
"text":"Your ID: ' . $sender . '"
}
}';
$jsonDataEncoded = $jsonData;
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
if (!empty($input['entry'][0]['messaging'][0]['message'])) {
$result = curl_exec($ch);
}
}
```
### {% linkable_title Rich messages %}
You could also send rich messing (cards, buttons, images, videos, etc). [Info](https://developers.facebook.com/docs/messenger-platform/send-api-reference) to which types or messages and how to build them.

View File

@ -25,10 +25,28 @@ notify:
device_key: ABCDE
```
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`.
- **device_key** (*Required*): The device key of your device.
{% configuration %}
name:
description: 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`.
required: false
type: string
device_key:
description: The device key of your device.
required: true
type: string
event:
description: The event for the events.
required: false
type: string
password:
description: The password of the encryption used by your device.
required: inclusive
type: string
salt:
description: The salt used by your device.
required: inclusive
type: string
{% endconfiguration %}
To test if the service works, just send a message with `curl` from the command-line.

View File

@ -0,0 +1,33 @@
---
layout: page
title: "Melnor Raincloud"
description: "Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant."
date: 2017-09-04 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raincloud.jpg
ha_category: Hub
ha_release: 0.55
---
The `raincloud` component allows you to integrate your [Melnor RainCloud](https://wifiaquatimer.com) sprinkler system in Home Assistant.
To enable it, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
raincloud:
username: you@example.com
password: secret
```
Configuration variables:
- **username** (*Required*): The username for accessing your Melnor RainCloud account.
- **password** (*Required*): The password for accessing your Melnor RainCloud account.
- **scan_interval** (*Optional*): Defines the update interval of the sensor in seconds. Defaults to 20seconds.
Finish its configuration by visiting the [Raincloud binary sensor](/components/binary_sensor.raincloud/), [Raincloud sensor](/components/sensor.raincloud/) and [Raincloud switch](/components/switch.raincloud/) documentation.

View File

@ -85,6 +85,23 @@ rflink:
port: 1234
```
### {% linkable_title Adding devices Automatically %}
In order to have your devices being detected and added automatically, you need to add the following to the configuration.
When pressing the button on the physical remote, RFLink detects the signal and the device should be added automatically to Home Assistant.
```yaml
light:
- platform: rflink
automatic_add: true
switch:
- platform: rflink
automatic_add: true
sensor:
- platform: rflink
automatic_add: true
```
### {% linkable_title Ignoring devices %}
RFLink platform can be configured to completely ignore a device on a platform level. This is useful when you have neighbors which also use 433 MHz technology.

View File

@ -25,6 +25,7 @@ sensor:
- captured_today
- last_capture
- total_cameras
- battery_level
```
Configuration variables:
@ -33,5 +34,6 @@ Configuration variables:
- **captured_today**: Return the number of videos captured on the current day.
- **last_capture**: Return the timestamp from the last video captured by your Arlo camera.
- **total_cameras**: Return the number of recognized and active cameras linked on your Arlo account.
- **battery_level**: Return the battery level of your Arlo camera.
If no **monitored_conditions** are specified, all of above will be enabled by default.

View File

@ -57,7 +57,7 @@ sensor:
required: false
type: string
name:
description: "Version of DSMR used by meter, choices: 2.2, 4. Defaults to 2.2."
description: "Version of DSMR used by meter. Choices: 2.2, 4, 5. Defaults to 2.2."
required: false
type: string
{% endconfiguration %}

View File

@ -13,7 +13,10 @@ ha_release: 0.21
ha_iot_class: "Local Polling"
---
A sensor platform for the [DTE](https://www.dteenergy.com/) Energy Bridge.
A sensor platform for the [DTE](https://www.dteenergy.com/) Energy Bridge. To find out which version of the DTE Energy Bridge sensor you have, find the status LED on your box.
- If the status LED is on the top, you have a v1.
- If the status LED is on the front, you have a v2.
To enable this sensor, add the following lines to your `configuration.yaml` file:
@ -28,3 +31,4 @@ Configuration variables:
- **ip** (*Required*): The IP address of your bridge.
- **name** (*Optional*): Name to use in the frontend.
- **version** (*Optional*): Hardware version of the sensor. Defaults to 1.

View File

@ -0,0 +1,107 @@
---
layout: page
title: GeoRSS Events Sensor
description: "Instructions on how to set up GeoRSS sensors within Home Assistant."
date: 2017-07-31
sidebar: true
comments: false
sharing: true
footer: true
logo: rss.png
ha_category: Sensor
ha_version: 0.55
ha_iot_class: "Cloud Polling"
---
The `geo_rss_events` sensor retrieves events from a GeoRSS feed and
shows information of those events filtered by distance to Home Assistant's
location and grouped by category.
This sensor is particularly useful if events occur unexpectedly in the
vicinity of the home while the GeoRSS feed also contains many events
representing distant unrelated entries. Typical examples are bush fires
alerts or earthquakes.
<p class='img'>
<img src='{{site_root}}/images/screenshots/geo-rss-incidents-group-screenshot.png' />
</p>
The reference point for comparing the distance is defined by `latitude`
and `longitude` in the basic configuration.
Only entries of the feed are considered that define a location as `point`
or `polygon` in *georss.org* format or as *WGS84 latitude/longitude*.
The data is updated every 5 minutes.
## {% linkable_title Configuration %}
To enable the GeoRSS events sensor, add the following lines to your
`configuration.yaml`. This is an example configuration showing bush fire
incidents from the NSW Rural Fire Service.
```yaml
# Example configuration.yaml entry
sensor:
- platform: geo_rss_events
name: NSW Fire Service
url: http://www.rfs.nsw.gov.au/feeds/majorIncidents.xml
unit_of_measurement: 'Incidents'
categories:
- 'Emergency Warning'
- 'Watch and Act'
- 'Advice'
```
Configuration variables:
- **url** (*Required*): Full URL of the GeoRSS feed.
- **name** (*Optional*): Name of the sensor used in generating the entity id. Default is 'Event Service'.
- **radius** (*Optional*): The distance in kilometres around the Home Assistant's coordinates in which events are considered. Default is: 20km.
- **categories** (*Optional*): List of event category names found in the GeoRSS feed. A separate sensor is created for each category defined. Default is to join events from all categories into an 'Any' category.
- **unit_of_measurement** (*Optional*): The type of events found in the GeoRSS feed. Default is 'Events'.
## {% linkable_title Example Feeds %}
**Bush Fire Alerts**
```yaml
sensor:
- platform: geo_rss_events
name: Qld Fire and Emergency Services
url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml
unit_of_measurement: 'Alerts'
- platform: geo_rss_events
name: Tas Fire Service
url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss
unit_of_measurement: 'Alerts'
- platform: geo_rss_events
name: WA Department of Fire and Emergency Services
url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss
- platform: geo_rss_events
name: ACT Emergency Services Agency
url: http://www.esa.act.gov.au/feeds/currentincidents.xml
```
**Earthquake Alerts**
```yaml
sensor:
- platform: geo_rss_events
name: USGS All Earthquakes
url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.atom
categories:
- 'Past Hour'
- 'Past Day'
- platform: geo_rss_events
name: BGS Worlwide Earthquakes
url: http://www.bgs.ac.uk/feeds/worldSeismology.xml
categories:
- 'EQMH'
- platform: geo_rss_events
name: Recent significant earthquake reports (Canada)
url: http://www.earthquakescanada.nrcan.gc.ca/index-en.php?tpl_region=canada&tpl_output=rss
categories:
- 'Earthquake Report'
```

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Melnor Raincloud Sensor"
description: "Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant."
date: 2017-09-04 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raincloud.jpg
ha_category: Sensor
ha_release: "0.55"
ha_iot_class: "Cloud Polling"
---
To get your [Melnor RainCloud](https://wifiaquatimer.com) sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud).
Once you have enabled the [Raincloud component](/components/raincloud), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: raincloud
```
Configuration variables:
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. If not specified, all conditions below will be enabled by default. The following conditions can be monitored.
- **battery**: Return the battery level the Melnor RainCloud faucet.
- **next_cycle**: Return the next schedulle watering cycle per zone.
- **rain_delay**: Return the number of days the automatic watering will be delayed due to raining per zone.
- **watering_time**: Return the watering remaining minutes per zone.

View File

@ -0,0 +1,79 @@
---
layout: page
title: "The Things Network Sensor"
description: "Instructions how to integrate The Things Network sensors into Home Assistant."
date: 2017-09-30 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: thethingsnetwork.png
ha_category: Sensor
ha_iot_class: "Local Polling"
ha_release: 0.55
---
The `thethingsnetwork` sensor platform allows you to get data from a [The Things Network Storage Integration](https://www.thethingsnetwork.org/docs/applications/storage/).
This platform requires that the [The Things Network component](/components/thethingsnetwork/) is set up and the [The Things Network Storage Integration](https://www.thethingsnetwork.org/docs/applications/storage/) as well.
Visit the [The Things Network Console](https://console.thethingsnetwork.org/) website, log in with your The Things Network credentials, choose your application from **Applications** and go to **Integrations**.
Add a new integration.
<p class='img'>
<img src='/images/components/thethingsnetwork/add_integration.png' />
Add a The Things Network integration
</p>
Select **Data Storage**.
<p class='img'>
<img src='/images/components/thethingsnetwork/choose_integration.png' />
Choose a The Things Network integration
</p>
Click **Add integration** to finish the process.
<p class='img'>
<img src='/images/components/thethingsnetwork/confirm_integration.png' />
Add a The Things Network Data Storage integration
</p>
When done, the status of the integration should be **Running**. You could check the output after clicking on **go to platform** in an interactive web interface.
<p class='img'>
<img src='/images/components/thethingsnetwork/storage_integration.png' />
Add a The Things Network integration
</p>
Select **Devices** to get the ID of your device that you want to use.
<p class='img'>
<img src='/images/components/thethingsnetwork/devices.png' />
Devices overview
</p>
To enable this platform, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: thethingsnetwork
device_id: ha-demo
values:
sensor_value: unit of measurment
voltage: V
```
{% configuration %}
device_id:
description: The ID of the device.
required: true
type: string
values:
description: The sensor values with their unit of measurement
required: true
type: list
{% endconfiguration %}

View File

@ -0,0 +1,33 @@
---
layout: page
title: "Tibber"
description: "Instructions how to integrate Tibber within Home Assistant."
date: 2017-10-03 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: tibber.png
ha_category: Sensor
ha_release: 0.55
ha_iot_class: "Cloud Polling"
---
The `tibber` sensor provides the current electricity price if you are a [Tibber](https://tibber.com/) customer.
To add Tibber to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: tibber
access_token: d1007ead2dc84a2b82f0de19451c5fb22112f7ae11d19bf2bedb224a003ff74a
```
{% configuration %}
access_token:
description: Go to [developer.tibber.com/](https://developer.tibber.com/) to get your API token.
required: true
type: string
{% endconfiguration %}

View File

@ -1,7 +1,7 @@
---
layout: page
title: "ZigBee Home Automation Sensor"
description: "Instructions how to setup ZigBee Home Automation sensors within Home Assistant."
description: "Instructions on how to setup ZigBee Home Automation sensors within Home Assistant."
date: 2017-02-22 00:00
sidebar: true
comments: false
@ -13,3 +13,4 @@ ha_iot_class: "Local Polling"
---
To get your ZigBee sensors working with Home Assistant, follow the instructions for the general [ZigBee Home Automation Component](/components/zha/).

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Melnor Raincloud Switch"
description: "Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant."
date: 2017-09-04 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raincloud.jpg
ha_category: Switch
ha_release: "0.55"
ha_iot_class: "Cloud Polling"
---
To get your [Melnor RainCloud](https://wifiaquatimer.com) binary sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud).
Once you have enabled the [Raincloud component](/components/raincloud), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
- platform: raincloud
```
Configuration variables:
- **watering_minutes** (*Optional*): Value in minutes to watering your garden via frontend. Defaults to 15.
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. If not specified, all conditions below will be enabled by default. The following conditions can be monitored.
- **auto_watering**: Toggle the watering scheduled per zone.
- **manual_watering**: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub component.

View File

@ -0,0 +1,63 @@
---
layout: page
title: "The Things Network"
description: "Instructions for how to integrate The Things Network within Home Assistant."
date: 2017-09-30 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: thethingsnetwork.png
ha_category: Hub
ha_release: 0.55
ha_iot_class: depends
---
The `thethingsnetwork` component allows one to interact with the [The Things Network](https://www.thethingsnetwork.org). This community-driven and open network supports [LoRaWAN](https://www.lora-alliance.org/) for long range (~5 to 15km) communication with a low bandwidth (51 bytes/message). [Gateways](https://www.thethingsnetwork.org/docs/gateways/) transfers the received data from the sensors to the The Things Network.
The Things network support various integrations to make the data available:
| The Things Network Integration | Home Assistant platform |
|---|---|
| [MQTT](https://www.thethingsnetwork.org/docs/applications/mqtt/) | |
| [Storage](https://www.thethingsnetwork.org/docs/applications/storage/) | [`thethingsnetwork`](/component/sensor.thethingsnetwork/) |
| [HTTP](https://www.thethingsnetwork.org/docs/applications/http/} | |
### {% linkable_title Setup %}
Visit the [The Things Network Console](https://console.thethingsnetwork.org/) website, log in with your The Things Network credentials, choose your application from **Applications**.
The **Application ID** is used to identify the scope of your data.
<p class='img'>
<img src='/images/components/thethingsnetwork/applications.png' />
Application overview
</p>
You need an access key to be able to read the data from your application.
<p class='img'>
<img src='/images/components/thethingsnetwork/access_key.png' />
Access keys
</p>
To enable this component, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
thethingsnetwork:
app_id: sensor-123
access_key: ttn-account-v2.xxxxxxxxxxx_yyyyyyyyyyy
```
{% configuration %}
app_id:
description: The Application ID.
required: true
type: string
access_key:
description: The access key.
required: true
type: string
{% endconfiguration %}

View File

@ -80,6 +80,26 @@ Use this call to enter the remote control mode, make one move, and stop and exit
| `rotation` | no | Rotation, between -179 degrees and 179 degrees. |
| `duration` | no | Parameter affecting the duration of the movement. |
### {% linkable_title Attributes %}
In addition to all [`vacuum` component attributes] (`battery_icon`, `cleaned_area`, `fan_speed`, `fan_speed_list`, `status`, `params`), the `xiaomi` platform introduces specific attributes to get information of the botvac.
These are: `cleaning_time`, `do_not_disturb`, `main_brush_left`, `side_brush_left`, `filter_left`, `cleaning_count`, `total_cleaned_area` and `total_cleaning_time`.
The following table shows the units of measurement for the single attributes.
| Attribute | Unit of measurement | Description |
|---------------------------|---------------------|-------------------------------------------------------|
| `do_not_disturb` | | DND mode on / off |
| `cleaning_time` | minutes | Last / actual cleaning time in minutes |
| `cleaned_area` | square meter | Last / actual cleaned area in square meter |
| `main_brush_left` | hours | Hours left until a change of the main brush is needed |
| `side_brush_left` | hours | Hours left until a change of the side brush is needed |
| `filter_left` | hours | Hours left until a change of the filter is needed |
| `cleaning_count` | | Number of total cleaning passage |
| `total_cleaned_area` | square meter | Total cleaned area in square meter |
| `total_cleaning_time` | minutes | Total cleaning time in minutes |
### {% linkable_title Retrieving the Access Token %}
<p class='note'>

View File

@ -34,7 +34,7 @@ This method will require you to setup a developer account with Wink. This proces
This form of authentication doesn't require any settings in the configuration.yaml other than `wink:` this is because you will be guided through setup via the configurator on the frontend.
<p class='note'>
When using the configurator make sure the initial setup is performed on the same local network as the Home Assistant server, if not from the same box Home Assistant is running on. This will allow for authentication redirects to happen correctly.
When using the configurator make sure the initial setup is performed on the same local network as the Home Assistant server, if not from the same box Home Assistant is running on. This will allow for authentication redirects to happen correctly.
</p>
```yaml
@ -79,7 +79,7 @@ Local control:
- Using local control doesn't appear to make commands any quicker, but does function in an internet/Wink outage.
- Local control is also only available for the Wink hub v1 and v2, not the Wink relay.
- Local control is also only available for the Wink hub v1 and v2, not the Wink relay.
- Local control isn't used during start-up of Home Assistant; this means initial setup requires an active internet connection.
@ -98,15 +98,50 @@ Error sending local control request. Sending request online
### {% linkable_title Service `refresh_state_from_wink` %}
The Wink component only obtains the device states from the Wink API once, during startup. All updates after that are pushed via a third party called PubNub. On rare occasions where an update isn't pushed device states can be out of sync.
The Wink component only obtains the device states from the Wink API once, during startup. All updates after that are pushed via a third party called PubNub. On rare occasions where an update isn't pushed device states can be out of sync.
You can use the service wink/refresh_state_from_wink to pull the most recent state from the Wink API for all devices. If `local_control` is set to `True` states will be pulled from the devices controlling hub, not the online API.
### {% linkable_title Service `add_new_devices` %}
### {% linkable_title Service `pull_newly_added_devices_from_wink` %}
You can use the service wink/add_new_devices to pull any newly paired Wink devices to an already running instance of Home-Assistant. Any new devices will also be added if Home-Assistant is restarted.
### {% linkable_title Service `delete_wink_device` %}
You can use the service wink/delete_wink_device to remove/unpair a device from Wink.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String that points at the `entity_id` of device to delete.
### {% linkable_title Service `pair_new_device` %}
You can use the service wink/pair_new_device to pair a new device to your Wink hub/relay
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `hub_name` | no | The name of the hub to pair a new device to.
| `pairing_mode` | no | One of the following [zigbee, zwave, zwave_exclusion, zwave_network_rediscovery, lutron, bluetooth, kidde]
| `kidde_radio_code` | conditional | A string of 8 1s and 0s one for each dip switch on the kidde device left --> right = 1 --> 8 (Required if pairing_mode = kidde)
<p class='note'>
The Wink hub, by default, can only be accessed via the cloud. This means it requires an active internet connection and you will experience delays when controlling and updating devices (~3s).
Calling service wink/pull_newly_added_wink_devices after a device is paired will add that new device to Home Assistant. The device will also show up on the next restart of Home Assistant.
</p>
### {% linkable_title Service `rename_wink_device` %}
You can use the service wink/rename_wink_device to change the name of a device.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String that points at the `entity_id` of device to rename.
| `name` | no | The name to change it to.
<p class='note'>
Home Assistant entity_ids for Wink devices are based on the Wink device's name. Calling this service will not change the entity_id of the deivce until Home Assistant is restarted.
</p>
<p class='note'>
The Wink hub, by default, can only be accessed via the cloud. This means it requires an active internet connection and you will experience delays when controlling and updating devices (~3s).
</p>

View File

@ -79,6 +79,27 @@ data:
As you can see the `category` key is used to tell the device what kind of content extension to use. You can use the same category identifiers in your own custom [actions](/ecosystem/ios/notifications/actions/) to add actions to the content extension.
For example this configuration adds actions to a camera content message.
```yaml
ios:
push:
categories:
- name: Camera With Actions
identifier: 'camera'
actions:
- identifier: 'OPEN_COVER'
title: 'Open Cover'
activationMode: 'background'
authenticationRequired: yes
destructive: no
- identifier: 'CLOSE_COVER'
title: 'Close Cover'
activationMode: 'background'
authenticationRequired: yes
destructive: yes
```
# Troubleshooting
If you are having problems with receiving these special notifications try restarting your phone first. The extensions somewhat often fail to register properly until a restart.

View File

@ -36,6 +36,10 @@ To get the current state of the `homeassistant.service` replace `stop` with `sta
### {% linkable_title Update Home Assistant %}
<p class='note'>
You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade home-assistant`
</p>
Log in as the `pi` account and execute the following commands:
```bash

View File

@ -10,17 +10,27 @@ footer: true
redirect_from: /docs/hassbian/customization/
---
To allow you to customize your installation further, we have included a tool called `hassbian-config`. This tool comes with a set of packages that can easily be installed for easier customization of your Home Assistant installation.
To allow you to customize your installation further, we have included a tool called `hassbian-config`. This tool comes with a set of packages that can easily be installed or upgraded for easier customization of your Home Assistant installation.
The tool is available by running `hassbian-config`.
### Install scripts
To view the available packages run `hassbian-config show` and `sudo hassbian-config install PACKAGENAME`.
- Install Hue. Configures the Python executable to allow usage of low numbered ports for use with Emulated Hue component thats used with Amazon Echo, Google Home and Mycroft.ai.
- Install MariaDB. This script installs MariaDB and it's dependencies for use with the recorder component in Home Assistant. No database or database user is created during this setup and will need to be created manually.
- Install Mosquitto MQTT server. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support.
- Install Libcec. Adds local [HDMI CEC support][cec].
- Install Open Z-Wave-pip. Installs Python Open Z-Wave from a pip package. This is the quickest and recommended way of installing Z-Wave support but does not OZWCP pre-installed.
- Install Open Z-Wave. Installs Python Open Z-Wave and OZWCP from git.
- Install Libcec. Adds local [HDMI CEC support][cec]. *This scipt is currently brooken upstream since it currently doesn't build properly for Python >3.4*
- Install Samba. Allows anyone on your network to edit your configuration from any computer. This share is unsecured and it's usage is not recommended if you share your network with others.
- Install Tradfri. Installs dependencies for using IKEA Trådfri.
- Install Duck DNS auto renewal. This script adds an cron job to auto update you the WAN IP address for the defined domain. Before running this script you should already have an Duck DNS account, during the installation you will be asked to supply your domain name and the token for your account.
- Install an web terminal for easy access to ssh in an web browser. This script installs an web terminal called 'shellinabox' to you system that give you SSH access in you web browser.
#### Upgrade scripts
To view the available packages run `hassbian-config show` and `sudo hassbian-config upgrade PACKAGENAME`.
- Upgrade your Home Assistant installation.
- Upgrade your HASSbian installation.
- Upgrade HASSbian-scripts.
- Upgrade HASSbian-scripts from dev branch.
The tool is available by running `hassbian-config`. To view the available packages run `hassbian-config show` and `sudo hassbian-config install PACKAGENAME`.
For more information about this tool have a look at the [hassbian-scripts repository][hassbian-repo].
[hassbian-repo]: https://github.com/home-assistant/hassbian-scripts

View File

@ -31,7 +31,7 @@ The following extras are included on the image:
- GPIO pins are ready to use.
- Bluetooth is ready to use (supported models only, no Bluetooth LE).
- SSH server is enabled.
- A tool called `hassbian-config`.
- A tool called [`hassbian-config`](https://github.com/home-assistant/hassbian-scripts#hassbian-config-hassbian-config).
### {% linkable_title Wireless Network %}

View File

@ -20,6 +20,9 @@ $ sudo apt-get -y upgrade
#### {% linkable_title Updating Home Assistant %}
<p class='note'>
You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade home-assistant`
</p>
To update the Home Assistant installation execute the following command as the `pi` user.

View File

@ -16,6 +16,7 @@ The discovery of MQTT devices will enable one to use MQTT devices with only mini
Supported by MQTT discovery:
- [Binary sensors](/components/binary_sensor.mqtt/)
- [Fans](/components/fan.mqtt/)
- [Lights](/components/light.mqtt/)
- [Sensors](/components/sensor.mqtt/)
- [Switches](/components/switch.mqtt/)

View File

@ -0,0 +1,382 @@
---
layout: post
title: "0.55: Tibber, DuckDNS, The Things Network, Owntrack"
description: "Support for Tibber and the Things Network a long with new Owntracks and DuckDNS features"
date: 2017-10-07 10:00:00
date_formatted: "October 7, 2017"
author: Fabian Affolter
author_twitter: fabaff
comments: true
categories: Release-Notes
og_image: /images/blog/2017-10-0.55/components.png
---
<a href='/components/#version/0.55'><img src='/images/blog/2017-10-0.55/components.png' style='border: 0;box-shadow: none;'></a>
Beside the improved Wink support which was contributed by [@w1ll1am23], ships this release a wide variety of new components and platforms. The `input_slider` components has received a makeover by [@BioSehnsucht] and is now [`input_number`][input_number docs]. [@tinloaf] added a feature that allows you to enter dates: [`input_datetime`][input_datetime docs]. Both will help you to improve your automation rules.
## {% linkable_title DuckDNS %}
Using Home Assistant with [DuckDNS](http://www.duckdns.org) for Dynamic DNS (DDNS or DynDNS) is an [old story](https://home-assistant.io/blog/2015/12/13/setup-encryption-using-lets-encrypt/). DuckDNS is also integrated in [Hass.io](https://home-assistant.io/addons/duckdns/). 0.55 ships a component for no Hass.io users to get a similar feature.
## {% linkable_title Recorder %}
The purging of data was [improved][recorder docs]. With `purge_interval` you can schedule regular purges of older events and states. In combination you can specify with `purge_keep_days` the amount of days you want to keep. The new service `recorder.purge` allow to handle this task when needed.
## {% linkable_title Owntracks %}
[Owntracks](http://owntracks.org/) is an easy way to track your devices. For some times we have the device tracker which depends on [MQTT][device_tracker.owntracks docs] but thanks to a new feature in Owntracks we can now offer support for HTTP. The [new platform][device_tracker.owntracks_http docs] doesn't require a MQTT broker but sends messages directly as HTTP requests to Home Assistant.
## {% linkable_title Tibber %}
This release introduces a new sensor: [Tibber][sensor.tibber docs]. The sensor provides the current electricity price if you are a [Tibber](https://tibber.com/) customer. This will allow you to make automation for turning off the heater when the electricity price is high or only charge your electric car when the prices are low. We further plan to add support for showing future electricity prices and historic electricity consumption data. Tibber is currently only available in Norway and Sweden
## {% linkable_title The Things Network %}
[The Things Network](https://www.thethingsnetwork.org/) (TTN) is a [LoRaWAN](https://www.thethingsnetwork.org/wiki/LoRaWAN/Home) based network especially designed for IoT devices. With this [integration][thethingsnetwork docs] one can observe the state of devices which are out of range of the local WiFi network as long as they are connected to a TTN gateway.
## {% linkable_title New Platforms %}
- GeoRSS sensor ([@exxamalte] - [#9331]) ([sensor.geo_rss_events docs]) (new-platform)
- Add DuckDNS component ([@balloob] - [#9556]) ([duckdns docs]) (new-platform)
- Add OwnTracks over HTTP ([@balloob] - [#9582]) ([http docs]) ([device_tracker.owntracks docs]) ([device_tracker.owntracks_http docs]) (new-platform)
- Add an input_datetime ([@tinloaf] - [#9313]) ([input_datetime docs]) (new-platform)
- Cover component for RFlink ([@passie] - [#9432]) ([rflink docs]) ([cover.rflink docs]) (new-platform)
- Introducing support to Melnor RainCloud sprinkler systems ([@tchellomello] - [#9287]) ([raincloud docs]) ([binary_sensor.raincloud docs]) ([sensor.raincloud docs]) ([switch.raincloud docs]) (new-platform)
- MQTT climate platform [continuation of #8750] ([@tinloaf] - [#9589]) ([climate.mqtt docs]) (new-platform)
- Add Tibber sensor ([@danielhiversen] - [#9661]) ([sensor.tibber docs]) (new-platform)
- Updating clicksendaudio component based on feedback ([@jeroenterheerdt] - [#9692]) ([notify.clicksendaudio docs]) (new-platform)
- Support for The Things Network ([@fabaff] - [#9627]) ([thethingsnetwork docs]) ([sensor.thethingsnetwork_data docs]) (new-platform)
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][discord]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
## {% linkable_title Reporting Issues %}
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
<!--more-->
## {% linkable_title Breaking Changes %}
- history_graph component: If your component used `history.get_significant_states` function then you need to adjust the string `entitity_id` parameter has been changed to a list of strings `entity_ids` parameter. ([@andrey-git] - [#9472]) ([history_graph docs]) (breaking change)
- UPNP component: The `external_port` configuration option was removed. ([@balloob] - [#9560]) ([upnp docs]) (breaking change)
- New Wink services: pair new device, rename, delete and add new lock key code. All device attributes that are multi-words are now separated by "_" and no longer " ". ([@w1ll1am23] - [#9303]) ([wink docs]) ([binary_sensor.wink docs]) ([lock.wink docs]) (breaking change)
- TP-Link Switch: Attribute names now uses underscores and unnecessary capitalization was removed. ([@djchen] - [#9607]) ([switch.tplink docs]) (breaking change)
- Renamed `input_slider` to `input_number` which has now a numeric text box option. ([@BioSehnsucht] - [#9494]) ([demo docs]) ([input_number docs]) (breaking change)
- Recorder: Add new purge service and interval. ([@milanvo] - [#9523]) (breaking change)
- OpenCV image processing: Typo in classifier was fixed. ([@arsaboo] - [#9697]) ([image_processing.opencv docs]) (breaking change)
- Tradfri Lights: Async support with resource observation. ([@lwis] - [#7815]) ([tradfri docs]) ([light.tradfri docs]) (breaking change)
## {% linkable_title All changes %}
- flux led lib 0.20 ([@danielhiversen] - [#9533]) ([light.flux_led docs])
- Update AbodePy to 0.11.8 ([@MisterWil] - [#9537]) ([abode docs])
- Bump python_openzwave to 0.4.0.35 ([@arsaboo] - [#9542]) ([zwave docs])
- update usps ([@happyleavesaoc] - [#9540]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs])
- Bugfix Homematic hub object ([@pvizeli] - [#9544]) ([homematic docs])
- Fix a bunch of typos ([@mika] - [#9545])
- Catch no longer existing process in systemmonitor ([@Tommatheussen] - [#9535]) ([sensor.systemmonitor docs])
- Upgrade pyasn1 to 0.3.6 ([@fabaff] - [#9548])
- Add history_graph component ([@andrey-git] - [#9472]) (breaking change)
- GeoRSS sensor ([@exxamalte] - [#9331]) ([sensor.geo_rss_events docs]) (new-platform)
- Fixed bug with all switch devices being excluded ([@MisterWil] - [#9555]) ([switch.abode docs])
- fix usps? ([@happyleavesaoc] - [#9557]) ([usps docs]) ([sensor.usps docs])
- Added support for ARM_NIGHT for manual_mqtt alarm ([@snjoetw] - [#9358]) ([alarm_control_panel.manual_mqtt docs])
- Various AirVisual bugfixes ([@bachya] - [#9554]) ([sensor.airvisual docs])
- Updated Arlo cameras with new attributes ([@bachya] - [#9565]) ([arlo docs]) ([camera.arlo docs])
- Allow specifying multiple ports for UPNP component ([@balloob] - [#9560]) ([upnp docs]) (breaking change)
- Update yeelight to 0.3.3. ([@pfalcon] - [#9561]) ([light.yeelight docs])
- Add test cases and fix for device_defaults fire_event option. ([@aequitas] - [#9567]) ([light.rflink docs]) ([switch.rflink docs])
- Use simplepush module, enable event, and allow encrypted communication ([@fabaff] - [#9568]) ([notify.simplepush docs])
- Add DuckDNS component ([@balloob] - [#9556]) ([duckdns docs]) (new-platform)
- Clean up OwnTracks ([@balloob] - [#9569]) ([device_tracker.owntracks docs])
- MQTT Cover: Add availability topic and configurable payloads ([@marthoc] - [#9445]) ([cover.mqtt docs])
- Upgrade dsmr_parser to 0.11 ([@fabaff] - [#9576]) ([sensor.dsmr docs])
- Added new statistic attributes ([@sti0] - [#9433]) ([vacuum.xiaomi docs])
- Upgrade youtube_dl to 2017.9.24 ([@fabaff] - [#9575]) ([media_extractor docs])
- Upgrade lyft_rides to 0.2 ([@enriquegh] - [#9578]) ([sensor.lyft docs])
- Increase Comed timeout since it sometimes takes a long time for the API to respond ([@joe248] - [#9536]) ([sensor.comed_hourly_pricing docs])
- Allow customizable turn on action for LG WebOS tv ([@cmsimike] - [#9206]) ([media_player.webostv docs]) (breaking change)
- IMAP Unread sensor updated for async and push ([@amelchio] - [#9562]) ([sensor.imap docs])
- Replace emulated_hue: with emulated_hue_hidden: for consistency. ([@rbflurry] - [#9382]) ([emulated_hue docs])
- Upgrade Sphinx to 1.6.4 ([@fabaff] - [#9584])
- Bump pyatv to 0.3.5 ([@postlund] - [#9586]) ([apple_tv docs]) ([media_player.apple_tv docs])
- New Wink services. pair new device, rename, and delete, add new lock key code. Add water heater support ([@w1ll1am23] - [#9303]) ([wink docs]) ([binary_sensor.wink docs]) ([lock.wink docs]) (breaking change)
- Fixes UPS MyChoice exception ([@bachya] - [#9587]) ([sensor.ups docs])
- FedEx: Adds "packages" as a unit ([@bachya] - [#9588]) ([sensor.fedex docs])
- Cleanup entity & remove warning ([@pvizeli] - [#9606])
- Add OwnTracks over HTTP ([@balloob] - [#9582]) ([http docs]) ([device_tracker.owntracks docs]) ([device_tracker.owntracks_http docs]) (new-platform)
- upgrade python-ecobee-api ([@nkgilley] - [#9612]) ([ecobee docs])
- Change TP-Link Switch power statistics attribute names ([@djchen] - [#9607]) ([switch.tplink docs]) (breaking change)
- Migrate Alexa smart home to registry ([@balloob] - [#9616]) ([alexa.smart_home docs])
- Add an input_datetime ([@tinloaf] - [#9313]) ([input_datetime docs]) (new-platform)
- Cover component for RFlink ([@passie] - [#9432]) ([rflink docs]) ([cover.rflink docs]) (new-platform)
- Introducing support to Melnor RainCloud sprinkler systems ([@tchellomello] - [#9287]) ([raincloud docs]) ([binary_sensor.raincloud docs]) ([sensor.raincloud docs]) ([switch.raincloud docs]) (new-platform)
- Rewrite synology camera by using py-synology package ([@snjoetw] - [#9583]) ([camera.synology docs])
- yeelight: allow turn_off transitions, fixes #9602 ([@rytilahti] - [#9605]) ([light.yeelight docs])
- Move 'voltage' to const ([@fabaff] - [#9621]) ([sensor.pvoutput docs]) ([switch.tplink docs])
- Yamaha MusicCast: check known_hosts ([@jalmeroth] - [#9580]) ([media_player.yamaha_musiccast docs])
- Fixed away_mode for Ecobee thermostat. ([@etsinko] - [#9559]) ([climate.ecobee docs])
- Switched VeraSensor to use category ids ([@alanfischer] - [#9624]) ([sensor.vera docs])
- splunk: Handle datetime objects in event payload ([@philk] - [#9628]) ([splunk docs])
- MQTT climate platform [continuation of #8750] ([@tinloaf] - [#9589]) ([climate.mqtt docs]) (new-platform)
- wunderground: fix supported language codes #9631 ([@szogi] - [#9633]) ([sensor.wunderground docs])
- add myself to codeowners ([@rytilahti] - [#9642])
- raspihats: unmet dependency fix ([@szogi] - [#9638]) ([raspihats docs])
- Fixes broken source links in API docs ([@David-Byrne] - [#9636])
- Move group services into their own YAML ([@balloob] - [#9597]) ([group docs])
- Facebook Messenger notify component: add support for sending messages to specific page user IDs ([@mweimerskirch] - [#9643]) ([notify.facebook docs])
- arlo: Add battery level sensor ([@vickyg3] - [#9637]) ([sensor.arlo docs])
- Add hysteresis attribute to threshold binary sensor ([@hotplot] - [#9596]) ([binary_sensor.threshold docs])
- Upgrade numpy to 1.13.3 ([@fabaff] - [#9646]) ([image_processing.opencv docs])
- Upgrade youtube_dl to 2017.10.01 ([@fabaff] - [#9647]) ([media_extractor docs])
- Upgrade discord.py to 0.16.12 ([@fabaff] - [#9648]) ([notify.discord docs])
- Upgrade netdisco to 1.2.2 ([@fabaff] - [#9649])
- Upgrade influxdb to 4.1.1 ([@fabaff] - [#9652]) ([influxdb docs])
- Upgrade googlemaps to 2.5.1 ([@fabaff] - [#9653]) ([sensor.google_travel_time docs])
- mqtt_statestream: Add options to publish attributes/timestamps ([@mw-white] - [#9645]) ([mqtt_statestream docs])
- Fixed bugs related to exception handling in pythonegardia. Updating package requirement accordingly ([@jeroenterheerdt] - [#9663]) ([alarm_control_panel.egardia docs])
- Update google-api-python-client to 1.6.4 ([@arsaboo] - [#9658]) ([google docs])
- Bump abode to 0.11.9 ([@MisterWil] - [#9660]) ([abode docs])
- Unit tests to improve core coverage ([@armills] - [#9659])
- Upgrade pyitachip2ir to 0.0.7 ([@alanfischer] - [#9669]) ([remote.itach docs])
- Fix typo in cancel_command description ([@FletcherAU] - [#9671])
- Rename input_slider to input_number and add numeric text box option ([@BioSehnsucht] - [#9494]) ([demo docs]) ([input_number docs]) (breaking change)
- Properly handle an invalid end_time ([@alanfischer] - [#9675]) ([history docs])
- Support new feature to push API data to hassio ([@pvizeli] - [#9679]) ([hassio docs])
- Adding ignore capability to Egardia component ([@jeroenterheerdt] - [#9676]) ([alarm_control_panel.egardia docs])
- Fix Google Calendar/oauth2client warning ([@mbrrg] - [#9677]) ([google docs])
- Implement DSMR5 support. ([@aequitas] - [#9686]) ([sensor.dsmr docs])
- Add Tibber sensor ([@danielhiversen] - [#9661]) ([sensor.tibber docs]) (new-platform)
- Add recorder purge service, rework purge timer ([@milanvo] - [#9523]) (breaking change)
- Fix restore state by filter out null value row from DB query ([@milanvo] - [#9690]) ([history docs])
- Updating clicksendaudio component based on feedback ([@jeroenterheerdt] - [#9692]) ([notify.clicksendaudio docs]) (new-platform)
- Refactoring of onewire sensor component ([@bestlibre] - [#9691]) ([sensor.onewire docs])
- HassIO replace config changes ([@pvizeli] - [#9695]) ([hassio docs])
- Fixed typo in opencv ([@arsaboo] - [#9697]) ([image_processing.opencv docs]) (breaking change)
- [light.tradfri] async support with resource observation. ([@lwis] - [#7815]) ([tradfri docs]) ([light.tradfri docs]) (breaking change)
- Create secrets file in default config ([@balloob] - [#9685])
- Support for The Things Network ([@fabaff] - [#9627]) ([thethingsnetwork docs]) ([sensor.thethingsnetwork_data docs]) (new-platform)
- Deprecate Python 3.4 support ([@balloob] - [#9684])
- Fix coap commit ([@balloob] - [#9712])
- [light.tradfri] Clone all of aiocoap to ensure pinned commit will be present ([@lwis] - [#9713])
[#7815]: https://github.com/home-assistant/home-assistant/pull/7815
[#9206]: https://github.com/home-assistant/home-assistant/pull/9206
[#9287]: https://github.com/home-assistant/home-assistant/pull/9287
[#9303]: https://github.com/home-assistant/home-assistant/pull/9303
[#9313]: https://github.com/home-assistant/home-assistant/pull/9313
[#9331]: https://github.com/home-assistant/home-assistant/pull/9331
[#9358]: https://github.com/home-assistant/home-assistant/pull/9358
[#9382]: https://github.com/home-assistant/home-assistant/pull/9382
[#9432]: https://github.com/home-assistant/home-assistant/pull/9432
[#9433]: https://github.com/home-assistant/home-assistant/pull/9433
[#9445]: https://github.com/home-assistant/home-assistant/pull/9445
[#9472]: https://github.com/home-assistant/home-assistant/pull/9472
[#9494]: https://github.com/home-assistant/home-assistant/pull/9494
[#9523]: https://github.com/home-assistant/home-assistant/pull/9523
[#9533]: https://github.com/home-assistant/home-assistant/pull/9533
[#9535]: https://github.com/home-assistant/home-assistant/pull/9535
[#9536]: https://github.com/home-assistant/home-assistant/pull/9536
[#9537]: https://github.com/home-assistant/home-assistant/pull/9537
[#9540]: https://github.com/home-assistant/home-assistant/pull/9540
[#9542]: https://github.com/home-assistant/home-assistant/pull/9542
[#9544]: https://github.com/home-assistant/home-assistant/pull/9544
[#9545]: https://github.com/home-assistant/home-assistant/pull/9545
[#9548]: https://github.com/home-assistant/home-assistant/pull/9548
[#9554]: https://github.com/home-assistant/home-assistant/pull/9554
[#9555]: https://github.com/home-assistant/home-assistant/pull/9555
[#9556]: https://github.com/home-assistant/home-assistant/pull/9556
[#9557]: https://github.com/home-assistant/home-assistant/pull/9557
[#9559]: https://github.com/home-assistant/home-assistant/pull/9559
[#9560]: https://github.com/home-assistant/home-assistant/pull/9560
[#9561]: https://github.com/home-assistant/home-assistant/pull/9561
[#9562]: https://github.com/home-assistant/home-assistant/pull/9562
[#9565]: https://github.com/home-assistant/home-assistant/pull/9565
[#9567]: https://github.com/home-assistant/home-assistant/pull/9567
[#9568]: https://github.com/home-assistant/home-assistant/pull/9568
[#9569]: https://github.com/home-assistant/home-assistant/pull/9569
[#9575]: https://github.com/home-assistant/home-assistant/pull/9575
[#9576]: https://github.com/home-assistant/home-assistant/pull/9576
[#9578]: https://github.com/home-assistant/home-assistant/pull/9578
[#9580]: https://github.com/home-assistant/home-assistant/pull/9580
[#9582]: https://github.com/home-assistant/home-assistant/pull/9582
[#9583]: https://github.com/home-assistant/home-assistant/pull/9583
[#9584]: https://github.com/home-assistant/home-assistant/pull/9584
[#9586]: https://github.com/home-assistant/home-assistant/pull/9586
[#9587]: https://github.com/home-assistant/home-assistant/pull/9587
[#9588]: https://github.com/home-assistant/home-assistant/pull/9588
[#9589]: https://github.com/home-assistant/home-assistant/pull/9589
[#9596]: https://github.com/home-assistant/home-assistant/pull/9596
[#9597]: https://github.com/home-assistant/home-assistant/pull/9597
[#9605]: https://github.com/home-assistant/home-assistant/pull/9605
[#9606]: https://github.com/home-assistant/home-assistant/pull/9606
[#9607]: https://github.com/home-assistant/home-assistant/pull/9607
[#9612]: https://github.com/home-assistant/home-assistant/pull/9612
[#9616]: https://github.com/home-assistant/home-assistant/pull/9616
[#9621]: https://github.com/home-assistant/home-assistant/pull/9621
[#9624]: https://github.com/home-assistant/home-assistant/pull/9624
[#9627]: https://github.com/home-assistant/home-assistant/pull/9627
[#9628]: https://github.com/home-assistant/home-assistant/pull/9628
[#9633]: https://github.com/home-assistant/home-assistant/pull/9633
[#9636]: https://github.com/home-assistant/home-assistant/pull/9636
[#9637]: https://github.com/home-assistant/home-assistant/pull/9637
[#9638]: https://github.com/home-assistant/home-assistant/pull/9638
[#9642]: https://github.com/home-assistant/home-assistant/pull/9642
[#9643]: https://github.com/home-assistant/home-assistant/pull/9643
[#9645]: https://github.com/home-assistant/home-assistant/pull/9645
[#9646]: https://github.com/home-assistant/home-assistant/pull/9646
[#9647]: https://github.com/home-assistant/home-assistant/pull/9647
[#9648]: https://github.com/home-assistant/home-assistant/pull/9648
[#9649]: https://github.com/home-assistant/home-assistant/pull/9649
[#9652]: https://github.com/home-assistant/home-assistant/pull/9652
[#9653]: https://github.com/home-assistant/home-assistant/pull/9653
[#9658]: https://github.com/home-assistant/home-assistant/pull/9658
[#9659]: https://github.com/home-assistant/home-assistant/pull/9659
[#9660]: https://github.com/home-assistant/home-assistant/pull/9660
[#9661]: https://github.com/home-assistant/home-assistant/pull/9661
[#9663]: https://github.com/home-assistant/home-assistant/pull/9663
[#9669]: https://github.com/home-assistant/home-assistant/pull/9669
[#9671]: https://github.com/home-assistant/home-assistant/pull/9671
[#9675]: https://github.com/home-assistant/home-assistant/pull/9675
[#9676]: https://github.com/home-assistant/home-assistant/pull/9676
[#9677]: https://github.com/home-assistant/home-assistant/pull/9677
[#9679]: https://github.com/home-assistant/home-assistant/pull/9679
[#9684]: https://github.com/home-assistant/home-assistant/pull/9684
[#9685]: https://github.com/home-assistant/home-assistant/pull/9685
[#9686]: https://github.com/home-assistant/home-assistant/pull/9686
[#9690]: https://github.com/home-assistant/home-assistant/pull/9690
[#9691]: https://github.com/home-assistant/home-assistant/pull/9691
[#9692]: https://github.com/home-assistant/home-assistant/pull/9692
[#9695]: https://github.com/home-assistant/home-assistant/pull/9695
[#9697]: https://github.com/home-assistant/home-assistant/pull/9697
[#9712]: https://github.com/home-assistant/home-assistant/pull/9712
[#9713]: https://github.com/home-assistant/home-assistant/pull/9713
[@BioSehnsucht]: https://github.com/BioSehnsucht
[@David-Byrne]: https://github.com/David-Byrne
[@FletcherAU]: https://github.com/FletcherAU
[@MisterWil]: https://github.com/MisterWil
[@Tommatheussen]: https://github.com/Tommatheussen
[@aequitas]: https://github.com/aequitas
[@alanfischer]: https://github.com/alanfischer
[@amelchio]: https://github.com/amelchio
[@andrey-git]: https://github.com/andrey-git
[@armills]: https://github.com/armills
[@arsaboo]: https://github.com/arsaboo
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@bestlibre]: https://github.com/bestlibre
[@cmsimike]: https://github.com/cmsimike
[@danielhiversen]: https://github.com/danielhiversen
[@djchen]: https://github.com/djchen
[@enriquegh]: https://github.com/enriquegh
[@etsinko]: https://github.com/etsinko
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@happyleavesaoc]: https://github.com/happyleavesaoc
[@hotplot]: https://github.com/hotplot
[@jalmeroth]: https://github.com/jalmeroth
[@jeroenterheerdt]: https://github.com/jeroenterheerdt
[@joe248]: https://github.com/joe248
[@lwis]: https://github.com/lwis
[@marthoc]: https://github.com/marthoc
[@mbrrg]: https://github.com/mbrrg
[@mika]: https://github.com/mika
[@milanvo]: https://github.com/milanvo
[@mw-white]: https://github.com/mw-white
[@mweimerskirch]: https://github.com/mweimerskirch
[@nkgilley]: https://github.com/nkgilley
[@passie]: https://github.com/passie
[@pfalcon]: https://github.com/pfalcon
[@philk]: https://github.com/philk
[@postlund]: https://github.com/postlund
[@pvizeli]: https://github.com/pvizeli
[@rbflurry]: https://github.com/rbflurry
[@rytilahti]: https://github.com/rytilahti
[@snjoetw]: https://github.com/snjoetw
[@sti0]: https://github.com/sti0
[@szogi]: https://github.com/szogi
[@tchellomello]: https://github.com/tchellomello
[@tinloaf]: https://github.com/tinloaf
[@vickyg3]: https://github.com/vickyg3
[@w1ll1am23]: https://github.com/w1ll1am23
[abode docs]: https://home-assistant.io/components/abode/
[alarm_control_panel.egardia docs]: https://home-assistant.io/components/alarm_control_panel.egardia/
[alarm_control_panel.manual_mqtt docs]: https://home-assistant.io/components/alarm_control_panel.manual_mqtt/
[alexa.smart_home docs]: https://home-assistant.io/components/alexa.smart_home/
[apple_tv docs]: https://home-assistant.io/components/apple_tv/
[arlo docs]: https://home-assistant.io/components/arlo/
[binary_sensor.raincloud docs]: https://home-assistant.io/components/binary_sensor.raincloud/
[binary_sensor.threshold docs]: https://home-assistant.io/components/binary_sensor.threshold/
[binary_sensor.wink docs]: https://home-assistant.io/components/binary_sensor.wink/
[camera.arlo docs]: https://home-assistant.io/components/camera.arlo/
[camera.synology docs]: https://home-assistant.io/components/camera.synology/
[camera.usps docs]: https://home-assistant.io/components/camera.usps/
[climate.ecobee docs]: https://home-assistant.io/components/climate.ecobee/
[climate.mqtt docs]: https://home-assistant.io/components/climate.mqtt/
[cover.mqtt docs]: https://home-assistant.io/components/cover.mqtt/
[cover.rflink docs]: https://home-assistant.io/components/cover.rflink/
[demo docs]: https://home-assistant.io/components/demo/
[device_tracker.owntracks docs]: https://home-assistant.io/components/device_tracker.owntracks/
[device_tracker.owntracks_http docs]: https://home-assistant.io/components/device_tracker.owntracks_http/
[duckdns docs]: https://home-assistant.io/components/duckdns/
[ecobee docs]: https://home-assistant.io/components/ecobee/
[emulated_hue docs]: https://home-assistant.io/components/emulated_hue/
[google docs]: https://home-assistant.io/components/google/
[group docs]: https://home-assistant.io/components/group/
[hassio docs]: https://home-assistant.io/components/hassio/
[history docs]: https://home-assistant.io/components/history/
[homematic docs]: https://home-assistant.io/components/homematic/
[http docs]: https://home-assistant.io/components/http/
[image_processing.opencv docs]: https://home-assistant.io/components/image_processing.opencv/
[influxdb docs]: https://home-assistant.io/components/influxdb/
[input_datetime docs]: https://home-assistant.io/components/input_datetime/
[input_number docs]: https://home-assistant.io/components/input_number/
[light.flux_led docs]: https://home-assistant.io/components/light.flux_led/
[light.rflink docs]: https://home-assistant.io/components/light.rflink/
[light.tradfri docs]: https://home-assistant.io/components/light.tradfri/
[light.yeelight docs]: https://home-assistant.io/components/light.yeelight/
[lock.wink docs]: https://home-assistant.io/components/lock.wink/
[media_extractor docs]: https://home-assistant.io/components/media_extractor/
[media_player.apple_tv docs]: https://home-assistant.io/components/media_player.apple_tv/
[media_player.webostv docs]: https://home-assistant.io/components/media_player.webostv/
[media_player.yamaha_musiccast docs]: https://home-assistant.io/components/media_player.yamaha_musiccast/
[mqtt_statestream docs]: https://home-assistant.io/components/mqtt_statestream/
[notify.clicksendaudio docs]: https://home-assistant.io/components/notify.clicksendaudio/
[notify.discord docs]: https://home-assistant.io/components/notify.discord/
[notify.facebook docs]: https://home-assistant.io/components/notify.facebook/
[notify.simplepush docs]: https://home-assistant.io/components/notify.simplepush/
[raincloud docs]: https://home-assistant.io/components/raincloud/
[raspihats docs]: https://home-assistant.io/components/raspihats/
[remote.itach docs]: https://home-assistant.io/components/remote.itach/
[rflink docs]: https://home-assistant.io/components/rflink/
[sensor.airvisual docs]: https://home-assistant.io/components/sensor.airvisual/
[sensor.arlo docs]: https://home-assistant.io/components/sensor.arlo/
[sensor.comed_hourly_pricing docs]: https://home-assistant.io/components/sensor.comed_hourly_pricing/
[sensor.dsmr docs]: https://home-assistant.io/components/sensor.dsmr/
[sensor.fedex docs]: https://home-assistant.io/components/sensor.fedex/
[sensor.geo_rss_events docs]: https://home-assistant.io/components/sensor.geo_rss_events/
[sensor.google_travel_time docs]: https://home-assistant.io/components/sensor.google_travel_time/
[sensor.imap docs]: https://home-assistant.io/components/sensor.imap/
[sensor.lyft docs]: https://home-assistant.io/components/sensor.lyft/
[sensor.onewire docs]: https://home-assistant.io/components/sensor.onewire/
[sensor.pvoutput docs]: https://home-assistant.io/components/sensor.pvoutput/
[sensor.raincloud docs]: https://home-assistant.io/components/sensor.raincloud/
[sensor.systemmonitor docs]: https://home-assistant.io/components/sensor.systemmonitor/
[sensor.thethingsnetwork_data docs]: https://home-assistant.io/components/sensor.thethingsnetwork_data/
[sensor.tibber docs]: https://home-assistant.io/components/sensor.tibber/
[sensor.ups docs]: https://home-assistant.io/components/sensor.ups/
[sensor.usps docs]: https://home-assistant.io/components/sensor.usps/
[sensor.vera docs]: https://home-assistant.io/components/sensor.vera/
[sensor.wunderground docs]: https://home-assistant.io/components/sensor.wunderground/
[splunk docs]: https://home-assistant.io/components/splunk/
[switch.abode docs]: https://home-assistant.io/components/switch.abode/
[switch.raincloud docs]: https://home-assistant.io/components/switch.raincloud/
[switch.rflink docs]: https://home-assistant.io/components/switch.rflink/
[switch.tplink docs]: https://home-assistant.io/components/switch.tplink/
[thethingsnetwork docs]: https://home-assistant.io/components/thethingsnetwork/
[tradfri docs]: https://home-assistant.io/components/tradfri/
[upnp docs]: https://home-assistant.io/components/upnp/
[usps docs]: https://home-assistant.io/components/usps/
[vacuum.xiaomi docs]: https://home-assistant.io/components/vacuum.xiaomi/
[wink docs]: https://home-assistant.io/components/wink/
[zwave docs]: https://home-assistant.io/components/zwave/
[forum]: https://community.home-assistant.io/
[issue]: https://github.com/home-assistant/home-assistant/issues
[discord]: https://discord.gg/c5DvZ4e
[history_graph docs]: https://home-assistant.io/components/history_graph/

View File

@ -67,7 +67,7 @@ REQUIREMENTS = ['xmltodict==0.11.0']
### {% linkable_title Log messages %}
There is no need to add the platform or component name to the log messages. This will be added automatically. Like `syslog` messages there shouldn't be no period at the end. Try to avoid brackets and additional quotes around the output to make it easier for users to parse the log. A widely style is shown below but you are free to compose the messages as you like.
There is no need to add the platform or component name to the log messages. This will be added automatically. Like `syslog` messages there shouldn't be any period at the end. Try to avoid brackets and additional quotes around the output to make it easier for users to parse the log. A widely style is shown below but you are free to compose the messages as you like.
```python
_LOGGER.error("No route to device: %s", self._resource)

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
---
Hass.io is a managed environment, which means that you can install applications that can be embedded into Home Assistant using the `command_line` sensor/switch.
Hass.io is a managed environment, which means that you can't install applications that can be embedded into Home Assistant using the `command_line` sensor/switch.
There are two options if you need to run a script to read data from a sensor or send commands to other devices on Hass.io.

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB