Merge branch 'current' into next

This commit is contained in:
Fabian Affolter 2017-03-26 00:11:15 +01:00
commit 8e24861fb1
No known key found for this signature in database
GPG Key ID: E23CD2DD36A4397F
24 changed files with 504 additions and 92 deletions

View File

@ -138,10 +138,10 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 40
current_patch_version: 2
date_released: 2017-03-22
current_minor_version: 41
current_patch_version: 0
date_released: 2017-03-25
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
patch_version_notes: "#release-0402---march-22"
#patch_version_notes: "#release-0411---march-xx"

View File

@ -28,6 +28,7 @@ This platform should work with all Hikvision cameras, and has been confirmed to
- DS-2CD3132-I
- DS-2CD2232-I5
- DS-2CD2032-I
- DS-2CD2042WD-I
- DS-2CD2142FWD-I
To enable this sensor, the following lines are required in your `configuration.yaml`:

View File

@ -42,7 +42,7 @@ cover:
##### {% linkable_title RFY %}
The [RFXtrx433e](http://www.rfxcom.com/RFXtrx433E-USB-43392MHz-Transceiver/en) is required for RFY support, however it does not support receive for the RFY protocol - as such devices cannot be automatically added. Instead, configure the device in the [rfxmngr](http://www.rfxcom.com/downloads.htm) tool. Make a note of the assigned ID and Unit Code and then add a device to the configuration with the following id `071a0000[id][unit_code]`. Eg, if the id was `0a` `00` `01`, and the unit code was `01` then the fully qualified id would be `071a00000a000101`.
The [RFXtrx433e](http://www.rfxcom.com/RFXtrx433E-USB-43392MHz-Transceiver/en) is required for RFY support, however it does not support receive for the RFY protocol - as such devices cannot be automatically added. Instead, configure the device in the [rfxmngr](http://www.rfxcom.com/downloads.htm) tool. Make a note of the assigned ID and Unit Code and then add a device to the configuration with the following id `071a0000[id][unit_code]`. Eg, if the id was `0a` `00` `01`, and the unit code was `01` then the fully qualified id would be `071a00000a000101`, if you set your id/code to single digit in the rfxmngr eg, id: `1` `02` `04` and unit code: `1` you will need to add `0` before, so `102031` becomes `071a000001020301`.
##### {% linkable_title Common %}

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Home Assistant 0.39"
title: "Home Assistant 0.41"
description: ""
date: 2016-12-16 17:00
sidebar: true
@ -9,7 +9,7 @@ sharing: true
footer: true
logo: home-assistant.png
ha_category: Other
ha_release: 0.39
ha_release: 0.41
---
Details about the latest release can always be found at:

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Rflink Light"
description: "Instructions how to integrate Rflink lights into Home Assistant."
title: "RFLink Light"
description: "Instructions how to integrate RFLink lights into Home Assistant."
date: 2016-01-04
sidebar: true
comments: false
@ -12,11 +12,11 @@ ha_category: Light
ha_release: 0.38
---
The `rflink` component support devices that use [Rflink gateway firmware](http://www.nemcon.nl/blog2/), for example the [Nodo Rflink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). Rflink gateway is an Arduino firmware that allows communication with 433Mhz devices using cheap hardware (Arduino + 433Mhz tranceiver).
The `rflink` component support devices that use [RFLink gateway firmware](http://www.nemcon.nl/blog2/), for example the [Nodo RFLink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). RFLink gateway is an Arduino firmware that allows two-way communication with a multitude of RF wireless devices using cheap hardware (Arduino + transceiver).
First you have to set up your [rflink hub](/components/rflink/).
After configuring the Rflink hub lights will be automatically discovered and added.
After configuring the RFLink hub lights will be automatically discovered and added.
New/unknown lights can be assigned to a default group automatically by specifying the `new_devices_group` option with a group name. If the group doesn't exist it will be created.
@ -29,7 +29,7 @@ sensor:
new_devices_group: "New Rflink Lights"
```
Rflink switch/light ID's are composed of: protocol, id, switch. For example: `newkaku_0000c6c2_1`.
RFLink switch/light ID's are composed of: protocol, id, switch. For example: `newkaku_0000c6c2_1`.
Once the ID of a light is known it can be used to configure the light in HA, for example to add it to a different group, hide it or configure a nice name.
@ -39,6 +39,9 @@ Configuring a device as light with a nice name:
# Example configuration.yaml entry
light:
platform: rflink
device_defaults:
fire_event: true
signal_repetitions: 2
devices:
newkaku_0000c6c2_1:
name: Living room
@ -59,12 +62,15 @@ Device configuration variables:
- **aliasses** (*Optional*): Alternative Rflink ID's this device is known by.
- **fire_event** (*Optional*): Fire an `button_pressed` event if this device is turned on or off (default: False).
- **signal_repetitions** (*Optional*): Repeat every Rflink command this number of times (default: 1)
- **fire_event_** (*Optional*): Set default `fire_event` for RFLink switch devices (see below).
- **signal_repetitions** (*Optional*): Set default `signal_repetitions` for RFLink switch devices (see below).
### {% linkable_title Light state %}
Initially the state of a light is unknown. When the light is turned on or off (via frontend or 433Mhz remote) the state is known and will be shown in the frontend.
Initially the state of a light is unknown. When the light is turned on or off (via frontend or remote) the state is known and will be shown in the frontend.
Sometimes a light is controlled by multiple 433Mhz remotes, each remote has its own code programmed in the light. To allow tracking of the state when switched via other remotes add the corresponding remote codes as aliasses:
Sometimes a light is controlled by multiple remotes, each remote has its own code programmed in the light. To allow tracking of the state when switched via other remotes add the corresponding remote codes as aliasses:
```yaml
# Example configuration.yaml entry
@ -82,7 +88,7 @@ Any on/off command from any allias ID updates the current state of the light. Ho
### {% linkable_title Light types %}
Light devices can come in different forms. Some only switch on and off, other support dimming. Dimmable devices might not always respond nicely to repeated `on` command as they turn into a pulsating state until `on` is pressed again (for example KlikAanKlikUit). The Rflink component support three types of lights to make things work in every situation:
Light devices can come in different forms. Some only switch on and off, other support dimming. Dimmable devices might not always respond nicely to repeated `on` command as they turn into a pulsating state until `on` is pressed again (for example KlikAanKlikUit). The RFLink component support three types of lights to make things work in every situation:
- *Hybrid*: This type sends a `dim` followed by an a `on` command; and `off` commands. This will make dimmable devices turn on at the requested dim level and on/off devices on. One caveat is this type is not compatible with signal repetition as multiple `on` signals will cause dimmers to go into disco mode.
- *Switchable*: Device type that sends only `on` and `off` commands. It work for both on/off and dimmable type switches. However dimmables might have issues with signal repetition (see above).
@ -93,7 +99,7 @@ By default new lights are assigned the `switchable` type. Protocol supporting di
### {% linkable_title Hiding/ignoring lights %}
Lights are added automatically when the Rflink gateway intercepts a 433Mhz command in the ether. To prevent cluttering the frontend use any of these methods:
Lights are added automatically when the RFLink gateway intercepts a wireless command in the ether. To prevent cluttering the frontend use any of these methods:
- Configure a `new_devices_group` for lights and optionally add it to a different `view`.
- Hide unwanted devices using [customizations](/getting-started/customizing-devices/)

View File

@ -25,8 +25,8 @@ mqtt_eventstream:
Configuration variables:
- **publish_topic** (*Required*): Topic for publishing local events
- **subscribe_topic** (*Required*): Topic to receive events from the remote server.
- **publish_topic** (*Optional*): Topic for publishing local events
- **subscribe_topic** (*Optional*): Topic to receive events from the remote server.
## Multiple Instances

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Rflink"
description: "Instructions how to integrate Rflink gateway into Home Assistant."
title: "RFLink"
description: "Instructions how to integrate RFLink gateway into Home Assistant."
date: 2016-01-04
sidebar: true
comments: false
@ -12,17 +12,23 @@ ha_category: Hub
ha_release: 0.38
---
The `rflink` component support devices that use [Rflink gateway firmware](http://www.nemcon.nl/blog2/), for example the [Nodo Rflink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). Rflink gateway is firmware for the Arduino MEGA 2560 that allows communication with 433 Mhz devices using cheap hardware (Arduino + 433 Mhz tranceiver).
The `rflink` component support devices that use [RFLink gateway firmware](http://www.nemcon.nl/blog2/), for example the [Nodo RFLink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). RFLink gateway is an Arduino firmware that allows two-way communication with a multitude of RF wireless devices using cheap hardware (Arduino + transceiver).
The 433 Mhz spectrum is used by many manufacturers mostly using their own protocol/standard and includes devices like: light switches, blinds, weather stations, alarms and various other sensors.
A complete list of devices supported by Rflink can be found [here](http://www.nemcon.nl/blog2/devlist)
RFLink Gateway supports a number of RF frequencies, using a wide range of low-cost hardware. Their website provides details for various RF transmitter, receiver and transceiver modules for 433Mhz, 868Mhz and 2.4 Ghz [here.](http://www.nemcon.nl/blog2/wiring)
<p class='note'>
Note: Versions later than R44 adds support for Ikea Ansluta, Philips Living Colors Gen1, MySensors devices.
</p>
A complete list of devices supported by RFLink can be found [here](http://www.nemcon.nl/blog2/devlist)
This component is tested with the following hardware/software:
- Nodo Rflink Gateway V1.4/Rflink R44
- Nodo RFLink Gateway V1.4/RFLink R46
To enable Rflink in your installation, add the following to your `configuration.yaml` file:
To enable RFLink in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -32,9 +38,9 @@ rflink:
Configuration variables:
- **port** (*Required*): The path to Rflink usb/serial device or TCP port in TCP mode.
- **port** (*Required*): The path to RFLink USB/serial device or TCP port in TCP mode.
- **host** (*Optional*): Switches to TCP mode, connects to host instead of to USB/serial.
- **wait_for_ack** (*Optional*): Wait for Rflink to ackowledge commands sent before sending new command (slower but more reliable). Defaults to `True`
- **wait_for_ack** (*Optional*): Wait for RFLink to ackowledge commands sent before sending new command (slower but more reliable). Defaults to `True`
- **ignore_devices** (*Optional*): List of devices id's to ignore. Supports wildcards (*) at the end.
- **reconnect_interval** (*Optional*): Time in seconds between reconnect attempts.
@ -52,9 +58,9 @@ rflink:
### {% linkable_title TCP mode %}
TCP mode allows connect to a Rflink device over TCP/IP network. This is for example useful if placing the Rflink device next to the HA server is not optimal or desired (eg: bad reception).
TCP mode allows connect to a RFLink device over TCP/IP network. This is for example useful if placing the RFLink device next to the HA server is not optimal or desired (eg: bad reception).
To expose the usb/serial interface over TCP on a different host (Linux) the following command can be used:
To expose the USB/serial interface over TCP on a different host (Linux) the following command can be used:
```bash
$ socat /dev/ttyACM0,b57600 TCP-LISTEN:1234,reuseaddr
@ -65,7 +71,7 @@ Other methods of exposing the serial interface over TCP are possible (eg: ESP826
Tested with Wifi serial bridge [esp-link V2.2.3](https://github.com/jeelabs/esp-link/releases/tag/v2.2.3) running on a NodeMCU (ESP8266 Wifi module) with ESP8266 TXD0 (pin D10) and RXD0 (pin D9) connected to Arduino MEGA 2560 RX (Pin 2) and TX (Pin 3) respectively.
<p class='note warning'>
Due to different logical levels, a voltage level shifter is required between the 3.3V NodeMCU and 5V Arduino MEGA 2560 pins.
Due to different logic levels, a voltage level shifter is required between the 3.3V NodeMCU and 5V Arduino MEGA 2560 pins. The BSS138 bidirectional logic level converter has been tested for serial pins and the [link](https://www.aliexpress.com/item/8CH-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-DC-DC-5V-to-3-3V-Setp/32238089139.html) is recommended for the CC2500 transceiver (used for Ikea Ansluta and Living Colors)
</p>
<p class='note'>
@ -81,7 +87,7 @@ rflink:
### {% 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.
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.
For example:
@ -102,15 +108,15 @@ Wildcards only work at the end of the ID, not in the middle of front!
### {% linkable_title Device support %}
Even though a lot of devices are supported by Rflink, not all have been tested/implemented. If you have a device supported by Rflink but not by this component please consider testing and adding support yourself or [create an issue](https://github.com/home-assistant/home-assistant/issues/new) and mention `@aequitas` in the description.
Even though a lot of devices are supported by RFLink, not all have been tested/implemented. If you have a device supported by RFLink but not by this component please consider testing and adding support yourself or [create an issue](https://github.com/home-assistant/home-assistant/issues/new) and mention `@aequitas` in the description.
### {% linkable_title Device Incorrectly Identified %}
If you find a device is recognized differently, with different protocols or the ON OFF is swapped or detected as two ON commands, it can be overcome with the RFlink 'RF Signal Learning' mechanism from RFLink Rev 46 (11 March 2017). http://www.nemcon.nl/blog2/faq#RFFind.
If you find a device is recognized differently, with different protocols or the ON OFF is swapped or detected as two ON commands, it can be overcome with the RFlink 'RF Signal Learning' mechanism from RFLink Rev 46 (11 March 2017). [Link to further detail.](http://www.nemcon.nl/blog2/faq#RFFind)
### {% linkable_title Technical overview %}
- The`rflink` Python module a asyncio transport/protocol is setup that fires an callback for every (valid/supported) packet received by the Rflink gateway.
- The`rflink` Python module a asyncio transport/protocol is setup that fires an callback for every (valid/supported) packet received by the RFLink gateway.
- This component uses this callback to distribute 'rflink packet events' over the HASS bus which can be subscribed to by entities/platform implementations.
- The platform implementions take care of creating new devices (if enabled) for unsees incoming packet id's.
- Device entities take care of matching to the packet ID, interpreting and performing actions based on the packet contents. Common entitiy logic is maintained in this main component.

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Rflink Sensor"
description: "Instructions how to integrate Rflink sensors into Home Assistant."
title: "RFLink Sensor"
description: "Instructions how to integrate RFLink sensors into Home Assistant."
date: 2016-01-04
sidebar: true
comments: false
@ -12,11 +12,11 @@ ha_category: Sensor
ha_release: 0.38
---
The `rflink` component support devices that use [Rflink gateway firmware](http://www.nemcon.nl/blog2/), for example the [Nodo Rflink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). Rflink gateway is an Arduino firmware that allows communication with 433Mhz devices using cheap hardware (Arduino + 433Mhz tranceiver).
The `rflink` component support devices that use [RFLink gateway firmware](http://www.nemcon.nl/blog2/), for example the [Nodo RFLink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). RFLink gateway is an Arduino firmware that allows two-way communication with a multitude of RF wireless devices using cheap hardware (Arduino + transceiver).
First you have to set up your [rflink hub](/components/rflink/).
After configuring the Rflink hub sensors will be automatically discovered and added.
After configuring the RFLink hub sensors will be automatically discovered and added.
New/unknown sensors can be assigned to a default group automatically by specifying the `new_devices_group` option with a group name. If the group doesn't exist it will be created.
@ -26,10 +26,10 @@ For example:
# Example configuration.yaml entry
sensor:
platform: rflink
new_devices_group: "New Rflink Sensors"
new_devices_group: "New RFLink Sensors"
```
Rflink sensor ID's are composed of: protocol, id and type (optional). For example: `alectov1_0334_temp`. Some sensors emit multiple types of data. Each will be created as its own
RFLink sensor ID's are composed of: protocol, id and type (optional). For example: `alectov1_0334_temp`. Some sensors emit multiple types of data. Each will be created as its own
Once the ID of a sensor is known it can be used to configure the sensor in HA, for example to add it to a different group, hide it or configure a nice name.
@ -52,14 +52,14 @@ Configuration variables:
Device configuration variables:
- **name** (*Optional*): Name for the device, defaults to Rflink ID.
- **name** (*Optional*): Name for the device, defaults to RFLink ID.
- **sensor_type** (*Required*): Override automatically detected type of sensor.
- **unit_of_measurement** (*Optional*): Override automatically detected unit of sensor.
- **aliasses** (*Optional*): Alternative Rflink ID's this device is known by.
- **aliasses** (*Optional*): Alternative RFLink ID's this device is known by.
### {% linkable_title Hiding/ignoring sensors %}
Sensors are added automatically when the Rflink gateway intercepts a 433Mhz command in the ether. To prevent cluttering the frontend use any of these methods:
Sensors are added automatically when the RFLink gateway intercepts a wireless command in the ether. To prevent cluttering the frontend use any of these methods:
- Configure a `new_devices_group` for sensors and optionally add it to a different `view`.
- Hide unwanted devices using [customizations](/getting-started/customizing-devices/)

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Rflink Switch"
description: "Instructions how to integrate Rflink switches into Home Assistant."
title: "RFLink Switch"
description: "Instructions how to integrate RFLink switches into Home Assistant."
date: 2016-01-04
sidebar: true
comments: false
@ -12,13 +12,13 @@ ha_category: Switch
ha_release: 0.38
---
The `rflink` component support devices that use [Rflink gateway firmware](http://www.nemcon.nl/blog2/), for example the [Nodo Rflink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). Rflink gateway is an Arduino firmware that allows communication with 433Mhz devices using cheap hardware (Arduino + 433Mhz tranceiver).
The `rflink` component support devices that use [RFLink gateway firmware](http://www.nemcon.nl/blog2/), for example the [Nodo RFLink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). RFLink gateway is an Arduino firmware that allows two-way communication with a multitude of RF wireless devices using cheap hardware (Arduino + transceiver).
First you have to set up your [rflink hub](/components/rflink/).
The Rflink component does not know the difference between a `switch` and a `light`. Therefore all switchable devices are automatically added as `light` by default.
The RFLink component does not know the difference between a `switch` and a `light`. Therefore all switchable devices are automatically added as `light` by default.
Rflink switch/light ID's are composed of: protocol, id, switch. For example: `newkaku_0000c6c2_1`.
RFLink switch/light ID's are composed of: protocol, id, switch. For example: `newkaku_0000c6c2_1`.
Once the ID of a switch is known it can be used to configure it as a switch type in HA, for example to add it to a different group, hide it or configure a nice name.
@ -43,21 +43,21 @@ Configuration variables:
- **devices** (*Optional*): A list of devices with their name to use in the frontend.
- **device_defaults**: (*Optional*)
- **fire_event_** (*Optional*): Set default `fire_event` for Rflink switch devices (see below).
- **signal_repetitions** (*Optional*): Set default `signal_repetitions` for Rflink switch devices (see below).
- **fire_event_** (*Optional*): Set default `fire_event` for RFLink switch devices (see below).
- **signal_repetitions** (*Optional*): Set default `signal_repetitions` for RFLink switch devices (see below).
Device configuration variables:
- **name** (*Optional*): Name for the device, defaults to Rflink ID.
- **aliasses** (*Optional*): Alternative Rflink ID's this device is known by.
- **name** (*Optional*): Name for the device, defaults to RFLink ID.
- **aliasses** (*Optional*): Alternative RFLink ID's this device is known by.
- **fire_event_** (*Optional*): Fire an `button_pressed` event if this device is turned on or off (default: False).
- **signal_repetitions** (*Optional*): Repeat every Rflink command this number of times (default: 1)
- **signal_repetitions** (*Optional*): Repeat every RFLink command this number of times (default: 1)
### {% linkable_title Switch state %}
Initially the state of a switch is unknown. When the switch is turned on or off (via frontend or 433Mhz remote) the state is known and will be shown in the frontend.
Initially the state of a switch is unknown. When the switch is turned on or off (via frontend or wireless remote) the state is known and will be shown in the frontend.
Sometimes a switch is controlled by multiple 433Mhz remotes, each remote has its own code programmed in the switch. To allow tracking of the state when switched via other remotes add the corresponding remote codes as aliasses:
Sometimes a switch is controlled by multiple wireless remotes, each remote has its own code programmed in the switch. To allow tracking of the state when switched via other remotes add the corresponding remote codes as aliasses:
```yaml
# Example configuration.yaml entry

View File

@ -12,7 +12,7 @@ ha_category: Automation Examples
This will send a message when someone in your known devices list connects to your local network. In other words, when someone arrives home. It will only work if you are using the [nmap](/components/device_tracker.nmap_tracker/) device tracker or a similar component.
This example uses [/components/notify.telegram/](Telegram) to send the notification.
This example uses [Telegram](/components/notify.telegram/) to send the notification.
```yaml
notify:

View File

@ -12,7 +12,7 @@ ha_category: Automation Examples
Like it how the lights dim up/down at the movies? Do it at home as well!
This example uses the media player, Philips Hue (transitions) and the sun component. We'll use actions to detect media player state changes and scenes to control multiple lights, color settings and transition between scenes.
This example uses the [media player](https://home-assistant.io/components/media_player/), [Philips Hue](https://home-assistant.io/components/light.hue/) (transitions) and the [sun](https://home-assistant.io/components/sun/) component. We'll use actions to detect media player state changes and scenes to control multiple lights, color settings and transition between scenes.
#### {% linkable_title Scenes %}
One scene for normal light, one for when movies are on. A 2 second transition gives a nice 'feel' to the switch.

View File

@ -148,3 +148,20 @@ automation:
# Event is either enter or leave
event: enter # or "leave"
```
### {% linkable_title Multiple triggers %}
When your want your automation rule to have multiple triggers, just prefix the first line of each trigger with a dash (-) and indent the lines following accordingly. Whenever one of the triggers fires, your rule is executed.
```yaml
automation:
trigger:
# first trigger
- platform: time
minutes: 5
seconds: 00
# our second trigger is the sunset
- platform: sun
event: sunset
```

View File

@ -122,5 +122,5 @@ The `VACUUM` command cleans the your database.
sqlite> VACUUM;
```
For a more interactive way to work with the database or the create statistics, checkout our [Jupyther notebooks](http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/tree/master/).
For a more interactive way to work with the database or the create statistics, checkout our [Jupyter notebooks](http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/tree/master/).

View File

@ -1,13 +1,13 @@
---
layout: page
title: "Apache Configuration"
description: "Configure Apache to work with home assistant as a subdomain"
title: "Apache Proxy"
description: "Configure Apache to work with Home Assistant as a subdomain"
date: 2016-06-20 13:05
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Infrastructure
redirect_from: /cookbook/apache_configuration/
---
This example demonstrates how you can configure Apache to act as a proxy for Home Assistant.
@ -22,7 +22,7 @@ This is useful if you want to have:
So you already have a working Apache server available at example.org. Your Home Assistant is correctly working on this web server and available at http://localhost:8123
Enable [`mod_proxy_wstunnel`]((https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.htm) by running if you encounter issues while serving Home Assistant through your proxy:
Enable [`mod_proxy_wstunnel`](https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.htm) by running if you encounter issues while serving Home Assistant through your proxy:
```bash
$ sudo a2enmod proxy_wstunnel

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
ha_category: Infrastructure
redirect_from: /cookbook/githubbackup/
---
Backing up and regularly syncing your Home Assistant configuration to [GitHub](http://GitHub.com) has several benefits:
@ -149,7 +149,7 @@ Every time you run this script, you will be prompted for a comment to describe t
[Travis CI](https://travis-ci.org) is a continuous integration testing system that runs every time the code in your repository is updated and allows you to validate that your code works on a fresh install.
- [Authorise Travis CI](https://travis-ci.org/auth) to have access to your github repos.
- [Authorise Travis CI](https://travis-ci.org/auth) to have access to your github repos.
- Create the build script that travis will run to test your repo.
- Create a dummy secrets.yaml for Travis.
@ -159,7 +159,7 @@ language: python
python:
- "3.4"
before_install:
- mv travis_secrets.yaml secrets.yaml
- mv travis_secrets.yaml secrets.yaml
install:
- pip3 install homeassistant
script:
@ -188,7 +188,7 @@ $ git status
Examples:
```bash
homeassistant@raspberrypi:~/.homeassistant $ git ls-files
homeassistant@raspberrypi:~/.homeassistant $ git ls-files
.gitignore
README.md
automation.yaml

View File

@ -7,17 +7,19 @@ sidebar: true
comments: false
sharing: true
footer: true
ha_category: Infrastructure
redirect_from: /cookbook/tls_domain_certificate/
---
If your Home Assistant instance is only accessible from your local network you can still protect the communication between your browsers and the frontend with SSL/TLS. You can use [Self-sign certificate](/cookbook/tls_self_signed_certificate/) but your browser will present a warning and some https-only features might not work.
### {% linkable_title Prerequirement for this guide %}
* Your Home Assistant instance is not exposed to the internet. If it is - use [this guide]({{site_root}}/blog/2015/12/13/setup-encryption-using-lets-encrypt/)
* You control a public domain name. The domain doesn't have to point to a site. A domain controlled by a *trusted* friend will do. (A friend you trust not to MITM you)
* Your home router supports custom DNS entries.
### {% linkable_title Run certbot %}
```bash
$ mkdir certbot
$ cd certbot
@ -44,17 +46,21 @@ Press Enter to Continue
```
* Deploy the value to TXT field using your domain registar.
* Go to a site that queries domain record. For example [this one](https://mxtoolbox.com/TXTLookup.aspx) and look if it sees your brand new TXT field (Don't forget to enter the full domain: `_acme-challenge.mydomain.com`)
* Press Enter at certbot prompt.
### {% linkable_title Make mydomain.com point to your Home Assistant instance %}
If your router uses DNSMasq (for example DDWRT) add the following line to DNSMasq options:
```
```text
address=/mydomain.com/<hass ip>
```
### {% linkable_title Edit your Home Assistant configuration to use your certificates %}
The [`http`](/components/http/) section must contain the full path to the needed files.
```yaml
http:
api_password: YOUR_SECRET_PASSWORD
@ -62,4 +68,5 @@ http:
ssl_certificate: /etc/letsencrypt/live/mydomain.com/fullchain.pem
ssl_key: /etc/letsencrypt/live/mydomain.com/privkey.pem
```
Make sure the files are accessible by the user that runs Home Assistant, eg. `homeassistant` for a HASSbian setup.

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
ha_category: Infrastructure
redirect_from: /cookbook/tls_self_signed_certificate/
---
If your Home Assistant instance is only accessible from your local network you can still protect the communication between your browsers and the frontend with SSL/TLS. [Let's encrypt]({{site_root}}/blog/2015/12/13/setup-encryption-using-lets-encrypt/) will only work if you have a DNS entry and remote access is allowed. The solution is to use a self-signed certificate. As you most likely don't have a certification authority (CA) your browser will conplain about the security. If you have a CA then this will not be an issue.

View File

@ -7,12 +7,10 @@ sidebar: true
comments: false
sharing: true
footer: true
ha_category: Infrastructure
author: Nathan Freitas
author_twitter: n8fr8
redirect_from: /cookbook/tor_configuration/
---
This is an example about how you can configure Tor to provide secure remote access to your Home Assistant instance as an Onion site, through Tor's Hidden Service feature. With this enabled, you do not need to open your firewall ports or setup HTTPS to enable secure remote access.
This is an example about how you can configure Tor to provide secure remote access to your Home Assistant instance as an Onion site, through [Tor's Hidden Service](https://www.torproject.org/docs/hidden-services.html.en) feature. With this enabled, you do not need to open your firewall ports or setup HTTPS to enable secure remote access.
This is useful if you want to have:
@ -21,21 +19,19 @@ This is useful if you want to have:
* Want to block attackers from even being able to access/scan your port and server at all
* Want to block anyone from knowing your home IP address and seeing your traffic to your Home Assistant
#### {% linkable_title Background and Contact %}
## {% linkable_title Background and Contact %}
This configuration is part of an effort to apply strong cryptography technologies (like Onion Routing and End-to-End Encryption) to technology we increasingly depend on in our day to day lives. Just like when WhatsApp enabled end-to-end encryption messaging for everyone, every home automation and IoT platform should do the same, because A) the technology is all there, freely licensed and open-source and B) up to this point, all the commercial manufacturers have been doing a horrific job with security.
You can learn more about how Tor can be used to secure home automation and IoT platforms through this short set of slides on the [Internet of Onion Things](https://github.com/n8fr8/talks/blob/master/onion_things/Internet%20of%20Onion%20Things.pdf)
This configuration was provided by @n8fr8 ([github](https://github.com/n8fr8), [twitter](https://twitter.com/n8fr8)) of the [Guardian Project](https://guardianproject.info) and [Tor Project](https://torproject.org). You can send questions, feedback and ideas to [support@guardianproject.info](mailto:support@guardianproject.info).
#### {% linkable_title Hidden Services and Onion Sites %}
## {% linkable_title Hidden Services and Onion Sites %}
Tor allows clients and relays to offer hidden services. That is, you can offer a web server, SSH server, etc., without revealing your IP address to its users. In fact, because you don't use any public address, you can run a hidden service from behind your firewall. Learn more about Hidden Services on the [Tor Project website](https://www.torproject.org/docs/tor-hidden-service.html.en).
Onion sites are websites that run on a Tor Hidden Service node. "dot onion" sites are an [IETF recognized special use domain name](https://datatracker.ietf.org/doc/rfc7686/).
#### {% linkable_title Setting up Tor on your Home Assistant %}
## {% linkable_title Setting up Tor on your Home Assistant %}
First, install Tor. On a Debian-based system, you can install the package easily:
@ -82,7 +78,7 @@ abcdef1234567890.onion ABCDEF1122334455667789 # client: haremote1
You are now done with the Home Assistant Tor server configuration. Make sure your Home Assistant instance is running, and now you can move to client configuration.
#### {% linkable_title Tor Client Access Setup %}
## {% linkable_title Tor Client Access Setup %}
Using this setup, you can access your Home Assistant instance over Tor from your laptop or mobile device, using Tor Browser and other software.
@ -100,7 +96,7 @@ For [Orbot: Tor on Android](https://guardianproject.info/apps/orbot), add it in
On iOS, we have not fully tested this yet, but you should be able to add custom torrc entries on [Onion Browser](https://mike.tig.as/onionbrowser/), Red Onion or TOBY browsers, all available in the iTunes App Store.
#### {% linkable_title Some More Advanced Ideas %}
## {% linkable_title Some More Advanced Ideas %}
With this configuration, only you can access your Home Assistant instance Onion site through Tor, and no one else. You can share the authentication cookie with multiple devices and users, or you can generate a unique one for each - up to you! If you have multiple, say for an industrial, business or corporate configuration, this would provide an easy way to revoke access to a specific user or device.
@ -109,4 +105,6 @@ If you always access your Home Assistant instance via Tor, you can easily run th
You could also use Tor as a means to connect your Home Assistant instance to a remote device, sensor or other service that you do not want to or connect provide a direct, open IP connection to. Again, Tor provides authenticated and confidential routing (aka "privacy and encryption") by default, without having to setup TLS/SSL or VPN. It is just important to secure IoT nodes within your network, as it is to secure remote access!
As mentioned, with Orbot on Android, you can enable a "full device" VPN mode, that allows any app you have to tunnel through Tor, even if it is not Tor or proxy aware. This means you should be able to enter your "dot onion" Onion site address into any app you want to access to your Home Assistant instance, and it should work.
This configuration was provided by @n8fr8 ([github](https://github.com/n8fr8), [twitter](https://twitter.com/n8fr8)) of the [Guardian Project](https://guardianproject.info) and [Tor Project](https://torproject.org). You can send questions, feedback and ideas to [support@guardianproject.info](mailto:support@guardianproject.info).

View File

@ -63,9 +63,14 @@ To upgrade the All-In-One setup manually:
* Update HA `pip3 install --upgrade homeassistant`
* Type `exit` to logout the hass user and return to the `pi` user.
<p class='note note'>
If you deployed Home Assistant via the AiO installer prior to December 2016, replace `sudo su -s /bin/bash homeassistant` with `sudo su -s /bin/bash hass` and `source /srv/homeassistant/homeassistant_venv/bin/activate` with `source /srv/hass/hass_venv/bin/activate`</p>
<div class='note note'>
**If you deployed Home Assistant via the AiO installer prior to December 2016**
* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip`
* Change to homeassistant user `sudo su -s /bin/bash hass`
* Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate`
* Update HA `pip3 install --upgrade homeassistant`
* Type `exit` to logout the hass user and return to the `pi` user.
</div>
To upgrade with fabric:
@ -96,9 +101,15 @@ To launch the OZWCP web application:
* Open a web browser to `http://your_pi_ip:8888`
* Specify your zwave controller, for example `/dev/ttyACM0` and hit initialize
<p class='note note'>
If you deployed Home Assistant via the AiO installer prior to December 2016, replace `cd /srv/homeassistant/src/open-zwave-control-panel/` with `cd /srv/hass/src/open-zwave-control-panel/`
</p>
<div class='note note'>
**If you deployed Home Assistant via the AiO installer prior to December 2016**
* Make sure Home Assistant is not running! So stop that first
* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip`
* Change to the ozwcp directory `cd /srv/hass/src/open-zwave-control-panel/`
* Launch the control panel `sudo ./ozwcp -p 8888`
* Open a web browser to `http://your_pi_ip:8888`
* Specify your zwave controller, for example `/dev/ttyACM0` and hit initialize
</div>
<p class='note warning'>
Don't check the USB box regardless of using a USB based device.

View File

@ -22,7 +22,7 @@ mqtt:
Configuration variables:
- **certificate** (*Optional*): The certificate authority certificate file that is to be treated as trusted by this client. This file should contain the root certificate of the certificate authority that signed your broker's certificate, but may contain multiple certificates. Example: `/home/user/identrust-root.pem`
- **certificate** (*Optional*): 'auto' or the certificate authority certificate file that is to be treated as trusted by this client. 'auto' uses the bundled certificates. If a file is specified the file should contain the root certificate of the certificate authority that signed your broker's certificate, but may contain multiple certificates. Example: `/home/user/identrust-root.pem`
- **client_key** (*Optional*): Client key, eg. `/home/user/owntracks/cookie.key`.
- **client_cert** (*Optional*): Client certificate, eg. `/home/user/owntracks/cookie.crt`.

View File

@ -16,7 +16,7 @@ There is currently support for climate, covers, lights, locks, sensors, switches
### {% linkable_title Installation in Virtualenv (python-OpenZWave) %}
If you installed Home Assistant using a virtual environment then please read the instructions on [Installing python-OpenZWave in a virtualenv](https://home-assistant.io/getting-started/installation-virtualenv/#installing-python-openzwave-in-a-virtualenv).
If you installed Home Assistant using a virtual environment then please read the instructions on [Installing python-OpenZWave in a virtualenv](https://home-assistant.io/docs/installation/virtualenv/#installing-python-openzwave-in-a-virtualenv).
### {% linkable_title Installation %}

View File

@ -136,7 +136,6 @@
<li>{% active_link /docs/ecosystem/appdaemon/api/ AppDaemon API Reference %}</li>
</ul>
</li>
<li>
{% active_link /docs/ecosystem/hadashboard/ HADashboard %}
<ul>
@ -147,7 +146,6 @@
<li>{% active_link /docs/ecosystem/hadashboard/updating/ Updating HADashboard %}</li>
</ul>
</li>
<li>
{% active_link /docs/ecosystem/notebooks/ Notebooks %}
<ul>
@ -179,9 +177,24 @@
<li>{% active_link /docs/ecosystem/ios/integration/ Integration with other apps %}</li>
</ul>
</li>
<li>{% active_link /docs/ecosystem/nginx/ NGINX %}</li>
<li>
Remote access
<ul>
<li>{% active_link /docs/ecosystem/apache/ Apache %}</li>
<li>{% active_link /docs/ecosystem/nginx/ NGINX %}</li>
<li>{% active_link /docs/ecosystem/tor/ Tor Onion Service %}</li>
</ul>
</li>
<li>
Certificates
<ul>
<li>{% active_link /docs/ecosystem/certificates/tls_self_signed_certificate/ Self-signed certificate %}</li>
<li>{% active_link /docs/ecosystem/certificates/tls_domain_certificate/ Certificate domain owners %}</li>
</ul>
</li>
<li>{% active_link /docs/ecosystem/scenegen/ scenegen %}</li>
<li>{% active_link /docs/ecosystem/synology/ Synology %}</li>
<li>{% active_link /docs/ecosystem/backup/backup_github/ Backup to GitHub %}</li>
</ul>
</ul>
</div>

View File

@ -0,0 +1,353 @@
---
layout: post
title: "Home Assistant 0.41: Tado, Volumio, Workday, improved Plex"
description: "Improved Pley media player, filtering components overview, Tado and Volumio platform"
date: 2017-03-25 08:04:05 +0000
date_formatted: "March 25, 2017"
author: Fabian Affolter
author_twitter: fabaff
comments: true
categories: Release-Notes
og_image: /images/blog/2017-03-0.41/social.png
---
Welcome to 0.41. There was a lot going on in the last two weeks. Not only from the code side but also from the social one of Home Assistant. [Paulus][@balloob] did an [interview] with [OpenSourceCraft], [Fabian][@fabaff] did a [workshop] at the [Chemnitzer Linux Tage][clt], and we are now an award-winning Open source project (I will cover that in a separate blog post).
## Plex
[@JesseWebDotCom] made massive changes to the [Plex][plex] media player platform. From better metadata support over new configuration options to improved controls and non-controllable clients.
## Component overview
The [Components][components] overview is now powered by search/filtering feature. This will make it faster to get the component/platform you are looking for more quickly. Thanks again, [@bdurrer] for this.
## Changelog
The new format of the changelog which was introduced with 0.40 will provide a link to the related pull request. We are not covering everything in our release notes but we think that this addition will make it easier to find details about the change.
## New platforms/components
- Support for [Tado][tado] climate devices ([@wmalgadey])
- [Volumio][volumio] media player added ([@jslove])
- [Workday][workday] sensor ([@BastianPoe])
## Breaking changes
- The [Kodi notifier][kodi] platform was migrated to async and the configuration synced with the Kodi media player platform ([#6497]).
- For the [Music Player Daemon][mpd] (MPD) platform was `location` replaced with `name` ([#6553]).
- Event decorators were removed ([#6634]).
- The [Emby mediaplayer][emby] platform was changed to avoid name clashes ([#6664]).
- In a lot of places were the power and energy units update. This change mostly affects the `switch` platforms ([#6212]).
- If set to `auto` then the [MQTT][mqtt] implementation will use the bundled certificates automatically ([#6707]).
## If you need help...
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][gitter]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
## Reporting Issues
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
## All changes
- Bugfix android camera autodiscovery settings ([@pvizeli] - [#6510])
- Insteon lib ([@wardcraigj] - [#6505])
- Update to Pyunifi2.0 ([@finish06] - [#6490])
- Insteon lib ([@wardcraigj] - [#6505])
- Don't allow sending to invalid iOS targets ([@robbiet480] - [#6115])
- Bugfix rpi_rf cleanup ([@pvizeli] - [#6513])
- Include LICENSE.md in tarball ([@bachp] - [#6514])
- Android webcam better error handling / pump library 0.4 ([@pvizeli] - [#6518])
- Fix mysensors gateway windows setup ([@MartinHjelmare] - [#6500])
- Update frontend ([@balloob])
- Remove mint finance sensor ([@balloob] - [#6522])
- Append vera device id to entity id - but not name. ([@pavoni] - [#6523])
- Force update support for MQTT sensor ([@vrnagy] - [#6492])
- Wink scene(shortcut) support ([@w1ll1am23] - [#6147])
- Add type configuration in history_stats ([@bokub] - [#6430])
- Discovery is a dict rather than an array. ([@pavoni] - [#6525])
- Fix colortemp conversion for osramlightify ([@amelchio] - [#6516])
- Update Kodi notifier to async ([@armills] - [#6497]) (Breaking Change)
- Fix mysensors gateway windows setup ([@MartinHjelmare] - [#6500])
- Fix colortemp conversion for osramlightify ([@amelchio] - [#6516])
- Remove mint finance sensor ([@balloob] - [#6522])
- Append vera device id to entity id - but not name. ([@pavoni] - [#6523])
- Discovery is a dict rather than an array. ([@pavoni] - [#6525])
- Version bump to 0.41.0.dev0 ([@lwis])
- Simplify Android IP webcam discovery ([@balloob] - [#6528])
- Fix gen_requirements_all.py script for Windows. ([@siebert] - [#6547])
- Fix wake_on_lan ping with None as host ([@iamtpage] - [#6532])
- Be able to select mqtt:tls_version for Python ([@dennisdegreef] - [#6442])
- ZWave binary sensor tests ([@armills] - [#6555])
- Refactor zwave discovery to entity schema ([@armills] - [#6445])
- Revert "Refactor zwave discovery to entity schema (#6445)" ([@balloob] - [#6564])
- Upgraded blinkpy version, increased Throttle time for camera ([@fronzbot] - [#6561])
- Don't start the push updater if the Apple TV is 'off' ([@jnewland] - [#6552])
- Bump voc version (fixes heater bug) ([@molobrakos])
- Remove dispatcher camera ([@pvizeli] - [#6579])
- Fix for the case of zwave value used in several devices. ([@andrey-git] - [#6577])
- Fix hydroquebec ([@titilambert] - [#6574])
- Upgrade async_timeout to 1.2.0 ([@fabaff] - [#6590])
- Upgrade pyasn1 to 0.2.3 ([@fabaff] - [#6588])
- Upgrade sqlalchemy to 1.1.6 ([@fabaff] - [#6591])
- Upgrade psutil to 5.2.0 ([@fabaff] - [#6585])
- Upgrade Sphinx to 1.5.3 ([@fabaff] - [#6587])
- Update pyecobee version to 0.0.7 ([@dale3h] - [#6593])
- Update SMA solar sensor to work with the new add_devices callback ([@kellerza] - [#6602])
- Fix link ([@fabaff] - [#6612])
- Upgrade py-cpuinfo to 0.2.7 ([@fabaff] - [#6610])
- Upgrade googlemaps to 2.4.6 ([@fabaff] - [#6611])
- Error handling when connection refused ([@molobrakos] - [#6614])
- Prevent entities running multiple updates simultaneously ([@pvizeli] - [#6511])
- Add configurable timeout option to notify/smtp ([@hawk259] - [#6609])
- Define db for SHOW DIAGNOSTICS query since some users will not have a… ([@tflack] - [#6566])
- Cover myq fix update pymyq ([@arraylabs] - [#6595])
- Update mpd.py ([@yeralin] - [#6553]) (Breaking Change)
- Upgrade to dsmr_parser 0.8, supporting protocol 3 and 5. ([@aequitas] - [#6600])
- Add "Refactor zwave discovery to entity schema" ([@balloob] - [#6565])
- Tests for ZWave climate ([@armills] - [#6629])
- Correctly flag Kodi media types ([@armills] - [#6628])
- since knx_2_float can't handle 0, bypass converting 0 value from knx to float ([@goofz] - [#6626])
- Use sqlite's WAL mode to avoid `database is locked` errors ([@n8henrie] - [#6519])
- Remove event decorators ([@balloob] - [#6634]) (Breaking Change)
- Deprecate event forwarding ([@balloob])
- Upgrade aiohttp to 1.3.4 ([@pvizeli] - [#6643])
- media_player.kodi extra attributes for tvshow and music media ([@mvillarejo] - [#6622])
- Add ZWave cover tests ([@armills] - [#6648])
- Kodi: Fix episode media type classification ([@armills] - [#6645])
- Move LIFX to aiolifx for driving the bulbs ([@amelchio] - [#6584])
- Fix #6534 ([@deisi] - [#6598])
- self.loop.create_task -> self.add_job ([@balloob] - [#6632])
- Bugfix RFLINK remove group ([@pvizeli] - [#6580])
- Version bump to 0.40.1 ([@balloob])
- Fix wake_on_lan ping with None as host ([@iamtpage] - [#6532])
- Don't start the push updater if the Apple TV is 'off' ([@jnewland] - [#6552])
- Fix for the case of zwave value used in several devices. ([@andrey-git] - [#6577])
- Fix hydroquebec ([@titilambert] - [#6574])
- Update pyecobee version to 0.0.7 ([@dale3h] - [#6593])
- Update SMA solar sensor to work with the new add_devices callback ([@kellerza] - [#6602])
- since knx_2_float can't handle 0, bypass converting 0 value from knx to float ([@goofz] - [#6626])
- Bugfix RFLINK remove group ([@pvizeli] - [#6580])
- Added workday sensor ([@BastianPoe] - [#6599])
- Add test for Z-wave switch ([@turbokongen] - [#6619])
- Upgrade python-digitalocean to 1.11 ([@fabaff] - [#6653])
- Add Zwave sensors test ([@turbokongen] - [#6640])
- round output values ([@joe248] - [#6657])
- Support for non-clients, NVidia shield, dynamic grouping, extra metad ([@JesseWebDotCom] - [#6054])
- Upgrade astral to 1.4 ([@fabaff] - [#6332])
- Upgrade aiohttp to 1.3.5 ([@fabaff] - [#6660])
- Check if droplet exists ([@fabaff] - [#6663])
- Corrected help text for refresh_node ([@sebk-666] - [#6659])
- Add configurable timeout option to camera.synology ([@hawk259] - [#6655])
- Pump Android ip webcam to 0.6 ([@pvizeli] - [#6665])
- add latitude and longitude configuration to darksky sensor ([@RickyTaterSalad] - [#6191])
- Refactor Neurio to add Daily Power Sensor ([@mezz64] - [#6662])
- Added support for multiple efergy sensors in the same household. ([@miniconfig] - [#6630])
- Add new media_player platform: Volumio Media Player ([@jslove] - [#6556])
- Phone book lookup support for Fritz!Box call monitor ([@DavidMStraub] - [#6474])
- Update Emby component to async ([@mezz64] - [#6664])
- Fix hass script execution on Windows (#4977). ([@matrixx567] - [#6601])
- Fixed Show All Controls feature ([@JesseWebDotCom])
- Update Torque component to match recent API. ([@tylercrumpton] - [#6671])
- Rflink: added support for lights with toggle type ([@martinfrancois] - [#6521])
- Upgrade distro to 1.0.3 ([@fabaff] - [#6693])
- Fix longitude ([@mezz64] - [#6697])
- Bump PyChromecast to 0.8.1 ([@balloob] - [#6702])
- Kodi use websocket loop task created by library ([@armills] - [#6703])
- Fix Kodi when websocket is disabled ([@armills] - [#6706])
- Revise power and energy units and property names. ([@pavoni] - [#6212]) (Breaking Change)
- automatically use bundled certificate it set to auto ([@printzlau] - [#6707]) (Breaking Change)
- Update frontend ([@balloob])
- Add zwave light tests ([@armills] - [#6710])
- restore_state: do not crash if domain not defined ([@balloob] - [#6714])
- Fix for issue: luci returns 403 invalid token when rebooted #6715 ([@fbradyirl] - [#6717])
- Don't warn if octoprint completion is null ([@jawilson] - [#6719])
- ZWave Sensor tests ([@armills] - [#6721])
- ZWave switch tests ([@armills] - [#6722])
- Update frontend ([@balloob])
- Fix LIFX unregister races ([@amelchio] - [#6723])
- Do not log warning on rest_command if no error ([@balloob] - [#6713])
- camera.zoneminder: Show recording state ([@mnoorenberghe] - [#6686])
- ZWave Lock Tests ([@armills] - [#6730])
- Tado climate device ([@wmalgadey] - [#6572])
- Version bump to 0.40.2 ([@balloob])
- Bump PyChromecast to 0.8.1 ([@balloob] - [#6702])
- Constrain core dependencies to core versions ([@balloob] - [#6738])
- Update constraints ([@balloob])
- Adds Support for Lutron Caseta devices. ([@gurumitts] - [#6631])
- Add sensor for Lyft time and price (based on Uber sensor) ([@drkp] - [#6711])
- Add zwave per-node entity. ([@andrey-git] - [#6690])
- Version bump to 0.41 ([@balloob])
[#6054]: https://github.com/home-assistant/home-assistant/pull/6054
[#6115]: https://github.com/home-assistant/home-assistant/pull/6115
[#6147]: https://github.com/home-assistant/home-assistant/pull/6147
[#6191]: https://github.com/home-assistant/home-assistant/pull/6191
[#6212]: https://github.com/home-assistant/home-assistant/pull/6212
[#6332]: https://github.com/home-assistant/home-assistant/pull/6332
[#6430]: https://github.com/home-assistant/home-assistant/pull/6430
[#6442]: https://github.com/home-assistant/home-assistant/pull/6442
[#6445]: https://github.com/home-assistant/home-assistant/pull/6445
[#6474]: https://github.com/home-assistant/home-assistant/pull/6474
[#6490]: https://github.com/home-assistant/home-assistant/pull/6490
[#6492]: https://github.com/home-assistant/home-assistant/pull/6492
[#6497]: https://github.com/home-assistant/home-assistant/pull/6497
[#6500]: https://github.com/home-assistant/home-assistant/pull/6500
[#6505]: https://github.com/home-assistant/home-assistant/pull/6505
[#6510]: https://github.com/home-assistant/home-assistant/pull/6510
[#6511]: https://github.com/home-assistant/home-assistant/pull/6511
[#6513]: https://github.com/home-assistant/home-assistant/pull/6513
[#6514]: https://github.com/home-assistant/home-assistant/pull/6514
[#6516]: https://github.com/home-assistant/home-assistant/pull/6516
[#6518]: https://github.com/home-assistant/home-assistant/pull/6518
[#6519]: https://github.com/home-assistant/home-assistant/pull/6519
[#6521]: https://github.com/home-assistant/home-assistant/pull/6521
[#6522]: https://github.com/home-assistant/home-assistant/pull/6522
[#6523]: https://github.com/home-assistant/home-assistant/pull/6523
[#6525]: https://github.com/home-assistant/home-assistant/pull/6525
[#6528]: https://github.com/home-assistant/home-assistant/pull/6528
[#6532]: https://github.com/home-assistant/home-assistant/pull/6532
[#6547]: https://github.com/home-assistant/home-assistant/pull/6547
[#6552]: https://github.com/home-assistant/home-assistant/pull/6552
[#6553]: https://github.com/home-assistant/home-assistant/pull/6553
[#6555]: https://github.com/home-assistant/home-assistant/pull/6555
[#6556]: https://github.com/home-assistant/home-assistant/pull/6556
[#6561]: https://github.com/home-assistant/home-assistant/pull/6561
[#6564]: https://github.com/home-assistant/home-assistant/pull/6564
[#6565]: https://github.com/home-assistant/home-assistant/pull/6565
[#6566]: https://github.com/home-assistant/home-assistant/pull/6566
[#6572]: https://github.com/home-assistant/home-assistant/pull/6572
[#6574]: https://github.com/home-assistant/home-assistant/pull/6574
[#6577]: https://github.com/home-assistant/home-assistant/pull/6577
[#6579]: https://github.com/home-assistant/home-assistant/pull/6579
[#6580]: https://github.com/home-assistant/home-assistant/pull/6580
[#6584]: https://github.com/home-assistant/home-assistant/pull/6584
[#6585]: https://github.com/home-assistant/home-assistant/pull/6585
[#6587]: https://github.com/home-assistant/home-assistant/pull/6587
[#6588]: https://github.com/home-assistant/home-assistant/pull/6588
[#6590]: https://github.com/home-assistant/home-assistant/pull/6590
[#6591]: https://github.com/home-assistant/home-assistant/pull/6591
[#6593]: https://github.com/home-assistant/home-assistant/pull/6593
[#6595]: https://github.com/home-assistant/home-assistant/pull/6595
[#6598]: https://github.com/home-assistant/home-assistant/pull/6598
[#6599]: https://github.com/home-assistant/home-assistant/pull/6599
[#6600]: https://github.com/home-assistant/home-assistant/pull/6600
[#6601]: https://github.com/home-assistant/home-assistant/pull/6601
[#6602]: https://github.com/home-assistant/home-assistant/pull/6602
[#6609]: https://github.com/home-assistant/home-assistant/pull/6609
[#6610]: https://github.com/home-assistant/home-assistant/pull/6610
[#6611]: https://github.com/home-assistant/home-assistant/pull/6611
[#6612]: https://github.com/home-assistant/home-assistant/pull/6612
[#6614]: https://github.com/home-assistant/home-assistant/pull/6614
[#6619]: https://github.com/home-assistant/home-assistant/pull/6619
[#6622]: https://github.com/home-assistant/home-assistant/pull/6622
[#6626]: https://github.com/home-assistant/home-assistant/pull/6626
[#6628]: https://github.com/home-assistant/home-assistant/pull/6628
[#6629]: https://github.com/home-assistant/home-assistant/pull/6629
[#6630]: https://github.com/home-assistant/home-assistant/pull/6630
[#6631]: https://github.com/home-assistant/home-assistant/pull/6631
[#6632]: https://github.com/home-assistant/home-assistant/pull/6632
[#6634]: https://github.com/home-assistant/home-assistant/pull/6634
[#6640]: https://github.com/home-assistant/home-assistant/pull/6640
[#6643]: https://github.com/home-assistant/home-assistant/pull/6643
[#6645]: https://github.com/home-assistant/home-assistant/pull/6645
[#6648]: https://github.com/home-assistant/home-assistant/pull/6648
[#6653]: https://github.com/home-assistant/home-assistant/pull/6653
[#6655]: https://github.com/home-assistant/home-assistant/pull/6655
[#6657]: https://github.com/home-assistant/home-assistant/pull/6657
[#6659]: https://github.com/home-assistant/home-assistant/pull/6659
[#6660]: https://github.com/home-assistant/home-assistant/pull/6660
[#6662]: https://github.com/home-assistant/home-assistant/pull/6662
[#6663]: https://github.com/home-assistant/home-assistant/pull/6663
[#6664]: https://github.com/home-assistant/home-assistant/pull/6664
[#6665]: https://github.com/home-assistant/home-assistant/pull/6665
[#6671]: https://github.com/home-assistant/home-assistant/pull/6671
[#6686]: https://github.com/home-assistant/home-assistant/pull/6686
[#6690]: https://github.com/home-assistant/home-assistant/pull/6690
[#6693]: https://github.com/home-assistant/home-assistant/pull/6693
[#6697]: https://github.com/home-assistant/home-assistant/pull/6697
[#6702]: https://github.com/home-assistant/home-assistant/pull/6702
[#6703]: https://github.com/home-assistant/home-assistant/pull/6703
[#6706]: https://github.com/home-assistant/home-assistant/pull/6706
[#6707]: https://github.com/home-assistant/home-assistant/pull/6707
[#6710]: https://github.com/home-assistant/home-assistant/pull/6710
[#6711]: https://github.com/home-assistant/home-assistant/pull/6711
[#6713]: https://github.com/home-assistant/home-assistant/pull/6713
[#6714]: https://github.com/home-assistant/home-assistant/pull/6714
[#6717]: https://github.com/home-assistant/home-assistant/pull/6717
[#6719]: https://github.com/home-assistant/home-assistant/pull/6719
[#6721]: https://github.com/home-assistant/home-assistant/pull/6721
[#6722]: https://github.com/home-assistant/home-assistant/pull/6722
[#6723]: https://github.com/home-assistant/home-assistant/pull/6723
[#6730]: https://github.com/home-assistant/home-assistant/pull/6730
[#6738]: https://github.com/home-assistant/home-assistant/pull/6738
[#6664]: https://github.com/home-assistant/home-assistant/pull/6664
[@BastianPoe]: https://github.com/BastianPoe
[@DavidMStraub]: https://github.com/DavidMStraub
[@JesseWebDotCom]: https://github.com/JesseWebDotCom
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@RickyTaterSalad]: https://github.com/RickyTaterSalad
[@aequitas]: https://github.com/aequitas
[@amelchio]: https://github.com/amelchio
[@andrey-git]: https://github.com/andrey-git
[@armills]: https://github.com/armills
[@arraylabs]: https://github.com/arraylabs
[@bachp]: https://github.com/bachp
[@balloob]: https://github.com/balloob
[@bokub]: https://github.com/bokub
[@dale3h]: https://github.com/dale3h
[@deisi]: https://github.com/deisi
[@dennisdegreef]: https://github.com/dennisdegreef
[@drkp]: https://github.com/drkp
[@fabaff]: https://github.com/fabaff
[@fbradyirl]: https://github.com/fbradyirl
[@finish06]: https://github.com/finish06
[@fronzbot]: https://github.com/fronzbot
[@goofz]: https://github.com/goofz
[@gurumitts]: https://github.com/gurumitts
[@hawk259]: https://github.com/hawk259
[@iamtpage]: https://github.com/iamtpage
[@jawilson]: https://github.com/jawilson
[@jnewland]: https://github.com/jnewland
[@joe248]: https://github.com/joe248
[@jslove]: https://github.com/jslove
[@kellerza]: https://github.com/kellerza
[@lwis]: https://github.com/lwis
[@martinfrancois]: https://github.com/martinfrancois
[@matrixx567]: https://github.com/matrixx567
[@mezz64]: https://github.com/mezz64
[@miniconfig]: https://github.com/miniconfig
[@mnoorenberghe]: https://github.com/mnoorenberghe
[@molobrakos]: https://github.com/molobrakos
[@mvillarejo]: https://github.com/mvillarejo
[@n8henrie]: https://github.com/n8henrie
[@pavoni]: https://github.com/pavoni
[@printzlau]: https://github.com/printzlau
[@pvizeli]: https://github.com/pvizeli
[@robbiet480]: https://github.com/robbiet480
[@sebk-666]: https://github.com/sebk-666
[@siebert]: https://github.com/siebert
[@tflack]: https://github.com/tflack
[@titilambert]: https://github.com/titilambert
[@turbokongen]: https://github.com/turbokongen
[@tylercrumpton]: https://github.com/tylercrumpton
[@vrnagy]: https://github.com/vrnagy
[@w1ll1am23]: https://github.com/w1ll1am23
[@wardcraigj]: https://github.com/wardcraigj
[@wmalgadey]: https://github.com/wmalgadey
[@yeralin]: https://github.com/yeralin
[components]: https://home-assistant.io/components/
[kodi]: https://home-assistant.io/components/notify.kodi/
[mpd]: https://home-assistant.io/components/media_player.mpd/
[emby]: https://home-assistant.io/components/media_player.emby/
[mqtt]: https://home-assistant.io/docs/mqtt/
[plex]: https://home-assistant.io/components/media_player.plex/
[tado]: https://home-assistant.io/components/climate.tado/
[volumio]: https://home-assistant.io//components/media_player.volumio/
[workday]: https://home-assistant.io/components/binary_sensor.workday/
[forum]: https://community.home-assistant.io/
[gitter]: https://gitter.im/home-assistant/home-assistant
[issue]: https://github.com/home-assistant/home-assistant/issues
[@bdurrer]: https://github.com/bdurrer
[interview]: https://home-assistant.io/blog/2017/03/23/opensourcecraft-interview-with-founder-paulus-schoutsen/
[OpenSourceCraft]: http://codepop.com/open-sourcecraft
[clt]: https://chemnitzer.linux-tage.de/2017/en/
[workshop]: https://github.com/home-assistant/home-assistant-assets/tree/master/german/2017-clt-workshop

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB