From 9863a765678fec62b22f3e90f4d88bbd64624bc2 Mon Sep 17 00:00:00 2001
From: bottomquark
Date: Sun, 11 Mar 2018 14:29:44 +0100
Subject: [PATCH 01/35] add more examples and clarify calendar.caldav
---
source/_components/calendar.caldav.markdown | 69 ++++++++++++++++++---
1 file changed, 62 insertions(+), 7 deletions(-)
diff --git a/source/_components/calendar.caldav.markdown b/source/_components/calendar.caldav.markdown
index 6ae9f8c36a4..205e9933f85 100644
--- a/source/_components/calendar.caldav.markdown
+++ b/source/_components/calendar.caldav.markdown
@@ -13,11 +13,11 @@ ha_release: "0.60"
---
-The `caldav` platform allows you to connect to your WebDav calendar and generate binary sensors. A different sensor will be created for each individual calendar, or you can specify custom calendars which match a criteria you define (more on that below). These sensors will be `on` if you have an on going event in that calendar or `off` if the event is later in time, or if there is no event at all. The WebDav calendar get updated roughly every 10 minutes.
+The `caldav` platform allows you to connect to your WebDav calendar and generate binary sensors. A different sensor will be created for each individual calendar, or you can specify custom calendars which match a criteria you define (more on that below). These sensors will be `on` if you have an on going event in that calendar or `off` if the event is later in time, or if there is no event at all. The WebDav calendar get updated roughly every 15 minutes.
### {% linkable_title Prerequisites %}
-You need to have a CalDav server and eventually credentials for it. This component was tested against [Baikal](http://sabre.io/baikal/) but any component complying with the RFC4791 should work.
+You need to have a CalDav server and credentials for it. This component was tested against [Baikal](http://sabre.io/baikal/) but any component complying with the RFC4791 should work. [Nextcloud](https://nextcloud.com/) and [Owncloud](https://owncloud.org/) work fine.
You might need some additional system packages to compile the Python caldav library. On a Debian based system, install them by:
@@ -30,12 +30,21 @@ $ sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev
To integrate a WebDav calendar in Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
-# Example configuration.yaml entry
+# Example configuration.yaml entry for baikal
calendar:
- platform: caldav
url: https://baikal.my-server.net/cal.php/calendars/john.doe@test.com/default
```
+```yaml
+# Example configuration.yaml entry for nextcloud, calendars will be found automatically
+calendar:
+ - platform: caldav
+ url: https://nextcloud.example.com/remote.php/dav
+```
+
+Note that all day events only work for custom calendars.
+
{% configuration %}
url:
required: true
@@ -51,7 +60,7 @@ password:
type: string
calendars:
required: false
- description: List of the calendars to filter. Empty or absent means no filtering.
+ description: List of the calendars to filter. Empty or absent means no filtering, i.e. all calendars will be added.
type: list
custom_calendars:
required: false
@@ -68,7 +77,7 @@ custom_calendars:
type: string
search:
required: true
- pending_charges: Regular expression for filtering the events
+ description: Regular expression for filtering the events. If this matches the description, summary, or location then the event will be included in this custom calendar.
type: string
{% endconfiguration %}
@@ -83,10 +92,11 @@ custom_calendars:
- **start_time**: Start time of event.
- **end_time**: End time of event.
-### {% linkable_title Sensor attributes %}
+### {% linkable_title Examples %}
+Example entry for creating one custom calendar containing all events from the calendar "Agenda" which contain "HomeOffice" in the description, location, or summary.
```yaml
-# Example configuration.yaml entry
+# Example configuration.yaml entry for baikal
calendar:
- platform: caldav
url: https://baikal.my-server.net/cal.php/calendars/john.doe@test.com/default
@@ -97,3 +107,48 @@ calendar:
calendar: 'Agenda'
search: 'HomeOffice'
```
+
+All events of the calendars "private" and "holidays". Note that all day events are not included.
+```yaml
+# Example configuration.yaml entry for nextcloud
+calendar:
+ - platform: caldav
+ url: https://nextcloud.example.com/remote.php/dav
+ username: 'me'
+ password: !secret caldav
+ calendars:
+ - private
+ - holidays
+```
+
+Full example with automation to wake up to music if not holiday. Prerequisite: you have a calendar named "work" where you create calendar entries containing "Holiday".
+
+Custom calendar names are built from the main calendar + name of the custom calendar.
+
+```yaml
+# configuration.yaml
+calendar:
+ - platform: caldav
+ url: https://nextcloud.example.com/remote.php/dav
+ username: 'me'
+ password: !secret caldav
+ custom_calendars:
+ - name: holiday
+ calendar: work
+ search: 'Holiday'
+
+# automations.yaml
+- id: wakeup
+ alias: worktime wakeup
+ trigger:
+ platform: time
+ at: 06:40:00
+ action:
+ - service: media_player.media_play
+ entity_id: media_player.bedroom
+ condition:
+ - condition: state
+ entity_id: calendar.work_holiday
+ state: 'off'
+
+```
From ad3f1c3fe763bed07e6f987b1e6819b31872ef1a Mon Sep 17 00:00:00 2001
From: bottomquark
Date: Sun, 11 Mar 2018 21:27:21 +0100
Subject: [PATCH 02/35] fixes for the previous merge for #4896
removed duplicate example and duplicate text
---
source/_components/calendar.caldav.markdown | 20 +++-----------------
1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/source/_components/calendar.caldav.markdown b/source/_components/calendar.caldav.markdown
index b1ef8110212..8ea6b6ad087 100644
--- a/source/_components/calendar.caldav.markdown
+++ b/source/_components/calendar.caldav.markdown
@@ -42,11 +42,11 @@ calendar:
# Example configuration.yaml entry for nextcloud, calendars will be found automatically
calendar:
- platform: caldav
+ username: john.doe
+ password: !secret caldav
url: https://nextcloud.example.com/remote.php/dav
```
-Note that all day events only work for custom calendars.
-
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.
@@ -123,20 +123,6 @@ custom_calendars:
### {% linkable_title Examples %}
-Example entry for creating one custom calendar containing all events from the calendar "Agenda" which contain "HomeOffice" in the description, location, or summary.
-```yaml
-# Example configuration.yaml entry for baikal
-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'
-```
-
All events of the calendars "private" and "holidays". Note that all day events are not included.
```yaml
# Example configuration.yaml entry for nextcloud
@@ -180,4 +166,4 @@ calendar:
entity_id: calendar.work_holiday
state: 'off'
-```
\ No newline at end of file
+```
From 7cee0970ac77010ee6a1b84852c4ae27a248e792 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Sun, 11 Mar 2018 15:37:02 -0700
Subject: [PATCH 03/35] Update the used Ruby version
---
.ruby-version | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.ruby-version b/.ruby-version
index 58073ef8d7f..35cee72dcbf 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-2.4.1
\ No newline at end of file
+2.4.3
From cd2c69dbaed446b1b5532ea0fae18d250ad97a54 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Sun, 11 Mar 2018 16:28:17 -0700
Subject: [PATCH 04/35] Update footer to mention Netlify
---
source/_includes/custom/footer.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_includes/custom/footer.html b/source/_includes/custom/footer.html
index 886bd8a6405..b07ee5bcf85 100644
--- a/source/_includes/custom/footer.html
+++ b/source/_includes/custom/footer.html
@@ -7,7 +7,7 @@
home-assistant.io is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
From ec79394148a6b290d7b08829f42ea46486c36635 Mon Sep 17 00:00:00 2001
From: Adam Mills
Date: Sun, 11 Mar 2018 23:14:02 -0400
Subject: [PATCH 05/35] Configuration Flow Translations (#4880)
* translation_develop and config flow info
* Components must store strings in their own dir
---
.../backend_localization.markdown | 34 ++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/source/developers/internationalization/backend_localization.markdown b/source/developers/internationalization/backend_localization.markdown
index 6d395352b4f..f50d797045a 100644
--- a/source/developers/internationalization/backend_localization.markdown
+++ b/source/developers/internationalization/backend_localization.markdown
@@ -11,9 +11,41 @@ ha_release: 0.64
---
## {% linkable_title Translation Strings %}
-Platform translation strings are stored as JSON in the [home-assistant](https://github.com/home-assistant/home-assistant) repository. These files must be located adjacent to the component/platform they belong to. They are named `strings..json`, unless the component being translated exists in its own directory, in which case the file is simply named `strings.json` in that directory. This file will contain the different strings that will be translatable. Currently only states are supported by the frontend.
+Platform translation strings are stored as JSON in the [home-assistant](https://github.com/home-assistant/home-assistant) repository. These files must be located adjacent to the component/platform they belong to. Components must have their own directory, and the file is simply named `strings.json` in that directory. For platforms, they are named `strings..json` in the platform directory. This file will contain the different strings that will be translatable.
+
+In order to test changes to translation files, the translation strings must be compiled into Home Assistant’s translation directories by running the following script:
+
+```bash
+$ script/translations_develop
+```
After the pull request with the strings file is merged into the `dev` branch, the strings will be automatically uploaded to Lokalise, where contributors can submit translations. The translated strings in Lokalise will be periodically pulled in to the home-assistant repository.
## {% linkable_title States Localization %}
The first step when localizing platform states is to ensure that the states defined in the actual platform code are defined in `snake_case`. The states should not contain capital letters or spaces. Next, the strings file needs to be created. The states should exist under the `state` key, and map the backend state keys to their English translations. [The season sensor localization](https://github.com/home-assistant/home-assistant/pull/12453/commits/bb2f328ce10c3867990e34a88da64e2f8dc7a5c4) is a good example.
+
+## {% linkable_title Configuration Flow Localization %}
+The translation strings for the configuration flow handler are defined under the `config` key. An example strings file below describes the different supported keys:
+
+```json
+{
+ "config": {
+ "title": "This title is shown in the integrations list",
+ "step": {
+ "init": {
+ "title": "The user visible title of the `init` step.",
+ "description": "Markdown that is shown with the step.",
+ "data": {
+ "api_key": "The label for the `api_key` input field"
+ }
+ }
+ },
+ "error": {
+ "invalid_api_key": "This message will be displayed if `invalid_api_key` is returned as a flow error."
+ },
+ "abort": {
+ "stale_api_key": "This message will be displayed if `stale_api_key` is returned as the abort reason."
+ }
+ }
+}
+```
From 545c583fdaa2cc79fc574cf32abeff865f692c77 Mon Sep 17 00:00:00 2001
From: DubhAd
Date: Mon, 12 Mar 2018 10:46:26 +0000
Subject: [PATCH 06/35] Added version note (#4900)
Since Synology offer an outdated Python, providing a note about how to install 0.64.x
---
source/_docs/installation/synology.markdown | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/source/_docs/installation/synology.markdown b/source/_docs/installation/synology.markdown
index 8885d8e868b..33aa79a0e1d 100644
--- a/source/_docs/installation/synology.markdown
+++ b/source/_docs/installation/synology.markdown
@@ -57,6 +57,10 @@ Use PIP to install Homeassistant package
# ./python3 -m pip install homeassistant
```
+
+Until Synology offer an updated version of Python, Home Assistant 0.64 is the most recent version that will be able to be installed. You can manually specify the version of Home Assistant to install, for example to install version 0.64.3 you would do `./python3 -m pip install homeassistant==0.64.3`
+
+
Create homeassistant config directory & switch to it
```bash
From ff51c36b43b2a6f19fbd5e6943c1d37dfb0ab2ef Mon Sep 17 00:00:00 2001
From: DubhAd
Date: Mon, 12 Mar 2018 10:47:03 +0000
Subject: [PATCH 07/35] Bumped version to be explicitly 3.5.3 (#4888)
---
source/_docs/installation.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown
index 4b54abe2d32..bb51e938636 100644
--- a/source/_docs/installation.markdown
+++ b/source/_docs/installation.markdown
@@ -14,7 +14,7 @@ redirect_from: /getting-started/installation/
Beginners should check our [Getting started guide](/getting-started/) first. This is for users that require advanced installations.
-Home Assistant provides multiple ways to be installed. A requirement is that you have [Python 3.5+](https://www.python.org/downloads/) installed.
+Home Assistant provides multiple ways to be installed. A requirement is that you have [Python 3.5.3 or later](https://www.python.org/downloads/) installed.
@@ -34,7 +34,7 @@ The Home Assistant core is responsible for Home Control. Home Assistant contains
* **Timer**: sends a `time_changed` event every 1 second on the event bus.
-
+
Overview of the Home Assistant core architecture
diff --git a/source/images/architecture/home_automation_landscape.svg b/source/images/architecture/home_automation_landscape.svg
new file mode 100644
index 00000000000..c0fbca28183
--- /dev/null
+++ b/source/images/architecture/home_automation_landscape.svg
@@ -0,0 +1,904 @@
+
+
+
+
From 05add9774351c49e18d415677523fb759e627bf8 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Wed, 14 Mar 2018 09:14:56 +0100
Subject: [PATCH 30/35] Update integrations
---
source/help/talking-points.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/help/talking-points.markdown b/source/help/talking-points.markdown
index 040bd3ad0ba..44c106d2dec 100644
--- a/source/help/talking-points.markdown
+++ b/source/help/talking-points.markdown
@@ -12,7 +12,7 @@ footer: true
People are starting to present Home Assistant at meetings and get-togethers. Below you find a couple of bullet points for your presentation.
- [Numbers, numbers, numbers](/help/trivia/) and other details
-- Over 750 implementations
+- Over 1000 implementations
- Not depending on cloud services. We like to keep your privacy private
- Control all your devices from a single, mobile-friendly interface
- Written in Python3 with 94% test coverage
From ad10b7ba14c17695a9180d81279abd2b34b49b6b Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Wed, 14 Mar 2018 09:15:17 +0100
Subject: [PATCH 31/35] Add Thomas Krenn award 2018
---
source/help/index.markdown | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/source/help/index.markdown b/source/help/index.markdown
index 4ad053d851a..12e1dfde028 100644
--- a/source/help/index.markdown
+++ b/source/help/index.markdown
@@ -48,6 +48,7 @@ Looking for [talking points](/help/talking-points/) or [trivia](/help/trivia)?
Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/).
+- [The winners of the Thomas-Krenn-Awards 2018](https://www.thomas-krenn.com/de/tkmag/allgemein/die-gewinner-des-thomas-krenn-awards-2018-stehen-fest/) - March 2018
- [Hausautomations-Schaltzentrale Home Assistant auf Python-Basis](https://www.heise.de/ct/ausgabe/2017-26-Hausautomations-Schaltzentrale-Home-Assistant-3909532.html) - December 2017
- [Using Home Assistant the ARTIK Cloud](https://developer.artik.io/documentation/developer-guide/wireless-iot/hass.html) - September 2017
- [Control home automation hardware with Home Assistant](http://www.linux-magazine.com/Issues/2017/203/Home-Assistant) - August 2017
@@ -61,7 +62,7 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/).
- [Monitor IoT devices with Home Assistant and Datadog](https://www.datadoghq.com/blog/monitor-home-assistant/) - June 2017
- [Castálio Podcast - Episódio 102: Marcelo Mello - Red Hat e Automação Residencial com Home Assistant](https://youtu.be/hZq8ucpzjCs) - May 2017
- [Paulus Schoutsen and Home Assistant - Episode 8](http://codepop.com/open-sourcecraft/episodes/paulus-schoutsen/) - March 2017
-- [Zammad, Home Assistant und Freifunk - are the winner of the Thomas-Krenn-Awards 2017](https://www.thomas-krenn.com/de/tkmag/allgemein/zammad-home-assistant-und-freifunk-das-sind-die-gewinner-des-thomas-krenn-awards-2017/) - March 2017
+- [Zammad, Home Assistant and Freifunk - are the winner of the Thomas-Krenn-Awards 2017](https://www.thomas-krenn.com/de/tkmag/allgemein/zammad-home-assistant-und-freifunk-das-sind-die-gewinner-des-thomas-krenn-awards-2017/) - March 2017
- [10 open source software tools for developing IoT applications](http://www.cbronline.com/news/internet-of-things/10-open-source-software-tools-developing-iot-applications/) - March 2017
- [A Look at HASSbian: Raspberry Pi for Home Automation](http://www.piboards.com/2017/03/07/a-look-at-hassbian-raspberry-pi-for-home-automation/)- March 2017
- [Home Assistant with Paulus Schoutsen - Episode 94](https://www.podcastinit.com/episode-94-home-assistant-with-paulus-schoutsen/) - January 2017
From dc018062c01057d76a822d5d99c6e74d56da92fa Mon Sep 17 00:00:00 2001
From: Anders Melchiorsen
Date: Wed, 14 Mar 2018 21:39:30 +0100
Subject: [PATCH 32/35] Explain workaround for limitlessled assumed_state
(#4856)
* Explain workaround for limitlessled assumed_state
* :pencil2: Tiny grammar change
---
source/_components/light.limitlessled.markdown | 13 +++++++++++++
.../screenshots/limitlessled_assumed_state.png | Bin 0 -> 8406 bytes
2 files changed, 13 insertions(+)
create mode 100644 source/images/screenshots/limitlessled_assumed_state.png
diff --git a/source/_components/light.limitlessled.markdown b/source/_components/light.limitlessled.markdown
index 5373e34b878..2dcf4d9c7a8 100644
--- a/source/_components/light.limitlessled.markdown
+++ b/source/_components/light.limitlessled.markdown
@@ -90,3 +90,16 @@ When starting Home Assistant, the last recorded state will be shown. This might
If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe obsolete information.
This lack of synchronization is due to a LimitlessLED limitation.
+
+
+
+
+
+Because LimitlessLED lights may have an obsolete state, Home Assistant shows the power switch as two buttons rather than a toggle. This ensures that the power can be set with a single click even if the assumed state is wrong. You can change to use the power toggle with [Customize](/docs/configuration/customizing-devices/):
+
+```yaml
+homeassistant:
+ customize_domain:
+ light:
+ assumed_state: false
+```
diff --git a/source/images/screenshots/limitlessled_assumed_state.png b/source/images/screenshots/limitlessled_assumed_state.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea1b99c36686b918099fc5619a55610e1c934c55
GIT binary patch
literal 8406
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
literal 0
HcmV?d00001
From c6983a9df12021560d664c366cd1b08a0481444d Mon Sep 17 00:00:00 2001
From: Pascal Vizeli
Date: Wed, 14 Mar 2018 21:54:25 +0100
Subject: [PATCH 33/35] Update dnsmasq.markdown
---
source/_addons/dnsmasq.markdown | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/source/_addons/dnsmasq.markdown b/source/_addons/dnsmasq.markdown
index 6ae42294f54..d894320ab02 100644
--- a/source/_addons/dnsmasq.markdown
+++ b/source/_addons/dnsmasq.markdown
@@ -11,10 +11,6 @@ footer: true
Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS server. This allows you to manipulate DNS requests. For example, you can have your Home Assistant domain resolve with an internal address inside your network.
-
-`interface` options are for resinos based installation. On other system you can set it to `""`, for listen on every interface.
-
-
```json
{
"defaults": ["8.8.8.8", "8.8.4.4"],
@@ -23,8 +19,7 @@ Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS serv
],
"hosts": [
{"host": "home.mydomain.io", "ip": "192.168.1.10"}
- ],
- "interface": "eth1"
+ ]
}
```
@@ -33,4 +28,3 @@ Configuration variables:
- **defaults** (*Required*): A list of DNS servers to forward default requests to.
- **forwards** (*Optional*): A list of domains that will forward to a specific server.
- **hosts** (*Optional*): A list of hosts to resolve statically.
-- **interface** (*Optional*): If an interface is set, it listens only on this interface. Needs to be set for ResinOS. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
From 39488b09198d4f5bf587e1dbbf5a2d2096d34c46 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Wed, 14 Mar 2018 15:57:37 -0700
Subject: [PATCH 34/35] release 0.65.5
---
_config.yml | 6 +++---
source/_posts/2018-03-09-release-65.markdown | 21 ++++++++++++++++++++
2 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/_config.yml b/_config.yml
index d4558554a3f..4a90ed5885b 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: 4
-date_released: 2018-03-12
+current_patch_version: 5
+date_released: 2018-03-14
# 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-0654---march-12"
+patch_version_notes: "#release-0655---march-14"
# 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 ce3e803fcf4..c198e403ad0 100644
--- a/source/_posts/2018-03-09-release-65.markdown
+++ b/source/_posts/2018-03-09-release-65.markdown
@@ -153,6 +153,14 @@ intent_script:
- Adding check for empty discovery info in alarm control panel Egardia. ([@jeroenterheerdt] - [#13114]) ([alarm_control_panel.egardia docs])
- Throttle Arlo api calls ([@arsaboo] - [#13143]) ([arlo docs])
+## {% linkable_title Release Notes 0.65.5 - March 14 %}
+
+- Bugfix HomeKit: Error string values for temperature ([@cdce8p] - [#13162]) ([homekit docs])
+- Revert throttle Arlo api calls ([@arsaboo] - [#13174]) ([arlo docs])
+- Ignore unsupported Sonos favorites ([@amelchio] - [#13195]) ([media_player.sonos docs])
+- Avoid Sonos error when joining with self ([@amelchio] - [#13196]) ([media_player.sonos docs])
+- Fix input_boolean Google Assistant serialize error ([@balloob] - [#13220]) ([google_assistant 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.
@@ -713,3 +721,16 @@ Experiencing issues introduced by this release? Please report them in our [issue
[hue docs]: https://home-assistant.io/components/hue/
[light.hue docs]: https://home-assistant.io/components/light.hue/
[switch.wemo docs]: https://home-assistant.io/components/switch.wemo/
+[#13162]: https://github.com/home-assistant/home-assistant/pull/13162
+[#13174]: https://github.com/home-assistant/home-assistant/pull/13174
+[#13195]: https://github.com/home-assistant/home-assistant/pull/13195
+[#13196]: https://github.com/home-assistant/home-assistant/pull/13196
+[#13220]: https://github.com/home-assistant/home-assistant/pull/13220
+[@amelchio]: https://github.com/amelchio
+[@arsaboo]: https://github.com/arsaboo
+[@balloob]: https://github.com/balloob
+[@cdce8p]: https://github.com/cdce8p
+[arlo docs]: https://home-assistant.io/components/arlo/
+[google_assistant docs]: https://home-assistant.io/components/google_assistant/
+[homekit docs]: https://home-assistant.io/components/homekit/
+[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/
From 06d3f4d0b31f355ab5e4875150f13ecaa6ce2e85 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Wed, 14 Mar 2018 16:57:55 -0700
Subject: [PATCH 35/35] generate a robots.txt file that blocks search engines
if not prod site (#4919)
---
Rakefile | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Rakefile b/Rakefile
index e44380c49dc..c56c918561c 100644
--- a/Rakefile
+++ b/Rakefile
@@ -60,6 +60,13 @@ task :generate do
abort("Generating CSS failed") unless success
success = system "jekyll build"
abort("Generating site failed") unless success
+ if ENV["CONTEXT"] != 'production'
+ File.open("#{public_dir}robots.txt", 'w') do |f|
+ f.write "User-agent: *\n"
+ f.write "Disallow: /\n"
+ end
+ end
+ public_dir
end
desc "Watch the site and regenerate when it changes"