From faa72c1ec477e117d25fb0ab7923b4f94732cba2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren?=
Date: Fri, 2 Aug 2019 12:05:17 +0200
Subject: [PATCH 01/24] Updates wording (#10030)
---
source/_cookbook/ifttt.manything.markdown | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/source/_cookbook/ifttt.manything.markdown b/source/_cookbook/ifttt.manything.markdown
index f50ba6e8c1e..7c8ab7373a0 100644
--- a/source/_cookbook/ifttt.manything.markdown
+++ b/source/_cookbook/ifttt.manything.markdown
@@ -9,9 +9,9 @@ redirect_from:
[Manything](https://manything.com) is a smart app that turns your Android device, iPhone, iPod, or iPad into a WiFi camera for monitoring your home, your pets, anything! Comes with live streaming, motion activated alerts, cloud video recording, and more.
-To get manything support, HA will use IFTTT's [Maker Channel](https://ifttt.com/maker) and the [ManyThing Channel](https://ifttt.com/manything). Use the [IFTTT Setup instructions](/components/ifttt/) to activate the IFTTT Platform.
+To get manything support, HA will use IFTTT's [Webhooks Service](https://ifttt.com/maker_webhooks) and the [ManyThing Service](https://ifttt.com/manything). Use the [IFTTT Setup instructions](/components/ifttt/) to activate the IFTTT Platform.
-After setting up IFTTT, Maker Channel and ManyThing Channel, you can use the following examples to configure Home Assistant.
+After setting up IFTTT, Maker Service and ManyThing Service, you can use the following examples to configure Home Assistant.
```yaml
# Example configuration.yaml entry
@@ -57,7 +57,7 @@ For ManyThing support, you need to set up an `on` and `off` event.
### Testing your trigger
-You can use the developer tools to test your [Maker Channel](https://ifttt.com/maker) trigger. To do this, open the Home Assistant UI, open the sidebar, click on the first icon in the developer tools. This should get you to the 'Call Service' screen. Fill in the following values:
+You can use the developer tools to test your [Maker Service](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant UI, open the sidebar, click on the first icon in the developer tools. This should get you to the 'Call Service' screen. Fill in the following values:
Field | Value
----- | -----
From 916c3c8b0e87a761cbe0a4e8a26388bc00084ab9 Mon Sep 17 00:00:00 2001
From: Brendan Tobolaski
Date: Fri, 2 Aug 2019 05:12:03 -0500
Subject: [PATCH 02/24] Fix the documentation of filters on Prometheus (#10035)
---
source/_components/prometheus.markdown | 34 +++++++++-----------------
1 file changed, 12 insertions(+), 22 deletions(-)
diff --git a/source/_components/prometheus.markdown b/source/_components/prometheus.markdown
index 57b7609a353..748bfbe51c2 100644
--- a/source/_components/prometheus.markdown
+++ b/source/_components/prometheus.markdown
@@ -26,32 +26,22 @@ filter:
required: false
type: list
keys:
- exclude:
- description: Excluded from recording.
+ exclude_entities:
+ description: The list of entity ids to be excluded from recording.
required: false
type: list
- keys:
- entities:
- description: The list of entity ids to be excluded from recording.
- required: false
- type: list
- domains:
- description: The list of domains to be excluded from recording.
- required: false
- type: list
- include:
- description: Included in recordings. If set, all other entities will not be recorded. Values set by the **exclude** option will prevail.
+ exclude_domains:
+ description: The list of domains to be excluded from recording.
+ required: false
+ type: list
+ include_entities:
+ description: The list of entity ids to be included from recordings. If set, all other entities will not be recorded. Values set by the **exclude_*** option will prevail.
+ required: false
+ type: list
+ include_domains:
+ description: The list of domains to be included from recordings. If set, all other entities will not be recorded. Values set by the **exclude_*** option will prevail.
required: false
type: list
- keys:
- entities:
- description: The list of entity ids to be included from recordings.
- required: false
- type: list
- domains:
- description: The list of domains to be included from recordings.
- required: false
- type: list
{% endconfiguration %}
You can then configure Prometheus to fetch metrics from Home Assistant by adding to its `scrape_configs` configuration.
From 72b3278bbcb343880621329d9ab9f0eaa30aa0be Mon Sep 17 00:00:00 2001
From: Andrew Simmons
Date: Fri, 2 Aug 2019 06:12:30 -0400
Subject: [PATCH 03/24] Specify text language on some code blocks (#10031)
* Specify text language on some code blocks
* :pencil2: Tweak
* :pencil2: Tweaks
---
source/_docs/autostart/init.d.markdown | 5 ++--
source/_docs/autostart/systemd.markdown | 8 +++---
source/_docs/ecosystem/caddy.markdown | 2 +-
source/_docs/ecosystem/scenegen.markdown | 32 ++++++++++++------------
source/_docs/ecosystem/synology.markdown | 4 +--
5 files changed, 26 insertions(+), 25 deletions(-)
diff --git a/source/_docs/autostart/init.d.markdown b/source/_docs/autostart/init.d.markdown
index 98203c6cc2f..f5e47d2ff11 100644
--- a/source/_docs/autostart/init.d.markdown
+++ b/source/_docs/autostart/init.d.markdown
@@ -34,8 +34,9 @@ $ sudo service hass-daemon install
This logrotate script at `/etc/logrotate.d/homeassistant` will create an outage of a few seconds every week at night. If you do not want this add `--log-rotate-days 7` to the `FLAGS` variable in the init script.
-```
-/var/log/homeassistant/home-assistant.log
+File `/var/log/homeassistant/home-assistant.log`:
+
+```text
{
rotate 7
daily
diff --git a/source/_docs/autostart/systemd.markdown b/source/_docs/autostart/systemd.markdown
index 6fa25e4ac88..ab4ce5ea93c 100644
--- a/source/_docs/autostart/systemd.markdown
+++ b/source/_docs/autostart/systemd.markdown
@@ -19,7 +19,7 @@ A service file is needed to control Home Assistant with `systemd`. The template
- If unfamiliar with command-line text editors, `sudo nano -w [filename]` can be used with `[filename]` replaced with the full path to the file. Ex. `sudo nano -w /etc/systemd/system/home-assistant@YOUR_USER.service`. After text entered, press CTRL-X then press Y to save and exit.
- If you're running Home Assistant in a Python virtual environment or a Docker container, please skip to the appropriate template listed below.
-```
+```text
[Unit]
Description=Home Assistant
After=network-online.target
@@ -37,7 +37,7 @@ WantedBy=multi-user.target
If you've setup Home Assistant in `virtualenv` following our [Python installation guide](/getting-started/installation-virtualenv/) or [manual installation guide for Raspberry Pi](/getting-started/installation-raspberry-pi/), the following template should work for you. If Home Assistant install is not located at `/srv/homeassistant`, please modify the `ExecStart=` line appropriately. `YOUR_USER` should be replaced by the user account that Home Assistant will run as (e.g `homeassistant`).
-```
+```text
[Unit]
Description=Home Assistant
After=network-online.target
@@ -55,7 +55,7 @@ WantedBy=multi-user.target
If you want to use Docker, the following template should work for you.
-```
+```text
[Unit]
Description=Home Assistant
Requires=docker.service
@@ -132,7 +132,7 @@ $ sudo systemctl restart home-assistant@YOUR_USER && sudo journalctl -f -u home-
If you want to restart the Home Assistant service automatically after a crash, add the following lines to the `[Service]` section of your unit file:
-```
+```text
Restart=on-failure
RestartSec=5s
```
diff --git a/source/_docs/ecosystem/caddy.markdown b/source/_docs/ecosystem/caddy.markdown
index dccb012f302..fde6c60b7aa 100644
--- a/source/_docs/ecosystem/caddy.markdown
+++ b/source/_docs/ecosystem/caddy.markdown
@@ -26,7 +26,7 @@ Forward ports 443 and 80 to your server on your router. Do not forward port 8123
Use this as your Caddyfile, change the domain name to match yours.
-```
+```text
example.com {
proxy / localhost:8123 {
websocket
diff --git a/source/_docs/ecosystem/scenegen.markdown b/source/_docs/ecosystem/scenegen.markdown
index 61fc8f0e40d..a3a758b8bc9 100644
--- a/source/_docs/ecosystem/scenegen.markdown
+++ b/source/_docs/ecosystem/scenegen.markdown
@@ -11,14 +11,14 @@ Scenegen is a scene generation tool for [Home Assistant](/) home automation soft
### Clone the Repository
Clone the [**scenegen**](https://github.com/home-assistant/scenegen) repository to the current local directory on your machine.
-``` bash
-$ git clone https://github.com/home-assistant/scenegen.git
+```bash
+git clone https://github.com/home-assistant/scenegen.git
```
Change your working directory to the repository root. Moving forward, we will be working from this directory.
-``` bash
-$ cd scenegen
+```bash
+cd scenegen
```
## Install Prerequisites
@@ -26,14 +26,14 @@ $ cd scenegen
Before running `SceneGen` you will need to add some python prerequisites:
```bash
-$ sudo pip3 install configparser
+sudo pip3 install configparser
```
You should now be ready to run `scenegen`
## Basic Operation
-```
+```text
usage: scenegen [-h] [-k KEY] [-s SCENENAME] [-m MAPFILE] [-f FILTER]
[-c {xy_color,rgb_color,color_temp,color_name}] [-t TYPES]
url
@@ -60,7 +60,7 @@ optional arguments:
For basic operation just supply the url and optionally the api key (using the --key option) on the command line and scenegen will output a list of all lights and switches with their attributes. Optionally use the `--scenename` flag to explicitly set the scenename.
-```
+```bash
$ ./scenegen.py https:// -k
name: My New Scene
entities:
@@ -90,14 +90,14 @@ Note that depending on the type of light there may be a delay in actually settin
For a more advanced way to use the output try the following. In configuration.yaml add the following line:
-```
+```yaml
scene: !include_dir_list scenes
```
This will tell Home Assistant to look in the subdirectory `scenes` for yaml files containing scene information. Each file will be named for the scene it will create and should contain information formatted as above. Then simply run Scenegen and redirect its output to the scenes subdirectory:
-```
-$ ./scenegen.py https:// -k > scenes/my_new_scene.yaml
+```bash
+./scenegen.py https:// -k > scenes/my_new_scene.yaml
```
This will create a new scene called `my_new_scene` which will automatically be picked up by Home Assistant on the next restart.
@@ -110,13 +110,13 @@ Scenegen allows colors to be captured, and in fact Home Assistant light entities
By default, Scenegen will list all lights and switches. To restrict the device type use the `--types` option and supply a comma separated list (no spaces) of types to output. e.g.:
-```
+```bash
./scenegen.py https:// -k --types light,switch
```
or:
-```
+```bash
./scenegen.py https:// -k --types light
```
@@ -126,7 +126,7 @@ This will make more sense as and when more types are added.
Maps allow you to specify and label various subsets of devices that you want to work on together. A mapfile is specified using the `--mapfile` option and is a `.ini` style file consisting of section headers and entries. The section headers specify a region or zone or otherwise organized selection of entities you want to filter on, and it is mandatory to have at least one. If you create a map file like this:
-```
+```text
[entities]
light.living_room:
light.dining_room:
@@ -136,7 +136,7 @@ The trailing colons are necessary to prevent parsing errors for including just k
If you run scenegen with the `--mapfile` argument pointing to that file you will only get output for the listed entities (the name of the section is irrelevant if not using the `--filter` option). A more complex mapfile might look like this:
-```
+```text
[Outside]
light.porch:
switch.path_lights:
@@ -149,7 +149,7 @@ light.bedside:
Again, if you run with that map file it will output all of the entities listed, however you now have the possibility of restricting output devices based on the sections they are in, using the `--filter` option and supplying a comma separated list of sections you want to include, for instance:
-```
+```bash
./scenegen.py https:// -k --mapfile map.cfg --filter "Outside,Living Room"
```
@@ -159,6 +159,6 @@ The intended use of the mapfile and filter is that you create a map of all your
To update SceneGen after a new version is released, just run the following command to update your copy:
```bash
-$ git pull
+git pull
```
diff --git a/source/_docs/ecosystem/synology.markdown b/source/_docs/ecosystem/synology.markdown
index 413cffd4838..bfb3986552f 100644
--- a/source/_docs/ecosystem/synology.markdown
+++ b/source/_docs/ecosystem/synology.markdown
@@ -22,7 +22,7 @@ To allow WebSocket by default for all service exposed by NGINX, you can enable i
Open `/usr/syno/share/nginx/Portal.mustache` and add the followings in the `Location` section:
-```
+```text
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
@@ -43,7 +43,7 @@ You can find more information [here](https://github.com/orobardet/dsm-reverse-pr
- Copy the Home Assistant specific Reverse Proxy settings from the existing `/etc/nginx/app.d/server.ReverseProxy.conf` file to `/usr/local/etc/nginx/conf.d/http.HomeAssistant.conf`.
- Include these lines in the location declaration:
-```
+```text
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
```
From c108658396c5564c3b77617d373b3a221d20c7e6 Mon Sep 17 00:00:00 2001
From: akasma74
Date: Fri, 2 Aug 2019 13:15:27 +0300
Subject: [PATCH 04/24] fixed attributes' description (#10023)
It didn't look right so I made an educated guess.. ;)
---
source/_components/input_datetime.markdown | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/source/_components/input_datetime.markdown b/source/_components/input_datetime.markdown
index e04b2f692f5..4ce98239872 100644
--- a/source/_components/input_datetime.markdown
+++ b/source/_components/input_datetime.markdown
@@ -73,8 +73,8 @@ automations and templates.
| ----- | ----- |
| `has_time` | `true` if this entity has a time.
| `has_date` | `true` if this entity has a date.
-| `year` `month` `day` | The year, month and day of the date. (only available if `has_| `hour` `minute` `second` | The hour, minute and second of the time. (only available if `has_time: true`)
-| `timestamp` | A timestamp representing the time held in the input. If `has_
+| `year` `month` `day` | The year, month and day of the date. (only available if `has_date: true`)
+| `timestamp` | A timestamp representing the time held in the input. (only available if `has_time: true`)
### Restore State
From bbbe5191bea93348b119e2fcbdfb22633a57c675 Mon Sep 17 00:00:00 2001
From: Adam <22942687+SilvrrGIT@users.noreply.github.com>
Date: Fri, 2 Aug 2019 05:33:23 -0500
Subject: [PATCH 05/24] Update developer tools image to match current view
(#10022)
* Remove icon references
The icons are no longer present for users
* Delete developer-tools.png
* Add updated screenshot for developer tools
* Add icon for new developer tool icon
* Update text to match new developer tools image
* Delete developer-tool-icon.png
* Delete developer-tools.png
* Add files via upload
* :pencil2: Tweak
---
source/_components/apple_tv.markdown | 4 ++--
source/_docs/tools/dev-tools.markdown | 14 +++++++-------
source/images/screenshots/developer-tools.png | Bin 1378 -> 7008 bytes
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/source/_components/apple_tv.markdown b/source/_components/apple_tv.markdown
index 52d74a6b3a8..28e83f95567 100644
--- a/source/_components/apple_tv.markdown
+++ b/source/_components/apple_tv.markdown
@@ -81,7 +81,7 @@ In order to connect to the device, you need a *login id*. The easiest way to obt
Make sure Home Sharing is enabled on the Apple TV.
-To scan for devices and determine the `login_id`, press the icon in the upper left corner and select the leftmost icon according to the image:
+To scan for devices and determine the `login_id`, open the developer tools by selecting the hammer icon in the sidebar. Once in the developer tools select **services**.
@@ -111,7 +111,7 @@ If you, when playing media with `play_url`, get the following error message:
*“This AirPlay connection requires iOS 7.1 or later, OS X 10.10 or later, or iTunes 11.2 or later.”*
-then device authentication is required. Press the icon in the upper left corner and select the leftmost icon according to the image below:
+then device authentication is required, open the developer tools by selecting the hammer icon in the sidebar. Once in the developer tools select **services**.
diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown
index 887195c8113..a634e392bab 100644
--- a/source/_docs/tools/dev-tools.markdown
+++ b/source/_docs/tools/dev-tools.markdown
@@ -10,13 +10,13 @@ The frontend contains a section called "Developer Tools".
Screenshot of Home Assistant's Developer Tools.
-| Section | Icon | Description |
-| ------- |------| ----- |
-| Services | | Calls services from integrations |
-| States | | Sets the representation of an entity |
-| Events | | Fires events |
-| Templates | | Renders templates |
-| Info | | Details about Home Assistant |
+| Section |Description |
+| ------- |----- |
+| Services | Calls services from integrations |
+| States | Sets the representation of an entity |
+| Events | Fires events |
+| Templates | Renders templates |
+| Info | Details about Home Assistant |
## What can I do with Developer Tools?
The Developer Tools is meant for **all** (not just for the developers) to quickly try out things - like calling services, update states, raising events, and publish messages in mqtt…etc.). It is also a necessary tool for those who write custom automations and scripts by hand. The following describes each of the section in detail.
diff --git a/source/images/screenshots/developer-tools.png b/source/images/screenshots/developer-tools.png
index 74afe1ea0678234d4044197cfebc6fdb45ec4fb7..1c94816eeeeb61fb9e3d21826f7c590b5ed665ef 100644
GIT binary patch
literal 7008
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
Date: Fri, 2 Aug 2019 05:34:22 -0500
Subject: [PATCH 06/24] Delete ubnt.svg (#10021)
---
source/images/sponsors/ubnt.svg | 177 --------------------------------
1 file changed, 177 deletions(-)
delete mode 100644 source/images/sponsors/ubnt.svg
diff --git a/source/images/sponsors/ubnt.svg b/source/images/sponsors/ubnt.svg
deleted file mode 100644
index cd33f6fe17d..00000000000
--- a/source/images/sponsors/ubnt.svg
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
\ No newline at end of file
From 2f0d03337ce7206df1c4a4f2c2e4c1822e444468 Mon Sep 17 00:00:00 2001
From: David Bonnes
Date: Fri, 2 Aug 2019 11:44:17 +0100
Subject: [PATCH 07/24] Correct evohome typos, add example templates (#10016)
* Initial commit
* small tweak
* some clarifications, tweaks
* some clarifications, tweaks 2
* some clarifications, tweaks 3
* :pencil2: Tweaks
---
source/_components/evohome.markdown | 70 +++++++++++++++++++++--------
1 file changed, 52 insertions(+), 18 deletions(-)
diff --git a/source/_components/evohome.markdown b/source/_components/evohome.markdown
index 37579a80c23..250f0a0b38a 100644
--- a/source/_components/evohome.markdown
+++ b/source/_components/evohome.markdown
@@ -12,26 +12,27 @@ redirect_from:
---
The `evohome` integration links Home Assistant with all _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW systems, such as:
- * the Honeywell evohome CH/DHW system, and
- * the Honeywell Round Thermostat
+
+- The Honeywell evohome CH/DHW system, and
+- The Honeywell Round Thermostat
It does not support the home security functionality of TCC.
It uses v2 of the [evohome-client](https://github.com/watchforstock/evohome-client) client library.
-Honeywell removed support for higher-precision temperatures from the v2 API, so temperatures are reported to the nearest 0.5C.
+Honeywell removed support for higher-precision temperatures from the v2 API, and thus reported temperatures are rounded up to the nearest 0.5C.
### evohome
-evohome is a multi-zone system. Each Zone is represented as a **Climate** device: it will expose the Zone's operating mode, temperature and setpoint.
+evohome is a multi-zone system. Each zone is represented as a **Climate** device: it will expose the zone's operating mode, temperature and setpoint.
-The Controller/Location is also represented as a **Climate** device: it will expose the location's operating mode (see below for details). Note that the Controller's temperatures are calculated as an average of all the Zones.
+The controller/location is also represented as a **Climate** device: it will expose the location's operating mode (see below for details). Note that the controller's current temperature is calculated as an average of all the Zones.
The DHW controller is represented as a **WaterHeater** device: It will report its current temperature (but not target temperature), and it can be turned on or off.
### Round Thermostat
-Round Thermostat is a single zone system. It is currently implemented as two **Climate** devices, as if a single zone evohome system.
+Although Round Thermostat is, strictly speaking, a Controller and a single zone, they are merged into a single **Climate** device.
## Configuration
@@ -67,32 +68,65 @@ scan_interval:
This is an IoT cloud-polling device, and the recommended `scan_interval` is 180 seconds. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell.
-## Operating modes, and Inheritance
+## Operating modes, and inheritance
Zones support only three setpoint modes: **FollowSchedule**, **TemporaryOverride**, and **PermanentOverride**.
-Mostly, the Zone 'inherits' its functional operating mode from the controller (the actual algorithm for this is a little complicated).
+Mostly, the zone 'inherits' its functional operating mode from the controller (the actual algorithm for this is a little complicated).
-The evohome Controller supports seven distinct system modes: **Auto**, **AutoWithEco**, **Away**, **DayOff**, **HeatingOff**, and **Custom**; **AutoWithReset** is a hidden mode that will revert all Zones to **FollowSchedule** mode.
+The evohome controller supports seven distinct system modes: **Auto**, **AutoWithEco**, **Away**, **DayOff**, **HeatingOff**, and **Custom**; **AutoWithReset** is a hidden mode that will revert all zones to **FollowSchedule** mode.
If the zone is in **FollowSchedule** mode, its `temperature` (target temperature) is a function of its scheduled temperature and its functional mode - for example, **AutoWithEco** is scheduled temperature less 3C.
-If the Controller is set to **HeatingOff** (target temperature to minimum) or **Away** (target temperature to 12C), then the Zones will inherit that mode regardless of their own setpoint mode.
+If the controller is set to **HeatingOff** (target temperature to a minimum) or **Away** (target temperature to 12C), then the zones will inherit that mode regardless of their own setpoint mode.
-If the Zone's temperature is changed, then it will be a **TemporaryOverride** that will revert to **FollowSchedule** at the next scheduled setpoint. Once this is done, the ZOne can be switched to **PermanentOverride** mode.
+If the zone's temperature is changed, then it will be a **TemporaryOverride** that will revert to **FollowSchedule** at the next scheduled setpoint. Once this is done, the zone can be switched to **PermanentOverride** mode.
-In Home Assistant, all this is done via `HVAC_MODE` and `PRESET_MODE`. However, the actual operating mode of these devices can be tracked via its state attributes, which includes a JSON data structure for current state called `status`.
+In Home Assistant, all this is done via `HVAC_MODE` and `PRESET_MODE` (but also see `systemModeStatus`, `setpointStatus`, below).
+
+## Useful Jinja Templates
+
+The actual operating mode of evohome entities can be tracked via their state attributes, which includes a JSON data structure for the current state called `status`.
+
+For the Controller, see `systemModeStatus`:
-For the Controller:
{% raw %}
-```
-value_template: "{{ state_attr('climate.main_room', 'status').systemModeStatus.mode }}"
+```text
+{% if state_attr('climate.my_home', 'status').systemModeStatus.mode == "Away" %}
+ The system is in Away mode
+{% else %}
+ The system is not in Away mode
+{% endif %}
```
{% endraw %}
-For the Zones:
+For the Zones, it is `setpointStatus`:
+
{% raw %}
+```text
+{{ state_attr('climate.kitchen', 'status').setpointStatus.setpointMode }}
```
-value_template: "{{ state_attr('climate.my_house', 'status').setpointStatus.setpointMode }}"
+{% endraw %}
+
+The Zones will expose the current/upcoming scheduled `setpoints`:
+
+{% raw %}
+```text
+{{ state_attr('climate.kitchen', 'status').setpoints.next.temperature }}
```
-{% endraw %}
\ No newline at end of file
+{% endraw %}
+
+All evohome entities may have faults, and these can be turned into sensors, or:
+
+{% raw %}
+```text
+{% if state_attr('climate.bedroom', 'status').activeFaults %}
+ {% if state_attr('climate.bedroom', 'status').activeFaults[0].faultType == 'TempZoneActuatorLowBattery' %}
+ There is a low battery
+ {% endif %}
+ There is a Fault!
+{% else %}
+ Yay, everything is OK :)
+{% endif %}
+```
+{% endraw %}
From 3699bae20db9f38124c5eee44caed967aa24a82c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Skytt=C3=A4?=
Date: Fri, 2 Aug 2019 19:20:16 +0300
Subject: [PATCH 08/24] Remove some no longer needed Python 3.5 info (#10039)
---
source/_components/discovery.markdown | 4 ----
source/_components/knx.markdown | 6 +-----
source/_docs/installation/armbian.markdown | 2 --
3 files changed, 1 insertion(+), 11 deletions(-)
diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown
index 006c1e91519..2225b34f30d 100644
--- a/source/_components/discovery.markdown
+++ b/source/_components/discovery.markdown
@@ -118,10 +118,6 @@ If running Home Assistant in a [Docker container](/docs/installation/docker/) us
#### 64-bit Python
There is currently a known issue with running this integration on a 64-bit version of Python and Windows.
-#### Python 3.5
-
-If you are on Windows and you're using Python 3.5, download the [Netifaces](http://www.lfd.uci.edu/~gohlke/pythonlibs/#netifaces) dependency.
-
### could not install dependency netdisco
If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of Home Assistant, the discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.
diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown
index 1414e90544b..0cbabc45cfe 100644
--- a/source/_components/knx.markdown
+++ b/source/_components/knx.markdown
@@ -14,7 +14,7 @@ The integration requires a local KNX/IP interface like the [Weinzierl 730](https
- Please note, the `knx` platform does not support Windows and needs at least python version 3.5.
+ Please note, the `knx` platform does not support Windows.
@@ -162,7 +162,3 @@ address:
description: KNX group address.
type: string
{% endconfiguration %}
-
-### Known issues
-
-Due to lame multicast support the routing abstraction and the gateway scanner only work with Python >=3.5.
diff --git a/source/_docs/installation/armbian.markdown b/source/_docs/installation/armbian.markdown
index 22a0ade9841..29c44e2acd5 100644
--- a/source/_docs/installation/armbian.markdown
+++ b/source/_docs/installation/armbian.markdown
@@ -5,8 +5,6 @@ description: "Instructions to install Home Assistant on an Armbian-powered syste
[armbian](https://www.armbian.com) runs on a wide-variety of [ARM development boards](https://www.armbian.com/download/). Currently there are around 50 boards supported inclusive the OrangePi family, Cubieboard, Pine64, and Odroid.
-Python 3.5.3 or later is required.
-
Setup Python and `pip`:
```bash
From 48f21f07b813093a02046c71937e060c59f6f7ed Mon Sep 17 00:00:00 2001
From: atxbyea <46269073+atxbyea@users.noreply.github.com>
Date: Mon, 5 Aug 2019 16:00:35 +0200
Subject: [PATCH 09/24] Change the word earthquake to Lightning strike (#10048)
Oversight during copy paste ?
---
source/_components/wwlln.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/wwlln.markdown b/source/_components/wwlln.markdown
index 79868f1b854..b82230452c4 100644
--- a/source/_components/wwlln.markdown
+++ b/source/_components/wwlln.markdown
@@ -62,7 +62,7 @@ the standard ones:
| latitude | Latitude of the lightning strike. |
| longitude | Longitude of the lightning strike. |
| source | `wwlln` to be used in conjunction with the `geo_location` automation trigger. |
-| external_id | The external ID used in the feed to identify the earthquake in the feed. |
+| external_id | The external ID used in the feed to identify the lightning strike in the feed. |
| publication_date | Date and time when this event occurred. |
## Full Configuration
From 928219d01487e1333f2b56373f3760cf6860d2e0 Mon Sep 17 00:00:00 2001
From: Dubh Ad
Date: Mon, 5 Aug 2019 15:06:22 +0100
Subject: [PATCH 10/24] Clarification (#10049)
Clarification update on when the Modem Manager applies.
---
source/_docs/z-wave/installation.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown
index 82949532be1..d5148f6ea41 100644
--- a/source/_docs/z-wave/installation.markdown
+++ b/source/_docs/z-wave/installation.markdown
@@ -122,7 +122,7 @@ You can also check what hardware has been found using the [hassio command](/hass
$ hassio hardware info
```
-The `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled. Failure to do so will result in random failures of those components. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`
+If you did an alternative install on Linux then the `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled. Failure to do so will result in random failures of those components. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`.
### Docker
From ef9e56879be254f8e5260d6bdedb282ff8a6a1d9 Mon Sep 17 00:00:00 2001
From: atxbyea <46269073+atxbyea@users.noreply.github.com>
Date: Mon, 5 Aug 2019 16:12:34 +0200
Subject: [PATCH 11/24] Indentation of "Full Configuration" was off (#10047)
---
source/_components/wwlln.markdown | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/source/_components/wwlln.markdown b/source/_components/wwlln.markdown
index b82230452c4..6b1c2a98940 100644
--- a/source/_components/wwlln.markdown
+++ b/source/_components/wwlln.markdown
@@ -70,7 +70,7 @@ the standard ones:
```yaml
# Example configuration.yaml entry
wwlln:
- radius: 100
- latitude: 37.39
- longitude: -5.99
+ radius: 100
+ latitude: 37.39
+ longitude: -5.99
```
From bd6fb9f1a23c3b573baaccead9c4886aed638fb0 Mon Sep 17 00:00:00 2001
From: Bob Igo
Date: Mon, 5 Aug 2019 10:28:31 -0400
Subject: [PATCH 12/24] fix for using custom keys (#10045)
Custom keys must be quoted, or else the parser will try to interpret them as numbers.
---
source/_components/sma.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/sma.markdown b/source/_components/sma.markdown
index 8adc638dc77..4b440b9f8f4 100644
--- a/source/_components/sma.markdown
+++ b/source/_components/sma.markdown
@@ -133,7 +133,7 @@ Example:
```yaml
custom:
yesterday_consumption:
- key: 6400_00543A01
+ key: '6400_00543A01'
unit: kWh
factor: 1000
```
From 1eeb9188b3f9bb6ee2c7a06102e8fa14a695f763 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Mon, 5 Aug 2019 10:22:36 -0700
Subject: [PATCH 13/24] Add blog post
---
.../2019-08-05-home-assistant-cast.markdown | 59 ++++++++++++++++++
.../blog/2019-08-home-assistant-cast/hero.png | Bin 0 -> 150294 bytes
.../2019-08-home-assistant-cast/social.png | Bin 0 -> 190855 bytes
3 files changed, 59 insertions(+)
create mode 100644 source/_posts/2019-08-05-home-assistant-cast.markdown
create mode 100644 source/images/blog/2019-08-home-assistant-cast/hero.png
create mode 100644 source/images/blog/2019-08-home-assistant-cast/social.png
diff --git a/source/_posts/2019-08-05-home-assistant-cast.markdown b/source/_posts/2019-08-05-home-assistant-cast.markdown
new file mode 100644
index 00000000000..04569df0075
--- /dev/null
+++ b/source/_posts/2019-08-05-home-assistant-cast.markdown
@@ -0,0 +1,59 @@
+---
+title: "Home Assistant Cast"
+description: "Show Home Assistant on a Chromecast or Google Assistant device with screen."
+date: 2019-08-05 01:11:03
+date_formatted: "August 5, 2019"
+author: Paulus Schoutsen
+author_twitter: balloob
+categories: Announcements
+og_image: /images/blog/2019-08-home-assistant-cast/social.png
+---
+
+