Merge pull request #3239 from home-assistant/release-0.52

0.52
This commit is contained in:
Paulus Schoutsen 2017-08-25 23:02:29 -07:00 committed by GitHub
commit 0d851cff54
45 changed files with 1105 additions and 96 deletions

View File

@ -142,12 +142,12 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 51
current_patch_version: 2
date_released: 2017-08-14
current_minor_version: 52
current_patch_version: 0
date_released: 2017-08-26
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#release-0512--august-14"
patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):

View File

@ -0,0 +1,39 @@
---
layout: page
title: "Abode Home Security"
description: "Instructions on integrating Abode home security with Home Assistant."
date: 2017-08-26 0:28
sidebar: true
comments: false
sharing: true
footer: true
logo: abode.jpg
ha_category: Hub
ha_release: 0.52
ha_iot_class: "Cloud Polling"
---
The `abode` component will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes.
Please visit the [Abode website](https://goabode.com/) for further information about Abode Security.
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](/components/binary_sensor.abode/): Reports on `Door Contacts` (open or close) and `Motion Camera` (motion detected or not)
- [Alarm Control Panel](/components/alarm_control_panel.abode/): Reports on current alarm status and can be used to arm/disarm the system
The component currently polls every 30 seconds, so device status may not be immediately reflected in Home Assistant.
An `abode` section must be present in the `configuration.yaml` file and contain the following options as required:
```yaml
# Example configuration.yaml entry
abode:
username: abode_username
password: abode_password
```
Configuration variables:
- **username** (*Required*): Username for the Abode account.
- **password** (*Required*): Password for Abode account.

View File

@ -0,0 +1,19 @@
---
layout: page
title: "Abode Alarm Control Panel"
description: "Instructions how to setup the Abode Alarm control panel within Home Assistant."
date: 2017-08-26 0:28
sidebar: true
comments: false
sharing: true
footer: true
logo: abode.jpg
ha_category: Alarm
ha_release: 0.52
ha_iot_class: "Cloud Polling"
---
The `abode` security control panel platform allows you to control your [Abode](https://goabode.com/) alarms.
The requirement is that you have setup your [Abode hub](/components/abode/).

View File

@ -14,7 +14,9 @@ ha_release: 0.42
The `totalconnect` platform provides connectivity with the Honeywell TotalConnect alarm systems used by many alarm companies.
If you have issues running this component, you may require "libxml2-dev" and "libxmlsec1-dev". To install these on Hassbian, run the command `apt install libxml2-dev libxmlsec1-dev` with sudo
This platform supports the following services: `alarm_arm_away`, `alarm_arm_home`, `alarm_arm_night` and `alarm_disarm`.
If you have issues running this component, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Hassbian, run the command `apt install libxml2-dev libxmlsec1-dev` with sudo.
To enable this, add the following lines to your `configuration.yaml`:

View File

@ -0,0 +1,20 @@
---
layout: page
title: "Abode Binary Sensor"
description: "Instructions how to integrate Abode binary sensors into Home Assistant."
date: 2017-08-26 0:28
sidebar: true
comments: false
sharing: true
footer: true
logo: alarmdecoder.png
ha_release: 0.52
ha_category: Binary Sensor
ha_iot_class: "Cloud Polling"
---
The `abode` security control panel platform allows you to control your [Abode](https://goabode.com/) alarms.
This component will automatically add `Door Contact` and `Motion Camera` binary sensors that are configured in your Abode account.
The requirement is that you have setup your [Abode hub](/components/abode/).

View File

@ -30,6 +30,7 @@ Configuration variables:
- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.8.1) notation. Defaults to None.
- **workdays** (*Optional*): List of workdays. Defaults to `mon`, `tue`, `wed`, `thu`, `fri`.
- **excludes** (*Optional*): List of workday excludes. Defaults to `sat`, `sun`, `holiday`.
- **days_offset** (*Optional*): Set days offset. Defaults to `0`.
Days are specified as follows: `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`. The keyword `holiday` is used for public holidays identified by the holidays module.

View File

@ -0,0 +1,31 @@
---
layout: page
title: USPS Camera
description: "Instructions on how to set up USPS camera within Home Assistant."
date: 2017-07-28 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: usps.png
ha_category: Camera
ha_release: 0.52
ha_iot_class: "Cloud Polling"
---
The `usps` camera component allows you to view the mail piece images made available through USPS via the Informed Delivery service. You must "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see mail images. This works in concert with [USPS sensors](/components/sensor.usps).
<p class='note'>
You must have the [USPS component](/components/usps/) configured to use this camera. The camera will be setup if the `usps` component is configured and the required configuration is set.
</p>
To customize the interval that mail images are rotated in the mail camera you can edit your `configuration.yaml` file with the following settings:
```yaml
# Example configuration.yaml entry
camera:
- platform: usps
scan_interval: 5
```
To enable this camera in your installation, set up the [USPS component](/components/usps) with your username and password.

View File

@ -16,9 +16,9 @@ ha_iot_class: "Cloud Push"
The `automatic` platform offers presence detection by retrieving your car's information from the [Automatic](http://automatic.com/) cloud service.
To use Automatic with Home Assistant, first you must [create a free development account](https://developer.automatic.com/). Automatic will generate a Client ID and Secret for you to use in your Home Assistant configuration. You will also need to update your Event Delivery preferences to ensure Home Assistant can receive updates. On the developer page, under App Settings / Event Delivery, select "Websocket" for Event Delivery Preference.
To use Automatic with Home Assistant, first you must [create a free development account](https://developer.automatic.com/). Automatic will generate a Client ID and Secret for you to use in your Home Assistant configuration. You will need to update your Event Delivery preferences to ensure Home Assistant can receive updates. On the developer page, under App Settings / Event Delivery, select "Websocket" for Event Delivery Preference. Next, specify the OAuth Redirect URL in the developer page. This should be configured to `<home-assistant-url>/api/automatic/callback`. (Example: `http://hassio.local:8123/api/automatic/callback`) Note that this URL only needs to be accessible from the browser you use to perform the authentication.
Home Assistant will also take advantage of `scope:current_location` if available. This will allow Home Assistant to receive periodic location updates during a trip. In order to use this functionality, you must request the scope for your application from Automatic. Once `scope:current_location` is available, Home Assistant will automatically make use of it after the next restart.
Home Assistant can also take advantage of `scope:current_location` if available. This will allow Home Assistant to receive periodic location updates during a trip. In order to use this functionality, you must request the scope for your application from Automatic. Once `scope:current_location` is available, change `current_location` to `true` in your configuration.yaml.
Once your developer account is created, add the following to your `configuration.yaml` file:
@ -28,8 +28,6 @@ device_tracker:
- platform: automatic
client_id: 1234567
secret: 0987654321
username: your@email.com
password: your_password
devices:
- 2007 Honda Element
- 2004 Subaru Impreza
@ -39,8 +37,7 @@ Configuration variables:
- **client_id** (*Required*): The OAuth client id (get from https://developer.automatic.com/).
- **secret** (*Required*): The OAuth client secret (get from https://developer.automatic.com/).
- **username** (*Required*): The username associated with your ODB reader.
- **password** (*Required*): The password for your given ODB reader account.
- **current_location** (*Optional*): Set to `true` if you have requested `scope:current_location` for your account. Home Assistant will then be able to receive periodic location updates during trips.
- **devices** (*Optional*): The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked.
Home Assistant will also fire events when an update is received from Automatic. These can be used to trigger automations, as shown in the example below. A list of available event types can be found in the [Automatic Real-Time Events documentation](https://developer.automatic.com/api-reference/#real-time-events).

View File

@ -0,0 +1,52 @@
---
layout: page
title: "Nello Lock"
description: "Instructions on how to integrate Nello intercom devices."
date: 2017-08-13 17:25
sidebar: true
comments: false
sharing: true
footer: true
logo: nello.png
ha_category: Lock
featured: false
ha_release: 0.52
ha_iot_class: "Cloud Polling"
---
The `nello` platform allows you to control [Nello](https://nello.io) intercoms.
To get started you need to create a secondary Nello account and authorize it to access your lock(s).
<p class="note warning">
Be aware that if you use your main account for Home Assistant you may not be able to use it with the App.
</p>
## {% linkable_title Configuration %}
```yaml
# Example configuration.yaml entry
lock:
- platform: nello
username: mail@example.com
password: mySecretPassword
```
Configuration variables:
- **username** (*Required*): The username of your Nello account.
- **password** (*Required*): The password of your Nello account.
## {% linkable_title Events %}
### {% linkable_title Event `nello_bell_ring` %}
Every time someone rings the bell, a `nello_bell_ring` event will be fired.
Field | Description
----- | -----------
`address` | Postal address of the lock.
`date` | Date when the event occured.
`description` | Human readable string describing the event.
`location_id` | Nello ID of the location where the bell has been rung.
`short_id` | Shorter Nello ID.

View File

@ -30,6 +30,7 @@ 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`.
- **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`.
- **customize** array (*Optional*): List of options to customize.
- ***sources** array (*Optional*): List of hardware inputs.
@ -46,6 +47,7 @@ media_player:
host: 192.168.0.10
mac: C8:08:E9:99:99:1A
name: Living Room TV
timeout: 5
filename: webostv.conf
customize:
sources:

View File

@ -0,0 +1,53 @@
---
layout: page
title: "HipChat"
description: "Instructions how to add HipChat notifications to Home Assistant."
date: 2017-08-10 15:00
sidebar: true
comments: false
sharing: true
footer: true
logo: hipchat.png
ha_category: Notifications
ha_release: "0.52"
---
The `hipchat` platform allows you to send notifications from Home Assistant to [HipChat](https://hipchat.com/).
You need to obtain a [HipChat API token](https://developer.atlassian.com/hipchat/guide/hipchat-rest-api/api-access-tokens#APIaccesstokens-Usergeneratedtokens) to be able to send notifications.
To enable the HipChat notification in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: hipchat
token: ABCDEFGHJKLMNOPQRSTUVXYZ
room: 1234567
```
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`.
- **token** (*Required*): The HipChat API token to use for sending HipChat notifications.
- **room** (*Required*): The default room to post to if no room is explicitly specified when sending the notification.
- **color** (*Optional*): Setting color will override the default color for the notification. By default not setting this will post to HipChat using the default color yellow. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'.
- **notify** (*Optional*): Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. By default this is 'false'. Valid options are 'true' and 'false'.
- **format** (*Optional*): Setting format will override the default message format. Default is 'text'. Valid options are 'text' and 'html'.
- **host** (*Optional*): Setting the host will override the default HipChat server host. Default is 'https://api.hipchat.com/'.
### {% linkable_title HipChat service data %}
The following attributes can be placed `data` for extended functionality.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `room` | yes | (int) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
| `color` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
| `notify` | yes | (bool) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
| `format` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -0,0 +1,43 @@
---
layout: page
title: "Prowl"
description: "Instructions how to add Prowl notifications to Home Assistant."
date: 2017-08-17 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: prowl.png
ha_category: Notifications
ha_release: 0.52
---
The `prowl` platform uses [Prowl](https://www.prowlapp.com/) to deliver push notifications from Home Assistant to your iOS device.
Go to the [Prowl website](https://www.prowlapp.com/) and create a new API key.
To add Prowl notifications to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: prowl
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
```
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`.
- **api_key** (*Required*): The Prowl API key to use.
### {% linkable_title Prowl service data %}
The following attributes can be placed `data` for extended functionality.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `priority` | yes | Priority level, for more info refer to the [Prowl API documentation](https://www.prowlapp.com/api.php#add). |
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -23,12 +23,14 @@ To get started with the OctoPrint API, please follow the directions on their [si
octoprint:
host: YOUR_OCTOPRINT_HOST
api_key: YOUR_API_KEY
bed: false
number_of_tools: 1
```
Configuration variables:
- **host** (*Required*): IP address or hostname of Octoprint host.
- **api_key** (*Required*): The retrieved api key.
- **bed** (*Optional*): If the printer has a heated bed.
- **number_of_tools** (*Optional*): Number of temperature adjustable tools. i.e. nozzle.
**NOTE** If your 3D printer isn't connected to the OctoPrint server during the startup of Home Assistant this component will fail to load.

View File

@ -46,23 +46,48 @@ Configuration variables:
- **timeframe** (*Optional*): Minutes to look ahead for precipitation forecast (5..120) [default: 60].
- **monitored_conditions** array (*Required*): One or more conditions to display in the frontend.
- **stationname**: The name of the selected meteo-station.
- **symbol**: A symbol for the current weather.
- **conditioncode**: A symbol and a unique code identifying the current weather condition ([a..z]).
- **condition**: A symbol and the current weather condition (clear, cloudy, fog, rainy, snowy, lightning).
- **conditiondetailed**: A symbol and detailed current weather condition (clear, partlycloudy, cloudy, partlycloudy-fog, partlycloudy-light-rain, partlycloudy-rain, light-rain, rainy, snowy-rainy, partlycloudy-light-snow, partlycloudy-snow, light-snow, snowy, partlycloudy-lightning, lightning).
- **conditionexact**: A symbol with the full current weather condition (in English).
- **symbol**: A symbol for the current weather with the full current condition (in Dutch).
- **humidity**: The relative humidity (%).
- **temperature**: The current temperature (in C).
- **groundtemperature**: The current ground temperature (in C).
- **windspeed**: The wind speed in m/s.
- **windforce**: The wind speed/force in Bft.
- **temperature**: The current temperature (in [C](https://en.wikipedia.org/wiki/Celsius)).
- **groundtemperature**: The current ground temperature (in [C](https://en.wikipedia.org/wiki/Celsius)).
- **windspeed**: The wind speed in [m/s](https://en.wikipedia.org/wiki/M/s).
- **windforce**: The wind speed/force in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale).
- **winddirection**: Where the wind is coming from: N (North),Z (south), NO (Noth-East), etc.
- **windazimuth**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
- **pressure**: The sea-level air pressure in hPa.
- **visibility**: Visibility in meters (m).
- **windgust**: The windspeed of wind gusts (m/s).
- **pressure**: The sea-level air pressure in [hPa](https://en.wikipedia.org/wiki/Hectopascal).
- **visibility**: Visibility in meters ([m](https://en.wikipedia.org/wiki/Metre)).
- **windgust**: The windspeed of wind gusts ([m/s](https://en.wikipedia.org/wiki/M/s)).
- **precipitation**: The amount of precipitation/rain in mm/h.
- **precipitation_forecast_average**: The average expected precipitation/rain in mm/h within the given timeframe.
- **precipitation_forecast_total**: The total expected precipitation/rain in mm within the given timeframe. The total expected rain in the configured timeframe will be equal to _precipitation_forecast_total_/_timeframe_ mm/min. So, with timeframe configured to 30 minutes and a value of 5, the expected rain is 5 mm in 30 minutes, which is the same as 10 mm/h. If timeframe is set to 90 minutes and a value of 5, the expected rain is 5 mm in 90 minutes, which is equal to 3.3 mm/h.
- **irradiance**: Sun intensity in Watt per square meter (W/m2).
Full configuration example where location is manually specified:
- **irradiance**: Sun intensity in Watt per square meter ([W/m2](https://en.wikipedia.org/wiki/W/m2)).
- **temperature_1d** [<sup>[1d]</sup>](#1d): The forecasted temperature (in [C](https://en.wikipedia.org/wiki/Celsius)).
- **mintemp_1d** [<sup>[1d]</sup>](#1d): The forecasted minimum temperature (in [C](https://en.wikipedia.org/wiki/Celsius)).
- **rainchance_1d** [<sup>[1d]</sup>](#1d): The forecasted chance for rain (%).
- **sunchance_1d** [<sup>[1d]</sup>](#1d): The forecasted chance for sun (%).
- **rain_1d** [<sup>[1d]</sup>](#1d): The forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre).
- **snow_1d** [<sup>[1d]</sup>](#1d): The forecasted amount of snow in [cm](https://en.wikipedia.org/wiki/Centimetre).
- **windforce_1d** [<sup>[1d]</sup>](#1d): The expected windforce in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale).
- **conditioncode_1d** [<sup>[1d]</sup>](#1d): Symbol and condition code of the expected condition.
- **condition_1d** [<sup>[1d]</sup>](#1d): Symbol and expected condition.
- **conditiondetailed_1d** [<sup>[1d]</sup>](#1d): Symbol and detailed expected condition.
- **conditionexact_1d** [<sup>[1d]</sup>](#1d): Symbol and full expected condition (in English).
- **symbol_1d** [<sup>[1d]</sup>](#1d): Symbol and full expected condition (in Dutch).
## Daily forecasts
Conditions above marked with <a name="1d">[1d]</a> are daily forecasts. To get forecast for different day, replace the number
in `_1d` part of the sensor name. Valid values are from `1` to `5`.
## Configuration examples
Full configuration example (excluding forecasted conditions) where location is manually specified:
```yaml
# Example configuration.yaml entry
@ -73,6 +98,10 @@ Full configuration example where location is manually specified:
longitude: 5.70
monitored_conditions:
- stationname
- conditioncode
- condition
- conditiondetailed
- conditionexact
- symbol
- humidity
- temperature
@ -90,5 +119,47 @@ Full configuration example where location is manually specified:
- precipitation_forecast_total
```
Configuration example with current condition and (some) forecasted values:
```yaml
# Weather prediction
sensor:
- platform: buienradar
monitored_conditions:
# current condition:
- condition
- conditioncode
- conditiondetailed
- conditionexact
- symbol
# conditions for forecasted data:
- symbol_1d
- symbol_2d
- symbol_3d
- symbol_4d
- symbol_5d
- temperature_1d
- temperature_2d
- temperature_3d
- temperature_4d
- temperature_5d
- rainchance_1d
- rainchance_2d
- rainchance_3d
- rainchance_4d
- rainchance_5d
- sunchance_1d
- sunchance_2d
- sunchance_3d
- sunchance_4d
- sunchance_5d
- rain_1d
- rain_2d
- rain_3d
- rain_4d
- rain_5d
```
[Usage statement:](https://www.buienradar.nl/overbuienradar/gratis-weerdata)
> Buienradar makes free weatherdata available for use by individuals and businesses (website/intranet). The use of the weatherdata is allowed for **non-commercial purposes**. Please refer to the full usage statement linked above to confirm your usage or to request permission.

View File

@ -145,3 +145,16 @@ sensor:
command: "python3 /path/to/script/arest-value.py"
unit_of_measurement: "°C"
```
### {% linkable_title Usage of templating in `command:` %}
[Templates](/docs/configuration/templating/) are supported in the `command:` configuration variable. This could be used if you want to include the state of a specific sensor as an argument to your external script.
```yaml
# Example configuration.yaml entry
sensor:
- platform: command_line
name: wind direction
command: 'sh /home/pi/.homeassistant/scripts/wind_direction.sh {{ states.sensor.wind_direction.state }}'
unit_of_measurement: "Direction"
```

View File

@ -28,7 +28,7 @@ sensor:
Configuration variables:
- **access_token** (*Required*): The Access Token for your account.
- **channel_id** (*Optional*): Channel ID of your device. Needed if you have more than one device.
- **channel_id** (*Optional*): Channel ID (as integer) of your device. Needed if you have more than one device.
- **name** (*Optional*): The name of the sensor, eg. the city.
For details please check the [API documentation](https://my.eliq.se/knowledge/sv-SE/49-eliq-online/299-eliq-online-api).

View File

@ -21,6 +21,7 @@ Enable the sensor by adding the following to your `configuration.yaml` file:
# Example configuration.yaml entry
sensor:
- platform: fitbit
clock_format: 12H
monitored_resources:
- "body/weight"
```
@ -34,6 +35,7 @@ The unit system that the sensor will use is based on the country you set in your
Configuration variables:
- **monitored_resources** (*Optional*): Resource to monitor. Defaults to `activities/steps`.
- **clock_format** (*Optional*): Format to use for `sleep/startTime` resource. Accepts `12H` or `24H`. Defaults to `24H`.
Below is the list of resources that you can add to `monitored_resources`. One sensor is exposed for every resource.

View File

@ -0,0 +1,78 @@
---
layout: page
title: "London Air Quality"
description: "Display the current status of London air quality by area and pollution type."
date: 2017-08-02 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: waqi.png
ha_category: Health
ha_iot_class: "Cloud Polling"
ha_release: 0.52
---
The `london_air` component [queries](http://api.erg.kcl.ac.uk/AirQuality/Hourly/MonitoringIndex/GroupName=London/Json) the London air quality [data feed](https://www.londonair.org.uk/LondonAir/API/) provided by Kings College London. A single sensor will be added for each `location` ([local authority district or borough](https://en.wikipedia.org/wiki/List_of_London_boroughs)) specified in the configuration file. The state of each sensor is the overall air quality in that borough. Note that only 28 of the 32 boroughs have data available.
Boroughs can have multiple monitoring sites at different geographical positions within the borough, and each of those sites can monitor up to six different kinds of pollutant. The pollutants are described [here](http://api.erg.kcl.ac.uk/AirQuality/Information/Species/Json) and are Carbon Monoxide ([CO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsCO.aspx)), Nitrogen Dioxide ([NO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsNO2.aspx)), Ozone ([O3](http://www.londonair.org.uk/LondonAir/guide/WhatIsO3.aspx)), Sulphur Dioxide ([SO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsSO2.aspx)), PM2.5 & PM10 [particulates](http://www.londonair.org.uk/LondonAir/guide/WhatIsPM.aspx). The `latitude` and `longitude` of each site is accessible through a `data` attribute of the sensor, as are details about the pollutants monitored at that site. The `sites` attribute of a sensor displays how many monitoring sites that sensor covers. The `updated` attribute of a sensor states when the data was last published. Nominally data is published hourly, but in my experience this can vary. To limit the number of requests made by the sensor, a single API request is made every 30 minutes.
To add sensors to Home-assistant for all possible areas/boroughs add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry for a single sensor
sensor:
- platform: london_air
locations:
- Barking and Dagenham
- Bexley
- Brent
- Camden
- City of London
- Croydon
- Ealing
- Enfield
- Greenwich
- Hackney
- Hammersmith and Fulham
- Haringey
- Harrow
- Havering
- Hillingdon
- Islington
- Kensington and Chelsea
- Kingston
- Lambeth
- Lewisham
- Merton
- Redbridge
- Richmond
- Southwark
- Sutton
- Tower Hamlets
- Wandsworth
- Westminster
```
Configuration variables:
- **locations** array (*Required*): At least one entry required.
To explore the data available within the `data` attribute of a sensor use the `dev-template` tool on the Home-assistant frontend. `data` contains a list of monitored sites, where the number of monitored sites are given by the `sites` attribute. If a sensor has four sites, access the fourth site by indexing the list of sites using data[3]. Each site is a dictionary with multiple fields, with entries for the `latitude` and `longitude` of that site, a `pollution_status`, `site_code`, `site_name` and `site_type`. The field `number_of_pollutants` states how many pollutants are monitored (of the possible six) and the field `pollutants` returns a list with data for each pollutant. To access the first pollutant in the list for site zero use `attributes.data[0].pollutants[0]`. Each entry in `pollutants` is a dictionary with fields for the pollutant `code`, `description`, `index`, `quality` and a `summary`. [Template sensors](https://home-assistant.io/components/sensor.template/) can then be added to display these attributes, for example:
```yaml
# Example template sensors
- platform: template
sensors:
updated:
friendly_name: 'Updated'
value_template: {% raw %}'{{states.sensor.merton.attributes.updated}}'{% endraw %}
merton_pm10:
friendly_name: 'Merton PM10'
value_template: {% raw %}'{{states.sensor.merton.attributes.data[0].pollutants[0].summary}}'{% endraw %}
westminster_s02:
friendly_name: 'Westminster S02'
value_template: {% raw %}'{{states.sensor.westminster.attributes.data[0].pollutants[3].summary}}'{% endraw %}
```

View File

@ -41,4 +41,6 @@ Configuration variables:
- 'system_load': System Load 15 min
- 'system_io_in': System I/O In
- 'system_io_out': System I/O Out
- 'ipv4_in': Amount of inbound IPv4 packets per second
- 'ipv4_out': Amount of outbound IPv4 packets per second
- 'disk_free': Free disk space

View File

@ -39,5 +39,9 @@ Configuration variables:
- **monitored_conditions** array (*Required*): States to monitor.
- **Current State**: Text of current state)
- **Temperatures**: Temperatures of all available tools, eg. `print`, `head`, `print bed`, etc. These will be displayed as `tool0`, `tool1`, or `toolN` please refer to your OctoPrint frontend to associate the tool number with an actual device.
- **Job Percentage**:
- **Job Percentage**: Percentage of the job.
<p class='note'>
If you are tracking temperature it is recommended to set `bed` and/or `number_of_tools` in your octoprint configuration. This will allow the octoprint sensors to load if the printer is offline during Home Assistant startup.
</p>

View File

@ -14,7 +14,7 @@ ha_release: "0.22"
---
The `snmp` sensor platform simple displays the information which are available through the [Simple Network Management Protocol (SNMP)](https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol). SNMP uses a tree-like hierarchy where each node is an object.
The `snmp` sensor platform displays information available through the [Simple Network Management Protocol (SNMP)](https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol). SNMP uses a tree-like hierarchy where each node is an object, and is mainly supported by network-oriented devices such as routers, modems, and printers.
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
@ -29,18 +29,23 @@ sensor:
Configuration variables:
- **host** (*Required*): The IP address of your host, eg. `192.168.1.32`.
- **port** (*Option*): The SNMP port of your host. Defaults to `161`.
- **name** (*Optional*): Name of the SNMP sensor.
- **community** (*Optional*): The SNMP community which is set for the device. Most devices have a default community set to to `public` with read-only permission (which is sufficient).
- **baseoid** (*Required*): The OID where the information is located. It's advised to use the numerical notation.
- **port** (*Option*): The SNMP port of your host. Defaults to `161`.
- **community** (*Optional*): The SNMP community which is set for the device. Most devices have a default community set to to `public` with read-only permission (which is sufficient).
- **version** (*Optional*) version of SNMP protocol, `1` or `2c`. Defaults to `1`. Version `2c` is needed to read data from 64-bit counters.
- **name** (*Optional*): Name of the SNMP sensor.
- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any.
- **version** (*Optional*) version of SNMP protocol, `1` or `2c` defaults to `1`. Version `2c` is needed to read data from 64-bit counters.
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to parse the value.
- **accept_errors** (*Optional*): Determines whether the sensor should start and keep working even if the SNMP host is unreachable or not responding. This allows the sensor to be initialized properly even if, for example, your printer is not on when you start Home Assistant. Defaults to `false`.
- **default_value** (*Optional*): Determines what value the sensor should take if `accept_errors` is set and the host is unreachable or not responding. If not set, the sensor will have value `unknown` in case of errors.
The OIDs may vary on different system because they are vendor-specific. Beside the device's manual is the [OID Repository](http://www.oid-info.com/) a good place to start if you are looking for OIDs. The following OIDs are for the load of a Linux systems.
## {% linkable_title Finding OIDs %}
- 1 minute Load: 1.3.6.1.4.1.2021.10.1.3.1
- 5 minute Load: 1.3.6.1.4.1.2021.10.1.3.2
- 15 minute Load: 1.3.6.1.4.1.2021.10.1.3.3
OIDs may vary on different systems because they are vendor-specific. Beside the device's manual, the [OID Repository](http://www.oid-info.com/) is a good place to start if you are looking for OIDs. As an example, the following OIDs are for the load of a Linux systems.
- 1 minute Load: `1.3.6.1.4.1.2021.10.1.3.1`
- 5 minute Load: `1.3.6.1.4.1.2021.10.1.3.2`
- 15 minute Load: `1.3.6.1.4.1.2021.10.1.3.3`
There is a large amount of tools available to work with SNMP. `snmpwalk` let you easily retrieve the value of a OID.
@ -49,3 +54,26 @@ $ snmpwalk -Os -c public -v 2c 192.168.1.32 1.3.6.1.4.1.2021.10.1.3.1
laLoad.1 = STRING: 0.19
```
## {% linkable_title Examples %}
### {% linkable_title Printer uptime minutes %}
According to the most common SNMP standard, the uptime of a device is accessible under OID `1.3.6.1.2.1.1.3.0`. The value represented using a format called `TimeTicks`, in units of hundredth of a second.
To create a sensor that displays the uptime for your printer in minutes, you can use this configuration:
```yaml
# Example configuration.yaml entry
sensor:
- platform: snmp
name: 'Printer uptime'
host: 192.168.2.21
baseoid: 1.3.6.1.2.1.1.3.0
accept_errors: true
unit_of_measurement: 'minutes'
value_template: {% raw %}'{{((value | int) / 6000) | int}}'{% endraw %}
```
The `accept_errors` option will allow the sensor to work even if the printer is not on when Home Assistant is first started: the sensor will just display a `-` instead of a minute count.
The `value_template` option converts the original value to minutes.

View File

@ -13,27 +13,6 @@ ha_release: 0.36
ha_iot_class: "Cloud Polling"
---
The `usps` platform allows one to track deliveries and inbound mail from the [US Postal Service (USPS)](https://www.usps.com/).
In addition to having a USPS account, you will need to complete the "Opt-In" process by clicking "Get Started Now" on [this page](https://my.usps.com/mobileWeb/pages/intro/start.action). You must also "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see inbound mail.
The `usps` sensor component allows you to view statistics on incoming mail and packages made available through USPS via the Informed Delivery service. You must "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see mail images. This works in concert with [USPS camera](/components/camera.usps).
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: usps
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
You will see two new sensors, one for packages and one for mail.
Configuration options for the USPS Sensor:
- **username** (*Required*): The username to access the MyUSPS service.
- **password** (*Required*): The password for the given username.
- **name** (*Optional*): Prefix for sensor names (defaults to "USPS")
<p class='note warning'>
The USPS sensor logs into the MyUSPS website to scrape package data. It does not use an API.
</p>
To enable this sensor in your installation, set up the [USPS component](/components/usps) with your username and password.

View File

@ -0,0 +1,67 @@
---
layout: page
title: "Version Sensor"
description: "Instructions how to integrate a version sensor into Home Assistant."
date: 2017-08-10 10:30
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Sensor
ha_iot_class: "Local Pushing"
logo: home-assistant.png
ha_release: 0.52
---
The `version` sensor platform is displaying the current version of Home Assistant in the frontend.
To enable this sensor, add the following lines to your `configuration.yaml` file for a GET request:
```yaml
# Example configuration.yaml entry
sensor:
- platform: version
```
Configuration variables:
- **name** (*Optional*): Name of the sensor. Defaults to `Current Version`.
## {% linkable_title Alternatives %}
This sensor is an alternative to the existing solutions to achieve the same result through various platforms. Remember that you can easily get the installed version on the command line.
```bash
$ hass --version
```
Or go to the <img src='/images/screenshots/developer-tool-about-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> **Info** section of the **Developer Tools**.
A [`command_line`](/components/sensor.command_line/) with [`hass`](/docs/tools/hass/) to display your current version.
```yaml
sensor:
- platform: command_line
name: Version
command: "/home/homeassistant/bin/hass --version"
```
It's also possible to ready a file called `.HA_VERSION` which is located in your Home Assistant [configuration](/docs/configuration/) folder.
```yaml
sensor:
- platform: command_line
name: Version
command: "cat /home/homeassistant/.homeassistant/.HA_VERSION"
```
You might think that a [`rest` sensor](/components/sensor.rest/) could work to but it will not as Home Assistant is not ready when the sensor get initialized.
```yaml
sensor:
- platform: rest
resource: http://IP_ADDRESS:8123/api/config
name: Current Version
value_template: '{{ value_json.version }}'
```

View File

@ -0,0 +1,32 @@
---
layout: page
title: "World Tides"
description: "Instructions how to add Tides information to Home Assistant."
date: 2017-08-23 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: worldtidesinfo.png
ha_category: Weather
ha_release: 0.52
---
The `worldtidesinfo` sensor platform uses details from [World Tides](https://www.worldtides.info/) to provide information about the prediction for the tides for any location in the world.
To use this sensor, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: worldtidesinfo
api_key: YOUR_API_KEY
```
Configuration variables:
- **api_key** (*Required*): Your API key for https://www.worldtides.info/.
- **name** (*Optional*): Name to use in the frontend.
- **latitude** (*Optional*): Latitude of the location to display the tides. Defaults to the latitude in your `configuration.yaml` file.
- **longitude** (*Optional*): Longitude of the location to display the tides. Defaults to the longitude in your `configuration.yaml` file.

View File

@ -35,9 +35,11 @@ Configuration variables:
- **name** (*Optional*): The name of the switch. Default is 'MQTT Switch'.
- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
- **command_topic** (*Required*): The MQTT topic to publish commands to change the switch state.
- **availability_topic** (*Optional*): The MQTT topic subscribed to receive availability (online/offline) updates. The payload is the same for the command_topic.
- **availability_topic** (*Optional*): The MQTT topic subscribed to receive availability (online/offline) updates.
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
- **payload_available** (*Optional*): The payload that represents the available state, e.g. 'online'. Default is "ON".
- **payload_not_available** (*Optional*): The payload that represents the unavailable state, e.g. 'offline'. Default is "OFF".
- **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 and will also be used to publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not.

View File

@ -2,7 +2,7 @@
layout: page
title: "RainMachine Switch"
description: "Instructions on how to use RainMachine units with Home Assistant."
date: 2017-08-04 12:00
date: 2017-08-14 13:30
sidebar: true
comments: false
sharing: true
@ -23,7 +23,7 @@ The platform allows for either local (i.e., directly across the LAN) or remote
dictate what your configuration should look like.
For local access, specify the IP address/hostname of your RainMachine unit
and your RainMachine password:
, your RainMachine password, and optionally, the device's HTTP port:
```yaml
switch:
@ -43,11 +43,16 @@ switch:
Configuration Variables:
- **ip_address** (*Optional*): The IP address of your RainMachine unit
- **email** (*Optional*): Your RainMachine username/email
- **password** (*Required*): Your RainMachine password
- **zone_run_time** (*Optional*): The number of seconds that a zone should run when
turned on; defaults to 600 (10 minutes)
- **ip_address** (*Optional*): the IP address of your RainMachine unit; cannot be
used with the `email` parameter
- **email** (*Optional*): your RainMachine username/email; cannot be used with the
`ip_address` parameter
- **password** (*Required*): your RainMachine password
- **port** (*Optional*): the TCP port used by your unit for the REST API (default: 8080)
- **ssl** (*Optional*): whether communication with the local device should occur
over HTTPS (default: true)
- **zone_run_time** (*Optional*): the number of seconds that a zone should run when
turned on (default: 600)
## {% linkable_title Controlling Your Device %}

View File

@ -0,0 +1,38 @@
---
layout: page
title: USPS
description: "Interface USPS mail and package information to Home Assistant."
date: 2017-07-28 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: usps.png
ha_category: Hub
ha_release: 0.52
ha_iot_class: "Cloud Polling"
---
The `usps` platform allows one to track deliveries and inbound mail from the [US Postal Service (USPS)](https://www.usps.com/).
In addition to having a USPS account, you will need to complete the "Opt-In" process by clicking "Get Started Now" on [this page](https://my.usps.com/mobileWeb/pages/intro/start.action). You must also "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see inbound mail.
To enable this component, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
usps:
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
You will see two new sensors, one for packages and one for mail and a camera to rotate through images of incoming mail for the current day.
Configuration options for the USPS component:
- **username** (*Required*): The username to access the MyUSPS service.
- **password** (*Required*): The password for the given username.
- **name** (*Optional*): Prefix for sensor names (defaults to "USPS")
<p class='note warning'>
The USPS sensor logs into the MyUSPS website to scrape package data. It does not use an API.
</p>

View File

@ -20,6 +20,12 @@ Current supported features are `turn_on`, `pause`, `stop`, `return_to_home`, `tu
Follow the pairing process using your phone and Mi-Home app. From here you will be able to retrieve the token from a SQLite file inside your phone.
Before you begin you need to install `libffi-dev` by running the command below. This is needed for `python-mirobi` to be installed correctly.
```bash
apt-get install libffi-dev
```
<p class='note warning'>
If your Home Assistant installation is running in a [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant), make sure you activate it by running the commands below.</p>
@ -61,8 +67,8 @@ java.exe -jar ../android-backup-extractor/abe.jar unpack backup.ab backup.tar ""
1. Setup iOS device with the Mi-Home app.
2. Create an unencrypted backup of the device using iTunes.
3. Install iBackup Viewer from here: http://www.imactools.com/iphonebackupviewer/
4. Extract this file /raw data/com.xiami.mihome/_mihome.sqlite to your computer
5. Open the file extracted using notepad. You will then see the list of all the device in your account with their token.
4. Extract this file: **`/raw data/com.xiami.mihome/1234567_mihome.sqlite`** to your computer, where _1234567_ is any string of numbers.
5. Open the sqlite DB with a tool like SQLite Manager extension for FireFox, DB Browser, etc. You will then see the list of all the devices in your account with their token. The token you need is in the column **`ZToken`** and looks like **`123a1234567b12345c1d123456789e12`**.
## {% linkable_title Configuration %}

View File

@ -0,0 +1,12 @@
---
layout: page
title: "Configuration.yaml by Lance Haynie"
description: ""
date: 2017-08-18 18:33
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Example configuration.yaml
ha_external_link: https://github.com/Haynie-Research-and-Development/jarvis
---

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Automation Editor"
description: "Instructions on how to use the new automation editor."
description: "Instructions on how to use the automation editor."
date: 2016-04-24 08:30 +0100
sidebar: true
comments: false
@ -9,11 +9,9 @@ sharing: true
footer: true
---
In Home Assistant 0.45 we have introduced the first version of our automation editor. The editor is still in a very early stage and rough around the edges. For now we are only supporting Chrome but better browser support is planned for the future.
In Home Assistant 0.45 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy.
If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy.
From the UI choose **Automation** which is located in the sidebar. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/components/sensor.random/).
From the UI choose **Configuration** which is located in the sidebar, then click on **Automation** to go to the automation editor. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/components/sensor.random/).
Choose a meaningful name for your automation rules.

View File

@ -29,7 +29,7 @@ We would appreciate if you help to keep this page up-to-date and add feedback.
| Browser | Release | State | Comments |
| :-------------------- |:---------------|:-----------|:-------------------------|
| [Safari] | | works | Some problems with the Map. |
| [Safari] | | works | Map is fixed since 0.51. |
## {% linkable_title Linux %}
@ -60,7 +60,7 @@ We would appreciate if you help to keep this page up-to-date and add feedback.
| Browser | Release | State | Comments |
| :-------------------- |:---------------|:-----------|:-------------------------|
| [Safari] | | works | Can also be added to desktop. Some problems with the Map. |
| [Safari] | | works | Can also be added to desktop. Map is fixed since 0.51. |
| [Chrome] | | works | |
There are reports that devices running with iOS prior to iOS 10, especially old iPads, are having trouble.

View File

@ -0,0 +1,28 @@
---
layout: page
title: "Script Editor"
description: "Instructions on how to use the new script editor."
date: 2016-08-26 03:30 +0000
sidebar: true
comments: false
sharing: true
footer: true
redirect_from: /docs/script/editor/
---
In Home Assistant 0.52 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy.
<div class='videoWrapper'>
<iframe src="https://www.youtube.com/embed/_Rntpcj1CGA" frameborder="0" allowfullscreen></iframe>
</div>
## {% linkable_title Updating your configuration to use the editor %}
The script editor reads and writes to the file `scripts.yaml` in your [configuration](/docs/configuration/) folder. Make sure that you have set up the script component to read from it:
```yaml
# Configuration.yaml example
script: !include scripts.yaml
```
The conten that was under `script:` should now be moved to `scripts.yaml` to be editable.

View File

@ -78,6 +78,7 @@
<ul>
<li>{% active_link /docs/scripts/service-calls/ Service Calls %}</li>
<li>{% active_link /docs/scripts/conditions/ Conditions %}</li>
<li>{% active_link /docs/scripts/editor/ Editor %}</li>
</ul>
</li>
<li>

View File

@ -0,0 +1,376 @@
---
layout: post
title: "0.51: Massive history speed up, finished automation editor and official vacuum cleaner support"
description: "Lots of frontend bugs have been squashed, the automation editor now supports all triggers and actions and vacuum cleaners are now an official component."
date: 2017-08-26 00:11:05
date_formatted: "August 26, 2017"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2017-08-0.52/components.png
---
<a href='/components/#version/0.52'><img src='/images/blog/2017-08-0.52/components.png' style='border: 0;box-shadow: none;'></a>
Although the summer is in full progress, the development hasn't stalled. This release brings bug fixes, clean ups and another 8 new integrations. On top of that we are also introducing a new [script editor](/docs/scripts/editor/)!
To use the scripts editor, create a new file in your config directory named `scripts.yaml` and copy your existing scripts over:
```yaml
# scripts.yaml
turn_on_some_lights:
alias: Turn on the lights
sequence:
- data: {}
service: light.turn_on
```
Than update your `configuration.yaml` to look like this:
```yaml
# Configuration.yaml example
script: !include scripts.yaml
```
<div class='videoWrapper'>
<iframe src="https://www.youtube.com/embed/_Rntpcj1CGA" frameborder="0" allowfullscreen></iframe>
</div>
## New Platforms
- Add version sensor ([@fabaff] - [#8912]) ([sensor.version docs]) (new-platform)
- Nello.io lock support ([@pschmitt] - [#8957]) ([lock.nello docs]) (new-platform)
- Add HipChat notify service. ([@BioSehnsucht] - [#8918]) ([notify.hipchat docs]) (new-platform)
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
- Adds London_air component ([@robmarkcole] - [#9020]) ([sensor.london_air docs]) (new-platform)
- Add Abode home security component ([@arsaboo] - [#9030]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) (new-platform)
- Add support for Prowl notifications. ([@mbrrg] - [#9028]) ([notify.prowl docs]) (new-platform)
- Add worldtidesinfo sensor component ([@aetolus] - [#8860]) ([sensor.worldtidesinfo docs]) (new-platform)
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][discord]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
## {% linkable_title Reporting Issues %}
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
<!--more-->
## Breaking Changes
- Remove spaces from Xiami switch attributes ([@syssi] - [#8952]) ([switch.xiaomi docs]) (breaking change)
- MQTT Switch: command and availability payload are now no longer linked. Command and availability payload default to ON/OFF and must be configured individually if custom values are required. ([@timstanley1985] - [#8934]) ([switch.mqtt docs]) (breaking change)
```yaml
- platform: mqtt
name: "Kitchen"
state_topic: "stat/sonoff_1/POWER"
command_topic: "cmnd/sonoff_1/POWER"
availability_topic: "tele/sonoff_1/LWT"
payload_available: "Online"
payload_not_available: "Offline"
retain: true
```
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
```yaml
usps:
username: user
password: pass
name: optional
```
- eliqonline: The optional channel_id configuration variable of the Eliqonline sensor needs to be a positive integer. ([@molobrakos] - [#9072]) ([sensor.eliqonline docs]) (breaking change)
- MySensors: Not a breaking change per se but users that have not been following the mysensors [serial API](https://www.mysensors.org/download/serial_api_20) could face dropped messages after this change. Messages are now validated according to the API before being passed along from/to devices. See [0.11 release notes](https://github.com/theolind/pymysensors/releases/tag/0.11) for more info. ([@MartinHjelmare] - [#9069]) ([mysensors docs]) ([binary_sensor.mysensors docs]) ([climate.mysensors docs]) ([cover.mysensors docs]) ([device_tracker.mysensors docs]) ([light.mysensors docs]) ([notify.mysensors docs]) ([sensor.mysensors docs]) ([switch.mysensors docs]) (breaking change)
- Automatic has disabled password authentication on their API. Home Assistant will now use OAuth2 to authenticate accounts. The following steps must be taken to transition your setup:
1) Log in to your Automatic developer account. In the Automatic Developer Apps Manager, specify the OAuth Redirect URL in the developer page. This should be configured to `<home-assistant-url>/api/automatic/callback`. (Example: `http://hassio.local:8123/api/automatic/callback`) Note that this URL only needs to be accessible from the browser you use to perform the authentication.
2) Remove username/password from your automatic device tracker configuration in configuration.yaml.
3) If you have authorized your account for `scope:current_location`, add `current_location: true` to your automatic device tracker configuration in configuration.yaml.
4) When you restart home assistant, click on the Automatic Configure link in the Configurator card, and follow the instructions to authorize Home Assistant.<br><br>NOTE: Automatic's API is currently not correctly authorizing with refresh tokens, so Step 4 currently needs to be performed after every restart. ([@armills] - [#8962] [#9002]) ([configurator docs]) ([device_tracker.automatic docs]) (breaking change)
## All changes
- Add version sensor ([@fabaff] - [#8912]) ([sensor.version docs]) (new-platform)
- Fix hue lights for Philips and non-philips lights ([@groth-its] - [#8905]) ([light.hue docs])
- Fixed cert_expiry sensor to delay firing on HA startup ([@arsaboo] - [#8920]) ([sensor.cert_expiry docs])
- Remove spaces from Xiami switch attributes ([@syssi] - [#8952]) ([switch.xiaomi docs]) (breaking change)
- Add service to alarm control panel for night mode arming ([@schmittx] - [#8614]) ([alarm_control_panel docs]) ([alarm_control_panel.totalconnect docs])
- Add support for Automatic OAuth2 authentication ([@armills] - [#8962]) ([configurator docs]) ([device_tracker.automatic docs]) (breaking change)
- Nello.io lock support ([@pschmitt] - [#8957]) ([lock.nello docs]) (new-platform)
- Added continue-on-errors, added value template ([@iamjackg] - [#8971]) ([sensor.snmp docs])
- Is_allowed_path raise for None path ([@danielhiversen] - [#8953])
- Fix #8960 - Decora Wi-Fi Switch unable to set brightness ([@tlyakhov] - [#8989]) ([light.decora_wifi docs])
- Adds port/SSL config options for RainMachine ([@bachya] - [#8986]) ([switch.rainmachine docs])
- Automatic device tracker remove password ([@armills] - [#9002]) ([device_tracker.automatic docs]) (breaking change)
- Add scripts editor backend ([@balloob] - [#8993]) ([config docs]) ([script docs]) (new-platform)
- MQTT Switch - Add configurable availability payload ([@timstanley1985] - [#8934]) ([switch.mqtt docs]) (breaking change)
- Buienradar newconditions ([@mjj4791] - [#8897]) ([sensor.buienradar docs]) ([weather.buienradar docs])
- Pushbullet, fix multiple messages sent when url param is set ([@karlkar] - [#9006]) ([notify.pushbullet docs])
- Update to pyenvisalink 2.2, and remove range validation on zonedump i… ([@Cinntax] - [#8981]) ([envisalink docs])
- Fix #9010 - Swiss Public Transportation shows departure time in the past ([@michaelhertig] - [#9011]) ([sensor.swiss_public_transport docs])
- Add HipChat notify service. ([@BioSehnsucht] - [#8918]) ([notify.hipchat docs]) (new-platform)
- Update onkyo-eiscp to 1.2.3 ([@danieljkemp] - [#9019]) ([media_player.onkyo docs])
- Check if album image(s) exist in spotify ([@Tommatheussen] - [#9024]) ([media_player.spotify docs])
- Update ffmpeg to 1.7 to fix severals problems ([@pvizeli] - [#9029])
- Add state_with_unit property to state objects in templates ([@balloob] - [#9014])
- Fix Geizhals index issue when not 4 prices available ([@celeroll] - [#9035]) ([sensor.geizhals docs])
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
- Set password after connecting. Fixes #8983 ([@StevenLooman] - [#9039]) ([media_player.mpd docs])
- Update iOS sensor (battery icon fix and format updates) ([@schmittx] - [#9032])
- Adds London_air component ([@robmarkcole] - [#9020]) ([sensor.london_air docs]) (new-platform)
- Update pwmled to 1.2.1. ([@soldag] - [#9040]) ([light.rpi_gpio_pwm docs])
- Configurable timeout for webostv. ([@soldag] - [#9042]) ([media_player.webostv docs])
- Update ios.py ([@schmittx] - [#9041]) ([sensor.ios docs])
- Support Windows in UPNP discovery ([@kabongsteve] - [#8936])
- Upgrade python-pushover to 0.3 ([@fanaticDavid] - [#9045]) ([notify.pushover docs])
- Add speeds to fan dropdown in ISY fan component ([@boojew] - [#9004]) ([fan.isy994 docs])
- Update Fitbit sensor (icons, formatting, client update) ([@schmittx] - [#9031]) ([sensor.fitbit docs])
- Add Abode home security component ([@arsaboo] - [#9030]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) (new-platform)
- LIFX: avoid rare NoneType errors ([@amelchio] - [#9054]) ([light.lifx docs])
- Bump dlib face_recognition to 0.2.2 ([@arsaboo] - [#9060]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs])
- Update fitbit.py ([@schmittx] - [#9064]) ([sensor.fitbit docs])
- Upgrade sendgrid to 5.0.0 ([@fabaff] - [#9062]) ([notify.sendgrid docs])
- Upgrade slacker to 0.9.60 ([@fabaff] - [#9065]) ([notify.slack docs])
- Add support for Prowl notifications. ([@mbrrg] - [#9028]) ([notify.prowl docs]) (new-platform)
- Upgrade onkyo-eiscp to 1.2.4 (fixes #8995) ([@fabaff] - [#9068]) ([media_player.onkyo docs])
- Workday sensor offset ([@LaStrada] - [#8824]) ([binary_sensor.workday docs])
- eliqonline: channel id is an integer ([@molobrakos] - [#9072]) ([sensor.eliqonline docs]) (breaking change)
- Use builtin constants for Abode alarm_control_panel ([@arsaboo] - [#9059]) ([alarm_control_panel.abode docs])
- bump python-ecobee-api version to 0.0.8 ([@nkgilley] - [#9074]) ([ecobee docs])
- Bump abodepy to 0.7.1 ([@arsaboo] - [#9077]) ([abode docs])
- async_query returns False if connection to server failed, handle this properly ([@molobrakos] - [#9070]) ([media_player.squeezebox docs])
- Added insteonplm device_override multiple capabilities ([@teharris1] - [#9078]) ([insteon_plm docs])
- Upgrade uber_rides to 0.5.1 ([@fabaff] - [#9080]) ([sensor.uber docs])
- Upgrade discord.py to 0.16.10 ([@fabaff] - [#9082]) ([notify.discord docs])
- Fix `device` attribute in fritz_callmonitor.py (fixes #9055) ([@870074+max-te] - [#9081]) ([sensor.fritzbox_callmonitor docs])
- Upgrade youtube_dl to 2017.8.18 ([@fabaff] - [#9079]) ([media_extractor docs])
- Remove dash ([@fabaff] - [#9089])
- Upgrade credstash to 1.13.3 ([@fabaff] - [#9088])
- 9043 Fixed error while running dev docker ([@MungoRae] - [#9044])
- Don't redefine consts ([@fabaff] - [#9086]) ([notify.hipchat docs])
- Fix octoprint errors when printer is off/disconnected ([@w1ll1am23] - [#8988]) ([octoprint docs]) ([sensor.octoprint docs])
- Pilight switch: restore last state after restart ([@janLo] - [#8580]) ([switch.pilight docs])
- Fix netdata system_load and add disk_free. ([@michaelarnauts] - [#9091]) ([sensor.netdata docs])
- Add worldtidesinfo sensor component ([@aetolus] - [#8860]) ([sensor.worldtidesinfo docs]) (new-platform)
- Support changing the bulb color for tplink smartbulbs, fixes #8766 ([@rytilahti] - [#8780]) ([light.tplink docs])
- bump snapcast version ([@happyleavesaoc] - [#9100]) ([media_player.snapcast docs])
- bump fedex version ([@happyleavesaoc] - [#9099]) ([sensor.fedex docs])
- Yeelight fix updates on hsv mode ([@rytilahti] - [#9093]) ([light.yeelight docs])
- Catch exceptions ([@fabaff] - [#9085]) ([notify.discord docs])
- Fix issue 8894 with uk_transport component if no next_buses or next_trains ([@robmarkcole] - [#9046]) ([sensor.uk_transport docs])
- upgrade Xiaomi Gateway lib to 0.3 ([@danielhiversen] - [#9101]) ([xiaomi docs])
- pythonegardia package requirement to .18 ([@jeroenterheerdt] - [#9104]) ([alarm_control_panel.egardia docs])
- Simplisafe unknown status fix ([@lekobob] - [#9111]) ([alarm_control_panel.simplisafe docs])
- Update flux_led.py ([@danielhiversen] - [#9122]) ([light.flux_led docs])
- Xiaomi ([@danielhiversen] - [#9126]) ([xiaomi docs])
- refactor pushbullet ([@danielhiversen] - [#9125]) ([notify.pushbullet docs])
- optimistic mode for template covers (w/o timed movement) ([@PhracturedBlue] - [#8402]) ([cover.template docs])
- Use const ([@fabaff] - [#9127]) ([prometheus docs])
- Refactor mysensors callback and add validation ([@MartinHjelmare] - [#9069]) ([mysensors docs]) ([binary_sensor.mysensors docs]) ([climate.mysensors docs]) ([cover.mysensors docs]) ([device_tracker.mysensors docs]) ([light.mysensors docs]) ([notify.mysensors docs]) ([sensor.mysensors docs]) ([switch.mysensors docs]) (breaking change)
[#8402]: https://github.com/home-assistant/home-assistant/pull/8402
[#8580]: https://github.com/home-assistant/home-assistant/pull/8580
[#8614]: https://github.com/home-assistant/home-assistant/pull/8614
[#8679]: https://github.com/home-assistant/home-assistant/pull/8679
[#8780]: https://github.com/home-assistant/home-assistant/pull/8780
[#8824]: https://github.com/home-assistant/home-assistant/pull/8824
[#8860]: https://github.com/home-assistant/home-assistant/pull/8860
[#8897]: https://github.com/home-assistant/home-assistant/pull/8897
[#8905]: https://github.com/home-assistant/home-assistant/pull/8905
[#8912]: https://github.com/home-assistant/home-assistant/pull/8912
[#8918]: https://github.com/home-assistant/home-assistant/pull/8918
[#8920]: https://github.com/home-assistant/home-assistant/pull/8920
[#8934]: https://github.com/home-assistant/home-assistant/pull/8934
[#8936]: https://github.com/home-assistant/home-assistant/pull/8936
[#8952]: https://github.com/home-assistant/home-assistant/pull/8952
[#8953]: https://github.com/home-assistant/home-assistant/pull/8953
[#8957]: https://github.com/home-assistant/home-assistant/pull/8957
[#8962]: https://github.com/home-assistant/home-assistant/pull/8962
[#8971]: https://github.com/home-assistant/home-assistant/pull/8971
[#8981]: https://github.com/home-assistant/home-assistant/pull/8981
[#8986]: https://github.com/home-assistant/home-assistant/pull/8986
[#8988]: https://github.com/home-assistant/home-assistant/pull/8988
[#8989]: https://github.com/home-assistant/home-assistant/pull/8989
[#8993]: https://github.com/home-assistant/home-assistant/pull/8993
[#9002]: https://github.com/home-assistant/home-assistant/pull/9002
[#9004]: https://github.com/home-assistant/home-assistant/pull/9004
[#9006]: https://github.com/home-assistant/home-assistant/pull/9006
[#9011]: https://github.com/home-assistant/home-assistant/pull/9011
[#9014]: https://github.com/home-assistant/home-assistant/pull/9014
[#9019]: https://github.com/home-assistant/home-assistant/pull/9019
[#9020]: https://github.com/home-assistant/home-assistant/pull/9020
[#9024]: https://github.com/home-assistant/home-assistant/pull/9024
[#9028]: https://github.com/home-assistant/home-assistant/pull/9028
[#9029]: https://github.com/home-assistant/home-assistant/pull/9029
[#9030]: https://github.com/home-assistant/home-assistant/pull/9030
[#9031]: https://github.com/home-assistant/home-assistant/pull/9031
[#9032]: https://github.com/home-assistant/home-assistant/pull/9032
[#9035]: https://github.com/home-assistant/home-assistant/pull/9035
[#9039]: https://github.com/home-assistant/home-assistant/pull/9039
[#9040]: https://github.com/home-assistant/home-assistant/pull/9040
[#9041]: https://github.com/home-assistant/home-assistant/pull/9041
[#9042]: https://github.com/home-assistant/home-assistant/pull/9042
[#9044]: https://github.com/home-assistant/home-assistant/pull/9044
[#9045]: https://github.com/home-assistant/home-assistant/pull/9045
[#9046]: https://github.com/home-assistant/home-assistant/pull/9046
[#9054]: https://github.com/home-assistant/home-assistant/pull/9054
[#9059]: https://github.com/home-assistant/home-assistant/pull/9059
[#9060]: https://github.com/home-assistant/home-assistant/pull/9060
[#9062]: https://github.com/home-assistant/home-assistant/pull/9062
[#9064]: https://github.com/home-assistant/home-assistant/pull/9064
[#9065]: https://github.com/home-assistant/home-assistant/pull/9065
[#9068]: https://github.com/home-assistant/home-assistant/pull/9068
[#9069]: https://github.com/home-assistant/home-assistant/pull/9069
[#9070]: https://github.com/home-assistant/home-assistant/pull/9070
[#9072]: https://github.com/home-assistant/home-assistant/pull/9072
[#9074]: https://github.com/home-assistant/home-assistant/pull/9074
[#9077]: https://github.com/home-assistant/home-assistant/pull/9077
[#9078]: https://github.com/home-assistant/home-assistant/pull/9078
[#9079]: https://github.com/home-assistant/home-assistant/pull/9079
[#9080]: https://github.com/home-assistant/home-assistant/pull/9080
[#9081]: https://github.com/home-assistant/home-assistant/pull/9081
[#9082]: https://github.com/home-assistant/home-assistant/pull/9082
[#9085]: https://github.com/home-assistant/home-assistant/pull/9085
[#9086]: https://github.com/home-assistant/home-assistant/pull/9086
[#9088]: https://github.com/home-assistant/home-assistant/pull/9088
[#9089]: https://github.com/home-assistant/home-assistant/pull/9089
[#9091]: https://github.com/home-assistant/home-assistant/pull/9091
[#9093]: https://github.com/home-assistant/home-assistant/pull/9093
[#9099]: https://github.com/home-assistant/home-assistant/pull/9099
[#9100]: https://github.com/home-assistant/home-assistant/pull/9100
[#9101]: https://github.com/home-assistant/home-assistant/pull/9101
[#9104]: https://github.com/home-assistant/home-assistant/pull/9104
[#9111]: https://github.com/home-assistant/home-assistant/pull/9111
[#9122]: https://github.com/home-assistant/home-assistant/pull/9122
[#9125]: https://github.com/home-assistant/home-assistant/pull/9125
[#9126]: https://github.com/home-assistant/home-assistant/pull/9126
[#9127]: https://github.com/home-assistant/home-assistant/pull/9127
[@870074+max-te]: https://github.com/870074+max-te
[@BioSehnsucht]: https://github.com/BioSehnsucht
[@Cinntax]: https://github.com/Cinntax
[@LaStrada]: https://github.com/LaStrada
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@MungoRae]: https://github.com/MungoRae
[@PhracturedBlue]: https://github.com/PhracturedBlue
[@StevenLooman]: https://github.com/StevenLooman
[@Tommatheussen]: https://github.com/Tommatheussen
[@aetolus]: https://github.com/aetolus
[@amelchio]: https://github.com/amelchio
[@armills]: https://github.com/armills
[@arsaboo]: https://github.com/arsaboo
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@boojew]: https://github.com/boojew
[@celeroll]: https://github.com/celeroll
[@danielhiversen]: https://github.com/danielhiversen
[@danieljkemp]: https://github.com/danieljkemp
[@fabaff]: https://github.com/fabaff
[@fanaticDavid]: https://github.com/fanaticDavid
[@groth-its]: https://github.com/groth-its
[@happyleavesaoc]: https://github.com/happyleavesaoc
[@iamjackg]: https://github.com/iamjackg
[@janLo]: https://github.com/janLo
[@jeroenterheerdt]: https://github.com/jeroenterheerdt
[@kabongsteve]: https://github.com/kabongsteve
[@karlkar]: https://github.com/karlkar
[@lekobob]: https://github.com/lekobob
[@mbrrg]: https://github.com/mbrrg
[@mezz64]: https://github.com/mezz64
[@michaelarnauts]: https://github.com/michaelarnauts
[@michaelhertig]: https://github.com/michaelhertig
[@mjj4791]: https://github.com/mjj4791
[@molobrakos]: https://github.com/molobrakos
[@nkgilley]: https://github.com/nkgilley
[@pschmitt]: https://github.com/pschmitt
[@pvizeli]: https://github.com/pvizeli
[@robmarkcole]: https://github.com/robmarkcole
[@rytilahti]: https://github.com/rytilahti
[@schmittx]: https://github.com/schmittx
[@soldag]: https://github.com/soldag
[@syssi]: https://github.com/syssi
[@teharris1]: https://github.com/teharris1
[@timstanley1985]: https://github.com/timstanley1985
[@tlyakhov]: https://github.com/tlyakhov
[@w1ll1am23]: https://github.com/w1ll1am23
[abode docs]: https://home-assistant.io/components/abode/
[alarm_control_panel docs]: https://home-assistant.io/components/alarm_control_panel/
[alarm_control_panel.abode docs]: https://home-assistant.io/components/alarm_control_panel.abode/
[alarm_control_panel.egardia docs]: https://home-assistant.io/components/alarm_control_panel.egardia/
[alarm_control_panel.simplisafe docs]: https://home-assistant.io/components/alarm_control_panel.simplisafe/
[alarm_control_panel.totalconnect docs]: https://home-assistant.io/components/alarm_control_panel.totalconnect/
[binary_sensor.abode docs]: https://home-assistant.io/components/binary_sensor.abode/
[binary_sensor.mysensors docs]: https://home-assistant.io/components/binary_sensor.mysensors/
[binary_sensor.workday docs]: https://home-assistant.io/components/binary_sensor.workday/
[camera.usps docs]: https://home-assistant.io/components/camera.usps/
[climate.mysensors docs]: https://home-assistant.io/components/climate.mysensors/
[config docs]: https://home-assistant.io/components/config/
[configurator docs]: https://home-assistant.io/components/configurator/
[cover.mysensors docs]: https://home-assistant.io/components/cover.mysensors/
[cover.template docs]: https://home-assistant.io/components/cover.template/
[device_tracker.automatic docs]: https://home-assistant.io/components/device_tracker.automatic/
[device_tracker.mysensors docs]: https://home-assistant.io/components/device_tracker.mysensors/
[ecobee docs]: https://home-assistant.io/components/ecobee/
[emulated_hue.upnp docs]: https://home-assistant.io/components/emulated_hue.upnp/
[envisalink docs]: https://home-assistant.io/components/envisalink/
[fan.isy994 docs]: https://home-assistant.io/components/fan.isy994/
[image_processing.dlib_face_detect docs]: https://home-assistant.io/components/image_processing.dlib_face_detect/
[image_processing.dlib_face_identify docs]: https://home-assistant.io/components/image_processing.dlib_face_identify/
[insteon_plm docs]: https://home-assistant.io/components/insteon_plm/
[light.decora_wifi docs]: https://home-assistant.io/components/light.decora_wifi/
[light.flux_led docs]: https://home-assistant.io/components/light.flux_led/
[light.hue docs]: https://home-assistant.io/components/light.hue/
[light.lifx docs]: https://home-assistant.io/components/light.lifx/
[light.mysensors docs]: https://home-assistant.io/components/light.mysensors/
[light.rpi_gpio_pwm docs]: https://home-assistant.io/components/light.rpi_gpio_pwm/
[light.tplink docs]: https://home-assistant.io/components/light.tplink/
[light.yeelight docs]: https://home-assistant.io/components/light.yeelight/
[lock.nello docs]: https://home-assistant.io/components/lock.nello/
[media_extractor docs]: https://home-assistant.io/components/media_extractor/
[media_player.mpd docs]: https://home-assistant.io/components/media_player.mpd/
[media_player.onkyo docs]: https://home-assistant.io/components/media_player.onkyo/
[media_player.snapcast docs]: https://home-assistant.io/components/media_player.snapcast/
[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/
[media_player.squeezebox docs]: https://home-assistant.io/components/media_player.squeezebox/
[media_player.webostv docs]: https://home-assistant.io/components/media_player.webostv/
[mysensors docs]: https://home-assistant.io/components/mysensors/
[notify.discord docs]: https://home-assistant.io/components/notify.discord/
[notify.hipchat docs]: https://home-assistant.io/components/notify.hipchat/
[notify.mysensors docs]: https://home-assistant.io/components/notify.mysensors/
[notify.prowl docs]: https://home-assistant.io/components/notify.prowl/
[notify.pushbullet docs]: https://home-assistant.io/components/notify.pushbullet/
[notify.pushover docs]: https://home-assistant.io/components/notify.pushover/
[notify.sendgrid docs]: https://home-assistant.io/components/notify.sendgrid/
[notify.slack docs]: https://home-assistant.io/components/notify.slack/
[octoprint docs]: https://home-assistant.io/components/octoprint/
[prometheus docs]: https://home-assistant.io/components/prometheus/
[script docs]: https://home-assistant.io/components/script/
[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/
[sensor.cert_expiry docs]: https://home-assistant.io/components/sensor.cert_expiry/
[sensor.eliqonline docs]: https://home-assistant.io/components/sensor.eliqonline/
[sensor.fedex docs]: https://home-assistant.io/components/sensor.fedex/
[sensor.fitbit docs]: https://home-assistant.io/components/sensor.fitbit/
[sensor.fritzbox_callmonitor docs]: https://home-assistant.io/components/sensor.fritzbox_callmonitor/
[sensor.geizhals docs]: https://home-assistant.io/components/sensor.geizhals/
[sensor.ios docs]: https://home-assistant.io/components/sensor.ios/
[sensor.london_air docs]: https://home-assistant.io/components/sensor.london_air/
[sensor.mysensors docs]: https://home-assistant.io/components/sensor.mysensors/
[sensor.netdata docs]: https://home-assistant.io/components/sensor.netdata/
[sensor.octoprint docs]: https://home-assistant.io/components/sensor.octoprint/
[sensor.snmp docs]: https://home-assistant.io/components/sensor.snmp/
[sensor.swiss_public_transport docs]: https://home-assistant.io/components/sensor.swiss_public_transport/
[sensor.uber docs]: https://home-assistant.io/components/sensor.uber/
[sensor.uk_transport docs]: https://home-assistant.io/components/sensor.uk_transport/
[sensor.usps docs]: https://home-assistant.io/components/sensor.usps/
[sensor.version docs]: https://home-assistant.io/components/sensor.version/
[sensor.worldtidesinfo docs]: https://home-assistant.io/components/sensor.worldtidesinfo/
[switch.mqtt docs]: https://home-assistant.io/components/switch.mqtt/
[switch.mysensors docs]: https://home-assistant.io/components/switch.mysensors/
[switch.pilight docs]: https://home-assistant.io/components/switch.pilight/
[switch.rainmachine docs]: https://home-assistant.io/components/switch.rainmachine/
[switch.xiaomi docs]: https://home-assistant.io/components/switch.xiaomi/
[usps docs]: https://home-assistant.io/components/usps/
[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/
[xiaomi docs]: https://home-assistant.io/components/xiaomi/
[forum]: https://community.home-assistant.io/
[issue]: https://github.com/home-assistant/home-assistant/issues
[discord]: https://discord.gg/c5DvZ4e

View File

@ -26,12 +26,20 @@ As with every Docker container, you will need a script to run when the container
When developing your script:
- `/data` is a volume for persistent storage.
- `/data/options.json` contains the user configuration. You can use `jq` inside your shell script to parse this data.
- `/data/options.json` contains the user configuration. You can use `jq` inside your shell script to parse this data. However you might have to install `jq` as a separate package in your container (see `Dockerfile` below).
```bash
echo '{ "target": "beer" }' | jq -r ".target"
CONFIG_PATH=/data/options.json
TARGET=$(jq --raw-output ".target" $CONFIG_PATH)
```
So if your `options`contain
```json
{ "target": "beer" }
```
then there will be a variable `TARGET`containing `beer` in the environment of your bash file afterwards.
## {% linkable_title Add-on Docker file %}
All add-ons are based on Alpine Linux 3.6. Hass.io will automatically substitute the right base image based on the machine architecture. Add `tzdata` if you need run in correct timezone, but that is already add in our base images.

View File

@ -17,7 +17,7 @@ We are defining a [trigger](/docs/automation/trigger/) to track the sunset and t
```yaml
# Example configuration.yaml entry
automation:
alias: Turn on light when sun sets
alias: Turn on the lights when the sun sets
initial_state: True
hide_entity: False
trigger:
@ -27,14 +27,14 @@ automation:
service: light.turn_on
```
Starting with 0.28 automation rules can be reloaded from the [frontend](/components/automation/) and are shown by default. With [`hide_entity:`](/components/automation/) you can control this behaviour. It's very handy if you are working on your rules but when a rule is finished and you don't want to see that rule in your frontend, you can set `hide_entity:` to `True`. To set an automation to be disabled when Home Assistant starts set `initial_state:` to `False`.
Starting with 0.28 automation rules can be reloaded from the [frontend](/components/automation/) and are shown by default. With [`hide_entity:`](/components/automation/) you can control this behavior. It's convenient if you are working on your rules, but when a rule is finished, and you don't want to see that rule in your frontend, you can set `hide_entity:` to `True`. To set an automation to be disabled when Home Assistant starts set `initial_state:` to `False`.
After a few days of running this automation rule, you come to realize that this automation rule is not good enough. It was already dark when the lights went on and the one day you weren't home, the lights turned on anyway. Time for some tweaking. Let's add an offset to the sunset trigger and a [condition](/docs/automation/condition/) to only turn on the lights if anyone is home.
After a few days of running this automation rule, you come to realize that this automation rule is not sufficient. It was already dark when the lights went on, and the one day you weren't home, the lights turned on anyway. Time for some tweaking. Let's add an offset to the sunset trigger and a [condition](/docs/automation/condition/) to only turn on the lights if anyone is home.
```yaml
# Example configuration.yaml entry
automation:
alias: Turn on light when sun sets
alias: Turn on the lights when the sun sets
trigger:
platform: sun
event: sunset
@ -47,9 +47,9 @@ automation:
service: light.turn_on
```
Now you're happy and all is good. You start to like this automation business and buy some more lights, this time you put them in the bedroom. But what you now realize is that when the sun is setting, the lights in the bedroom are also being turned on! Time to tweak the automation to only turn on the living room lights.
Now you're happy, and all is good. You start to like this automation business and buy some more lights, this time you put them in the bedroom. But what you now realize is that when the sun is setting, the lights in the bedroom are also being turned on! Time to tweak the automation to only turn on the living room lights.
The first thing you do is to look at the entities in the developer tools (second icon) in the app. You see the names of your lights and you write them down: `light.table_lamp`, `light.bedroom`, `light.ceiling`.
The first thing you do is to look at the entities in the developer tools (second icon) in the app. You see the names of your lights, and you write them down: `light.table_lamp`, `light.bedroom`, `light.ceiling`.
Instead of hard coding the entity IDs of the lights in the automation rule, we will set up a group. This will allow us to see the living room separate in the app and be able to address it from automation rules.
@ -63,7 +63,7 @@ group:
- light.ceiling
automation:
alias: Turn on light when sun sets
alias: Turn on the light when the sun sets
trigger:
platform: sun
event: sunset
@ -77,9 +77,9 @@ automation:
entity_id: group.living_room
```
Christmas is coming along and you decide to buy a remote switch to control the Christmas lights from Home Assistant. You can't claim to live in the house of the future if you're still manually turning on your Christmas lights!
Christmas is coming along, and you decide to buy a remote switch to control the Christmas lights from Home Assistant. You can't claim to live in the house of the future if you're still manually turning on your Christmas lights!
We hook the switch up to Home Assistant and grab the entity ID from the developer tools: `switch.christmas_lights`. We will update the group to include the switch and will change our [action](/docs/automation/action/). We are no longer able to call `light.turn_on` because we also want to turn on a switch. This is where `homeassistant.turn_on` comes to the rescue. This service is capable of turning any entity on.
We hook the switch up to Home Assistant and grab the entity ID from the developer tools: `switch.christmas_lights`. We will update the group to include the switch and will change our [action](/docs/automation/action/). We are no longer able to call `light.turn_on` because we also want to turn on a switch. This is where `homeassistant.turn_on` comes to the rescue. This service is capable of turning on any entity.
```yaml
# Example configuration.yaml entry
@ -90,7 +90,7 @@ group:
- switch.christmas_lights
automation:
alias: Turn on light when sun sets
alias: Turn on the lights when the sun sets
hide_entity: True
trigger:
platform: sun
@ -106,4 +106,3 @@ automation:
```
### [Next step: Presence detection &raquo;](/getting-started/presence-detection/)

View File

@ -13,14 +13,14 @@ When launched for the first time, Home Assistant will write a default configurat
The `configuration.yaml` is written in [YAML](/docs/configuration/yaml/), stored in [`.homeassistant`](/docs/configuration/), and can be modified with a text editor.
See the [components overview page](/components/) to find sample entries for your devices and services. For a sensor that is showing [random values](/components/sensor.random/), the entry would looks like the sample below:
See the [components overview page](/components/) to find sample entries for your devices and services. For a sensor that is showing [random values](/components/sensor.random/), the entry would look like the sample below:
```yaml
sensor:
- platform: random
```
The [Setting up devices part](/docs/configuration/devices/) contains of the documentation additional details about adding device and services and [customization](/docs/configuration/customizing-devices/).
The [Setting up devices part](/docs/configuration/devices/) contains the additional documentation details about adding devices and services and [customization](/docs/configuration/customizing-devices/).
For further details about configuration, please take a look at the [configuration documentation](/docs/configuration/).

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
---
You will need to install Home Assistant before we can get started. You can install Home Assistant on your computer or you can turn a Raspberry Pi into a dedicated Home Assistant hub.
You will need to install Home Assistant before we can get started. You can install Home Assistant on your computer, or you can turn a Raspberry Pi into a dedicated Home Assistant hub.
<div class="text-center hass-option-cards" markdown="0">
<a class='option-card' href='/hassio/'>
@ -27,7 +27,7 @@ You will need to install Home Assistant before we can get started. You can insta
</div>
<br>
For alternative installation methods please take a look at the [installation documentation](/docs/installation/).
For alternative installation methods, please take a look at the [installation documentation](/docs/installation/).
If you run into any issues, please see [the troubleshooting page](/docs/installation/troubleshooting/) or [communication channels](/help/). It contains solutions to many commonly encountered issues.

View File

@ -13,7 +13,7 @@ footer: true
We care about privacy. Collected data is <b>only</b> stored in your instance of Home Assistant.
</p>
Presence detection detects if people are home, which is the most important input for automation. Knowing who is home or where they are will open a whole range of other automation options:
Presence detection detects if people are home, which is the most valuable input for automation. Knowing who is home or where they are, will open a whole range of other automation options:
- Send me a notification when my child arrives at school
- Turn on the AC when I leave work
@ -27,7 +27,7 @@ Screenshot of Home Assistant showing a school, work and home zone and two people
The device tracker component offers presence detection for Home Assistant. It supports two different methods for presence detection: scan for connected devices on the local network and connect to third party service.
Scanning for connected devices is easy to setup. See the instructions for our [supported routers][routers] or [scan the network using nmap][nmap]. This approach does have its limitations, however: it will only be able to detect if a device is home, and iPhones may show as not home inaccurately (as iPhones disconnect from WiFi if idle).
Scanning for connected devices is easy to setup. See the instructions for our [supported routers][routers] or [scan the network using nmap][nmap]. This approach does have its limitations, however: it will only be able to detect if a device is at home, and iPhones may show as not home inaccurately (as iPhones disconnect from WiFi if idle).
Home Assistant currently supports multiple third-party services for presence detection: [OwnTracks][ha-owntracks], [GPSLogger][ha-gpslogger] and [Locative][ha-locative]. OwnTracks is an app that you install on your iPhone or Android phone that allows you to push the location of your device to Home Assistant using an MQTT broker. An MQTT broker is an Internet of Things communication platform that you can [freely host yourself][mqtt-self] or get [a private instance for free in the cloud](/components/mqtt/#run-your-own).
@ -53,4 +53,3 @@ Home Assistant will know the location of your device if you are using OwnTracks.
[condition]: /getting-started/automation-condition/#zone-condition
### [Next step: Use Home Assistant &raquo;](/getting-started/use/)

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB