From d65f547d3585eda3abac7f781eb6ce6fca120076 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 9 Mar 2018 10:57:18 -0800 Subject: [PATCH 01/17] Add component pic to 0.65 --- source/images/blog/2018-03-0.65/components.png | Bin 0 -> 61389 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/blog/2018-03-0.65/components.png diff --git a/source/images/blog/2018-03-0.65/components.png b/source/images/blog/2018-03-0.65/components.png new file mode 100644 index 0000000000000000000000000000000000000000..74ef70193302928fb975ad3420c239fdebeb9a8a GIT binary patch literal 61389 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

5Ynq(6AUPq0Oma6; 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 UZ*U(VH!-3p%WKHh$XJB^AK^!-PXGV_ literal 0 HcmV?d00001 From c94c226ec1d9e9f0a629a3da878b594667ce6142 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 9 Mar 2018 12:19:02 -0800 Subject: [PATCH 02/17] Remove type from google assistant --- source/_components/google_assistant.markdown | 27 ++++++++------------ 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index afd653b7dc2..70b3937a329 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -41,7 +41,6 @@ google_assistant: aliases: - bright lights - entry lights - type: light light.living_room: expose: false room: living room @@ -102,10 +101,6 @@ entity_config: description: Aliases that can also be used to refer to this entity required: false type: list - type: - description: Override how Google Assistant interprets the domain of the entity. For example, set to `light` for a switch entity to have it be handled as a light. - required: false - type: string room: description: Allows for associating this device to a Room in Google Assistant. This is currently non-functional, but will be enabled in the near future. required: false @@ -115,15 +110,15 @@ entity_config: ### {% linkable_title Available domains %} Currently, the following domains are available to be used with Google Assistant, listed with their default types: -- group = switch (on/off) -- scene = scene (on) -- script = scene (on) -- switch = switch (on/off) -- fan = switch (on/off) -- light = light (on/off/brightness/rgb color/color temp) -- cover = switch (on/off/set position (brightness) ) -- media_player = switch (on/off/set volume (brightness) ) -- climate = thermostat (temperature setting) +- group (on/off) +- scene (on) +- script (on) +- switch (on/off) +- fan (on/off) +- light (on/off/brightness/rgb color/color temp) +- cover (on/off/set position (via set brightness)) +- media_player (on/off/set volume (via set brightness)) +- climate (temperature setting) It's very important that you use very long strings for `client_id` and `access_token`. Those are essentially the credentials to your Home Assistant instance. You can generate them with the following command: @@ -162,8 +157,8 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow 3. Create a new project in the [developer console](https://console.actions.google.com/). a. Add/Import project b. Go to Build under the Actions SDK box - c. Copy the command that looks like: - + c. Copy the command that looks like: + `gactions update --action_package PACKAGE_NAME --project doctest-2d0b8` 4. Replace `PACKAGE_NAME` with `project.json` and run that command in a console from the same directory you saved `project.json` in (you'll need to put `./` before `gactions` so that it reads `./gactions` if you're running it on Linux or Windows). It should output a URL like `https://console.actions.google.com/project/doctest-2d0b8/overview` - go there. 5. You'll need to fill out most of the information on that page, but none of it really matters since you won't be addressing the App directly, only through the Smart Home functionality built into Google Assistant. From 7b50670f2399caa02df7d777dea9803d8d403337 Mon Sep 17 00:00:00 2001 From: Jonathan Weinberg Date: Fri, 9 Mar 2018 15:39:40 -0500 Subject: [PATCH 03/17] Case Change (#4870) "Home" in "Home Assistant" should be capitalized. --- source/_components/panel_iframe.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/panel_iframe.markdown b/source/_components/panel_iframe.markdown index e80d6617072..71ba4b2aec1 100644 --- a/source/_components/panel_iframe.markdown +++ b/source/_components/panel_iframe.markdown @@ -15,7 +15,7 @@ ha_release: 0.25 The `panel_iframe` support allows you to add additional panels to your Home Assistant frontend. The panels are listed in the sidebar and can contain external resources like the web frontend of your router, your monitoring system, or your media server. -

If you are accessing home Assistant over HTTPS using SSL, you cannot access HTTP sites through an iframe panel.

+

If you are accessing Home Assistant over HTTPS using SSL, you cannot access HTTP sites through an iframe panel.

To enable Panel iFrames in your installation, add the following to your `configuration.yaml` file: From cbf2d2e412b6a8d3858193593af21182fb208605 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 9 Mar 2018 19:45:37 -0800 Subject: [PATCH 04/17] Release 0.65.1 --- _config.yml | 6 +++--- source/_posts/2018-03-09-release-65.markdown | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index f63b8b9cebf..b12b8d00c19 100644 --- a/_config.yml +++ b/_config.yml @@ -140,13 +140,13 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 65 -current_patch_version: 0 -date_released: 2018-03-09 +current_patch_version: 1 +date_released: 2018-03-10 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#" +patch_version_notes: "#release-0651---march-10" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_posts/2018-03-09-release-65.markdown b/source/_posts/2018-03-09-release-65.markdown index 39aec0f3017..ab0851e79ca 100644 --- a/source/_posts/2018-03-09-release-65.markdown +++ b/source/_posts/2018-03-09-release-65.markdown @@ -114,6 +114,14 @@ intent_script: - Add support for alarm system, switch and thermostat to homekit ([@maxclaey] - [#12819]) ([homekit docs]) (new-platform) - Add camera proxy ([@PhracturedBlue] - [#12006]) ([camera.proxy docs]) (new-platform) +## {% linkable_title Release 0.65.1 - March 10 %} + +- allow ios device tracker see calls to go through ([@balloob] - [#13020]) ([device_tracker docs]) +- Fix config component loading YAML ([@kellerza] - [#13024]) +- Make Throttle async aware ([@balloob] - [#13027]) +- Add support for input boolean to Google Assistant ([@balloob] - [#13030]) ([google_assistant docs]) +- HomeKit Bugfix: names ([@cdce8p] - [#13031]) ([homekit docs]) + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. @@ -602,3 +610,14 @@ Experiencing issues introduced by this release? Please report them in our [issue [zabbix docs]: https://home-assistant.io/components/zabbix/ [zha docs]: https://home-assistant.io/components/zha/ [zwave docs]: https://home-assistant.io/components/zwave/ +[#13020]: https://github.com/home-assistant/home-assistant/pull/13020 +[#13024]: https://github.com/home-assistant/home-assistant/pull/13024 +[#13027]: https://github.com/home-assistant/home-assistant/pull/13027 +[#13030]: https://github.com/home-assistant/home-assistant/pull/13030 +[#13031]: https://github.com/home-assistant/home-assistant/pull/13031 +[@balloob]: https://github.com/balloob +[@cdce8p]: https://github.com/cdce8p +[@kellerza]: https://github.com/kellerza +[device_tracker docs]: https://home-assistant.io/components/device_tracker/ +[google_assistant docs]: https://home-assistant.io/components/google_assistant/ +[homekit docs]: https://home-assistant.io/components/homekit/ From f0d0848baa57dfbc10b371a94809be3b4acff712 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 9 Mar 2018 19:54:03 -0800 Subject: [PATCH 05/17] Add input boolean to available domains --- source/_components/google_assistant.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 70b3937a329..2430428efe9 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -111,6 +111,7 @@ entity_config: Currently, the following domains are available to be used with Google Assistant, listed with their default types: - group (on/off) +- input boolean (on/off) - scene (on) - script (on) - switch (on/off) From 34a77610e03c74241e049a2f48cc490d67218d60 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 9 Mar 2018 23:57:50 -0800 Subject: [PATCH 06/17] Update docker.markdown --- source/_docs/installation/docker.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index bc7b0998cb4..ba89ccbf46a 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -20,7 +20,7 @@ $ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/ ### {% linkable_title macOS %} -When using `docker-ce` (or `boot2docker`) on macOS, you are unable to map the local timezone to your Docker container (see Docker issue https://github.com/docker/for-mac/issues/44). Instead of `-v /etc/localtime:/etc/localtime:ro`, just pass in the timezone environment variable when you launch the container, ex: `-e "TZ=America/Los_Angeles"`. Replace "America/Los_Angeles" with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). +When using `docker-ce` (or `boot2docker`) on macOS, you are unable to map the local timezone to your Docker container ([Docker issue](https://github.com/docker/for-mac/issues/44)). Instead of `-v /etc/localtime:/etc/localtime:ro`, just pass in the timezone environment variable when you launch the container, ex: `-e "TZ=America/Los_Angeles"`. Replace "America/Los_Angeles" with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If you wish to browse directly to `http://localhost:8123` from your macOS host, meaning forward ports directly to the container, replace the `--net=host` switch with `-p 8123:8123`. More detail can be found in [the docker forums](https://forums.docker.com/t/should-docker-run-net-host-work/14215/10). From 12c19480ecdd675c48d5c4c6f11a465723c490c3 Mon Sep 17 00:00:00 2001 From: lizaoreo Date: Sat, 10 Mar 2018 12:13:34 -0500 Subject: [PATCH 07/17] Added icon property to one of the examples (#4861) --- source/_components/weblink.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/weblink.markdown b/source/_components/weblink.markdown index b19f3219558..a816180fd12 100644 --- a/source/_components/weblink.markdown +++ b/source/_components/weblink.markdown @@ -22,6 +22,7 @@ weblink: entities: - name: Router url: http://192.168.1.1/ + icon: mdi:router-wireless - name: Home Assistant url: https://home-assistant.io - name: Grafana From dc8c5ee19d508c285d32b0b358ff31bfcf053235 Mon Sep 17 00:00:00 2001 From: cdce8p <30130371+cdce8p@users.noreply.github.com> Date: Sat, 10 Mar 2018 18:14:23 +0100 Subject: [PATCH 08/17] Updated git diff statement (#4877) --- source/developers/development_testing.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/development_testing.markdown b/source/developers/development_testing.markdown index 9884120e0ba..14dcf03c577 100644 --- a/source/developers/development_testing.markdown +++ b/source/developers/development_testing.markdown @@ -54,7 +54,7 @@ $ pydocstyle homeassistant/core.py $ py.test tests/test_core.py ``` -You can also run linting tests against all changed files, as reported by `git diff upstream/dev... --name-only`, using the `lint` script: +You can also run linting tests against all changed files, as reported by `git diff upstream/dev... --diff-filter=d --name-only`, using the `lint` script: ```bash $ script/lint From 071af99b2bd27fb74b7a470b5b0794e098a0d376 Mon Sep 17 00:00:00 2001 From: Marc Forth Date: Sat, 10 Mar 2018 17:15:21 +0000 Subject: [PATCH 09/17] Update persistent_notification.markdown (#4875) Removed the note as it is inaccurate. --- source/_components/persistent_notification.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_components/persistent_notification.markdown b/source/_components/persistent_notification.markdown index 2f96756ea92..fbf07e6debe 100644 --- a/source/_components/persistent_notification.markdown +++ b/source/_components/persistent_notification.markdown @@ -67,5 +67,3 @@ Choose serv
 }
 ```
 This will create the notification entry shown above.
-
-NOTE: if you have defined a ```default_view:``` in your ```Groups:``` configuration you will need to include ```persistent_notification.<notification_id>``` e.g. ```persistent_notification.1234``` as per the example above, to your Groups configuration, in order to see the notification after creating it. 

From 91128098c548c6e78d5ee7295daae6d7a5145d10 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen <paulus@paulusschoutsen.nl>
Date: Sat, 10 Mar 2018 11:05:09 -0800
Subject: [PATCH 10/17] Release 0.65.2

---
 _config.yml                                  |  6 ++--
 source/_posts/2018-03-09-release-65.markdown | 35 ++++++++++++++++++++
 2 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/_config.yml b/_config.yml
index b12b8d00c19..eba059a977a 100644
--- a/_config.yml
+++ b/_config.yml
@@ -140,13 +140,13 @@ social:
 # Home Assistant release details
 current_major_version: 0
 current_minor_version: 65
-current_patch_version: 1
-date_released: 2018-03-10
+current_patch_version: 2
+date_released: 2018-03-11
 
 # Either # or the anchor link to latest release notes in the blog post.
 # Must be prefixed with a # and have double quotes around it.
 # Major release:
-patch_version_notes: "#release-0651---march-10"
+patch_version_notes: "#release-0652---march-11"
 # Minor release (Example #release-0431---april-25):
 
 # Date we moved to Discourse for comments
diff --git a/source/_posts/2018-03-09-release-65.markdown b/source/_posts/2018-03-09-release-65.markdown
index ab0851e79ca..a5da8e3b6d1 100644
--- a/source/_posts/2018-03-09-release-65.markdown
+++ b/source/_posts/2018-03-09-release-65.markdown
@@ -122,6 +122,18 @@ intent_script:
 - Add support for input boolean to Google Assistant ([@balloob] - [#13030]) ([google_assistant docs])
 - HomeKit Bugfix: names ([@cdce8p] - [#13031]) ([homekit docs])
 
+## {% linkable_title Release 0.65.2 - March 11 %}
+
+- Fix translations sometimes not loading in the frontend ([@armills])
+- Fix sensibo Date: Sun, 11 Mar 2018 06:43:29 +0000 Subject: [PATCH 11/17] Correct linked page on wildcards --- source/_components/sensor.folder.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.folder.markdown b/source/_components/sensor.folder.markdown index c2b7ae330f0..dc6951c531e 100644 --- a/source/_components/sensor.folder.markdown +++ b/source/_components/sensor.folder.markdown @@ -13,7 +13,7 @@ ha_iot_class: "Local Polling" ha_release: 0.64 --- -Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/). Optionally a [wildcard filter]((http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm)) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes. +Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/). Optionally a [wildcard filter]((https://docs.python.org/3.6/library/fnmatch.html)) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes. To enable the `folder` sensor in your installation, add the following to your `configuration.yaml` file: From 88a83d782323531aea2fc35325e4f2ca12abaf4d Mon Sep 17 00:00:00 2001 From: Robin Date: Sun, 11 Mar 2018 13:46:12 +0000 Subject: [PATCH 12/17] Fix typo The extra () resulted in a 404 error --- source/_components/sensor.folder.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.folder.markdown b/source/_components/sensor.folder.markdown index dc6951c531e..2555b7a0ad4 100644 --- a/source/_components/sensor.folder.markdown +++ b/source/_components/sensor.folder.markdown @@ -13,7 +13,7 @@ ha_iot_class: "Local Polling" ha_release: 0.64 --- -Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/). Optionally a [wildcard filter]((https://docs.python.org/3.6/library/fnmatch.html)) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes. +Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes. To enable the `folder` sensor in your installation, add the following to your `configuration.yaml` file: From ca952b41cc2f68fb64fd9f6eb18bd90b69a2bf5d Mon Sep 17 00:00:00 2001 From: IainPHay Date: Sun, 11 Mar 2018 18:08:05 +0000 Subject: [PATCH 13/17] Change upgrade homeassistant to upgrade home-assistant Line 40 Change: You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade homeassistant` to You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade home-assistant` as this was incorrect --- source/_docs/installation/hassbian/common-tasks.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation/hassbian/common-tasks.markdown b/source/_docs/installation/hassbian/common-tasks.markdown index 73e96a07876..6fddcd360b6 100644 --- a/source/_docs/installation/hassbian/common-tasks.markdown +++ b/source/_docs/installation/hassbian/common-tasks.markdown @@ -37,7 +37,7 @@ To get the current state of the `homeassistant.service` replace `stop` with `sta ### {% linkable_title Update Home Assistant %}

-You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade homeassistant` +You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade home-assistant`

Log in as the `pi` account and execute the following commands: From 90cf4205cc0b7420fc9a3d957604a1b5e7e542fe Mon Sep 17 00:00:00 2001 From: Max Laverse Date: Sun, 11 Mar 2018 20:06:26 +0100 Subject: [PATCH 14/17] Improve caldav documentation --- source/_components/calendar.caldav.markdown | 46 ++++++++++++++------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/source/_components/calendar.caldav.markdown b/source/_components/calendar.caldav.markdown index 6ae9f8c36a4..ca93537fec0 100644 --- a/source/_components/calendar.caldav.markdown +++ b/source/_components/calendar.caldav.markdown @@ -33,9 +33,38 @@ To integrate a WebDav calendar in Home Assistant, add the following section to y # Example configuration.yaml entry calendar: - platform: caldav + username: john.doe@test.com + password: !secret caldav url: https://baikal.my-server.net/cal.php/calendars/john.doe@test.com/default ``` +This example will generate default binary sensors for each calendar you have in your account. Those calendars will be `on` when there is an ongoing event and `off` if not. Events that last a whole day are ignored in those calendars. You have to setup custom calendars in order to take them into account or for advanced event filtering. + + +### {% linkable_title Custom calendars %} + +You have the possibility to create multiple binary sensors for events that match certain conditions. + +```yaml +# Example configuration.yaml entry +calendar: + - platform: caldav + username: john.doe@test.com + password: !secret caldav + url: https://baikal.my-server.net/cal.php/calendars/john.doe@test.com/default + custom_calendars: + - name: 'HomeOffice' + calendar: 'Agenda' + search: 'HomeOffice' + - name: 'WarmupFlat' + calendar: 'Agenda' + search: 'Warmup' +``` + +This will create two binary sensors for the calendar name Agenda: "HomeOffice" and "WarmupFlat". Those sensors will be `on` if there is an ongoing event matching the regular expression specified in `search`. In custom calendars, events that last a whole day are taken into account. + +Please note that when you configure custom calendars, the default ones are not created anymore. + {% configuration %} url: required: true @@ -68,7 +97,7 @@ custom_calendars: type: string search: required: true - pending_charges: Regular expression for filtering the events + pending_charges: Regular expression for filtering the events based on the content of their summary, description or location. type: string {% endconfiguration %} @@ -82,18 +111,3 @@ custom_calendars: - **location**: The event Location. - **start_time**: Start time of event. - **end_time**: End time of event. - -### {% linkable_title Sensor attributes %} - -```yaml -# Example configuration.yaml entry -calendar: - - platform: caldav - url: https://baikal.my-server.net/cal.php/calendars/john.doe@test.com/default - username: john.doe@test.com - password: !secret caldav - custom_calendars: - - name: 'HomeOffice' - calendar: 'Agenda' - search: 'HomeOffice' -``` From 2111cf50f51083c7848abb15dc183d7eeece8f12 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 11 Mar 2018 13:06:14 -0700 Subject: [PATCH 15/17] Update virtualenv.markdown --- source/_docs/installation/virtualenv.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown index 54af7e09d85..386adbc7bf4 100644 --- a/source/_docs/installation/virtualenv.markdown +++ b/source/_docs/installation/virtualenv.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/installation-virtualenv/ --- -If you already have Python 3.5 or later installed, you can easily give Home Assistant a spin. +If you already have Python 3.5.3 or later installed, you can easily give Home Assistant a spin. It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.5/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most unix like systems. From 4887c9c993adbb4fcc641f507599c14b394cadf1 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 11 Mar 2018 13:14:28 -0700 Subject: [PATCH 16/17] release 0.65.3 --- _config.yml | 2 +- source/_posts/2018-03-09-release-65.markdown | 40 +++++++++++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index eba059a977a..40a6c96ad29 100644 --- a/_config.yml +++ b/_config.yml @@ -140,7 +140,7 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 65 -current_patch_version: 2 +current_patch_version: 3 date_released: 2018-03-11 # Either # or the anchor link to latest release notes in the blog post. diff --git a/source/_posts/2018-03-09-release-65.markdown b/source/_posts/2018-03-09-release-65.markdown index a5da8e3b6d1..09d94335436 100644 --- a/source/_posts/2018-03-09-release-65.markdown +++ b/source/_posts/2018-03-09-release-65.markdown @@ -122,7 +122,7 @@ intent_script: - Add support for input boolean to Google Assistant ([@balloob] - [#13030]) ([google_assistant docs]) - HomeKit Bugfix: names ([@cdce8p] - [#13031]) ([homekit docs]) -## {% linkable_title Release 0.65.2 - March 11 %} +## {% linkable_title Release 0.65.2 - March 10 %} - Fix translations sometimes not loading in the frontend ([@armills]) - Fix sensibo's min/max_temp properties ([@jra3] - [#12996]) ([climate.sensibo docs]) @@ -134,6 +134,18 @@ intent_script: - Don't call async from sync ([@balloob] - [#13057]) ([xiaomi_aqara docs]) - Convert decimals from SQL results ([@balloob] - [#13059]) ([sensor.sql docs]) +## {% linkable_title Release 0.65.3 - March 11 %} + +- Implement Hue available property ([@balloob] - [#12939]) ([light.hue docs]) +- Catch async from sync context by running asyncio event loop in debug mode during tests ([@balloob] - [#13058]) ([camera.arlo docs]) ([climate.generic_thermostat docs]) +- Fixes KNX fire event problem, issue https://github.com/home-assistant/home-assistant/issues/13049 ([@Julius2342] - [#13062]) ([knx docs]) +- Bump iGlo Version ([@jesserockz] - [#13063]) ([light.iglo docs]) +- Fix Tado doing async wrong ([@balloob] - [#13078]) ([device_tracker.tado docs]) +- Synology Camera: auto-renew session when it's expired ([@snjoetw] - [#13079]) ([camera.synology docs]) +- Revert "Cast automatically drop connection (#12635)" ([@OttoWinter] - [#13094]) ([media_player.cast docs]) +- Bump pyvera to 0.2.42. Improve event loop robustness. ([@pavoni] - [#13095]) ([vera docs]) +- Fix Kodi by updateding jsonrpc-websocket to 0.6 ([@Tadly] - [#13096]) ([media_player.kodi docs]) + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. @@ -656,3 +668,29 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.sql docs]: https://home-assistant.io/components/sensor.sql/ [wink docs]: https://home-assistant.io/components/wink/ [xiaomi_aqara docs]: https://home-assistant.io/components/xiaomi_aqara/ +[#12939]: https://github.com/home-assistant/home-assistant/pull/12939 +[#13058]: https://github.com/home-assistant/home-assistant/pull/13058 +[#13062]: https://github.com/home-assistant/home-assistant/pull/13062 +[#13063]: https://github.com/home-assistant/home-assistant/pull/13063 +[#13078]: https://github.com/home-assistant/home-assistant/pull/13078 +[#13079]: https://github.com/home-assistant/home-assistant/pull/13079 +[#13094]: https://github.com/home-assistant/home-assistant/pull/13094 +[#13095]: https://github.com/home-assistant/home-assistant/pull/13095 +[#13096]: https://github.com/home-assistant/home-assistant/pull/13096 +[@Julius2342]: https://github.com/Julius2342 +[@OttoWinter]: https://github.com/OttoWinter +[@Tadly]: https://github.com/Tadly +[@balloob]: https://github.com/balloob +[@jesserockz]: https://github.com/jesserockz +[@pavoni]: https://github.com/pavoni +[@snjoetw]: https://github.com/snjoetw +[camera.arlo docs]: https://home-assistant.io/components/camera.arlo/ +[camera.synology docs]: https://home-assistant.io/components/camera.synology/ +[climate.generic_thermostat docs]: https://home-assistant.io/components/climate.generic_thermostat/ +[device_tracker.tado docs]: https://home-assistant.io/components/device_tracker.tado/ +[knx docs]: https://home-assistant.io/components/knx/ +[light.hue docs]: https://home-assistant.io/components/light.hue/ +[light.iglo docs]: https://home-assistant.io/components/light.iglo/ +[media_player.cast docs]: https://home-assistant.io/components/media_player.cast/ +[media_player.kodi docs]: https://home-assistant.io/components/media_player.kodi/ +[vera docs]: https://home-assistant.io/components/vera/ From 13464e509e0cff7891c8deb71bf56a72fafcaf55 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 11 Mar 2018 15:04:50 -0700 Subject: [PATCH 17/17] Remove broken redirect from (#4901) --- source/_docs/configuration/remote.markdown | 1 - source/_docs/mqtt/broker.markdown | 1 - source/_docs/mqtt/discovery.markdown | 1 - source/_docs/mqtt/logging.markdown | 1 - source/_docs/mqtt/processing_json.markdown | 1 - source/_docs/mqtt/service.markdown | 1 - source/_docs/mqtt/testing.markdown | 1 - source/_docs/tools/benchmark.markdown | 1 - source/_docs/tools/check_config.markdown | 1 - source/_docs/tools/credstash.markdown | 1 - source/_docs/tools/db_migrator.markdown | 1 - source/_docs/tools/ensure_config.markdown | 1 - source/_docs/tools/influxdb_import.markdown | 1 - source/_docs/tools/keyring.markdown | 1 - 14 files changed, 14 deletions(-) diff --git a/source/_docs/configuration/remote.markdown b/source/_docs/configuration/remote.markdown index bd0d0ba60b5..77bacfd35fd 100644 --- a/source/_docs/configuration/remote.markdown +++ b/source/_docs/configuration/remote.markdown @@ -7,7 +7,6 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /getting-started/basic/#remote-access --- If you're interested in logging in to Home Assistant while away, you'll have to make your instance remotely accessible. Remember to follow the [securing checklist](/docs/configuration/securing/) before doing this. diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index 4421d209be5..47ea1bb73e6 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -8,7 +8,6 @@ comments: false sharing: true footer: true logo: mqtt.png -redirect_from: /components/mqtt/#picking-a-broker --- The MQTT component needs you to run an MQTT broker for Home Assistant to connect to. There are four options, each with various degrees of ease of setup and privacy. diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index 51eae400c43..3242a5f86d2 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -8,7 +8,6 @@ comments: false sharing: true footer: true logo: mqtt.png -redirect_from: /components/mqtt/#discovery --- The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/components/binary_sensor.http/) and the [HTTP sensor](/components/sensor.http/). The basic idea is that the device itself adds its configuration into your `configuration.yaml` automatically. To prevent multiple identical entries if a device reconnects a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier and the remaining device configuration without the device type. diff --git a/source/_docs/mqtt/logging.markdown b/source/_docs/mqtt/logging.markdown index 08b84f52777..999e24988f0 100644 --- a/source/_docs/mqtt/logging.markdown +++ b/source/_docs/mqtt/logging.markdown @@ -8,7 +8,6 @@ comments: false sharing: true footer: true logo: mqtt.png -redirect_from: /components/mqtt/#logging --- The [logger](/components/logger/) component allow the logging of received MQTT messages. diff --git a/source/_docs/mqtt/processing_json.markdown b/source/_docs/mqtt/processing_json.markdown index b10558655cb..552dd081676 100644 --- a/source/_docs/mqtt/processing_json.markdown +++ b/source/_docs/mqtt/processing_json.markdown @@ -8,7 +8,6 @@ comments: false sharing: true footer: true logo: mqtt.png -redirect_from: /components/mqtt/#processing-json --- The MQTT [switch](/components/switch.mqtt/) and [sensor](/components/sensor.mqtt/) platforms support processing JSON over MQTT messages and parsing them using JSONPath. JSONPath allows you to specify where in the JSON the value resides that you want to use. The following examples will always return the value `100`. diff --git a/source/_docs/mqtt/service.markdown b/source/_docs/mqtt/service.markdown index 0b3e778fdf2..d751856fe4c 100644 --- a/source/_docs/mqtt/service.markdown +++ b/source/_docs/mqtt/service.markdown @@ -8,7 +8,6 @@ comments: false sharing: true footer: true logo: mqtt.png -redirect_from: /components/mqtt/#publish-service --- The MQTT component will register the service `publish` which allows publishing messages to MQTT topics. There are two ways of specifying your payload. You can either use `payload` to hard-code a payload or use `payload_template` to specify a [template](/topics/templating/) that will be rendered to generate the payload. diff --git a/source/_docs/mqtt/testing.markdown b/source/_docs/mqtt/testing.markdown index 3cc565d0511..f71ac52e2f1 100644 --- a/source/_docs/mqtt/testing.markdown +++ b/source/_docs/mqtt/testing.markdown @@ -8,7 +8,6 @@ comments: false sharing: true footer: true logo: mqtt.png -redirect_from: /components/mqtt/#testing-your-setup --- The `mosquitto` broker package ships commandline tools (often as `*-clients` package) to send and receive MQTT messages. As an alternative have a look at [hbmqtt_pub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_pub.html) and [hbmqtt_sub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_sub.html) which are provided by HBMQTT. For sending test messages to a broker running on localhost check the example below: diff --git a/source/_docs/tools/benchmark.markdown b/source/_docs/tools/benchmark.markdown index c95894489e3..04ac884068c 100644 --- a/source/_docs/tools/benchmark.markdown +++ b/source/_docs/tools/benchmark.markdown @@ -7,7 +7,6 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /docs/tools/scripts/#benchmark --- For testing the performance of Home Assistant the Benchmark script runs until you exit using Control+C. diff --git a/source/_docs/tools/check_config.markdown b/source/_docs/tools/check_config.markdown index f3a926783e2..f9a31e0374d 100644 --- a/source/_docs/tools/check_config.markdown +++ b/source/_docs/tools/check_config.markdown @@ -7,7 +7,6 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /docs/tools/scripts/#configuration-check --- Test any changes to your `configuration.yaml` file before launching Home Assistant. This script allows you to test changes without the need to restart Home Assistant. diff --git a/source/_docs/tools/credstash.markdown b/source/_docs/tools/credstash.markdown index 0d419a104f4..023ee239988 100644 --- a/source/_docs/tools/credstash.markdown +++ b/source/_docs/tools/credstash.markdown @@ -7,7 +7,6 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /docs/configuration/secrets/#storing-passwords-securely-in-aws --- Using [Credstash](https://github.com/fugue/credstash) is an alternative way to `secrets.yaml`. They can be managed from the command line via the credstash script. diff --git a/source/_docs/tools/db_migrator.markdown b/source/_docs/tools/db_migrator.markdown index bdce8d1ab04..68127935ae3 100644 --- a/source/_docs/tools/db_migrator.markdown +++ b/source/_docs/tools/db_migrator.markdown @@ -7,7 +7,6 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /components/influxdb/#data-migration ---

diff --git a/source/_docs/tools/ensure_config.markdown b/source/_docs/tools/ensure_config.markdown index c9539398567..596c44d5717 100644 --- a/source/_docs/tools/ensure_config.markdown +++ b/source/_docs/tools/ensure_config.markdown @@ -7,7 +7,6 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /docs/tools/scripts/#existence-of-configuration --- This script checks if the `configuration.yaml` file exists. If the file is not available, one is created. diff --git a/source/_docs/tools/influxdb_import.markdown b/source/_docs/tools/influxdb_import.markdown index b8bea1046cc..8ff3d85e7b8 100644 --- a/source/_docs/tools/influxdb_import.markdown +++ b/source/_docs/tools/influxdb_import.markdown @@ -7,7 +7,6 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /components/influxdb/#data-import-script --- If you want to import all the recorded data from your recorder database you can use the data import script. It will read all your state_change events from the database and add them as data-points to the InfluxDB. You can specify the source database either by pointing the `--config` option to the config directory which includes the default SQLite database or by giving a sqlalchemy connection URI with `--uri`. diff --git a/source/_docs/tools/keyring.markdown b/source/_docs/tools/keyring.markdown index 6434337b39f..be4f2634a0d 100644 --- a/source/_docs/tools/keyring.markdown +++ b/source/_docs/tools/keyring.markdown @@ -7,7 +7,6 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /docs/configuration/secrets/#storing-passwords-in-a-keyring-managed-by-your-os --- Using [Keyring](https://github.com/jaraco/keyring) is an alternative way to `secrets.yaml`. The secrets can be managed from the command line via the `keyring` script.