From 6c48bcaf756695064c03b199d2ae0d234317cc2c Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Thu, 3 Oct 2019 11:35:00 -0500 Subject: [PATCH 001/289] Update changelog.markdown (#10589) * Update changelog.markdown * Update changelog.markdown --- source/lovelace/changelog.markdown | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index a9392581543..aed4dbe4736 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -2,6 +2,24 @@ title: "Lovelace Changelog" description: "Changelog of the Lovelace UI." --- +## Changes in 0.100.0 +- 📣 [picture glance card]: New config `tap_action` and `hold_action` for `entities` (#3807) @iantrich +- 📣 [entities card]: New config `image` for `entities` (#3832) @iantrich +- 📣 [entity filter card]: Support for operators in `state_filter` and individual `state_filter` option for `entitites` (#3692) @iantrich +- 📣 [light card]: New config `icon` (#3771) @iantrich +- 📣 [picture entity card]: UI Editor (#3708) @iantrich +- 📣 [picture glance card]: UI Editor (#3709) @iantrich +- 📣 [history graph card]: UI Editor (#3782) @iantrich +- 📣 Add support for panels to cast (#3796) @bramkragten +- 📣 Allow for user text selection (Android Chrome not supported) (#3605) @iantrich +- 📣 add `state_filter` to picture cards (#3791) @iantrich +- 📣 Add a setting for vibration (#3813) @bramkragten +- 📣 Switch paper-toggle-button to mwc-switch (#3683) @iantrich +- 📣 New Action `url` (#3773) @iantrich +- 🔧 [map card]: Align background with tiles (#3858) @bramkragten +- 🔧 [map card]: Fix dark switch for map card editor (#3856) @bramkragten +- 🔧 [views]: Guard for null badges (#3841) @bramkragten + ## Changes in 0.99.0 - 📣 [glance card]: New config `show_last_changed` for `entities` - 📣 [glance card]: New config `image` for `entities` From 8f7547ea09da5e977d1b2f487650943c662d805f Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Thu, 3 Oct 2019 22:49:28 +0200 Subject: [PATCH 002/289] Update binary_sensor.mqtt.markdown (#10592) --- source/_integrations/binary_sensor.mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/binary_sensor.mqtt.markdown b/source/_integrations/binary_sensor.mqtt.markdown index e41e082b120..cf67732d53d 100644 --- a/source/_integrations/binary_sensor.mqtt.markdown +++ b/source/_integrations/binary_sensor.mqtt.markdown @@ -81,7 +81,7 @@ unique_id: required: false type: string device_class: - description: Sets the [class of the device](/integrations/binary_sensor/), changing the device state and icon that is displayed on the frontend. + description: Sets the [class of the device](/integrations/binary_sensor/#device-class), changing the device state and icon that is displayed on the frontend. required: false type: string value_template: From 403a08c2630294590ea071f0f191e508201552b3 Mon Sep 17 00:00:00 2001 From: Hugh Eaves Date: Thu, 3 Oct 2019 21:01:20 -0400 Subject: [PATCH 003/289] alarmdecoder relay config is also used for zone expanders (#10594) --- source/_integrations/alarmdecoder.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/alarmdecoder.markdown b/source/_integrations/alarmdecoder.markdown index 846f87189e6..a83c15eb878 100644 --- a/source/_integrations/alarmdecoder.markdown +++ b/source/_integrations/alarmdecoder.markdown @@ -103,11 +103,11 @@ zones: required: false type: integer relayaddr: - description: "Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed." + description: "Address of the relay or zone expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed." required: inclusive type: integer relaychan: - description: "Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4)" + description: "Channel of the relay or zone expander board to associate with the zone. (ex: 1, 2, 3, or 4 for relay expander boards, 1 - 8 for zone expander boards)" required: inclusive type: integer {% endconfiguration %} From 6c5a61c90be19d6927217de14455f50297ec0c2c Mon Sep 17 00:00:00 2001 From: Tom Brien Date: Fri, 4 Oct 2019 13:16:28 +0100 Subject: [PATCH 004/289] Insolvency (#10599) Add warning that Nello have ceased to exist and locks will stop working soon. --- source/_integrations/nello.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/nello.markdown b/source/_integrations/nello.markdown index 5c9f09e8d0f..fc1d5492e3b 100644 --- a/source/_integrations/nello.markdown +++ b/source/_integrations/nello.markdown @@ -9,6 +9,10 @@ ha_release: 0.52 ha_iot_class: Cloud Polling --- +
+Locumi Labs, the manufacturer of Nello, entered insolvency on the 2nd of October 2019 closed their cloud service. Since Nello One locks require this cloud service, the locks will cease to operate as of the 18th October 2019. +
+ The `nello` platform allows you to control [Nello](https://www.nello.io) intercoms. To get started you need to create a secondary Nello account and authorize it to access your lock(s). From c20e52f34c81d09f36abf9c6c3a2124c517e8309 Mon Sep 17 00:00:00 2001 From: SukramJ Date: Fri, 4 Oct 2019 23:21:50 +0200 Subject: [PATCH 005/289] Add HMIP-SAM to Homematic IP Cloud (#10602) --- source/_integrations/homematicip_cloud.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown index c87eb1f650b..3dd165384ec 100644 --- a/source/_integrations/homematicip_cloud.markdown +++ b/source/_integrations/homematicip_cloud.markdown @@ -84,6 +84,7 @@ Within this delay the device registration should be completed in the App, otherw * Combined Alarm Control Panal with INTERNAL and EXTERNAL Security zones (*HmIP-SecurityZone*) * homematicip_cloud.binary_sensor + * Acceleration Sensor (*HMIP-SAM*) * Window and door contact (*HmIP-SWDO, -I*) * Contact Interface flush-mount – 1 channel (*HmIP-FCI1*) * Contact Interface (*HmIP-SCI*) From a8a6bddb07551c4e2a84d27428422b182af99e48 Mon Sep 17 00:00:00 2001 From: Malachi Soord Date: Fri, 4 Oct 2019 23:26:30 +0200 Subject: [PATCH 006/289] Update index.markdown (#10609) --- source/lovelace/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/lovelace/index.markdown b/source/lovelace/index.markdown index 18a1de3fa06..16fe29c0167 100644 --- a/source/lovelace/index.markdown +++ b/source/lovelace/index.markdown @@ -24,7 +24,7 @@ To try it yourself, check out [the demo](https://demo.home-assistant.io). ## Discuss Lovelace -- Suggestions are welcome in the [ui-schema repository](https://github.com/home-assistant/ui-schema) +- Suggestions are welcome in the [home-assistant-polymer repository](https://github.com/home-assistant/home-assistant-polymer/) - For help with Lovelace, join the #lovelace channel on [our chat](/join-chat/) or [our forums](https://community.home-assistant.io/c/projects/frontend) ## Additional Lovelace Resources From 90cdb0b74b0ff9b106245ef2f5670481804a68a3 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Fri, 4 Oct 2019 23:35:43 +0200 Subject: [PATCH 007/289] Fix links to `device_class` for MQTT sensor (#10593) * Update sensor.mqtt.markdown * Update sensor.mqtt.markdown --- source/_integrations/sensor.mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/sensor.mqtt.markdown b/source/_integrations/sensor.mqtt.markdown index 303315d655d..f2629506fc8 100644 --- a/source/_integrations/sensor.mqtt.markdown +++ b/source/_integrations/sensor.mqtt.markdown @@ -89,7 +89,7 @@ unique_id: required: false type: string device_class: - description: The type/class of the sensor to set the icon in the frontend. + description: The [type/class](/integrations/sensor/#device-class) of the sensor to set the icon in the frontend. required: false type: device_class default: None From 26fbd6d35a356d8cebb2b27f34d5a02cfe851682 Mon Sep 17 00:00:00 2001 From: dasadi <55808280+dasadi@users.noreply.github.com> Date: Fri, 4 Oct 2019 23:39:31 +0200 Subject: [PATCH 008/289] Fixes 4 links in blog posts (#10600) --- ...9-insteon-lifx-twitter-and-zigbee.markdown | 2 +- ...-you-should-know-about-senic-covi.markdown | 2 +- .../2017-11-05-frontend-translations.markdown | 2 +- ...04-introducing-home-assistant-cli.markdown | 22 +++++++++---------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown index b8d91566e6e..a51912801d5 100644 --- a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown +++ b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown @@ -43,7 +43,7 @@ Example of the new views in the frontend. Learn m - Bugfixes by [@molobrakos], [@MartinHjelmare], [@pavoni], [@trollkarlen], [@zmrow], [@maddox], [@persandstrom], [@happyleavesaoc], [@balloob], [@fabaff], [@stefan-jonasson], [@haraldnagel]. [the demo]: /demo/ -[command sensor]: /integrations/binary_sensor.command/ +[command sensor]: /integrations/command_line/ [Insteon hub]: /integrations/insteon/ [LIFX]: /integrations/lifx [Nest]: /integrations/nest/ diff --git a/source/_posts/2017-06-20-things-you-should-know-about-senic-covi.markdown b/source/_posts/2017-06-20-things-you-should-know-about-senic-covi.markdown index cd4807a0ea2..cc59c688293 100644 --- a/source/_posts/2017-06-20-things-you-should-know-about-senic-covi.markdown +++ b/source/_posts/2017-06-20-things-you-should-know-about-senic-covi.markdown @@ -58,7 +58,7 @@ Core Developer, Home Assistant [netdisco-contrib]: https://github.com/home-assistant/netdisco/pull/94 [hotfix]: /blog/2017/02/25/config-panel-and-state-restoration/#release-0392---march-1 [Hass.io]: /hassio/ -[to Forbes]: https://webcache.googleusercontent.com/search?q=cache:https://www.forbes.com/sites/paularmstrongtech/2017/06/19/covi-is-about-to-make-some-general-electric-execs-very-unhappy/ +[to Forbes]: https://www.forbes.com/sites/paularmstrongtech/2017/06/20/covi-is-about-to-make-some-general-electric-execs-very-unhappy/ [tradfri]: /blog/2017/04/17/ikea-tradfri-internet-of-things-done-right/ [Nuimo]: /integrations/nuimo_controller/ [developer documentation]: http://blog.senic.com/posts/the-senic-hub-a-brief-software-overview diff --git a/source/_posts/2017-11-05-frontend-translations.markdown b/source/_posts/2017-11-05-frontend-translations.markdown index 1975936ad52..dcf08d8e3e9 100644 --- a/source/_posts/2017-11-05-frontend-translations.markdown +++ b/source/_posts/2017-11-05-frontend-translations.markdown @@ -17,7 +17,7 @@ The Home Assistant sidebar in 12 different languages. As mentioned in the [0.57 release notes](/blog/2017/11/04/release-57/), Home Assistant has launched a translated frontend. With the immediate influx of translations, we’ve made integration with a translation tool a top priority. [@c727] took the initiative to evaluate several tools, and we’re happy to announce that Home Assistant will be partnering with [Lokalise](https://lokalise.co/) to manage our translations! -Lokalise allows us to open up translations for all of our multilingual users willing to contribute. Users can join the project using our [public signup link](https://lokalise.co/signup/3420425759f6d6d241f598.13594006/all/), and start translating right away. We’ve created a [translation startup guide](/developers/frontend_translation/) with additional details about how to contribute. Instructions are provided there for how to request a new language. +Lokalise allows us to open up translations for all of our multilingual users willing to contribute. Users can join the project using our [public signup link](https://lokalise.co/signup/3420425759f6d6d241f598.13594006/all/), and start translating right away. We’ve created a [translation startup guide](https://developers.home-assistant.io/docs/en/internationalization_translation.html) with additional details about how to contribute. Instructions are provided there for how to request a new language. Now that we have a system in place, expect a lot more of the interface to be translatable soon. We still have some technical hurdles to overcome, but the hardest work is behind us now. The community has already done an outstanding job of providing translations. The future is looking bright! diff --git a/source/_posts/2019-02-04-introducing-home-assistant-cli.markdown b/source/_posts/2019-02-04-introducing-home-assistant-cli.markdown index 8f2f26a39e7..62d992d4864 100644 --- a/source/_posts/2019-02-04-introducing-home-assistant-cli.markdown +++ b/source/_posts/2019-02-04-introducing-home-assistant-cli.markdown @@ -20,7 +20,7 @@ Last week we released version 0.4, which provides majority of the features I was looking for to do from a CLI. ## Feature highlights: - + - Get configuration info (`hass-cli config`) - List, get, edit and delete state for entities (`hass-cli entity`') - Query history with relative time ('hass-cli entity history') @@ -36,29 +36,29 @@ looking for to do from a CLI. ## Usage -For the basic intro to `hass-cli` see the docs at [github](github-hass-cli). +For the basic intro to `hass-cli` see the docs at [github][github-hass-cli]. ## Installation Install latest `homeassistant-cli` by pip: $ pip3 install homeassistant-cli - + or if upgrade use: $ pip3 install --upgrade homeassistant-cli - + or if you like an isolated install you can use [pipsi][pipsi] $ pipsi install --python python3 homeassistant-cli -or if you are adventurous you can build it from [source][github-hass-cli] at. +or if you are adventurous you can build it from [source][github-hass-cli] at. ## Changes since 0.1-0.3 -The first thing is that the commands have been cleaned up to be more logcial/explicit. +The first thing is that the commands have been cleaned up to be more logcial/explicit. - $ hass-cli + $ hass-cli ... ... Commands: @@ -113,7 +113,7 @@ If you still want to get all the glory details you can use `-o yaml` to get the A few frequent asked questions we've seen the last months are as follows: -### Why would anyone use this ? +### Why would anyone use this ? This is not removing or trying to compete with existing ways to access Home Assistant - this is a complementary way to access Home Assistant. If you like to @@ -132,7 +132,7 @@ type out. Finally over time as `hass-cli` will get support for utilizing the more extensive websocket API's `hass-cli` will be more consistent and simpler to use than using "raw" access via `curl`. -### Does this only work with HTTPS and hass.io ? +### Does this only work with HTTPS and hass.io ? No, it works with *any* Home Assistant that has REST API exposed - something that is done by default. In short - if you can access Home Assistant with your @@ -146,7 +146,7 @@ No, `hass-cli` does not require Home Assistant installed on the computer you want to run it on. It should run on any install with Python 3.5 or higher on all major operating systems. -### Does this work with client-generated certificates ? +### Does this work with client-generated certificates ? It should, but we have not yet been able to verify it. If you would like to help us try it run with `--cert ` and let us know if it works on @@ -159,7 +159,7 @@ system control commands (like refreshing groups, restarting, etc.) but also for accessing hass.io add-ons. Also having an easy way to hook into the event bus (via websocket) to see what is happening live. -What would you like to see ? +What would you like to see ? ## Feedback From b80df2c20f8cc0bb496d87933a6dbf625ee35182 Mon Sep 17 00:00:00 2001 From: Maciej Bieniek Date: Fri, 4 Oct 2019 23:58:15 +0200 Subject: [PATCH 009/289] Add Airly documentation (#10285) * Add Airly documentation * Change ha_category * Update airly.markdown file * Update ha_release * Fix ha_release version Co-Authored-By: Klaas Schoute * Update ha_release version Co-Authored-By: Martin Hjelmare * Fix typo Co-Authored-By: Martin Hjelmare * :pencil2: Tweaks --- source/_components/airly.markdown | 37 +++++++++++++++++++++++ source/images/supported_brands/airly.png | Bin 0 -> 70414 bytes 2 files changed, 37 insertions(+) create mode 100644 source/_components/airly.markdown create mode 100644 source/images/supported_brands/airly.png diff --git a/source/_components/airly.markdown b/source/_components/airly.markdown new file mode 100644 index 00000000000..f5a4540c3fd --- /dev/null +++ b/source/_components/airly.markdown @@ -0,0 +1,37 @@ +--- +title: "Airly" +description: "Instructions on how to integrate Airly within Home Assistant." +logo: airly.png +ha_category: + - Health +ha_release: 0.101 +ha_iot_class: Cloud Polling +--- + +The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location. To generate an Airly API key, go to [Airly for developers](https://developer.airly.eu/register) page. + +## Configuration + +To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI and enable the Airly integration. By default, the values will be taken from the Home Assistant configuration. + +{% configuration %} +name: + description: Manually specify Name. + required: false + type: string + default: Airly +latitude: + description: Manually specify latitude. + required: false + type: float + default: Provided by Home Assistant configuration +longitude: + description: Manually specify longitude. + required: false + type: float + default: Provided by Home Assistant configuration +api_key: + description: Airly API key. + required: true + type: string +{% endconfiguration %} diff --git a/source/images/supported_brands/airly.png b/source/images/supported_brands/airly.png new file mode 100644 index 0000000000000000000000000000000000000000..dd6cc4685fd0940dea0b832a5139f1ee735f68c8 GIT binary patch literal 70414 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%0AWnopt(I_hHAN$Q~u$J)YPH93eBn$Z; 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 Date: Sat, 5 Oct 2019 00:31:09 +0200 Subject: [PATCH 010/289] Clarify the behavior of the updater component (#10598) * clarify behavior of updater * Move the text * note environment --- source/_integrations/updater.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/updater.markdown b/source/_integrations/updater.markdown index 96204e76d93..0833d8af843 100644 --- a/source/_integrations/updater.markdown +++ b/source/_integrations/updater.markdown @@ -12,6 +12,12 @@ The `updater` binary sensor will check daily for new releases. The state will be The updater integration will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/integrations/updater). +
+ +The `updater` binary sensor will wait one hour after startup until it performs the first update. For this period it will be in the state `unavailable`. After that it will check once a day for new releases. + +
+ ## Configuration To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: From 5525a1e1cd38f8f851ebf615d173e2150a39ddf8 Mon Sep 17 00:00:00 2001 From: Khole Date: Sat, 5 Oct 2019 14:53:43 +0100 Subject: [PATCH 011/289] Add TRV support (#10607) --- source/_integrations/hive.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/hive.markdown b/source/_integrations/hive.markdown index dd615a84d6f..681a06886ef 100644 --- a/source/_integrations/hive.markdown +++ b/source/_integrations/hive.markdown @@ -125,7 +125,7 @@ The platform supports the following Hive products: ### Climate -The `hive` climate platform integrates your Hive thermostat into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**. +The `hive` climate platform integrates your Hive thermostat and Hive radiator valves into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**. A short boost for Hive Heating can be set by using the **Boost** preset, this will turn on the boost feature for 30 minutes at 0.5 degrees higher than the current temperature. @@ -133,6 +133,7 @@ The platform supports the following Hive products: - Hive Active Heating - Hive Multi-zone +- Hive Radiator Valve ### Light From 107414ac1372c6f01d1cf3da0608b5bc48b75a79 Mon Sep 17 00:00:00 2001 From: akasma74 Date: Sat, 5 Oct 2019 17:38:09 +0100 Subject: [PATCH 012/289] icon configuration variable: unification (#10618) * icon configuration variable: unification Unification across input_xxx integrations (and get rid of 'component' wording where necessary) * icon configuration variable: unification Unification across input_xxx integrations * icon configuration variable: unification Unification across input_xxx integrations * icon configuration variable: unification Unification across input_xxx integrations * icon configuration variable: unification Unification across input_xxx integrations (adding missing icon variable) * icon configuration variable: unification Unification across input_xxx integrations --- source/_integrations/input_boolean.markdown | 2 +- source/_integrations/input_datetime.markdown | 2 +- source/_integrations/input_number.markdown | 2 +- source/_integrations/input_select.markdown | 2 +- source/_integrations/input_text.markdown | 4 ++++ 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/source/_integrations/input_boolean.markdown b/source/_integrations/input_boolean.markdown index 004535156ee..fb559e5df5d 100644 --- a/source/_integrations/input_boolean.markdown +++ b/source/_integrations/input_boolean.markdown @@ -37,7 +37,7 @@ input_boolean: type: boolean default: false icon: - description: Icon to display for the component. + description: Icon to display in front of the input element in the frontend. required: false type: icon {% endconfiguration %} diff --git a/source/_integrations/input_datetime.markdown b/source/_integrations/input_datetime.markdown index 5cad7382977..69c7d25143a 100644 --- a/source/_integrations/input_datetime.markdown +++ b/source/_integrations/input_datetime.markdown @@ -54,7 +54,7 @@ input_datetime: type: boolean default: false icon: - description: Icon to display in the frontend. + description: Icon to display in front of the input element in the frontend. required: false type: icon initial: diff --git a/source/_integrations/input_number.markdown b/source/_integrations/input_number.markdown index 95f0dd7406c..4a601d0374f 100644 --- a/source/_integrations/input_number.markdown +++ b/source/_integrations/input_number.markdown @@ -74,7 +74,7 @@ input_number: required: false type: string icon: - description: Icon to display in front of the box/slider in the frontend. + description: Icon to display in front of the input element in the frontend. required: false type: icon {% endconfiguration %} diff --git a/source/_integrations/input_select.markdown b/source/_integrations/input_select.markdown index 886f05b2d9f..cd28d03e547 100644 --- a/source/_integrations/input_select.markdown +++ b/source/_integrations/input_select.markdown @@ -49,7 +49,7 @@ input_select: type: map default: First element of options icon: - description: Icon to display for the component. + description: Icon to display in front of the input element in the frontend. required: false type: icon {% endconfiguration %} diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown index c765307a3c1..a43fa6a3aa4 100644 --- a/source/_integrations/input_text.markdown +++ b/source/_integrations/input_text.markdown @@ -53,6 +53,10 @@ input_text: required: false type: string default: empty + icon: + description: Icon to display in front of the input element in the frontend. + required: false + type: icon pattern: description: Regex pattern for client side validation. required: false From 7d8944fe5424fa5144d4c75b93caa2c395274e7a Mon Sep 17 00:00:00 2001 From: Charles Garwood Date: Sat, 5 Oct 2019 12:42:00 -0400 Subject: [PATCH 013/289] Update zwave devices page (#10603) S2 still not supported in OZW as of 10/2019 Update config github link to the OZW1.4 branch since HA is still on 1.4 and the master branch is for OZW1.6 --- source/_docs/z-wave/devices.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_docs/z-wave/devices.markdown b/source/_docs/z-wave/devices.markdown index 711964c9a18..534ccb70fd2 100644 --- a/source/_docs/z-wave/devices.markdown +++ b/source/_docs/z-wave/devices.markdown @@ -33,9 +33,9 @@ The key improvements are: ### Z-Wave Security 2 -From 2 April 2017 all newly approved Z-Wave devices will have to support the Security 2 (S2) framework. At the time of writing this (March 2018) OpenZWave does not support the S2 framework. +From 2 April 2017 all newly approved Z-Wave devices will have to support the Security 2 (S2) framework. At the time of writing this (October 2019) OpenZWave does not support the S2 framework. -## Device power +## Device Power Your Z-Wave mesh network is built with the devices that are mains powered (whether directly, or via a USB adapter), these relay traffic for other nodes, building the network. These devices are always awake and you can query them, or send configuration changes, at any time. @@ -65,8 +65,8 @@ Polling needs to be enabled per device, you can control this through the *pollin The Central Scene command class isn't yet supported in OpenZWave (there is [work in progress](https://github.com/OpenZWave/open-zwave/pull/1125) to provide it it), though Home Assistant has introduced some support with [change 9178](https://github.com/home-assistant/home-assistant/pull/9178) which was part of 0.53 and [documented here](/docs/z-wave/device-specific/#homeseer-switches). -## Is my device supported +## Is my device supported? -You can check to see if OpenZWave supports your particular device by looking at the [OpenZWave github](https://github.com/OpenZWave/open-zwave/tree/master/config). Be aware that being listed here doesn't mean that it will be supported in Home Assistant, since the version of OpenZWave used by Home Assistant will often lag the github by a few months. +You can check to see if OpenZWave supports your particular device by looking at the [OpenZWave 1.4 github](https://github.com/OpenZWave/open-zwave/tree/1.4/config). Be aware that being listed here doesn't mean that it will be supported in Home Assistant, since the version of OpenZWave used by Home Assistant will often lag the github by a few months. Even if your device isn't listed there, it's likely that it will still work as expected as long as the device complies with the Z-Wave standards. The OpenZWave wiki describes how [you can add support](https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices) for your device if it isn't listed. From d678507ffd1c3ebd1aeb74dc5646f2f7229b4c53 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sat, 5 Oct 2019 19:40:03 +0200 Subject: [PATCH 014/289] Fixes GitHub repository link (#10620) --- plugins/environment_variables.rb | 2 +- source/_integrations/dialogflow.markdown | 2 +- source/_integrations/samsungtv.markdown | 2 +- source/_posts/2016-10-02-hacktoberfest.markdown | 2 +- .../2016-10-22-flash-briefing-updater-hacktoberfest.markdown | 4 ++-- .../2017-02-25-config-panel-and-state-restoration.markdown | 2 +- source/_posts/2017-09-29-hacktoberfest.markdown | 2 +- source/_posts/2017-11-04-release-57.markdown | 2 +- source/cookbook/index.markdown | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/environment_variables.rb b/plugins/environment_variables.rb index 7d9203f1643..9611050ffd9 100644 --- a/plugins/environment_variables.rb +++ b/plugins/environment_variables.rb @@ -2,7 +2,7 @@ module Jekyll class EnvironmentVariablesGenerator < Generator def generate(site) # https://www.netlify.com/docs/continuous-deployment/#build-environment-variables - repo_url = ENV['REPOSITORY_URL'] || 'https://github.com/home-assistant/home-assistant.github.io' + repo_url = ENV['REPOSITORY_URL'] || 'https://github.com/home-assistant/home-assistant.io' # Rewrite urls if repo url is the ssh format. if repo_url.start_with? 'git@github.com:' diff --git a/source/_integrations/dialogflow.markdown b/source/_integrations/dialogflow.markdown index bb20186476a..dcbf52bcd44 100644 --- a/source/_integrations/dialogflow.markdown +++ b/source/_integrations/dialogflow.markdown @@ -63,7 +63,7 @@ When activated, the [`alexa` integration](/integrations/alexa/) will have Home A ## Examples -Download [this zip](https://github.com/home-assistant/home-assistant.github.io/blob/next/source/assets/HomeAssistant_APIAI.zip) and load it in your Dialogflow agent (**Settings** -> **Export and Import**) for examples intents to use with this configuration: +Download [this zip](https://github.com/home-assistant/home-assistant.io/blob/next/source/assets/HomeAssistant_APIAI.zip) and load it in your Dialogflow agent (**Settings** -> **Export and Import**) for examples intents to use with this configuration: {% raw %} ```yaml diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index 68f6385a70d..4f6850422b6 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -116,7 +116,7 @@ Currently tested but not working models: None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, since Samsung have used a different (encrypted) type of interface for these. If your model is not on the list then give it a test, if everything works correctly then add it to the list on -[GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_integrations/samsungtv.markdown). +[GitHub](https://github.com/home-assistant/home-assistant.io/tree/current/source/_integrations/samsungtv.markdown). The first letter (U, P, L, H & K) represent the screen type, e.g., LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these first 4 characters before adding to the list. diff --git a/source/_posts/2016-10-02-hacktoberfest.markdown b/source/_posts/2016-10-02-hacktoberfest.markdown index 328bcca4929..00542762a3d 100644 --- a/source/_posts/2016-10-02-hacktoberfest.markdown +++ b/source/_posts/2016-10-02-hacktoberfest.markdown @@ -34,7 +34,7 @@ Are you not a programmer but still want to contribute to Home Assistant? Check o [Hacktoberfest]: https://hacktoberfest.digitalocean.com/ [Hacktoberfest-reg]: https://hacktoberfest.digitalocean.com/profile [issues]: https://github.com/home-assistant/home-assistant/labels/Hacktoberfest -[issues-doc]: https://github.com/home-assistant/home-assistant.github.io/labels/Hacktoberfest +[issues-doc]: https://github.com/home-assistant/home-assistant.io/labels/Hacktoberfest [dev-env]: /developers/development_environment/ [dev-chat]: https://discord.gg/8X8DTH4 [dev-forum]: https://community.home-assistant.io/c/development diff --git a/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown b/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown index dc146b907a4..e681ad4b6c1 100644 --- a/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown +++ b/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown @@ -284,7 +284,7 @@ Thanks for reading all of the above, especially since this week was a pretty lon [flash-briefing-docs]: /integrations/alexa/ [hacktoberfest-blog]: /blog/2016/10/02/hacktoberfest/ [hacktoberfest-ha-prs]: https://github.com/home-assistant/home-assistant/labels/Hacktoberfest -[hacktoberfest-site-prs]: https://github.com/home-assistant/home-assistant.github.io/labels/Hacktoberfest +[hacktoberfest-site-prs]: https://github.com/home-assistant/home-assistant.io/labels/Hacktoberfest [hacktoberfest-website]: https://hacktoberfest.digitalocean.com/ [logo]: /images/blog/2016-10-hacktoberfest/hacktoberfest.png [min]: /integrations/min_max @@ -300,4 +300,4 @@ Thanks for reading all of the above, especially since this week was a pretty lon [zero-two-seven-release]: /blog/2016/08/28/notifications-hue-fake-unification/ [twitter]: https://twitter.com/home_assistant [robbie-twitter]: https://twitter.com/robbie -[blog-orig]: https://github.com/home-assistant/home-assistant.github.io/blob/c937242d154e509d2d84d10c51f654e20556fa21/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown +[blog-orig]: https://github.com/home-assistant/home-assistant.io/blob/c937242d154e509d2d84d10c51f654e20556fa21/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown diff --git a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown index bbf82271c5b..3c854f97a10 100644 --- a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown +++ b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown @@ -307,7 +307,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [docs]: /docs/ [getting-started]: /getting-started/ -[docs-issue]: https://github.com/home-assistant/home-assistant.github.io/issues/1603 +[docs-issue]: https://github.com/home-assistant/home-assistant.io/issues/1603 [forum]: https://community.home-assistant.io/ [issue]: https://github.com/home-assistant/home-assistant/issues diff --git a/source/_posts/2017-09-29-hacktoberfest.markdown b/source/_posts/2017-09-29-hacktoberfest.markdown index eb6044b51d2..aafcd12ced2 100644 --- a/source/_posts/2017-09-29-hacktoberfest.markdown +++ b/source/_posts/2017-09-29-hacktoberfest.markdown @@ -36,7 +36,7 @@ Our participation for [Hacktoberfest 2016][hackt-2016] was a huge success. Join [Hacktoberfest]: https://hacktoberfest.digitalocean.com/ [Hacktoberfest-reg]: https://hacktoberfest.digitalocean.com/profile [issues]: https://github.com/home-assistant/home-assistant/labels/Hacktoberfest -[issues-doc]: https://github.com/home-assistant/home-assistant.github.io/labels/Hacktoberfest +[issues-doc]: https://github.com/home-assistant/home-assistant.io/labels/Hacktoberfest [dev-env]: /developers/development_environment/ [dev-chat]: https://discord.gg/8X8DTH4 [dev-forum]: https://community.home-assistant.io/c/development diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown index 3eeabe6cb0d..6346353164c 100644 --- a/source/_posts/2017-11-04-release-57.markdown +++ b/source/_posts/2017-11-04-release-57.markdown @@ -35,7 +35,7 @@ Hacktoberfest is obviously about the people contributing to open source. Big tha Here are our Hacktoberfest 2017 stats. It's a miracle everyone is still alive: - Main repo: [273 Pull requests](https://github.com/home-assistant/home-assistant/pulls?utf8=%E2%9C%93&q=merged%3A%3E2017-10-01%20is%3Apr%20label%3AHacktoberfest%20is%3Aclosed%20) were merged out of 307. -- Docs repo: [295 Pull requests](https://github.com/home-assistant/home-assistant.github.io/pulls?page=1&q=merged%3A%3E2017-10-01+is%3Apr+label%3AHacktoberfest+is%3Aclosed&utf8=%E2%9C%93) merged out of 310. +- Docs repo: [295 Pull requests](https://github.com/home-assistant/home-assistant.io/pulls?page=1&q=merged%3A%3E2017-10-01+is%3Apr+label%3AHacktoberfest+is%3Aclosed&utf8=%E2%9C%93) merged out of 310. - Frontend: [57 pull requests](https://github.com/home-assistant/home-assistant-polymer/pulls?utf8=%E2%9C%93&q=merged%3A%3E2017-10-01%20is%3Apr%20label%3AHacktoberfest%20is%3Aclosed%20) merged. This means that we processed over 20 Pull requests per day. The result was already visible in 0.56. This release is almost the same. In those releases we were able to add over 40 new integrations. diff --git a/source/cookbook/index.markdown b/source/cookbook/index.markdown index 10d4d522aaf..09c1f08b525 100644 --- a/source/cookbook/index.markdown +++ b/source/cookbook/index.markdown @@ -14,7 +14,7 @@ For [`python_script:` examples](/integrations/python_script/) visit the [Scripts [sec-automation]: /integrations/#automation [organization]: /integrations/#organization -New recipes can be added via the [home-assistant.io repository](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_cookbook). +New recipes can be added via the [home-assistant.io repository](https://github.com/home-assistant/home-assistant.io/tree/current/source/_cookbook).
From 6b0904ec4f71b52a7e21e10519be28a61e2e61cc Mon Sep 17 00:00:00 2001 From: dewi-ny-je <2866139+dewi-ny-je@users.noreply.github.com> Date: Sat, 12 Oct 2019 15:20:13 +0200 Subject: [PATCH 095/289] Added link to detailed explanation of conditions (#10738) Finding the page with detailed information may not be obvious for non-Dutch speakers, so a direct link is provided. --- source/_integrations/sensor.buienradar.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/sensor.buienradar.markdown b/source/_integrations/sensor.buienradar.markdown index 4ba6cd9df0a..11d257668f1 100644 --- a/source/_integrations/sensor.buienradar.markdown +++ b/source/_integrations/sensor.buienradar.markdown @@ -45,7 +45,7 @@ timeframe: default: 60 type: integer monitored_conditions: - description: One or more conditions to display in the frontend. + description: One or more conditions to display in the frontend. See [the Buienradar.nl website](https://www.buienradar.nl/overbuienradar/legenda) for a detailed explanation of each one. required: true type: list keys: From 4e1f6df6347392a0cf4d06bca8230d0a0710f97c Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Sat, 12 Oct 2019 09:25:48 -0400 Subject: [PATCH 096/289] Clean up duplicate section in Cast documentation (#10497) It looks like this was introduced accidentally by some kind of merge glitch: 48f38a5683d2d0d4310dadf887e88a7825b99bb5 added the section, followed by 0c2c8f86524abcf35968d78aad2d44421204793d on the same branch. --- source/_integrations/cast.markdown | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/source/_integrations/cast.markdown b/source/_integrations/cast.markdown index 4894da7624e..eff0317b1ac 100644 --- a/source/_integrations/cast.markdown +++ b/source/_integrations/cast.markdown @@ -13,7 +13,7 @@ You can enable the Cast integration by going to the Integrations page inside the ## Home Assistant Cast -Home Assistant has its own Cast application to show the Home Assistant UI. You can load it on your Chromecast by adding the [Cast entity row](/lovelace/entities/#cast) to your Lovelace UI or by using the `cast.show_lovelace_ui` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on. +Home Assistant has its own Cast application to show the Home Assistant UI on any Chromecast device. You can use it by adding the [Cast entity row](/lovelace/entities/#cast) to your Lovelace UI, or by calling the `cast.show_lovelace_view` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on. ```json { @@ -22,19 +22,6 @@ Home Assistant has its own Cast application to show the Home Assistant UI. You c } ``` -## Home Assistant Cast - -The Cast integration allows you to start Home Assistant Cast on any Chromecast device, using the `cast.show_lovelace_view` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on. - -```json -{ - "entity_id": "media_player.office_display_4", - "view_path": "lights" -} -``` - -## Advanced use - Note that Home Assistant Cast requires your Home Assistant installation to be accessible via `https://`. If you're using Home Assistant Cloud, you don't need to do anything. Otherwise you must make sure that you have configured the `base_url` for [the `http` integration](/integrations/http/). ## Advanced use From 801f96d366fa7261e6f3cb011c98177ef25fc1a1 Mon Sep 17 00:00:00 2001 From: Dubh Ad Date: Sat, 12 Oct 2019 18:45:51 +0100 Subject: [PATCH 097/289] Clarity update on the script docs (#10746) It came up today in [DrZzs Discord](https://discordapp.com/channels/469330414121517056/476055894447357952/632626645139980288) that the wording makes it seem like scripts are run when Home Assistant starts. A minor tweak to make it hopefully clearer that it's turning on _the script_ that makes it run. --- source/_integrations/script.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/script.markdown b/source/_integrations/script.markdown index 09ba6536dcd..846f5e8e54b 100644 --- a/source/_integrations/script.markdown +++ b/source/_integrations/script.markdown @@ -8,7 +8,7 @@ ha_qa_scale: internal ha_release: 0.7 --- -The `script` integration allows users to specify a sequence of actions to be executed by Home Assistant when turned on. The script integration will create an entity for each script and allow them to be controlled via services. +The `script` integration allows users to specify a sequence of actions to be executed by Home Assistant. These are run when you turn the script on. The script integration will create an entity for each script and allow them to be controlled via services. ## Configuration From 654f7133205aac152edce7fb8c71b71c0988b325 Mon Sep 17 00:00:00 2001 From: Peter Nijssen Date: Sat, 12 Oct 2019 21:08:10 +0200 Subject: [PATCH 098/289] changed blockquote to italic in Buienradar (#10750) * changed blockquote due to strange signs * changed buienradar disclaimer to italic * :pencil2: Tweak --- source/_integrations/buienradar.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/buienradar.markdown b/source/_integrations/buienradar.markdown index db479bdb477..3db8a463997 100644 --- a/source/_integrations/buienradar.markdown +++ b/source/_integrations/buienradar.markdown @@ -113,5 +113,5 @@ version of the name will be used as the name of the entity. With the default of "Buienradar loop" the entity name becomes `camera.buienradar_loop`. -[Usage statement:](https://www.buienradar.nl/overbuienradar/gratis-weerdata) -> Buienradar makes free weather data available for use by individuals and businesses (website/intranet). The use of the weather data is allowed for **non-commercial purposes**. Please refer to the full usage statement linked above to confirm your use or to request permission. +_[Usage statement:](https://www.buienradar.nl/overbuienradar/gratis-weerdata) +Buienradar makes free weather data available for use by individuals and businesses (website/intranet). The use of the weather data is allowed for **non-commercial purposes**. Please refer to the full usage statement linked above to confirm your use or to request permission._ From f296136d19b36d5f3157295d14b5b4bff00b911d Mon Sep 17 00:00:00 2001 From: Tom Hoover Date: Sat, 12 Oct 2019 14:38:21 -0500 Subject: [PATCH 099/289] Correct docs for adding a picture to a person (#10744) Change documentation to correctly use the `name` of the person, rather than the `id`, in the `customize:` section. --- source/_integrations/person.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/person.markdown b/source/_integrations/person.markdown index 302393871ff..fc0abbfa654 100644 --- a/source/_integrations/person.markdown +++ b/source/_integrations/person.markdown @@ -93,7 +93,7 @@ By following the instructions on the [customizing entities](/docs/configuration/ ```yaml customize: - person.ada6789: + person.ada: entity_picture: "/local/ada.jpg" ``` From 2b5bf121213acb2ae383e98d877645f633b3a594 Mon Sep 17 00:00:00 2001 From: J <49540618+Tediore@users.noreply.github.com> Date: Sat, 12 Oct 2019 14:52:48 -0500 Subject: [PATCH 100/289] Some things I missed the first time, sorry (#10751) --- source/_integrations/ecobee.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown index feb369009e1..34311394ca6 100644 --- a/source/_integrations/ecobee.markdown +++ b/source/_integrations/ecobee.markdown @@ -17,7 +17,7 @@ The `ecobee` integration lets you control and view sensor data from [ecobee](htt ## Preliminary Step -You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, you first need to register your thermostat which, should be done as part of the ecobee installation. Once you have done that, perform the following steps. +You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, your thermostat must be registered on ecobee's website (which you likely would have already done while installing your thermostat). Once you have done that, perform the following steps. 1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/developers/). 2. Log in with your ecobee credentials. @@ -69,7 +69,7 @@ api_key:

-[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. In the **Configuration** -> **Integrations** menu, hit **Configure** next to the discovered `ecobee` entry, and continue to authorize the App per the Integration menu instructions above. +[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. In the **Configuration** > **Integrations** menu, hit **Configure** next to the discovered `ecobee` entry, and continue to authorize the App per the Integration menu instructions above. The first time you (re)run Home Assistant with this integration it will give you a PIN code that you need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by clicking **Add Application** in the **My Apps** section in the sidebar. @@ -171,9 +171,9 @@ Creates a vacation on the selected ecobee thermostat. | `cool_temp` | no | Cooling temperature during the vacation | | `heat_temp` | no | Heating temperature during the vacation | | `start_date` | yes | Date the vacation starts in YYYY-MM-DD format | -| `start_time` | yes | Time the vacation starts, in the local time of the thermostat, in the 24-hour format HH:MM:SS | +| `start_time` | yes | Time the vacation starts in the local time zone. Must be in 24-hour format (HH:MM:SS) | | `end_date` | yes | Date the vacation ends in YYYY-MM-DD format (14 days from now if not provided) | -| `end_time` | yes | Time the vacation ends, in the local time of the thermostat, in the 24-hour format HH:MM:SS | +| `end_time` | yes | Time the vacation ends in the local time zone. Must be in 24-hour format (HH:MM:SS) | | `fan_mode` | yes | Fan mode of the thermostat during the vacation (auto or on) (auto if not provided) | | `fan_min_on_time` | yes | Minimum number of minutes to run the fan each hour (0 to 60) during the vacation (0 if not provided) | @@ -197,7 +197,7 @@ Resumes the currently active schedule. ### Service `ecobee.set_fan_min_on_time` -Sets the minimum amount of time that the fan will run. +Sets the minimum amount of time that the fan will run per hour. | Service data attribute | Optional | Description | | ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ | From 86516f2fd89564c956959b9740dde9312b876db5 Mon Sep 17 00:00:00 2001 From: J <49540618+Tediore@users.noreply.github.com> Date: Sat, 12 Oct 2019 15:38:02 -0500 Subject: [PATCH 101/289] Edit minor grammar issues and improve clarity (#10752) --- source/_integrations/vizio.markdown | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown index 07f855340b6..1d1fbccc8dd 100644 --- a/source/_integrations/vizio.markdown +++ b/source/_integrations/vizio.markdown @@ -1,6 +1,6 @@ --- title: "Vizio SmartCast Device" -description: "Instructions on how to integrate Vizio SmartCast TVs and Sound Bars into Home Assistant." +description: "Instructions on how to integrate Vizio SmartCast TVs and sound bars into Home Assistant." logo: vizio-smartcast.png ha_category: - Media Player @@ -8,11 +8,11 @@ ha_release: 0.49 ha_iot_class: Local Polling --- -The `vizio` integration will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs and Sound Bars (2016+ models). +The `vizio` integration allows you to control [SmartCast](https://www.vizio.com/smartcast-app)-compatible TVs and sound bars (2016+ models). ## Find your device -Install the command-line tool using `pip` (or you can choose to download it manually): +Install the command line tool using `pip` (or download it manually): ```bash $ pip3 install pyvizio @@ -35,11 +35,11 @@ Find your device using the following command: pyvizio --ip=0 discover ``` -and note it's IP address. If using your IP address by itself does not lead to success, you may need to append `:9000` or `:7345` to it when using it as a parameter in future commands. +and note its IP address. If using the IP address by itself does not work, you may need to append `:9000` or `:7345` to it when using it as a parameter in future commands. ## Pairing -Before adding your device to Home Assistant you may need to pair it manually. For a Sound Bar, it is unclear how the device would notify you of a valid auth token, so it's best to first skip the pairing process entirely, specify a `device_class` of `soundbar` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to get the auth token during this process. +Before adding your device to Home Assistant, you may need to pair it manually. In particular, it is unclear how a sound bar would notify you of a valid auth token. In this case, it might be best to first skip the pairing process entirely, specify a `device_class` of `soundbar` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to obtain the auth token during this process. To obtain an auth token, follow these steps: @@ -63,7 +63,7 @@ Initiation will show you two different values: | Challenge type | Usually it should be `"1"`. If not, use the additional parameter `--ch_type=your_type` in the next step | | Challenge token | Token required to finalize pairing in the next step | -Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing: +At this point, a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing: ```bash $ pyvizio --ip={ip} --device_type={device_type} pair-finish --token={challenge_token} --pin={pin} @@ -93,7 +93,7 @@ access_token: required: false type: string device_class: - description: The class of your device. Your choices are `tv` or `soundbar` + description: The class of your device. Valid options are `tv` or `soundbar` required: false type: string default: tv @@ -108,12 +108,12 @@ suppress_warning: ### Turning device on -If the `Power Mode` of your device is set to `Eco Mode`, turning the device ON won't work. +If the `Power Mode` of your device is set to `Eco Mode`, turning the device on won't work. ### Changing tracks -Changing tracks works like channels switching. If you have source other than regular TV it might end do nothing. +Changing tracks works like switching channels. If the current input is anything other than regular TV, this command might not do anything. ### Sources -Source list shows all external devices connected to the device through HDMI plus list of internal devices (TV mode, Chrome Cast, etc.). +The source list shows all external devices connected to the Vizio device through HDMI, plus a list of internal devices (TV mode, Chromecast, etc.) From 10dd668fc5250a76e068bca10a67c77fc8b4d0de Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 12 Oct 2019 22:50:13 +0200 Subject: [PATCH 102/289] =?UTF-8?q?=F0=9F=94=97=20Fix=20broken=20links=20(?= =?UTF-8?q?part=208)=20(#10740)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_integrations/qwikswitch.markdown | 2 +- source/_posts/2016-05-21-release-020.markdown | 3 +-- source/_posts/2017-09-09-release-53.markdown | 1 - source/_posts/2017-10-07-release-55.markdown | 2 +- source/_posts/2017-11-04-release-57.markdown | 3 +-- source/_posts/2017-11-18-release-58.markdown | 1 - source/_posts/2017-12-17-release-60.markdown | 2 +- source/_posts/2018-02-10-release-63.markdown | 2 +- source/_posts/2018-10-01-release-79.markdown | 7 ++----- source/_posts/2018-11-08-release-82.markdown | 3 +-- source/_posts/2019-01-09-release-85.markdown | 3 +-- source/_posts/2019-08-28-release-98.markdown | 1 - 12 files changed, 10 insertions(+), 20 deletions(-) diff --git a/source/_integrations/qwikswitch.markdown b/source/_integrations/qwikswitch.markdown index 7bda4c69d7b..d5acc814df9 100644 --- a/source/_integrations/qwikswitch.markdown +++ b/source/_integrations/qwikswitch.markdown @@ -80,7 +80,7 @@ sensors: default: false type: string class: - description: The [class](components/binary_sensor) or binary_sensor. Only applicable to binary_sensors. + description: The [class](/integrations/binary_sensor/#device-class) or binary_sensor. Only applicable to binary_sensors. required: false default: door type: string diff --git a/source/_posts/2016-05-21-release-020.markdown b/source/_posts/2016-05-21-release-020.markdown index 21b3319391f..ab894fddc31 100644 --- a/source/_posts/2016-05-21-release-020.markdown +++ b/source/_posts/2016-05-21-release-020.markdown @@ -25,7 +25,7 @@ Tons of new supported things in 0.20. - Configurator: allow supplying a link to the user ([@mnestor]) - Media Player: [Roku] now supported ([@bah2830]) - Sensor: [Last.fm] now supported ([@darookee], [@GreenTurtwig]) -- Notify: Amazon Lambda, [SNS], SQS now supported ([@robbiet480]) +- Notify: Amazon Lambda, SNS, SQS now supported ([@robbiet480]) - Light: allow human readable colors in turn_on command ([@robbiet480]) - YAML: new include dir options [`!include_dir_merge_list`] and [`!include_dir_merge_named`] ([@happyleavesaoc]) - Media Player: [LG Netcast TVs] now supported ([@wokar]) @@ -75,7 +75,6 @@ device_tracker: [Nest Protect]: /integrations/nest#sensor [purge days option]: /integrations/recorder/ [Roku]: /integrations/roku#media-player -[SNS]: /integrations/notify.aws_sns/ [supervisord]: /integrations/supervisord [Twilio SMS]: /integrations/twilio_sms [Last.fm]: /integrations/lastfm diff --git a/source/_posts/2017-09-09-release-53.markdown b/source/_posts/2017-09-09-release-53.markdown index 80dc891e302..d0c05471051 100644 --- a/source/_posts/2017-09-09-release-53.markdown +++ b/source/_posts/2017-09-09-release-53.markdown @@ -365,7 +365,6 @@ frontend: [climate.knx docs]: /integrations/climate.knx/ [cloud docs]: /integrations/cloud/ [cloud.cloud_api docs]: /integrations/cloud.cloud_api/ -[cloud.const docs]: /integrations/cloud.const/ [cloud.util docs]: /integrations/cloud.util/ [config docs]: /integrations/config/ [config.customize docs]: /integrations/config.customize/ diff --git a/source/_posts/2017-10-07-release-55.markdown b/source/_posts/2017-10-07-release-55.markdown index ba5cdc2c9ff..ecf114145a2 100644 --- a/source/_posts/2017-10-07-release-55.markdown +++ b/source/_posts/2017-10-07-release-55.markdown @@ -344,7 +344,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [media_player.webostv docs]: /integrations/webostv#media-player [media_player.yamaha_musiccast docs]: /integrations/yamaha_musiccast/ [mqtt_statestream docs]: /integrations/mqtt_statestream/ -[notify.clicksendaudio docs]: /integrations/clicksendaudio/ +[notify.clicksendaudio docs]: /integrations/clicksend_tts/ [notify.discord docs]: /integrations/discord [notify.facebook docs]: /integrations/facebook [notify.simplepush docs]: /integrations/simplepush diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown index 27bb1bcf342..08a7e03b44b 100644 --- a/source/_posts/2017-11-04-release-57.markdown +++ b/source/_posts/2017-11-04-release-57.markdown @@ -213,7 +213,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Add Sytadin Traffic component ([@gautric] - [#9524]) (new-platform) - media_title property now returns current source ([@etsinko] - [#10120]) ([media_player.monoprice docs]) - Added new Clickatell SMS messaging Notify Platform ([@davlloyd] - [#9775]) ([notify.clickatell docs]) (new-platform) -- update boto3 to 1.4.7 and botocore to 1.7.34 ([@TopdRob] - [#10121]) (notify.aws_lambda docs) ([notify.aws_sns docs]) (notify.aws_sqs docs) ([tts.amazon_polly docs]) +- update boto3 to 1.4.7 and botocore to 1.7.34 ([@TopdRob] - [#10121]) ([tts.amazon_polly docs]) - Add Random binary sensor ([@fabaff] - [#10164]) ([binary_sensor.random docs]) (new-platform) - Add clickatell ([@fabaff] - [#10199]) - Update CODEOWNERS ([@ggravlingen] - [#10198]) @@ -586,7 +586,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [mqtt_statestream docs]: /integrations/mqtt_statestream/ [namecheapdns docs]: /integrations/namecheapdns/ [no_ip docs]: /integrations/no_ip/ -[notify.aws_sns docs]: /integrations/notify.aws_sns/ [notify.clickatell docs]: /integrations/clickatell [notify.sendgrid docs]: /integrations/sendgrid [notify.yessssms docs]: /integrations/yessssms diff --git a/source/_posts/2017-11-18-release-58.markdown b/source/_posts/2017-11-18-release-58.markdown index c1dab98e57d..8d349a0d9af 100644 --- a/source/_posts/2017-11-18-release-58.markdown +++ b/source/_posts/2017-11-18-release-58.markdown @@ -397,7 +397,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [climate.knx docs]: /integrations/climate.knx/ [climate.wink docs]: /integrations/wink#climate [cloud docs]: /integrations/cloud/ -[cloud.const docs]: /integrations/cloud.const/ [config.zwave docs]: /integrations/config.zwave/ [configurator docs]: /integrations/configurator/ [counter docs]: /integrations/counter/ diff --git a/source/_posts/2017-12-17-release-60.markdown b/source/_posts/2017-12-17-release-60.markdown index 4ef21ba38d5..5f1c4dede42 100644 --- a/source/_posts/2017-12-17-release-60.markdown +++ b/source/_posts/2017-12-17-release-60.markdown @@ -315,7 +315,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [climate.generic_thermostat docs]: /integrations/generic_thermostat [climate.tado docs]: /integrations/tado [cloud docs]: /integrations/cloud/ -[cloud.const docs]: /integrations/cloud.const/ +[cloud.const docs]: /integrations/cloud/ [config.automation docs]: /integrations/config.automation/ [cover.tellstick docs]: /integrations/tellstick#cover [device_tracker docs]: /integrations/device_tracker/ diff --git a/source/_posts/2018-02-10-release-63.markdown b/source/_posts/2018-02-10-release-63.markdown index fe695202524..bf4ffa649a2 100644 --- a/source/_posts/2018-02-10-release-63.markdown +++ b/source/_posts/2018-02-10-release-63.markdown @@ -651,7 +651,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [@citruz]: https://github.com/citruz [@sdague]: https://github.com/sdague [light.limitlessled docs]: /integrations/limitlessled -[media_player.yamaha docs]: /integrations/yamah +[media_player.yamaha docs]: /integrations/yamaha [sensor.eddystone_temperature docs]: /integrations/eddystone_temperature [sensor.wunderground docs]: /integrations/wunderground [#12392]: https://github.com/home-assistant/home-assistant/pull/12392 diff --git a/source/_posts/2018-10-01-release-79.markdown b/source/_posts/2018-10-01-release-79.markdown index 676e2b71871..d4272a92b6d 100644 --- a/source/_posts/2018-10-01-release-79.markdown +++ b/source/_posts/2018-10-01-release-79.markdown @@ -47,7 +47,7 @@ Oh, and yes, there is also some cool new integrations. Support has been added fo ## New Platforms - Add Huawei LTE router platform, device tracker, and sensor ([@scop] - [#16498]) ([device_tracker docs]) ([huawei_lte docs]) ([sensor.huawei_lte docs]) (new-platform) -- New EDP re:dy component ([@abmantis] - [#16426]) ([edp_redy docs]) ([sensor.edp_redy docs]) ([switch.edp_redy docs]) (new-platform) +- New EDP re:dy component ([@abmantis] - [#16426]) (new-platform) - Jewish calendar sensor ([@tsvi] - [#16393]) ([sensor.jewish_calendar docs]) (new-platform) - Added support for Starling Bank ([@Dullage] - [#16522]) ([sensor.starlingbank docs]) (new-platform) - Add Call Data Log platform. Mailboxes no longer require media ([@PhracturedBlue] - [#16579]) ([asterisk_mbox docs]) ([mailbox docs]) ([mailbox.asterisk_cdr docs]) ([mailbox.asterisk_mbox docs]) (new-platform) @@ -172,7 +172,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Update developer doc links to developers.home-assistant.io ([@scop] - [#16622]) ([websocket_api docs]) - Add valid_window=1 to TOTP verify ([@awarecan] - [#16625]) - Add new devices to HomematicIP Cloud ([@mxworm] - [#16636]) ([binary_sensor.homematicip_cloud docs]) ([sensor.homematicip_cloud docs]) -- New EDP re:dy component ([@abmantis] - [#16426]) ([edp_redy docs]) ([sensor.edp_redy docs]) ([switch.edp_redy docs]) (new-platform) +- New EDP re:dy component ([@abmantis] - [#16426]) (new-platform) - Upgrade Switchmate lib ([@Danielhiversen] - [#16637]) ([switch.switchmate docs]) - Update pyhomematic to 0.1.49 ([@danielperna84] - [#16649]) ([homematic docs]) - Upgrade holidays to 0.9.7 ([@fabaff] - [#16651]) ([binary_sensor.workday docs]) @@ -486,7 +486,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [deconz docs]: /integrations/deconz/ [device_tracker docs]: /integrations/device_tracker/ [ecovacs docs]: /integrations/ecovacs/ -[edp_redy docs]: /integrations/edp_redy/ [fan.zha docs]: /integrations/zha [geo_location docs]: /integrations/geo_location/ [google_assistant docs]: /integrations/google_assistant/ @@ -527,7 +526,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.airvisual docs]: /integrations/airvisual [sensor.deconz docs]: /integrations/deconz#sensor [sensor.dyson docs]: /integrations/dyson#sensor -[sensor.edp_redy docs]: /integrations/sensor.edp_redy/ [sensor.homematicip_cloud docs]: /integrations/homematicip_cloud/ [sensor.huawei_lte docs]: /integrations/huawei_lte#sensor [sensor.ios docs]: /integrations/sensor.ios/ @@ -556,7 +554,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [spc docs]: /integrations/spc/ [switch.broadlink docs]: /integrations/broadlink#switch [switch.deconz docs]: /integrations/deconz#switch -[switch.edp_redy docs]: /integrations/switch.edp_redy/ [switch.konnected docs]: /integrations/konnected#switch [switch.mqtt docs]: /integrations/switch.mqtt/ [switch.switchmate docs]: /integrations/switchmate diff --git a/source/_posts/2018-11-08-release-82.markdown b/source/_posts/2018-11-08-release-82.markdown index 7649419d29b..1f95b61a1a3 100644 --- a/source/_posts/2018-11-08-release-82.markdown +++ b/source/_posts/2018-11-08-release-82.markdown @@ -45,7 +45,7 @@ And we have one more thing… we have soft-forked Open Z-Wave and have added sup - cancel off_delay action ([@dgomes] - [#18389]) ([binary_sensor.mqtt docs]) - Changed checking of cover state closed from 0 to closed_position variable. ([@pszafer] - [#18407]) ([cover.mqtt docs]) - updated pydaikin version ([@fredrike] - [#18413]) ([daikin docs]) ([climate.daikin docs]) -- edp_redy: increase UPDATE_INTERVAL ([@abmantis] - [#18429]) ([edp_redy docs]) +- edp_redy: increase UPDATE_INTERVAL ([@abmantis] - [#18429]) - Update pyozw to 0.1.1 ([@pvizeli] - [#18436]) ([zwave docs]) - Fix AsusWRT ([@kennedyshead] - [#18400]) @@ -72,7 +72,6 @@ And we have one more thing… we have soft-forked Open Z-Wave and have added sup [climate.daikin docs]: /integrations/daikin#climate [cover.mqtt docs]: /integrations/cover.mqtt/ [daikin docs]: /integrations/daikin/ -[edp_redy docs]: /integrations/edp_redy/ [image_processing.tensorflow docs]: /integrations/tensorflow [notify docs]: /integrations/notify/ [sense docs]: /integrations/sense/ diff --git a/source/_posts/2019-01-09-release-85.markdown b/source/_posts/2019-01-09-release-85.markdown index 4c9e9ff3854..e34cb14c9bf 100644 --- a/source/_posts/2019-01-09-release-85.markdown +++ b/source/_posts/2019-01-09-release-85.markdown @@ -122,7 +122,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Fix the Xiaomi Aqara Cube rotate event of the LAN protocol 2.0 (Closes: #18199) ([@syssi] - [#19104]) ([binary_sensor.xiaomi_aqara docs]) - Upgrade Mill library ([@Danielhiversen] - [#19117]) ([climate.mill docs]) - Add Philips Moonlight Bedside Lamp support ([@syssi] - [#18496]) ([light.xiaomi_miio docs]) -- update edp_redy version ([@abmantis] - [#19078]) ([edp_redy docs]) +- update edp_redy version ([@abmantis] - [#19078]) - Update Google Assistant services description and request sync timeout ([@edif30] - [#19113]) - Fixed doorbird config without events (empty list) ([@basschipper] - [#19121]) ([doorbird docs]) - Add code support for iAlarm ([@RyuzakiKK] - [#19124]) ([alarm_control_panel.ialarm docs]) @@ -764,7 +764,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [demo docs]: /integrations/demo/ [device_tracker docs]: /integrations/device_tracker/ [doorbird docs]: /integrations/doorbird/ -[edp_redy docs]: /integrations/edp_redy/ [eight_sleep docs]: /integrations/eight_sleep/ [envisalink docs]: /integrations/envisalink/ [esphome docs]: /integrations/esphome/ diff --git a/source/_posts/2019-08-28-release-98.markdown b/source/_posts/2019-08-28-release-98.markdown index 9332fded082..1a83a6e67d2 100644 --- a/source/_posts/2019-08-28-release-98.markdown +++ b/source/_posts/2019-08-28-release-98.markdown @@ -793,7 +793,6 @@ anymore. - ([@abmantis] - [#25971]) [dialogflow docs]: /integrations/dialogflow/ [dsmr docs]: /integrations/dsmr/ [ecobee docs]: /integrations/ecobee/ -[edp_redy docs]: /integrations/edp_redy/ [emulated_hue docs]: /integrations/emulated_hue/ [environment_canada docs]: /integrations/environment_canada/ [eq3btsmart docs]: /integrations/eq3btsmart/ From 3758a4cf3a5078ffbf819b8f2f6e957ddde3eadb Mon Sep 17 00:00:00 2001 From: Peter Nijssen Date: Sat, 12 Oct 2019 23:37:17 +0200 Subject: [PATCH 103/289] replace broken blockquotes with italic (#10754) --- source/_integrations/dialogflow.markdown | 20 ++++++++++---------- source/_integrations/snips.markdown | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/source/_integrations/dialogflow.markdown b/source/_integrations/dialogflow.markdown index dcbf52bcd44..39634189b37 100644 --- a/source/_integrations/dialogflow.markdown +++ b/source/_integrations/dialogflow.markdown @@ -15,17 +15,17 @@ Dialogflow could be [integrated](https://dialogflow.com/docs/integrations/) with Using Dialogflow will be easy to create conversations like: - > User: What is the temperature at home? - > - > Bot: The temperature is 34 degrees +_User: What is the temperature at home?_ - > User: Turn on the light - > - > Bot: In which room? - > - > User: In the kitchen - > - > Bot: Turning on kitchen light +_Bot: The temperature is 34 degrees_ + +_User: Turn on the light_ + +_Bot: In which room?_ + +_User: In the kitchen_ + +_Bot: Turning on kitchen light_ To use this integration, you should define a conversation (intent) in Dialogflow, configure Home Assistant with the speech to return and, optionally, the action to execute. diff --git a/source/_integrations/snips.markdown b/source/_integrations/snips.markdown index 2abfa970b4c..ebcc67f9548 100644 --- a/source/_integrations/snips.markdown +++ b/source/_integrations/snips.markdown @@ -81,11 +81,11 @@ sudo systemctl start "snips-*" Snips is now ready to take voice commands from the microphone. To trigger the listening, simply say -> Hey Snips +_Hey Snips_ followed by a command, e.g. -> Set the lights to green in the living room +_Set the lights to green in the living room_ As the Snips Platform parses this query into an intent, it will be published on MQTT, on the `hermes/intent/` topic. The Snips Home Assistant integration subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml` file, as explained below. From 915def2c113558ed2e5ad399b157ef438d7d57f8 Mon Sep 17 00:00:00 2001 From: Alok Saboo Date: Sat, 12 Oct 2019 17:52:29 -0400 Subject: [PATCH 104/289] Fix misc typos (#10753) * fix typos * More typos --- source/_addons/dhcp_server.markdown | 2 +- .../certificates/tls_domain_certificate.markdown | 4 ++-- source/_integrations/asterisk_mbox.markdown | 2 +- source/_integrations/concord232.markdown | 2 +- source/_integrations/emulated_roku.markdown | 2 +- source/_integrations/flux_led.markdown | 2 +- source/_integrations/fritzbox_netmonitor.markdown | 2 +- source/_integrations/hangouts.markdown | 6 +++--- source/_integrations/lightwave.markdown | 2 +- source/_integrations/remote_rpi_gpio.markdown | 8 ++++---- source/_integrations/tplink.markdown | 2 +- source/_integrations/wemo.markdown | 4 ++-- source/_integrations/worxlandroid.markdown | 2 +- source/_integrations/xiaomi.markdown | 2 +- source/_posts/2018-03-30-release-66.markdown | 2 +- source/_posts/2018-04-14-release-67.markdown | 2 +- source/_posts/2018-06-04-esphomelib.markdown | 2 +- source/_posts/2019-03-13-release-89.markdown | 4 ++-- 18 files changed, 26 insertions(+), 26 deletions(-) diff --git a/source/_addons/dhcp_server.markdown b/source/_addons/dhcp_server.markdown index f3b8a0eb961..8a19901d0b9 100644 --- a/source/_addons/dhcp_server.markdown +++ b/source/_addons/dhcp_server.markdown @@ -86,7 +86,7 @@ hosts: required: true type: string ip: - description: Fix ip address for device. + description: Fix IP address for device. required: true type: string {% endconfiguration %} diff --git a/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown b/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown index 4ecb0bf29c8..dfe03dd62d8 100644 --- a/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown +++ b/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown @@ -48,12 +48,12 @@ Press Enter to Continue If your router uses DNSMasq (for example DDWRT) add the following line to DNSMasq options: ```text -address=/mydomain.com/ +address=/mydomain.com/ ``` ### Edit your Home Assistant configuration to use your certificates -The [`http`](/integrations/http/) section must contain the full path to the needed files. +The [`http`](/integrations/http/) section must contain the full path to the needed files. ```yaml http: diff --git a/source/_integrations/asterisk_mbox.markdown b/source/_integrations/asterisk_mbox.markdown index 31a8f5ab2ae..7c702b3a58f 100644 --- a/source/_integrations/asterisk_mbox.markdown +++ b/source/_integrations/asterisk_mbox.markdown @@ -34,7 +34,7 @@ password: required: true type: string host: - description: The ip-address of the server that is running the Asterisk PBX + description: The IP-address of the server that is running the Asterisk PBX required: true type: string port: diff --git a/source/_integrations/concord232.markdown b/source/_integrations/concord232.markdown index 80ef881b4bf..d785bbdea6d 100644 --- a/source/_integrations/concord232.markdown +++ b/source/_integrations/concord232.markdown @@ -43,7 +43,7 @@ code: required: false type: string mode: - description: audible/silent if defined, specifies wether Alarm Panel should be audible or silent when armed in Home Mode. + description: audible/silent if defined, specifies whether Alarm Panel should be audible or silent when armed in Home Mode. required: false type: string default: audible diff --git a/source/_integrations/emulated_roku.markdown b/source/_integrations/emulated_roku.markdown index 46a2f87700e..5f0c7a46728 100644 --- a/source/_integrations/emulated_roku.markdown +++ b/source/_integrations/emulated_roku.markdown @@ -23,7 +23,7 @@ Windows is not supported because Home Assistant uses `ProactorEventLoop` which d This integration opens an unauthenticated API on the host, allowing anything on the local network to access your Home Assistant instance through the automations you create with emulated Roku as the trigger. -Using a proxy with whitelisted IP addresses is recommended. (set `advertise_ip` to the proxy's ip or DNS name) +Using a proxy with whitelisted IP addresses is recommended. (set `advertise_ip` to the proxy's IP or DNS name) diff --git a/source/_integrations/flux_led.markdown b/source/_integrations/flux_led.markdown index d5fae9524c1..edc02e1ae93 100644 --- a/source/_integrations/flux_led.markdown +++ b/source/_integrations/flux_led.markdown @@ -41,7 +41,7 @@ automatic_add: default: false type: boolean devices: - description: A list of devices with their ip address. + description: A list of devices with their IP address. required: false type: list keys: diff --git a/source/_integrations/fritzbox_netmonitor.markdown b/source/_integrations/fritzbox_netmonitor.markdown index 8d4feec89ba..bf841ec1c1c 100644 --- a/source/_integrations/fritzbox_netmonitor.markdown +++ b/source/_integrations/fritzbox_netmonitor.markdown @@ -43,7 +43,7 @@ The following statistics will be exposed as attributes. |is_linked |True if the FritzBox is physically linked to the provider | |is_connected |True if the FritzBox has established an internet-connection | |wan_access_type |Connection-type, can be `DSL` or `Cable` | -|external_ip |External ip address | +|external_ip |External IP address | |uptime |Uptime in seconds | |bytes_sent |Bytes sent | |bytes_received |Bytes received | diff --git a/source/_integrations/hangouts.markdown b/source/_integrations/hangouts.markdown index 970c177dedf..b21e4819208 100644 --- a/source/_integrations/hangouts.markdown +++ b/source/_integrations/hangouts.markdown @@ -17,7 +17,7 @@ There is currently support for the following device types within Home Assistant: ## Setup the integration via the frontend Menu: *Configuration* -> *Integrations* - + Configure the integration: * Enter your **Google Mail Address** and **Password** * In the authentication form there is an Optional Field: **Authorization Code** which should only be used if you get an invalid login error with email and password (see note below for details). @@ -225,9 +225,9 @@ Reconnects the hangouts bot. ## Advanced -### Automatic reconnect after ip change +### Automatic reconnect after IP change -The hangouts integration can't detect if your ip address changes, so it can't automatic reconnect to the Google servers. This is a workaround for this problem. +The hangouts integration can't detect if your IP address changes, so it can't automatic reconnect to the Google servers. This is a workaround for this problem. {% raw %} diff --git a/source/_integrations/lightwave.markdown b/source/_integrations/lightwave.markdown index 08e2e70caca..393cb671659 100644 --- a/source/_integrations/lightwave.markdown +++ b/source/_integrations/lightwave.markdown @@ -37,7 +37,7 @@ lightwave: name: Torch socket ``` -Where `192.168.1.2` is the ip address of your Lightwave hub. +Where `192.168.1.2` is the IP address of your Lightwave hub. Each `switch` or `light` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number. `lights` and `switches` are optional but one of these must be present. diff --git a/source/_integrations/remote_rpi_gpio.markdown b/source/_integrations/remote_rpi_gpio.markdown index f3fe6b23129..b4e40e7d975 100644 --- a/source/_integrations/remote_rpi_gpio.markdown +++ b/source/_integrations/remote_rpi_gpio.markdown @@ -6,15 +6,15 @@ ha_category: - DIY - Binary Sensor - Switch -ha_release: 0.94 +ha_release: 0.94 ha_iot_class: Local Push --- -The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. For the platform configurations, please check their corresponding sections. +The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. For the platform configurations, please check their corresponding sections. The remote RPi and the control computer where Home Assistant is running must be prepared to run remote_rpi_gpio, see details [here](https://gpiozero.readthedocs.io/en/stable/remote_gpio.html). -Note that for virtual environments you may need to set an environment variable when starting the environment to set the pin factory, example: +Note that for virtual environments you may need to set an environment variable when starting the environment to set the pin factory, example: `Environment = GPIOZERO_PIN_FACTORY=pigpio PIGPIO_ADDR=YOUR_RPi_IP_ADDRESS` @@ -122,4 +122,4 @@ switch: ### Troubleshooting -If you receive an error such as `gpiozero.exc.BadPinFactory: Unable to load any default pin factory!` try changing the pinfactory from `pigpio` to `mock`, this adresses a [known issue](https://www.raspberrypi.org/forums/viewtopic.php?p=1417922). +If you receive an error such as `gpiozero.exc.BadPinFactory: Unable to load any default pin factory!` try changing the pinfactory from `pigpio` to `mock`, this addresses a [known issue](https://www.raspberrypi.org/forums/viewtopic.php?p=1417922). diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index 1348c36adf8..b2da28f417f 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -197,4 +197,4 @@ For Archer C9 models running firmware version 150811 or later please use the enc See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked. -For Archer D9 model the default ip is 192.168.1.1, the username is not necessary and you can leave that field blank. \ No newline at end of file +For Archer D9 model the default IP is 192.168.1.1, the username is not necessary and you can leave that field blank. diff --git a/source/_integrations/wemo.markdown b/source/_integrations/wemo.markdown index 3b934d18df5..e14a970ad19 100644 --- a/source/_integrations/wemo.markdown +++ b/source/_integrations/wemo.markdown @@ -30,7 +30,7 @@ There is currently support for the following device types within Home Assistant: type: boolean default: true static: - description: One or more static IP adresses for WeMo to use + description: One or more static IP addresses for WeMo to use required: false type: list {% endconfiguration %} @@ -103,4 +103,4 @@ There are several services which can be used for automations and control of the | `turn_off` | Calling this service will turn the humidifier off (entity_id is required). | `turn_on` | Calling this service will turn the humidifier on and set the speed to the last used speed (defaults to medium, entity_id is required). | `wemo_set_humidity` | Calling this service will set the desired relative humidity setting on the device (entity_id is a required list of 1 or more entities to set humidity on, and target_humidity is a required float value between 0 and 100 (this value will be rounded down and mapped to one of the valid desired humidity settings of 45, 50, 55, 60, or 100 that are supported by the WeMo humidifier)). -| `wemo_reset_filter_life` | Calling this service will reset the humdifier's filter life back to 100% (entity_id is a required list of 1 or more entities to reset the filter life on). Call this service when you change the filter on your humidifier. \ No newline at end of file +| `wemo_reset_filter_life` | Calling this service will reset the humdifier's filter life back to 100% (entity_id is a required list of 1 or more entities to reset the filter life on). Call this service when you change the filter on your humidifier. diff --git a/source/_integrations/worxlandroid.markdown b/source/_integrations/worxlandroid.markdown index acd2aaf1805..43443c9d00b 100644 --- a/source/_integrations/worxlandroid.markdown +++ b/source/_integrations/worxlandroid.markdown @@ -22,7 +22,7 @@ sensor: {% configuration %} host: - description: The ip address or host name of the mower. + description: The IP address or host name of the mower. required: true type: string pin: diff --git a/source/_integrations/xiaomi.markdown b/source/_integrations/xiaomi.markdown index 0ff19263a7c..b1440866c1d 100644 --- a/source/_integrations/xiaomi.markdown +++ b/source/_integrations/xiaomi.markdown @@ -112,7 +112,7 @@ camera: ``` ## Hostname template -The hostname/ip address can be provided either a value or from the existing entity attributes. +The hostname/IP address can be provided either a value or from the existing entity attributes. ```yaml camera: diff --git a/source/_posts/2018-03-30-release-66.markdown b/source/_posts/2018-03-30-release-66.markdown index 54616c14a92..8a16136aadb 100644 --- a/source/_posts/2018-03-30-release-66.markdown +++ b/source/_posts/2018-03-30-release-66.markdown @@ -52,7 +52,7 @@ Experiencing issues introduced by this release? Please report them in our [issue ## Breaking Changes -- Refactor Hue: If you specify a bridge in your config, the `host` key is now required and needs to be a valid ip address. Option `allow_in_emulated_hue` has been removed. Exclude the lights via the emulated hue config. Due to the internal changes of how the Hue integration works, any Hue custom component will no longer work. ([@balloob] - [#13043]) ([hue docs]) ([light.hue docs]) (breaking change) +- Refactor Hue: If you specify a bridge in your config, the `host` key is now required and needs to be a valid IP address. Option `allow_in_emulated_hue` has been removed. Exclude the lights via the emulated hue config. Due to the internal changes of how the Hue integration works, any Hue custom component will no longer work. ([@balloob] - [#13043]) ([hue docs]) ([light.hue docs]) (breaking change) - Z-Wave: In version 0.47, the opt-in `new_entity_ids` configuration was added to Z-Wave to smooth the transition through the change. Support for old entity IDs is now removed, and the configuration is no longer necessary. If you are migrating from 0.63 or higher, your entity IDs will already be stored in the Entity Registry and no changes are required. If not, entity IDs can now be manually configured using the Entity Registry if necessary. ([@armills] - [#12652]) ([zwave docs]) (breaking change) - Spotcrime sensor: This update changes the sensor to require a user supplied API key as a configuration entry. The default key has been removed from the Spotcrime package and has also been modified to accept a user supplied API key.([@jcconnell] - [#12926]) ([sensor.spotcrime docs]) (breaking change) - Smappee sensor: Fixed SI units for current consumption. Total consumption should be in kWh. not kW. ([@vandenberghev] - [#13190]) ([sensor.smappee docs]) (breaking change) diff --git a/source/_posts/2018-04-14-release-67.markdown b/source/_posts/2018-04-14-release-67.markdown index 6dc2a8690c7..a93cb1c8f09 100644 --- a/source/_posts/2018-04-14-release-67.markdown +++ b/source/_posts/2018-04-14-release-67.markdown @@ -148,7 +148,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Support color temperature in Homekit ([@morberg] - [#13658]) ([homekit docs]) - Remove unused CONF_WATCHERS ([@robmarkcole] - [#13678]) ([folder_watcher docs]) - Add media type separation for video/movie ([@tadly] - [#13612]) (breaking change) -- Adding configration to disable ip address as a requirement Fixes: #13399 ([@PlanetJ] - [#13692]) ([device_tracker docs]) +- Adding configuration to disable IP address as a requirement Fixes: #13399 ([@PlanetJ] - [#13692]) ([device_tracker docs]) - Tahoma switches ([@ikucuze] - [#13636]) ([tahoma docs]) ([switch.tahoma docs]) (new-platform) - Send XY color for non-osram hue bulbs ([@armills] - [#13665]) ([light.hue docs]) - Update AbodePy version to 0.12.3 ([@MisterWil] - [#13709]) ([abode docs]) diff --git a/source/_posts/2018-06-04-esphomelib.markdown b/source/_posts/2018-06-04-esphomelib.markdown index f357a0f43ae..73b4e94e19e 100644 --- a/source/_posts/2018-06-04-esphomelib.markdown +++ b/source/_posts/2018-06-04-esphomelib.markdown @@ -67,7 +67,7 @@ switch: name: "Living Room Dehumidifer" pin: GPIO5 ``` -If you now press upload again (this time the ESP doesn't need to be connected via USB, as updates [can be done over WiFi](https://esphomelib.com/esphomeyaml/integrations/ota.html)), you will see a switch show up in Home Assisstant automatically through [MQTT discovery](/docs/mqtt/discovery/). +If you now press upload again (this time the ESP doesn't need to be connected via USB, as updates [can be done over WiFi](https://esphomelib.com/esphomeyaml/integrations/ota.html)), you will see a switch show up in Home Assistant automatically through [MQTT discovery](/docs/mqtt/discovery/).

Date: Sat, 12 Oct 2019 20:14:20 -0700 Subject: [PATCH 105/289] Release 100.2 --- _config.yml | 4 +-- source/_posts/2019-10-10-release-100.markdown | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index a7c36a013ba..e97eb763572 100644 --- a/_config.yml +++ b/_config.yml @@ -101,8 +101,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 100 -current_patch_version: 1 -date_released: 2019-10-10 +current_patch_version: 2 +date_released: 2019-10-12 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_posts/2019-10-10-release-100.markdown b/source/_posts/2019-10-10-release-100.markdown index e3025f84476..227b45b7a75 100644 --- a/source/_posts/2019-10-10-release-100.markdown +++ b/source/_posts/2019-10-10-release-100.markdown @@ -138,6 +138,36 @@ As always, this release of Home Assistant is accompanied with a new release of t - Fix build not succeeding [@bramkragten] +## Release 0.100.2 - October 12 + +- Vangorra withings fix ([@vangorra] - [#27404]) ([withings docs]) +- Bump python-songpal ([@rytilahti] - [#27398]) ([songpal docs]) +- bump songpal to fix attrs usage when using its most recent version ([@rytilahti] - [#27410]) ([songpal docs]) +- iaqualink: set 5s timeout, use cookiejar defaults ([@flz] - [#27426]) ([iaqualink docs]) +- Add mobile_app dependency on cloud ([@uSpike] - [#27470]) ([mobile_app docs]) +- Fix for unknown sensor state ([@marthoc] - [#27542]) ([ecobee docs]) +- Google: catch query not supported ([@balloob] - [#27559]) ([google_assistant docs]) + +[#27398]: https://github.com/home-assistant/home-assistant/pull/27398 +[#27404]: https://github.com/home-assistant/home-assistant/pull/27404 +[#27410]: https://github.com/home-assistant/home-assistant/pull/27410 +[#27426]: https://github.com/home-assistant/home-assistant/pull/27426 +[#27470]: https://github.com/home-assistant/home-assistant/pull/27470 +[#27542]: https://github.com/home-assistant/home-assistant/pull/27542 +[#27559]: https://github.com/home-assistant/home-assistant/pull/27559 +[@balloob]: https://github.com/balloob +[@flz]: https://github.com/flz +[@marthoc]: https://github.com/marthoc +[@rytilahti]: https://github.com/rytilahti +[@uspike]: https://github.com/uSpike +[@vangorra]: https://github.com/vangorra +[ecobee docs]: /integrations/ecobee/ +[google_assistant docs]: /integrations/google_assistant/ +[iaqualink docs]: /integrations/iaqualink/ +[mobile_app docs]: /integrations/mobile_app/ +[songpal docs]: /integrations/songpal/ +[withings docs]: /integrations/withings/ + ## 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). From 1db90dfe14ec092a656e2a8d085328bc7a398138 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 12 Oct 2019 20:28:21 -0700 Subject: [PATCH 106/289] Add one more fix --- source/_posts/2019-10-10-release-100.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_posts/2019-10-10-release-100.markdown b/source/_posts/2019-10-10-release-100.markdown index 227b45b7a75..7dab14ca73a 100644 --- a/source/_posts/2019-10-10-release-100.markdown +++ b/source/_posts/2019-10-10-release-100.markdown @@ -147,15 +147,18 @@ As always, this release of Home Assistant is accompanied with a new release of t - Add mobile_app dependency on cloud ([@uSpike] - [#27470]) ([mobile_app docs]) - Fix for unknown sensor state ([@marthoc] - [#27542]) ([ecobee docs]) - Google: catch query not supported ([@balloob] - [#27559]) ([google_assistant docs]) +- Fixing nzbget units display ([@chriscla] - [#27521]) ([nzbget docs]) [#27398]: https://github.com/home-assistant/home-assistant/pull/27398 [#27404]: https://github.com/home-assistant/home-assistant/pull/27404 [#27410]: https://github.com/home-assistant/home-assistant/pull/27410 [#27426]: https://github.com/home-assistant/home-assistant/pull/27426 [#27470]: https://github.com/home-assistant/home-assistant/pull/27470 +[#27521]: https://github.com/home-assistant/home-assistant/pull/27521 [#27542]: https://github.com/home-assistant/home-assistant/pull/27542 [#27559]: https://github.com/home-assistant/home-assistant/pull/27559 [@balloob]: https://github.com/balloob +[@chriscla]: https://github.com/chriscla [@flz]: https://github.com/flz [@marthoc]: https://github.com/marthoc [@rytilahti]: https://github.com/rytilahti @@ -165,6 +168,7 @@ As always, this release of Home Assistant is accompanied with a new release of t [google_assistant docs]: /integrations/google_assistant/ [iaqualink docs]: /integrations/iaqualink/ [mobile_app docs]: /integrations/mobile_app/ +[nzbget docs]: /integrations/nzbget/ [songpal docs]: /integrations/songpal/ [withings docs]: /integrations/withings/ From 6d6aa54a975bd6b0c40c17a5cb21f46edf60d5f1 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sun, 13 Oct 2019 10:38:53 +0200 Subject: [PATCH 107/289] =?UTF-8?q?=F0=9F=94=97=20Fixing=20some=20more=20b?= =?UTF-8?q?roken=20links=20(#10742)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fixing broken links * 🔗 Fixing broken links --- source/_integrations/spotcrime.markdown | 2 +- source/_integrations/telegram.markdown | 2 +- source/_integrations/touchline.markdown | 2 +- .../2015-10-26-firetv-and-radiotherm-now-supported.markdown | 2 +- .../2015-12-13-setup-encryption-using-lets-encrypt.markdown | 2 +- .../_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown | 2 +- .../2016-01-17-extended-support-for-diy-solutions.markdown | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/_integrations/spotcrime.markdown b/source/_integrations/spotcrime.markdown index dab9f838d3d..0da27a6431d 100644 --- a/source/_integrations/spotcrime.markdown +++ b/source/_integrations/spotcrime.markdown @@ -9,7 +9,7 @@ ha_iot_class: Cloud Polling SpotCrime is no longer handing out API keys to integrate their services. -The `spotcrime` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Spot Crime](http://spotcrime.com). Your regional emergency services may or may not report data. The sensor defaults to counting incidents within one day, but can be customized via configuration.yaml. +The `spotcrime` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Spot Crime](https://www.spotcrime.info). Your regional emergency services may or may not report data. The sensor defaults to counting incidents within one day, but can be customized via configuration.yaml. ## Configuration diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown index 7fd7ec795df..b2e0c331f82 100644 --- a/source/_integrations/telegram.markdown +++ b/source/_integrations/telegram.markdown @@ -18,7 +18,7 @@ The requirements are: - You need to configure a [Telegram bot in Home Assistant](/integrations/telegram_bot) and define there your API key and the allowed chat ids to interact with. - The `chat_id` of an allowed user. -The quickest way to retrieve your `chat_id` is visiting [https://api.telegram.org/botYOUR_API_TOKEN/getUpdates](https://api.telegram.org/botYOUR_API_TOKEN/getUpdates) or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token. +The quickest way to retrieve your `chat_id` is visiting `https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token. The result set will include your chat ID as `id` in the `chat` section: diff --git a/source/_integrations/touchline.markdown b/source/_integrations/touchline.markdown index 2a074b9b795..714f000c78a 100644 --- a/source/_integrations/touchline.markdown +++ b/source/_integrations/touchline.markdown @@ -21,7 +21,7 @@ climate: {% configuration %} host: - description: The IP address of your controller, e.g., http://192.168.1.1. + description: The IP address of your controller, e.g., `http://192.168.1.1`. required: false type: string {% endconfiguration %} diff --git a/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown b/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown index 02c9c0a916e..918394e923f 100644 --- a/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown +++ b/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown @@ -24,7 +24,7 @@ After two weeks of hard work I'm proud to announce the release of Home Assistant - Light: [Hyperion](/integrations/hyperion) now supported (@MakeMeASandwich) - Sensor: [aRest](/integrations/arest#sensor) can now also read out pins ([@balloob](https://github.com/balloob)) - Sensor: [Forecast.io](/integrations/darksky) now supports specifying units in `configuration.yaml` ([@balloob](https://github.com/balloob)) - - Thermostat: [Heat Control](/integrations/thermostat.heat_control/) has been completely rewritten ([@balloob](https://github.com/balloob)) + - Thermostat: Heat Control has been completely rewritten ([@balloob](https://github.com/balloob)) - Switch: [Rest](/integrations/switch.rest/) now supported ([@bachp](https://github.com/bachp)) - Media Player: [Plex](/integrations/plex#media-player) can now be auto discovered and configure itself ([@tomduijf](https://github.com/tomduijf)) - [Downloader](/integrations/downloader/) will now treat relative paths based on config dir ([@tomduijf](https://github.com/tomduijf)) diff --git a/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown b/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown index 7bf8cedd2a2..d245bfdeb4b 100644 --- a/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown +++ b/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown @@ -100,7 +100,7 @@ http: ssl_key: /etc/letsencrypt/live/hass-example.duckdns.org/privkey.pem ``` -You can now navigate to https://hass-example.duckdns.org and enjoy encryption! +You can now navigate to `https://hass-example.duckdns.org` and enjoy encryption! _Big thanks to Fabian Affolter for his help and feedback on this article._ diff --git a/source/_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown b/source/_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown index dc2be3b841b..4e5a3f5f93e 100644 --- a/source/_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown +++ b/source/_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown @@ -82,7 +82,7 @@ Affected components and platforms: - automation: [numeric_state][automation-numeric-state] [sensor.arest]: /integrations/arest#sensor -[sensor.command]: /integrations/sensor.command_sensor/ +[sensor.command]: /integrations/sensor.command_line/ [sensor.rest]: /integrations/rest [sensor.mqtt]: /integrations/sensor.mqtt/ [switch.mqtt]: /integrations/switch.mqtt/ diff --git a/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown b/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown index 3e9279a15c2..b39db3f69e0 100644 --- a/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown +++ b/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown @@ -41,7 +41,7 @@ First release of 2016 and we are on 🔥! The [main repository][github-ha] has p [YR]: /integrations/yr [Locative]: /integrations/locative [sun condition]: /getting-started/automation-condition/#sun-condition -[command_switch]: /integrations/switch.command_switch/ +[command_switch]: /integrations/switch.command_line/ [wemo]: /integrations/wemo [Telldus Live]: /integrations/tellduslive/ [Vera]: /integrations/vera/ From 61f97d40d11db53e93af2417b77b0d916a836fb5 Mon Sep 17 00:00:00 2001 From: kloggy <38220016+kloggy@users.noreply.github.com> Date: Sun, 13 Oct 2019 10:42:06 +0100 Subject: [PATCH 108/289] Added alternative to using now() as a trigger (#10615) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added alternative to using now() as a trigger Based on this forum thread https://community.home-assistant.io/t/automation-condition-if-a-state-of-an-entity-hasnt-changed/140791/4 and the fact that I regularly see people say how you can’t use now() as a trigger but no one has ever offered an alternative. * Reinstated {% raw %} and {% endraw %} tags --- source/_docs/automation/trigger.markdown | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index a3189cc8200..adf436e668d 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -279,6 +279,22 @@ The `for` template(s) will be evaluated when the `value_template` becomes `true` Rendering templates with time (`now()`) is dangerous as trigger templates only update based on entity state changes. + +As an alternative, providing you include the sensor [time](/integrations/time_date/) in your configuration, you can use the following template: + +{% raw %} + +```yaml +automation: + trigger: + platform: template + value_template: "{{ (as_timestamp(states.sensor.time.last_changed) - as_timestamp(states.YOUR.ENTITY.last_changed)) > 300 }}" +``` + +{% endraw %} + +which will evaluate to `True` if `YOUR.ENTITY` changed more than 300 seconds ago. + ### Time trigger The time trigger is configured to run once at a specific point in time each day. From 9d4c255b628e01da8cb474ed9e27d05dc85e4207 Mon Sep 17 00:00:00 2001 From: Ties de Kock Date: Sun, 13 Oct 2019 11:44:10 +0200 Subject: [PATCH 109/289] Adds redirect for buienradar camera component (#10522) When camera component is mis-configured, an error includes a URL to documentation. However, this page did not exist due to a missing redirect. --- source/_redirects | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_redirects b/source/_redirects index de66afd057d..d1f22bec832 100644 --- a/source/_redirects +++ b/source/_redirects @@ -213,6 +213,7 @@ /components/camera.august /integrations/august#camera /components/camera.axis /integrations/axis /components/camera.blink /integrations/blink +/components/camera.buienradar /integrations/buienradar#camera /components/camera.canary /integrations/canary#camera /components/camera.dispatcher /integrations/dispatcher /components/camera.doorbird /integrations/doorbird#camera From 859cd3d409d4e3a472b2e38a948aee6cfff3f88d Mon Sep 17 00:00:00 2001 From: Felix Eckhofer Date: Sun, 13 Oct 2019 11:45:40 +0200 Subject: [PATCH 110/289] Document possible options for `operator` in entity-filter card (#10704) --- source/_lovelace/entity-filter.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_lovelace/entity-filter.markdown b/source/_lovelace/entity-filter.markdown index 488c32f59a2..cc35db50635 100644 --- a/source/_lovelace/entity-filter.markdown +++ b/source/_lovelace/entity-filter.markdown @@ -84,7 +84,7 @@ value: type: string operator: required: false - description: Operator to use in the comparison. + description: Operator to use in the comparison. Can be `==`, `<=`, `<`, `>=`, `>`, `!=` or `regex`. type: string attribute: required: false From 1daf85ad59642e37daa7e0ddf76f974853f78d79 Mon Sep 17 00:00:00 2001 From: Nikola <40897274+niksy111@users.noreply.github.com> Date: Sun, 13 Oct 2019 12:02:41 +0200 Subject: [PATCH 111/289] Set state_filter to required (#10713) Changed the main state_filter to required as it is required for the filter card. State_filter under entity is not required. --- source/_lovelace/entity-filter.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_lovelace/entity-filter.markdown b/source/_lovelace/entity-filter.markdown index cc35db50635..089930c171f 100644 --- a/source/_lovelace/entity-filter.markdown +++ b/source/_lovelace/entity-filter.markdown @@ -23,7 +23,7 @@ entities: description: A list of entity IDs or `entity` objects, see below. type: list state_filter: - required: false + required: true description: List of strings representing states or `filter` objects, see below. type: list card: From 2ebcd53c0e6e940a098b67e719cdd778aeb2fb06 Mon Sep 17 00:00:00 2001 From: Nikola <40897274+niksy111@users.noreply.github.com> Date: Sun, 13 Oct 2019 12:03:45 +0200 Subject: [PATCH 112/289] Updated example to actually work (#10714) I added state-filter which is required to work. --- source/_lovelace/markdown.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_lovelace/markdown.markdown b/source/_lovelace/markdown.markdown index bb4585dca91..f0f0efe6858 100644 --- a/source/_lovelace/markdown.markdown +++ b/source/_lovelace/markdown.markdown @@ -62,6 +62,8 @@ entities: - light.bed_light - light.ceiling_lights - light.kitchen_lights +state_filter: + - 'on' card: type: markdown content: | From f80256497564bffc453377c9871b024f6e04a064 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20RAMAGE?= Date: Sun, 13 Oct 2019 12:04:45 +0200 Subject: [PATCH 113/289] Update zha doc for ZiGate (#10715) Add some special config for ZiGate --- source/_integrations/zha.markdown | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 3eb095f574d..8be513f8d32 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -50,8 +50,11 @@ The custom quirks implementations for zigpy implemented as ZHA Device Handlers f - [ConBee II (a.k.a. ConBee 2) USB adapter from Dresden-Elektronik](https://shop.dresden-elektronik.de/conbee-2.html) - [ConBee USB adapter from Dresden-Elektronik](https://www.dresden-elektronik.de/conbee/) - [RaspBee Raspberry Pi Shield from Dresden-Elektronik](https://www.dresden-elektronik.de/raspbee/) -- ZiGate based radios (via the [zigpy-zigate](https://github.com/doudz/zigpy-zigate) library for zigpy) - - ZiGate USB modules (require firmware 3.1a or later) +- ZiGate based radios (via the [zigpy-zigate](https://github.com/doudz/zigpy-zigate) library for zigpy and require firmware 3.1a or later) + - [ZiGate USB-TTL](https://zigate.fr/produit/zigate-ttl/) + - [ZiGate USB-DIN](https://zigate.fr/produit/zigate-usb-din/) + - [PiZiGate](https://zigate.fr/produit/pizigate-v1-0/) + - [Wifi ZiGate](https://zigate.fr/produit/zigate-pack-wifi-v1-3/) (work in progress) ## Configuration @@ -66,6 +69,11 @@ zha: database_path: /home/homeassistant/.homeassistant/zigbee.db ``` +If you are use ZiGate, you have to use some special usb_path configuration: + - ZiGate USB TTL or DIN: `/dev/ttyUSB0` or `auto` to auto discover the zigate + - PiZigate : `pizigate:/dev/serial0` + - Wifi Zigate : `socket://[IP]:[PORT]` for example `socket://192.168.1.10:9999` + {% configuration %} radio_type: description: One of `ezsp`, `xbee`, `deconz` or `zigate`. From 9c99aa1fa09032ed1e88732981af7861249973c1 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sun, 13 Oct 2019 12:06:33 +0200 Subject: [PATCH 114/289] =?UTF-8?q?=F0=9F=94=97=20Fixing=20multiple=20blog?= =?UTF-8?q?=20links=20(#10741)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links * 🔗 Fix broken links --- .../2015-02-28-home-assistant-migrating-to-yaml.markdown | 2 +- .../2015-09-13-home-assistant-meets-ifttt.markdown | 6 +++--- source/_posts/2015-12-07-influxdb-and-grafana.markdown | 4 ++-- source/_posts/2016-04-07-static-website.markdown | 9 ++++----- source/_posts/2016-04-17-updated-documentation.markdown | 4 ++-- ...ck-things-that-cant-track-themselves-part-ii.markdown | 2 +- .../2016-07-28-esp8266-and-micropython-part1.markdown | 4 ++-- source/_posts/2017-04-01-thomas-krenn-award.markdown | 2 +- ...assistant-on-raspberry-pi-zero-in-30-minutes.markdown | 2 +- source/_posts/2017-11-02-secure-shell-tunnel.markdown | 4 ++-- 10 files changed, 19 insertions(+), 20 deletions(-) diff --git a/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown b/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown index ce5ebc0b797..005e4aff134 100644 --- a/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown +++ b/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown @@ -11,6 +11,6 @@ Home Assistant is now using [YAML](http://yaml.org/) for it's configuration file The new file is named configuration.yaml and if it can't be found in your config directory, Home Assistant will instead try to find the old configuration file, home-assistant.conf. -The home-assistant.conf.example has been replaced with an updated [configuration.yaml.example](https://github.com/home-assistant/home-assistant/blob/dev/config/configuration.yaml.example). +The home-assistant.conf.example has been replaced with an updated configuration.yaml.example. Users of Home Assistant should migrate as the old configuration format is deprecated. diff --git a/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown b/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown index 215e6b59991..aefaddf13c2 100644 --- a/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown +++ b/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown @@ -36,7 +36,7 @@ Maker channel setup: | Field | Value | | ----- | ----- | -| URL | http://xxx.xxx.xxx.xxx:8123/api/services/switch/turn_off?api_password=xxxxxxxx +| URL | `http://xxx.xxx.xxx.xxx:8123/api/services/switch/turn_off?api_password=xxxxxxxx` | METHOD | POST | CONTENT TYPE | application/json | BODY | { "entity_id": "switch.irrigation" } @@ -73,7 +73,7 @@ Maker channel setup: | Field | Value | | ----- | ----- | -| URL | http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx +| URL | `http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx` | METHOD | POST | CONTENT TYPE | application/json | BODY | { "entity_id": "light.kitchen" } @@ -88,7 +88,7 @@ Maker channel setup: | Field | Value | | ----- | ----- | -| URL | http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx +| URL | `http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx` | METHOD | POST | CONTENT TYPE | application/json | BODY | { "entity_id": "group.all_lights", "flash":"yes" } diff --git a/source/_posts/2015-12-07-influxdb-and-grafana.markdown b/source/_posts/2015-12-07-influxdb-and-grafana.markdown index 99cd2cc3edb..349c9d652c2 100644 --- a/source/_posts/2015-12-07-influxdb-and-grafana.markdown +++ b/source/_posts/2015-12-07-influxdb-and-grafana.markdown @@ -27,7 +27,7 @@ Launch the InfluxDB service. sudo systemctl start influxdb ``` -If everything went well, then the web interface of the database should be accessible at [http://localhost:8083/](http://localhost:8083/). Create a database `home_assistant` to use with Home Assistant either with the web interface or the commandline tool `influx`. +If everything went well, then the web interface of the database should be accessible at `http://localhost:8083/`. Create a database `home_assistant` to use with Home Assistant either with the web interface or the commandline tool `influx`.

@@ -88,7 +88,7 @@ sudo systemctl start grafana-server sudo systemctl status grafana-server ``` -Login with the username `admin` and the password `admin` at [http://localhost:3000/login](http://localhost:3000/login). Now follow the [InfluxDB setup instructions](http://docs.grafana.org/datasources/influxdb/). +Login with the username `admin` and the password `admin` at `http://localhost:3000/login`. Now follow the [InfluxDB setup instructions](http://docs.grafana.org/datasources/influxdb/). Now you can start to create dashboards and graphs. You have various options to get the data from the graph. The next image just shows a screenshot of the setting for a temperature sensor. diff --git a/source/_posts/2016-04-07-static-website.markdown b/source/_posts/2016-04-07-static-website.markdown index 0ac802ed2a1..7f6eae57c40 100644 --- a/source/_posts/2016-04-07-static-website.markdown +++ b/source/_posts/2016-04-07-static-website.markdown @@ -9,7 +9,7 @@ categories: How-To og_image: /images/blog/2016-04-display/ha-display.png --- -The frontend of Home Assistant is served with the help of a local web server. If you have [customized](/getting-started/devices/#customizing-devices-and-services) your installation you already use this functionality. The content of your folder `www` in your Home Assistant configuration directory (`.homeassistant`) is available under `/local` (eg. [http://localhost:8123/local](https://localhost:8123/local/index.html) for an `index.html` file). +The frontend of Home Assistant is served with the help of a local web server. If you have [customized](/getting-started/devices/#customizing-devices-and-services) your installation you already use this functionality. The content of your folder `www` in your Home Assistant configuration directory (`.homeassistant`) is available under `/local` (eg. `https://localhost:8123/local/index.html` for an `index.html` file). But there is more you can do! You can not only host images for customization there but HTML files or even web applications including CSS and Javascript. @@ -19,11 +19,10 @@ But there is more you can do! You can not only host images for customization the -In the past the buzz word "Smart mirror" was used a couple of times in our [chatroom](https://discord.gg/c5DvZ4e) and even made it into the [issue tracker](https://github.com/home-assistant/home-assistant/issues/1392). The existing solutions ([Smart mirror](http://docs.smart-mirror.io/), [MagicMirror](http://michaelteeuw.nl/tagged/magicmirror), and [HomeMirror](https://github.com/HannahMitt/HomeMirror)) seems to be overkill if you already have Home Assistant running somewhere in your house or apartment. Why not simple display a web page served by Home Assistant on the tablet? No app and no Raspberry Pi running in the background. +In the past the buzz word "Smart mirror" was used a couple of times in our [chatroom](https://discord.gg/c5DvZ4e) and even made it into the [issue tracker](https://github.com/home-assistant/home-assistant/issues/1392). The existing solutions ([Smart mirror](https://docs.smart-mirror.io/), [MagicMirror](https://michaelteeuw.nl/tagged/magicmirror), and [HomeMirror](https://github.com/HannahMitt/HomeMirror)) seems to be overkill if you already have Home Assistant running somewhere in your house or apartment. Why not simple display a web page served by Home Assistant on the tablet? No app and no Raspberry Pi running in the background. -There are plenty of ways to achieve this...[RESTful API](/developers/rest_api/), [Python API](/developers/python_api/), or one of the [history components](/integrations/#history). If it is to be a web page I'm using the [MQTT Eventstream component](/integrations/mqtt_eventstream/) and [mqttws31.js](http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/tree/src). +There are plenty of ways to achieve this...[RESTful API](/developers/rest_api/), [Python API](/developers/python_api/), or one of the [history components](/integrations/#history). If it is to be a web page I'm using the [MQTT Eventstream component](/integrations/mqtt_eventstream/) and [Eclipse Paho JavaScript Client](https://www.eclipse.org/paho/clients/js/). -The [HBMQTT](https://pypi.python.org/pypi/hbmqtt) broker provides websockets support for MQTT and mqttws31.js included in web page gives you access to the MQTT messages. It's a matter of minutes. OK, it took a little longer because I'm not a Javascript guy to create the software part that will show details about your environment. The source is available at [https://github.com/fabaff/home-assistant-display](https://github.com/fabaff/home-assistant-display) and the screenshot above shows the result. I guess that every person who is familiar with Javascript would be able to reduce the amount of code and to make it more flexible. Well, it's only a prototype and showcase to include an image in this blog post. +The [HBMQTT](https://pypi.org/pypi/hbmqtt) broker provides websockets support for MQTT and mqttws31.js included in web page gives you access to the MQTT messages. It's a matter of minutes. OK, it took a little longer because I'm not a Javascript guy to create the software part that will show details about your environment. The source is available at [https://github.com/fabaff/home-assistant-display](https://github.com/fabaff/home-assistant-display) and the screenshot above shows the result. I guess that every person who is familiar with Javascript would be able to reduce the amount of code and to make it more flexible. Well, it's only a prototype and showcase to include an image in this blog post. I hope that this little article could give you an idea of extending Home Assistant in an unconventional way. - diff --git a/source/_posts/2016-04-17-updated-documentation.markdown b/source/_posts/2016-04-17-updated-documentation.markdown index 83d4d21e3e8..9294a31cb66 100644 --- a/source/_posts/2016-04-17-updated-documentation.markdown +++ b/source/_posts/2016-04-17-updated-documentation.markdown @@ -10,14 +10,14 @@ categories: Website One of the main complaints that we receive is something along the lines "I read that X is possible yet I am unable to find it on the website.". This post is to announce that we have taken the first steps to improve it by revamping the [getting started] and [developers] sections. It's still a work in progress but we now have a solid foundation to build on for the future 👍. -Our documentation has been going through various phases. Initially it was just the README in our GitHub repository. I discovered Jekyll and GitHub pages in December 2014 and created home-assistant.io. I more or less broke the README in 5 pages and [called it a website]. Back then we had a whopping [11 components](https://github.com/home-assistant/home-assistant.io/blob/86bb2df430ce267ab2123d51592d3f068ae509b5/source/integrations/index.markdown). +Our documentation has been going through various phases. Initially it was just the README in our GitHub repository. I discovered Jekyll and GitHub pages in December 2014 and created home-assistant.io. I more or less broke the README in 5 pages and [called it a website]. Back then we had a whopping 11 components! As Home Assistant grew, so did our documentation. [Fabian Affolter](https://github.com/fabaff) does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And that's quite a feat given our [frequent releases](/blog/categories/release-notes/)! But despite all the efforts, the documentation outgrew our existing documentation organization. Today it has been almost 1.5 years since we started the website. We now have [264 components and platforms] under our belt and have been honored with 1.5 million page views ✨. And hopefully we now also have documentation that our community deserves. [getting started]: /getting-started/ -[developers]: /developers/ +[developers]: https://developers.home-assistant.io/ [called it a website]: /blog/2014/12/18/website-launched/ [264 components and platforms]: /integrations/ diff --git a/source/_posts/2016-05-26-ibeacons-how-to-track-things-that-cant-track-themselves-part-ii.markdown b/source/_posts/2016-05-26-ibeacons-how-to-track-things-that-cant-track-themselves-part-ii.markdown index 4446f7eb28f..38be3dbc1a0 100644 --- a/source/_posts/2016-05-26-ibeacons-how-to-track-things-that-cant-track-themselves-part-ii.markdown +++ b/source/_posts/2016-05-26-ibeacons-how-to-track-things-that-cant-track-themselves-part-ii.markdown @@ -128,7 +128,7 @@ Of course you can use both fixed and mobile beacons at the same time. I want my ### Buying Beacons This isn’t a buyer's guide, but I just wanted to mention the iBeacons I’ve been using. I think you should be able to use any iBeacon with HA and OwnTracks. You generally can’t buy beacons in your local electronics shop - so I just wanted to briefly mention the two suppliers I’ve used so far. -I’ve bought quite a few iBeacons from a company called [Blue Sense Networks](http://bluesensenetworks.com/). I work in the tech startup sector in the UK so I partly chose them because they are a local start-up who seemed worth supporting. The products, support and software all seem good. I use a number of their beacons - from a simple USB dongle, to a long range beacon. All their products have batteries that can be changed (or no batteries in the case of the externally powered USB device) - and you can configure all the parameters you’d want to using their software. I had one software issue, support got back to me at a weekend(!) - and the issue was resolved with a software release two days later. +I’ve bought quite a few iBeacons from a company called Blue Sense Networks. I work in the tech startup sector in the UK so I partly chose them because they are a local start-up who seemed worth supporting. The products, support and software all seem good. I use a number of their beacons - from a simple USB dongle, to a long range beacon. All their products have batteries that can be changed (or no batteries in the case of the externally powered USB device) - and you can configure all the parameters you’d want to using their software. I had one software issue, support got back to me at a weekend(!) - and the issue was resolved with a software release two days later. All the beacons seem fine - and the long range unit does work over a longer range than my other beacons. diff --git a/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown b/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown index 207caa98447..04289b0005a 100644 --- a/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown +++ b/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown @@ -9,13 +9,13 @@ og_image: /images/blog/2016-07-micropython/social.png --- -The first release of Micropython for ESP8266 was delivered a couple of weeks ago. The [documentation](http://docs.micropython.org/en/latest/esp8266/esp8266_contents.html) covers a lot of ground. This post is providing only a little summary which should get you started. +The first release of Micropython for ESP8266 was delivered a couple of weeks ago. The [documentation](http://docs.micropython.org/en/latest/) covers a lot of ground. This post is providing only a little summary which should get you started. Until a couple of weeks ago, the pre-built MicroPython binary for the ESP8266 was only available to backers of the Kickstarter campaign. This has changed now and it is available to the public for [download](https://micropython.org/download/#esp8266). -The easiest way is to use [esptool.py](https://github.com/themadinventor/esptool) for firmware handling tasks. First erase the flash: +The easiest way is to use [esptool.py](https://github.com/espressif/esptool) for firmware handling tasks. First erase the flash: ```bash $ sudo python esptool.py --port /dev/ttyUSB0 erase_flash diff --git a/source/_posts/2017-04-01-thomas-krenn-award.markdown b/source/_posts/2017-04-01-thomas-krenn-award.markdown index 92ba7221fc7..cf6554a9cf3 100644 --- a/source/_posts/2017-04-01-thomas-krenn-award.markdown +++ b/source/_posts/2017-04-01-thomas-krenn-award.markdown @@ -33,6 +33,6 @@ Keep in mind that you may have to pay the fee for customs handling and the impor [LES]: https://www.thomas-krenn.com/en/products/low-energy-systems/les-v2.html [award]: https://www.thomas-krenn.com/de/tkmag/allgemein/zammad-home-assistant-und-freifunk-das-sind-die-gewinner-des-thomas-krenn-awards-2017/ -[forum]: https://community.home-assistant.io/c/contest-2017 +[forum]: https://community.home-assistant.io/t/hardware-contest-2017/42546 [twitter]: https://twitter.com/home_assistant diff --git a/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown b/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown index 85276819db0..3fc78eb00cb 100644 --- a/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown +++ b/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown @@ -69,7 +69,7 @@ sudo systemctl start install_homeassistant.service Wait about 15-20 minutes and voilà you have your Home Assistant on your Raspberry Pi Zero W in 30 minutes. -To try it out, go to [http://hassbian:8123](http://hassbian:8123) or [http://hassbian.local:8123](http://hassbian.local:8123) if you're using Mac. +To try it out, go to `http://hassbian:8123` or `http://hassbian.local:8123` if you're using Mac. For further details about HASSbian, take a look at the [documentation](/docs/installation/hassbian/). diff --git a/source/_posts/2017-11-02-secure-shell-tunnel.markdown b/source/_posts/2017-11-02-secure-shell-tunnel.markdown index a46cf131647..75a09c626b7 100644 --- a/source/_posts/2017-11-02-secure-shell-tunnel.markdown +++ b/source/_posts/2017-11-02-secure-shell-tunnel.markdown @@ -55,7 +55,7 @@ Last login: Fri Oct 27 17:50:09 2017 [ha@home-assistant ~]$ ``` -Now you are able to use your frontend on your local system: [http://localhost:8000](http://localhost:8000) +Now you are able to use your frontend on your local system: `http://localhost:8000` Things to keep in mind: @@ -63,5 +63,5 @@ Things to keep in mind: - You need to setup port forwarding on your router. - Don't allow `root` to use SSH. Set `PermitRootLogin no` on the remote system. - Your local port must be above 1024. Only `root` is allowed to forward privileged ports which are below 1024. -- Use [SSH keys for authentication](https://docs-old.fedoraproject.org/en-US/Fedora/14/html/Deployment_Guide/s2-ssh-configuration-keypairs.html) instead of passwords to avoid bruteforce attacks. +- Use [SSH keys for authentication](http://docs.fedoraproject.org//en-US/Fedora/14/html/Deployment_Guide/s2-ssh-configuration-keypairs.html) instead of passwords to avoid bruteforce attacks. From 08024efb6121c6a9ad3d9777c6edb6ac2410b82f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADnez=20L=C3=B3pez?= Date: Sun, 13 Oct 2019 15:57:14 +0100 Subject: [PATCH 115/289] Fix typo (#10766) Corrected the mode name... it gives an error if you copy and paste it. --- source/_integrations/here_travel_time.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/here_travel_time.markdown b/source/_integrations/here_travel_time.markdown index bf08996b0dc..1d483c70c0d 100644 --- a/source/_integrations/here_travel_time.markdown +++ b/source/_integrations/here_travel_time.markdown @@ -74,7 +74,7 @@ name: type: string default: "HERE Travel Time" mode: - description: "You can choose between: `bicycle`, `car`, `pedestrian`, `publicTransport`, `publicTransportTimeTable` or `truck`. The default is `car`. For public transport `publicTransportTimetable` is recommended. You can find more information on the modes [here](https://developer.here.com/documentation/routing/topics/transport-modes.html) and on the public modes [here](https://developer.here.com/documentation/routing/topics/public-transport-routing.html)" + description: "You can choose between: `bicycle`, `car`, `pedestrian`, `publicTransport`, `publicTransportTimeTable` or `truck`. The default is `car`. For public transport `publicTransportTimeTable` is recommended. You can find more information on the modes [here](https://developer.here.com/documentation/routing/topics/transport-modes.html) and on the public modes [here](https://developer.here.com/documentation/routing/topics/public-transport-routing.html)" required: false type: string default: "car" From 661669d47597f79cd1e8dc66db3a9e0babaf97a4 Mon Sep 17 00:00:00 2001 From: Sebastian Ovide Date: Sun, 13 Oct 2019 16:14:28 +0100 Subject: [PATCH 116/289] config validation is in Server Control (#10760) config validation is in Configuration -> Server Control and not in Configuration -> General --- source/getting-started/configuration.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index 75fe7f154ef..053f9845102 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -30,7 +30,7 @@ Now let's make a small change using the configurator: we are going to change the - Click the `configuration.yaml` file (in the `/config/` folder) to load it into the main Configurator edit window. - Find the `homeassistant:` configuration block, which should be the first thing in `configuration.yaml`. In this block, update `name`, `latitude`, `longitude`, `unit_system` and `time_zone` to match yours. - Click the save icon in the top right to commit changes. - - Most changes in `configuration.yaml` require Home Assistant to be restarted to see the changes. You can verify that your changes are acceptable by running a config check. Do this by clicking on Configuration in the sidebar, click on General and click on the "Check Config" button. When it's valid, it will show the text "Configuration valid!". + - Most changes in `configuration.yaml` require Home Assistant to be restarted to see the changes. You can verify that your changes are acceptable by running a config check. Do this by clicking on Configuration in the sidebar, click on "Server Control" and click on the "CHECK CONFIG" button. When it's valid, it will show the text "Configuration valid!". - Now Restart Home Assistant using the "restart" in the Server management section on the same page. In order for "Check Config" to be visible, you must enable "Advanced Mode" on your user profile.

From c73389dc5d6474b393a9af3b20afc343b902cf3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20Br=C3=BCckner?= Date: Sun, 13 Oct 2019 18:13:21 +0200 Subject: [PATCH 117/289] Add second option to factory-reset Hue bulbs (#10765) * Add second option to factory-reset Hue bulbs * :pencil2: Tweaks --- source/_integrations/zha.markdown | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 8be513f8d32..dc67736d031 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -102,10 +102,25 @@ enable_quirks: To add new devices to the network, call the `permit` service on the `zha` domain. Do this by clicking the Service icon in Developer tools and typing `zha.permit` in the **Service** dropdown box. Next, follow the device instructions for adding, scanning or factory reset. -In case you want to add Philips Hue bulbs that have previously been added to another bridge, have a look at: [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/) - ## Troubleshooting +### Add Philips Hue bulbs that have previously been added to another bridge + +Philips Hue bulbs that have previously been added to another bridge won't show up during search. You have to restore your bulbs back to factory settings first. To achieve this, you basically have the following options. + +#### Philips Hue Dimmer Switch + +Using a Philips Hue Dimmer Switch is probably the easiest way to factory-reset your bulbs. For this to work, the remote doesn't have to be paired with your previous bridge. + +1. Turn on your Hue bulb you want to reset +2. Hold the Dimmer Switch near your bulb (< 10 cm) +3. Press and hold the (I)/(ON) and (O)/(OFF) buttons of the Dimmer Switch for about 10 seconds until your bulb starts to blink +4. Your bulb should stop blinking and eventually turning on again. At the same time, a green light on the top left of your remote indicates that your bulb has been successfully reset to factory settings. + +#### hue-thief + +Follow the instructions on [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/) (EZSP-based Zigbee USB stick required) + ### ZHA Start up issue with Home-Assistant Docker/Hass.io installs on linux hosts On Linux hosts ZHA can fail to start during HA startup or restarts because the zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system. From 264ea1b5a951b5c64e93ffd561319aba40c7df4d Mon Sep 17 00:00:00 2001 From: xelprep Date: Mon, 14 Oct 2019 01:40:05 -0700 Subject: [PATCH 118/289] Yeelight - Rename and Correct Lan Control Link (#10774) "LAN Mode" appears to be known now as "LAN Control" in the Yeelight app. Also, the instructions to enable LAN Control was a dead link. This has been corrected to point to the official Yeelight instructions. --- source/_integrations/yeelight.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/yeelight.markdown b/source/_integrations/yeelight.markdown index 71fa14e6a00..11ff99f2eda 100644 --- a/source/_integrations/yeelight.markdown +++ b/source/_integrations/yeelight.markdown @@ -113,9 +113,9 @@ Per default the bulb limits the amount of requests per minute to 60, a limitatio

Before trying to control your light through Home Assistant, you have to setup your bulb using Yeelight app. ( [Android](https://play.google.com/store/apps/details?id=com.yeelight.cherry&hl=fr), [IOS](https://itunes.apple.com/us/app/yeelight/id977125608?mt=8) ). -In the bulb property, you have to enable "LAN Mode" (previously called "Developer mode"). LAN mode may only be available with the latest firmware installed on your bulb. Firmware can be updated in the application after connecting the bulb. +In the bulb property, you have to enable "LAN Control" (previously called "Developer mode"). LAN Control may only be available with the latest firmware installed on your bulb. Firmware can be updated in the application after connecting the bulb. Determine your bulb IP (using router, software, ping...). -Information on how to enable "LAN Mode" can be found [here](https://getyeti.co/posts/how-to-control-yeelight-and-your-smarthome-with-yeti). +Information on how to enable "LAN Control" can be found [here](https://www.yeelight.com/faqs/lan_control).
From e81cd379bf080d5480f0df46e218edc43b2559e3 Mon Sep 17 00:00:00 2001 From: Luca Angemi Date: Tue, 15 Oct 2019 11:09:44 +0200 Subject: [PATCH 119/289] Update camera.markdown (#10792) --- source/_integrations/camera.markdown | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/_integrations/camera.markdown b/source/_integrations/camera.markdown index d59c1cacebe..04848b97c3c 100644 --- a/source/_integrations/camera.markdown +++ b/source/_integrations/camera.markdown @@ -134,8 +134,6 @@ Turn on camera. Not all camera models support this service, please consult indiv A simple way to test if you have set up your `camera` platform correctly, is to use service developer tool icon **Services** from the **Developer Tools**. Choose your service from the dropdown menu **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**. -```json -{ - "entity_id": "camera.living_room_camera" -} +```yaml +entity_id: camera.living_room_camera ``` From 3b99f3d5755acc38c5d84645571988ad611bc154 Mon Sep 17 00:00:00 2001 From: Luca Angemi Date: Tue, 15 Oct 2019 11:10:40 +0200 Subject: [PATCH 120/289] Update python_script.markdown (#10791) --- source/_integrations/python_script.markdown | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/source/_integrations/python_script.markdown b/source/_integrations/python_script.markdown index a7b9a1fa1d0..17c43696999 100644 --- a/source/_integrations/python_script.markdown +++ b/source/_integrations/python_script.markdown @@ -34,10 +34,8 @@ hass.bus.fire(name, { "wow": "from a Python script!" }) - Start Home Assistant - Call service `python_script.hello_world` with parameters -```json -{ - "name": "you" -} +```yaml +name: you ``` ## Calling Services @@ -54,8 +52,9 @@ if entity_id is not None: ``` The above `python_script` can be called using the following JSON as an input. -```json -{"entity_id": "light.bedroom", "rgb_color": [255, 0, 0] } +```yaml +entity_id: light.bedroom +rgb_color: [255, 0, 0] ``` ## Documenting your Python scripts From 9671a7479c2d7bebae7fc8b8de5d9536b70dc556 Mon Sep 17 00:00:00 2001 From: tomlut <10679300+tomlut@users.noreply.github.com> Date: Tue, 15 Oct 2019 20:14:19 +1100 Subject: [PATCH 121/289] Spelling and grammar. (#10789) Spelling and grammar. --- source/_integrations/weather.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/weather.markdown b/source/_integrations/weather.markdown index 55683718b6a..36f03d1c081 100644 --- a/source/_integrations/weather.markdown +++ b/source/_integrations/weather.markdown @@ -8,9 +8,9 @@ ha_qa_scale: internal ha_release: 0.32 --- -The `weather` platforms are gathering meteorological information from web services and display the conditions and other details about the weather at the given location. Read the integration documentation for your particular weather provider to learn how to set it up. +The `weather` platforms gather meteorological information from web services and display the conditions and other details about the weather at the given location. Read the integration documentation for your particular weather provider to learn how to set it up. -Home Assistant currently supports free web services and such which require a registration. +Home Assistant currently supports free web services some of which require registration. ## Condition mapping @@ -30,4 +30,4 @@ The `weather` platform only knows the below listed conditions. The reason for th - 'sunny' - 'windy' - 'windy-variant' -- 'exceptional': +- 'exceptional' From e2896d30d02b8485f91fa28330414961c2b75100 Mon Sep 17 00:00:00 2001 From: a-r-j-a-n Date: Tue, 15 Oct 2019 11:34:26 +0200 Subject: [PATCH 122/289] Update automation.markdown (#10786) * Update automation.markdown Service notation changed to yaml. * :pencil2: Tweak --- source/getting-started/automation.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/getting-started/automation.markdown b/source/getting-started/automation.markdown index b3827c46a52..2884514121c 100644 --- a/source/getting-started/automation.markdown +++ b/source/getting-started/automation.markdown @@ -28,7 +28,11 @@ In the trigger section, click on the dropdown and change trigger type to "Sun". A new automation with a sun trigger filled in.

-Once we have defined our trigger, scroll down to the action section. Make sure the action type is set to "Call Service" and change the service to `light.turn_on`. For this automation we're going to turn on all lights, so let's change the service data to `{ "entity_id": "all" }`. +Once we have defined our trigger, scroll down to the action section. Make sure the action type is set to "Call Service" and change the service to `light.turn_on`. For this automation we're going to turn on all lights, so let's change the service data to: + +```yaml +entity_id: all +```

From b86529d8a2d1d27839fcf3469c2b53a6b405b715 Mon Sep 17 00:00:00 2001 From: Luca Angemi Date: Tue, 15 Oct 2019 12:25:13 +0200 Subject: [PATCH 123/289] Update service.markdown (#10790) * Update service.markdown notation changed to yaml * Update source/_docs/mqtt/service.markdown Co-Authored-By: Franck Nijhof * Update source/_docs/mqtt/service.markdown Co-Authored-By: Franck Nijhof --- source/_docs/mqtt/service.markdown | 36 ++++++++++++------------------ 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/source/_docs/mqtt/service.markdown b/source/_docs/mqtt/service.markdown index d714c1c12b3..5ad15fa9dbf 100644 --- a/source/_docs/mqtt/service.markdown +++ b/source/_docs/mqtt/service.markdown @@ -20,38 +20,30 @@ The MQTT integration will register the service `mqtt.publish` which allows publi You need to include either payload or payload_template, but not both. -```json -{ - "topic": "home-assistant/light/1/command", - "payload": "on" -} +```yaml +topic: home-assistant/light/1/command +payload: on ``` {% raw %} -```json -{ - "topic": "home-assistant/light/1/state", - "payload_template": "{{ states('device_tracker.paulus') }}" -} +```yaml +topic: home-assistant/light/1/state +payload_template: {{ states('device_tracker.paulus') }} ``` {% endraw %} `payload` must be a string. If you want to send JSON then you need to format/escape it properly. Like: -```json -{ - "topic": "home-assistant/light/1/state", - "payload":"{\"Status\":\"off\", \"Data\":\"something\"}" -} +```yaml +topic: home-assistant/light/1/state +payload: "{\"Status\":\"off\", \"Data\":\"something\"}" ``` Example of how to use `qos` and `retain`: -```json -{ - "topic": "home-assistant/light/1/command", - "payload": "on", - "qos": 2, - "retain": true -} +```yaml +topic: home-assistant/light/1/command +payload: on +qos: 2 +retain: true ``` From ebb00090b6261f0c96ff5c4b5fbdc448e8888c24 Mon Sep 17 00:00:00 2001 From: chriscla Date: Tue, 15 Oct 2019 03:46:45 -0700 Subject: [PATCH 124/289] Align nzbget sensor docs with code (#10788) --- source/_integrations/nzbget.markdown | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/source/_integrations/nzbget.markdown b/source/_integrations/nzbget.markdown index 00f8ce07afb..d39e6530796 100644 --- a/source/_integrations/nzbget.markdown +++ b/source/_integrations/nzbget.markdown @@ -56,23 +56,23 @@ password: This component will create these sensors: -- `article_cache`: Number of cached articles. -- `average_download_rate`: Average download rate -- `download_paused`: Paused downloads -- `download_rate`: Current download rate -- `download_size`: The size to download -- `free_disk_space`: Free disk space at the storage location of NZBGet -- `post_paused`: Paused posts -- `remaining_size`: Remaining size to download -- `uptime`: Uptime of NZBGet +- `nzbget_article_cache`: Article cache size in MB. +- `nzbget_average_speed`: Average download rate since server start in MB/s. +- `nzbget_download_paused`: Whether downloading is paused. +- `nzbget_speed`: Current download rate in MB/s. +- `nzbget_queue_size`: Remaining size to download in MB. +- `nzbget_disk_free`: Free disk space at the storage location of NZBGet. +- `nzbget_post_processing_paused`: Whether post processing is paused. +- `nzbget_uptime`: NZBGet server uptime. +- `nzbget_size`: Amount of data downloaded since server start in MB. ## Services -Available services: +Available services: - - `pause`: Pause the download queue. - - `resume`: Resume the download queue. - - `set_speed`: Set the download queue speed limit. +- `pause`: Pause the download queue. +- `resume`: Resume the download queue. +- `set_speed`: Set the download queue speed limit. ### Service `nzbget/set_speed` From 56149ae38906194f01e1c638818cb63134401343 Mon Sep 17 00:00:00 2001 From: tomlut <10679300+tomlut@users.noreply.github.com> Date: Tue, 15 Oct 2019 21:49:36 +1100 Subject: [PATCH 125/289] Spelling and grammar corrections. (#10787) Spelling and grammar corrections. --- source/_integrations/speedtestdotnet.markdown | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/_integrations/speedtestdotnet.markdown b/source/_integrations/speedtestdotnet.markdown index 4449a58166b..5b93f1e17b1 100644 --- a/source/_integrations/speedtestdotnet.markdown +++ b/source/_integrations/speedtestdotnet.markdown @@ -11,7 +11,7 @@ ha_iot_class: Cloud Polling The `speedtestdotnet` integration uses the [Speedtest.net](https://speedtest.net/) web service to measure network bandwidth performance. -Enabling this integration will automatically create the Speedtest.net Sensors for the monitored conditions (below). +Enabling this integration will automatically create Speedtest.net sensors for the monitored conditions (below). By default, a speed test will be run every hour. The user can change the update frequency in the configuration by defining the `scan_interval` for a speed test to run. @@ -83,11 +83,11 @@ action: This integration uses [speedtest-cli](https://github.com/sivel/speedtest-cli) to gather network performance data from Speedtest.net. Please be aware of the potential [inconsistencies](https://github.com/sivel/speedtest-cli#inconsistency) that this integration may display. -When Home Assistant first starts up, the values of the speed test will show as `Unknown`. You can use the service `speedtestdotnet.speedtest` to run a manual speed test and populate the data or just wait for the next regularly scheduled test. You can turn on manual mode to disable the scheduled speed tests. +When Home Assistant first starts up, the values of the speed test sensors will show as `Unknown`. You can use the service `speedtestdotnet.speedtest` to run a manual speed test and populate the data or just wait for the next regularly scheduled test. You can turn on manual mode to disable the scheduled speed tests. ## Examples -In this section, you find some real-life examples of how to use this component. +In this section you will find some real-life examples of how to use this component. ### Run periodically @@ -128,8 +128,8 @@ automation: ## Notes -- When running on Raspberry Pi, just note that the maximum speed is limited by its 100 Mbit/s LAN adapter. The Raspberry Pi 3+ models comes with a Gigabit LAN adapter which supports a [maximum throughput](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/) of 300 Mbit/s. +- When running on Raspberry Pi the maximum speed is limited by the LAN adapter. The Raspberry Pi 3+ models come with a Gigabit LAN adapter which supports a [maximum throughput](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/) of 300 Mbit/s. - Running this integration can have negative effects on the system's performance as it requires a fair amount of memory. -- Entries under `monitored_conditions` only control what entities are available in Home Assistant, it does not disable the condition from running. -- If ran frequently, this integration has the ability to use a considerable amount of data. Frequent updates should be avoided on bandwidth-capped connections. -- While running, your network capacity is fully utilized. This may have a negative effect on other devices in use the network such as gaming consoles or streaming boxes. +- Entries under `monitored_conditions` only control which entities are available in Home Assistant, they do not disable conditions from running. +- If run frequently, this integration has the ability to use a considerable amount of data. Frequent updates should be avoided on bandwidth-capped connections. +- While the speedtest is running your network capacity is fully utilized. This may have a negative effect on other devices using the network such as gaming consoles or streaming boxes. From 46af2e2676beab1d918ad356a6f9ca51562e4f9b Mon Sep 17 00:00:00 2001 From: markharleman <50380925+markharleman@users.noreply.github.com> Date: Tue, 15 Oct 2019 13:43:35 +0200 Subject: [PATCH 126/289] Update First time setup (#10605) --- .../_integrations/google_assistant.markdown | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index f487ddce307..d6fee5b967f 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -64,27 +64,26 @@ You need to create an API Key with the [Google Cloud API Console](https://consol 1. Create a new project in the [Actions on Google console](https://console.actions.google.com/). 1. Add/Import a project and give it a name. - 2. Click on the `Home Control` card, select the `Smart home` recommendation. - 3. Click `Build your Action`, select `Add Action(s)`, and click `Add your first action`. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable. - 4. Click `Done`. Then click on `Overview`, which will lead you back to the app details screen. + 2. Click on the `Smart Home` card, select the `Smart home` recommendation. + 3. Click `Build your Action`, select `Add Action(s)`. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant` in the `Fulfillment URL` box, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable. + 4. Click `Save`. Then click on `Overview`, which will lead you back to the app details screen. 2. `Account linking` is required for your app to interact with Home Assistant. Set this up under the `Quick Setup` section. - 1. Leave it at the default `No, I only want to allow account creation on my website` and select Next. - 2. For the `Linking type` select `OAuth` and `Authorization Code`. + 1. Leave it at the default `No, I only want to allow account creation on my website` and select `Next`. + 2. For the `Linking type` select `OAuth` and `Authorization Code`. Click `Next` 3. Client ID: `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important. 4. Client Secret: Anything you like, Home Assistant doesn't need this field. 5. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize`. - 6. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`. + 6. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`. Click `Next` 7. Configure your client: Type `email` and click `Add scope`, then type `name` and click `Add scope` again. - 8. Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - 9. Testing instructions: Enter anything. It doesn't matter since you won't submit this app. + 8. Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. Click `Next` + 9. Testing instructions: Enter anything. It doesn't matter since you won't submit this app. Click `Save` Screenshot: Account linking -3. Under `Build your Action` click `Add Action(s)`. - 1. Under `Fulfillment` fill in this URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`. -4. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App. -5. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#configuration) below. -6. Open the Google Home app and go into `Account > Settings > Assistant > Home Control`. -7. Click the `+` sign, and near the bottom, you should have `[test] your app name` listed under 'Add new.' Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms for your devices or nicknames for your devices. + +3. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App. +4. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#configuration) below. +5. Open the Google Home app and goto `Account` most right icon. +6. Click `+ Set up or add`, `+ Set up device`, 'New devices', choose your home and click `Next` click `Have something...`you should have `[test] your app name` listed under 'Add new.' Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms for your devices or nicknames for your devices.

From 3f97279997cdf54dc529d578f39013f739171dd2 Mon Sep 17 00:00:00 2001 From: xelprep Date: Tue, 15 Oct 2019 04:48:41 -0700 Subject: [PATCH 127/289] Comfoconnect - Fix product links (#10773) 2 of the product links were 403 - Forbidden. I corrected the links and switched protocol from http to https --- source/_integrations/comfoconnect.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/comfoconnect.markdown b/source/_integrations/comfoconnect.markdown index 1ab6097aa18..54a8545aa0b 100644 --- a/source/_integrations/comfoconnect.markdown +++ b/source/_integrations/comfoconnect.markdown @@ -8,7 +8,7 @@ ha_category: ha_release: 0.48 --- -The `comfoconnect` integration lets you control Zehnder ComfoAir [Q350](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-st)/[450](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-st)/[600](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st) +The `comfoconnect` integration lets you control Zehnder ComfoAir [Q350](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-tr)/[Q450](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-tr)/[Q600](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st) ventilation units from Home Assistant. You need a [ComfoConnect LAN C](http://www.zehnder.co.uk/products-and-systems/comfortable-indoor-ventilation/ms-comfoair-q/ideal-control#node-21233) bridge to connect the unit to your local network. From 40edfd7d9dd32b4e64c26df4ce49a2e0723bfedb Mon Sep 17 00:00:00 2001 From: Eirik Z <46269073+atxbyea@users.noreply.github.com> Date: Tue, 15 Oct 2019 19:22:40 +0200 Subject: [PATCH 128/289] My own notes from running it was wrong (#10799) Verified full procedure from start to finish is working, tested three times in a freenas jail --- source/_docs/installation/freenas.markdown | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown index 08c2a4109a0..0e854549c12 100644 --- a/source/_docs/installation/freenas.markdown +++ b/source/_docs/installation/freenas.markdown @@ -25,13 +25,6 @@ pip3 install --upgrade pip pip3 install --upgrade virtualenv ``` -Create the configuration directory: - -```bash -mkdir -p /usr/local/homeassistant -chown -R homeassistant:homeassistant /usr/local/homeassistant -``` - Create the installation directory: ```bash @@ -100,7 +93,7 @@ vi /usr/local/etc/rc.d/homeassistant # empty string as this will cause the daemon to run with group wheel. # Default: homeassistant # homeassistant_config_dir: Directory where config files are located. -# Default: /usr/home/homeassistant/.homeassistant +# Default: /home/homeassistant/.homeassistant # homeassistant_install_dir: Directory where Home Assistant is installed. # Default: /usr/local/share/homeassistant # @@ -118,7 +111,7 @@ load_rc_config ${name} : ${homeassistant_enable:="NO"} : ${homeassistant_user:="homeassistant"} : ${homeassistant_group:="homeassistant"} -: ${homeassistant_config_dir:="/usr/home/homeassistant/.homeassistant"} +: ${homeassistant_config_dir:="/home/homeassistant/.homeassistant"} : ${homeassistant_install_dir:="/usr/local/share/homeassistant"} command="/usr/sbin/daemon" From baf3cf4a4ac06e0e42d68f9b4a388815099cba01 Mon Sep 17 00:00:00 2001 From: Adam <22942687+SilvrrGIT@users.noreply.github.com> Date: Tue, 15 Oct 2019 11:25:21 -0600 Subject: [PATCH 129/289] Cleanup of Cookbook examples Round 3 (#10798) * Outdated Last Updated 8 months ago * Outdated Last updated 10 months ago * Oudated Last updated 7 months ago. * Outdated Last updated 6 months ago --- source/_cookbook/configuration_yaml_by_cbulock.markdown | 6 ------ .../_cookbook/configuration_yaml_by_chriskacerguis.markdown | 6 ------ .../_cookbook/configuration_yaml_by_ciquattrofpv.markdown | 6 ------ source/_cookbook/configuration_yaml_by_renemarc.markdown | 6 ------ 4 files changed, 24 deletions(-) delete mode 100644 source/_cookbook/configuration_yaml_by_cbulock.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_chriskacerguis.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_ciquattrofpv.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_renemarc.markdown diff --git a/source/_cookbook/configuration_yaml_by_cbulock.markdown b/source/_cookbook/configuration_yaml_by_cbulock.markdown deleted file mode 100644 index bf5d94ca225..00000000000 --- a/source/_cookbook/configuration_yaml_by_cbulock.markdown +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "Configuration.yaml by cbulock" -description: "" -ha_category: Example configuration.yaml -ha_external_link: https://github.com/cbulock/home-assistant-configs ---- diff --git a/source/_cookbook/configuration_yaml_by_chriskacerguis.markdown b/source/_cookbook/configuration_yaml_by_chriskacerguis.markdown deleted file mode 100644 index b82a2830aab..00000000000 --- a/source/_cookbook/configuration_yaml_by_chriskacerguis.markdown +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "Configuration.yaml by chriskacerguis" -description: "" -ha_category: Example configuration.yaml -ha_external_link: https://github.com/chriskacerguis/Home-AssistantConfig ---- diff --git a/source/_cookbook/configuration_yaml_by_ciquattrofpv.markdown b/source/_cookbook/configuration_yaml_by_ciquattrofpv.markdown deleted file mode 100644 index f9bfa2c35b1..00000000000 --- a/source/_cookbook/configuration_yaml_by_ciquattrofpv.markdown +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "Configuration.yaml by Ciquattro" -description: "" -ha_category: Example configuration.yaml -ha_external_link: https://github.com/CiquattroFPV/Homeassistant-Example-Config ---- diff --git a/source/_cookbook/configuration_yaml_by_renemarc.markdown b/source/_cookbook/configuration_yaml_by_renemarc.markdown deleted file mode 100644 index f43f6281155..00000000000 --- a/source/_cookbook/configuration_yaml_by_renemarc.markdown +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "Configuration.yaml by René-Marc Simard" -description: "" -ha_category: Example configuration.yaml -ha_external_link: https://github.com/renemarc/home-assistant-config ---- From 13d282cb145531fa54fd6c6914694462dc533661 Mon Sep 17 00:00:00 2001 From: Marcel Herd Date: Tue, 15 Oct 2019 19:52:34 +0200 Subject: [PATCH 130/289] Issues/#10489 (#10634) * Renamed telegram files #10489 * Renamed telegram redirects #10489 * Replaced telegram URLs with renamed ones #10489 --- source/_integrations/telegram.markdown | 2 +- ...adcast.markdown => telegram_broadcast.markdown} | 0 ...gram_bot.markdown => telegram_chatbot.markdown} | 4 ++-- ...{polling.markdown => telegram_polling.markdown} | 0 ...ebhooks.markdown => telegram_webhooks.markdown} | 0 ...-25-config-panel-and-state-restoration.markdown | 2 +- .../2017-04-22-ikea-tradfri--spotify.markdown | 12 ++++++------ .../_posts/2017-05-06-zigbee-opencv-dlib.markdown | 6 +++--- ...5-20-automation-editor-zwave-panel-ocr.markdown | 10 +++++----- source/_posts/2017-06-04-release-46.markdown | 6 +++--- source/_posts/2017-06-17-release-47.markdown | 6 +++--- source/_posts/2017-07-02-release-48.markdown | 4 ++-- source/_posts/2017-07-16-release-49.markdown | 2 +- source/_posts/2017-07-29-release-50.markdown | 2 +- source/_posts/2017-08-12-release-51.markdown | 2 +- source/_posts/2017-09-09-release-53.markdown | 2 +- source/_posts/2017-10-21-release-56.markdown | 2 +- source/_posts/2017-11-18-release-58.markdown | 4 ++-- source/_posts/2018-01-14-release-61.markdown | 2 +- source/_posts/2018-02-26-release-64.markdown | 2 +- source/_posts/2018-03-09-release-65.markdown | 6 +++--- source/_posts/2018-03-30-release-66.markdown | 2 +- source/_posts/2018-05-18-release-70.markdown | 2 +- source/_posts/2018-07-16-release-73-2.markdown | 2 +- source/_posts/2018-09-15-release-78.markdown | 2 +- source/_posts/2018-10-12-release-80.markdown | 4 ++-- source/_posts/2018-10-29-release-81.markdown | 2 +- source/_posts/2018-11-08-release-82.markdown | 2 +- source/_posts/2019-03-13-release-89.markdown | 2 +- source/_posts/2019-04-03-release-91.markdown | 2 +- source/_posts/2019-04-24-release-92.markdown | 2 +- source/_posts/2019-05-16-release-93.markdown | 2 +- source/_redirects | 14 +++++++------- 33 files changed, 57 insertions(+), 57 deletions(-) rename source/_integrations/{broadcast.markdown => telegram_broadcast.markdown} (100%) rename source/_integrations/{telegram_bot.markdown => telegram_chatbot.markdown} (99%) rename source/_integrations/{polling.markdown => telegram_polling.markdown} (100%) rename source/_integrations/{webhooks.markdown => telegram_webhooks.markdown} (100%) diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown index b2e0c331f82..d1e32de06e8 100644 --- a/source/_integrations/telegram.markdown +++ b/source/_integrations/telegram.markdown @@ -15,7 +15,7 @@ The `telegram` platform uses [Telegram](https://web.telegram.org) to deliver not The requirements are: - You need a [Telegram bot](https://core.telegram.org/bots). Please follow those [instructions](https://core.telegram.org/bots#6-botfather) to create one and get the token for your bot. Keep in mind that bots are not allowed to contact users. You need to make the first contact with your user. Meaning that you need to send a message to the bot from your user. -- You need to configure a [Telegram bot in Home Assistant](/integrations/telegram_bot) and define there your API key and the allowed chat ids to interact with. +- You need to configure a [Telegram bot in Home Assistant](/integrations/telegram_chatbot) and define there your API key and the allowed chat ids to interact with. - The `chat_id` of an allowed user. The quickest way to retrieve your `chat_id` is visiting `https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token. diff --git a/source/_integrations/broadcast.markdown b/source/_integrations/telegram_broadcast.markdown similarity index 100% rename from source/_integrations/broadcast.markdown rename to source/_integrations/telegram_broadcast.markdown diff --git a/source/_integrations/telegram_bot.markdown b/source/_integrations/telegram_chatbot.markdown similarity index 99% rename from source/_integrations/telegram_bot.markdown rename to source/_integrations/telegram_chatbot.markdown index acd69e31b5b..eb91c44efeb 100644 --- a/source/_integrations/telegram_bot.markdown +++ b/source/_integrations/telegram_chatbot.markdown @@ -10,9 +10,9 @@ ha_iot_class: Cloud Push Use Telegram on your mobile or desktop device to send and receive messages or commands to/from your Home Assistant. -This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/integrations/polling) method or with the [webhooks](/integrations/webhooks) one, and trigger events when receiving messages. +This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/integrations/telegram_polling) method or with the [webhooks](/integrations/telegram_webhooks) one, and trigger events when receiving messages. -If you don't need to receive messages, you can use the [broadcast](/integrations/broadcast) platform instead. +If you don't need to receive messages, you can use the [broadcast](/integrations/telegram_broadcast) platform instead. ## Notification services diff --git a/source/_integrations/polling.markdown b/source/_integrations/telegram_polling.markdown similarity index 100% rename from source/_integrations/polling.markdown rename to source/_integrations/telegram_polling.markdown diff --git a/source/_integrations/webhooks.markdown b/source/_integrations/telegram_webhooks.markdown similarity index 100% rename from source/_integrations/webhooks.markdown rename to source/_integrations/telegram_webhooks.markdown diff --git a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown index 9c60f40e70e..b692820f1ad 100644 --- a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown +++ b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown @@ -283,7 +283,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [@kitcorey]: https://github.com/kitcorey [@andersonshatch]: https://github.com/andersonshatch -[telegram]: /integrations/webhooks/ +[telegram]: /integrations/telegram_webhooks/ [pushsafer]: /integrations/pushsafer [openhome]: /integrations/openhome [ups]: /integrations/ups diff --git a/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown b/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown index 74444c2dcc7..ff381ec664f 100644 --- a/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown +++ b/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown @@ -472,9 +472,9 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.tplink docs]: /integrations/tplink [switch.wake_on_lan docs]: /integrations/wake_on_lan#switch [switch.wemo docs]: /integrations/wemo -[telegram_bot docs]: /integrations/telegram_bot/ -[telegram_bot.polling docs]: /integrations/polling -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot docs]: /integrations/telegram_chatbot/ +[telegram_bot.polling docs]: /integrations/telegram_polling +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [tts.google docs]: /integrations/google_translate [tts.marytts docs]: /integrations/marytts [vera docs]: /integrations/vera/ @@ -494,8 +494,8 @@ Experiencing issues introduced by this release? Please report them in our [issue [recorder docs]: /integrations/recorder/ [switch.hook docs]: /integrations/hook [switch.wemo docs]: /integrations/wemo -[telegram_bot docs]: /integrations/telegram_bot/ -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot docs]: /integrations/telegram_chatbot/ +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [wemo docs]: /integrations/wemo/ [#7271]: https://github.com/home-assistant/home-assistant/pull/7271 [#7282]: https://github.com/home-assistant/home-assistant/pull/7282 @@ -511,5 +511,5 @@ Experiencing issues introduced by this release? Please report them in our [issue [hassio docs]: /integrations/hassio/ [notify.html5 docs]: /integrations/html5 [notify.telegram docs]: /integrations/telegram -[telegram_bot.polling docs]: /integrations/polling +[telegram_bot.polling docs]: /integrations/telegram_polling [discord]: https://discord.gg/c5DvZ4e diff --git a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown index 2bbefe48db5..b4b4636072f 100644 --- a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown +++ b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown @@ -487,9 +487,9 @@ influxdb: [switch.thinkingcleaner docs]: /integrations/thinkingcleaner#switch [switch.wemo docs]: /integrations/wemo [switch.zha docs]: /integrations/zha -[telegram_bot docs]: /integrations/telegram_bot/ -[telegram_bot.polling docs]: /integrations/polling -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot docs]: /integrations/telegram_chatbot/ +[telegram_bot.polling docs]: /integrations/telegram_polling +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [updater docs]: /integrations/updater/ [vera docs]: /integrations/vera/ [wemo docs]: /integrations/wemo/ diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index aa5c2db58a4..fd7684ca022 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -413,10 +413,10 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.wunderground docs]: /integrations/wunderground [sun docs]: /integrations/sun/ [switch.rpi_pfio docs]: /integrations/rpi_pfio#switch -[telegram_bot docs]: /integrations/telegram_bot/ -[telegram_bot.polling docs]: /integrations/polling -[telegram_bot.services.yaml docs]: /integrations/telegram_bot/#notification-services -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot docs]: /integrations/telegram_chatbot/ +[telegram_bot.polling docs]: /integrations/telegram_polling +[telegram_bot.services.yaml docs]: /integrations/telegram_chatbot/#notification-services +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [tradfri docs]: /integrations/tradfri/ [vera docs]: /integrations/vera/ [websocket_api docs]: /integrations/websocket_api/ @@ -434,5 +434,5 @@ Experiencing issues introduced by this release? Please report them in our [issue [device_tracker.ubus docs]: /integrations/ubus [hassio docs]: /integrations/hassio/ [media_player.volumio docs]: /integrations/volumio -[telegram_bot.__init__ docs]: /integrations/telegram_bot/ +[telegram_bot.__init__ docs]: /integrations/telegram_chatbot/ [discord]: https://discord.gg/c5DvZ4e diff --git a/source/_posts/2017-06-04-release-46.markdown b/source/_posts/2017-06-04-release-46.markdown index c6cb01e8558..de6ecb3d5ee 100644 --- a/source/_posts/2017-06-04-release-46.markdown +++ b/source/_posts/2017-06-04-release-46.markdown @@ -369,9 +369,9 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.broadlink docs]: /integrations/broadlink#switch [switch.rachio docs]: /integrations/rachio#switch [switch.rflink docs]: /integrations/switch.rflink/ -[telegram_bot.__init__ docs]: /integrations/telegram_bot/ -[telegram_bot.polling docs]: /integrations/polling -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot.__init__ docs]: /integrations/telegram_chatbot/ +[telegram_bot.polling docs]: /integrations/telegram_polling +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [tellduslive docs]: /integrations/tellduslive/ [upnp docs]: /integrations/upnp/ [zoneminder docs]: /integrations/zoneminder/ diff --git a/source/_posts/2017-06-17-release-47.markdown b/source/_posts/2017-06-17-release-47.markdown index ffca4c6f80d..af58001c4d2 100644 --- a/source/_posts/2017-06-17-release-47.markdown +++ b/source/_posts/2017-06-17-release-47.markdown @@ -547,9 +547,9 @@ automation: [switch.raspihats docs]: /integrations/raspihats#switch [switch.rest docs]: /integrations/switch.rest/ [switch.template docs]: /integrations/switch.template/ -[telegram_bot.__init__ docs]: /integrations/telegram_bot/ -[telegram_bot.polling docs]: /integrations/polling -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot.__init__ docs]: /integrations/telegram_chatbot/ +[telegram_bot.polling docs]: /integrations/telegram_polling +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [updater docs]: /integrations/updater/ [vera docs]: /integrations/vera/ [volvooncall docs]: /integrations/volvooncall/ diff --git a/source/_posts/2017-07-02-release-48.markdown b/source/_posts/2017-07-02-release-48.markdown index 8712f37a6b8..c72da3d136e 100644 --- a/source/_posts/2017-07-02-release-48.markdown +++ b/source/_posts/2017-07-02-release-48.markdown @@ -505,8 +505,8 @@ light: [switch.verisure docs]: /integrations/verisure [switch.wake_on_lan docs]: /integrations/wake_on_lan#switch [tado docs]: /integrations/tado/ -[telegram_bot docs]: /integrations/telegram_bot/ -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot docs]: /integrations/telegram_chatbot/ +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [tellduslive docs]: /integrations/tellduslive/ [tts docs]: /integrations/tts/ [upnp docs]: /integrations/upnp/ diff --git a/source/_posts/2017-07-16-release-49.markdown b/source/_posts/2017-07-16-release-49.markdown index 6f8201c8916..e7d2c1100b2 100644 --- a/source/_posts/2017-07-16-release-49.markdown +++ b/source/_posts/2017-07-16-release-49.markdown @@ -488,7 +488,7 @@ amcrest: [@maikelwever]: https://github.com/maikelwever [@ypollart]: https://github.com/ypollart [binary_sensor.rfxtrx docs]: /integrations/binary_sensor.rfxtrx/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [#8545]: https://github.com/home-assistant/home-assistant/pull/8545 [#8571]: https://github.com/home-assistant/home-assistant/pull/8571 [#8601]: https://github.com/home-assistant/home-assistant/pull/8601 diff --git a/source/_posts/2017-07-29-release-50.markdown b/source/_posts/2017-07-29-release-50.markdown index 5d2264acc3d..442d67008c2 100644 --- a/source/_posts/2017-07-29-release-50.markdown +++ b/source/_posts/2017-07-29-release-50.markdown @@ -418,5 +418,5 @@ conversation: [@n8henrie]: https://github.com/n8henrie [light.tradfri docs]: /integrations/tradfri [media_player.pioneer docs]: /integrations/pioneer -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [zwave docs]: /integrations/zwave/ diff --git a/source/_posts/2017-08-12-release-51.markdown b/source/_posts/2017-08-12-release-51.markdown index 76f8cd2fb65..8ce4edd2269 100644 --- a/source/_posts/2017-08-12-release-51.markdown +++ b/source/_posts/2017-08-12-release-51.markdown @@ -442,7 +442,7 @@ vacuum: [switch.rainmachine docs]: /integrations/rainmachine#switch [switch.wink docs]: /integrations/wink#switch [switch.xiaomi_vacuum docs]: /integrations/vacuum.xiaomi_miio/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [updater docs]: /integrations/updater/ [vacuum docs]: /integrations/vacuum/ [vacuum.demo docs]: /integrations/vacuum.demo/ diff --git a/source/_posts/2017-09-09-release-53.markdown b/source/_posts/2017-09-09-release-53.markdown index d0c05471051..27abd107487 100644 --- a/source/_posts/2017-09-09-release-53.markdown +++ b/source/_posts/2017-09-09-release-53.markdown @@ -439,7 +439,7 @@ frontend: [switch.rest docs]: /integrations/switch.rest/ [switch.rfxtrx docs]: /integrations/switch.rfxtrx/ [switch.knx docs]: /integrations/switch.knx/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tesla docs]: /integrations/tesla/ [tradfri docs]: /integrations/tradfri/ [volvooncall docs]: /integrations/volvooncall/ diff --git a/source/_posts/2017-10-21-release-56.markdown b/source/_posts/2017-10-21-release-56.markdown index 5cb0cba975d..0bb5badf242 100644 --- a/source/_posts/2017-10-21-release-56.markdown +++ b/source/_posts/2017-10-21-release-56.markdown @@ -529,7 +529,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.tplink docs]: /integrations/tplink [switch.wink docs]: /integrations/wink#switch [switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tesla docs]: /integrations/tesla/ [toon docs]: /integrations/toon/ [tradfri docs]: /integrations/tradfri/ diff --git a/source/_posts/2017-11-18-release-58.markdown b/source/_posts/2017-11-18-release-58.markdown index 8d349a0d9af..7193cb8751f 100644 --- a/source/_posts/2017-11-18-release-58.markdown +++ b/source/_posts/2017-11-18-release-58.markdown @@ -469,8 +469,8 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.snmp docs]: /integrations/snmp#switch [switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/ [system_log docs]: /integrations/system_log/ -[telegram_bot docs]: /integrations/telegram_bot/ -[telegram_bot.polling docs]: /integrations/polling +[telegram_bot docs]: /integrations/telegram_chatbot/ +[telegram_bot.polling docs]: /integrations/telegram_polling [tradfri docs]: /integrations/tradfri/ [tts docs]: /integrations/tts/ [tts.google docs]: /integrations/google_translate diff --git a/source/_posts/2018-01-14-release-61.markdown b/source/_posts/2018-01-14-release-61.markdown index 64aaae1f4e4..95c6c42ceac 100644 --- a/source/_posts/2018-01-14-release-61.markdown +++ b/source/_posts/2018-01-14-release-61.markdown @@ -760,7 +760,7 @@ Note however, that this feature was replaced by a new ignore_string config optio [switch.transmission docs]: /integrations/transmission [switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/ [tahoma docs]: /integrations/tahoma/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [timer docs]: /integrations/timer/ [tts.baidu docs]: /integrations/baidu [tts.marytts docs]: /integrations/marytts diff --git a/source/_posts/2018-02-26-release-64.markdown b/source/_posts/2018-02-26-release-64.markdown index 9944c1634fe..72a5c8cff7e 100644 --- a/source/_posts/2018-02-26-release-64.markdown +++ b/source/_posts/2018-02-26-release-64.markdown @@ -576,7 +576,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.smappee docs]: /integrations/smappee [switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/ [tahoma docs]: /integrations/tahoma/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [vacuum.xiaomi_miio docs]: /integrations/vacuum.xiaomi_miio/ [vera docs]: /integrations/vera/ [weather.buienradar docs]: /integrations/buienradar diff --git a/source/_posts/2018-03-09-release-65.markdown b/source/_posts/2018-03-09-release-65.markdown index 1c76851490c..a4aa5d24de9 100644 --- a/source/_posts/2018-03-09-release-65.markdown +++ b/source/_posts/2018-03-09-release-65.markdown @@ -644,9 +644,9 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.xiaomi_aqara docs]: /integrations/switch.xiaomi_aqara/ [switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/ [switch.zha docs]: /integrations/zha -[telegram_bot.broadcast docs]: /integrations/broadcast -[telegram_bot.polling docs]: /integrations/polling -[telegram_bot.webhooks docs]: /integrations/webhooks +[telegram_bot.broadcast docs]: /integrations/telegram_broadcast +[telegram_bot.polling docs]: /integrations/telegram_polling +[telegram_bot.webhooks docs]: /integrations/telegram_webhooks [upcloud docs]: /integrations/upcloud/ [vacuum.xiaomi_miio docs]: /integrations/vacuum.xiaomi_miio/ [weather docs]: /integrations/weather/ diff --git a/source/_posts/2018-03-30-release-66.markdown b/source/_posts/2018-03-30-release-66.markdown index 8a16136aadb..8b54fe16309 100644 --- a/source/_posts/2018-03-30-release-66.markdown +++ b/source/_posts/2018-03-30-release-66.markdown @@ -550,7 +550,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.vesync docs]: /integrations/vesync#switches [switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/ [switch.zha docs]: /integrations/zha -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [upcloud docs]: /integrations/upcloud/ [vacuum.xiaomi_miio docs]: /integrations/vacuum.xiaomi_miio/ [weather.darksky docs]: /integrations/weather.darksky/ diff --git a/source/_posts/2018-05-18-release-70.markdown b/source/_posts/2018-05-18-release-70.markdown index 60cd476658b..1fde7339710 100644 --- a/source/_posts/2018-05-18-release-70.markdown +++ b/source/_posts/2018-05-18-release-70.markdown @@ -432,7 +432,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.tahoma docs]: /integrations/tahoma [system_log docs]: /integrations/system_log/ [tahoma docs]: /integrations/tahoma/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tts docs]: /integrations/tts/ [updater docs]: /integrations/updater/ [weather.bom docs]: /integrations/bom diff --git a/source/_posts/2018-07-16-release-73-2.markdown b/source/_posts/2018-07-16-release-73-2.markdown index 251bb843ade..b0fda1db48a 100644 --- a/source/_posts/2018-07-16-release-73-2.markdown +++ b/source/_posts/2018-07-16-release-73-2.markdown @@ -33,7 +33,7 @@ After research, the following integrations have been impacted. Although the odds - [scene.lifx_cloud](/integrations/lifx_cloud) - [switch.hook](/integrations/hook) - [switch.rest](/integrations/switch.rest/) -- [telegram_bot.polling](/integrations/polling) +- [telegram_bot.polling](/integrations/telegram_polling) - [tts.voicerss](/integrations/voicerss) Also impacted, but integrations are read only: diff --git a/source/_posts/2018-09-15-release-78.markdown b/source/_posts/2018-09-15-release-78.markdown index ddebd0a075c..92655fe1979 100644 --- a/source/_posts/2018-09-15-release-78.markdown +++ b/source/_posts/2018-09-15-release-78.markdown @@ -480,7 +480,7 @@ The configuration value type should no longer be used. ([@endor-force] - [#15935 [switch.tahoma docs]: /integrations/tahoma [switch.tplink docs]: /integrations/tplink [tahoma docs]: /integrations/tahoma/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tts docs]: /integrations/tts/ [upnp docs]: /integrations/upnp/ [vacuum docs]: /integrations/vacuum/ diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown index 4351081033e..fa54d4a3f93 100644 --- a/source/_posts/2018-10-12-release-80.markdown +++ b/source/_posts/2018-10-12-release-80.markdown @@ -80,7 +80,7 @@ On the devices side, we got basic support for the new IKEA TRÅDFRI switches, Ho [camera.blink docs]: /integrations/blink [cloud docs]: /integrations/cloud/ [sensor.blink docs]: /integrations/blink -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ ## Release 0.80.3 - October 18 @@ -709,7 +709,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.tradfri docs]: /integrations/tradfri [switch.volvooncall docs]: /integrations/volvooncall [switch.xiaomi_aqara docs]: /integrations/switch.xiaomi_aqara/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tibber docs]: /integrations/tibber/ [timer docs]: /integrations/timer/ [tradfri docs]: /integrations/tradfri/ diff --git a/source/_posts/2018-10-29-release-81.markdown b/source/_posts/2018-10-29-release-81.markdown index c6a5d31443d..8312fb5ee2e 100644 --- a/source/_posts/2018-10-29-release-81.markdown +++ b/source/_posts/2018-10-29-release-81.markdown @@ -843,7 +843,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.xiaomi_aqara docs]: /integrations/switch.xiaomi_aqara/ [switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/ [switch.zwave docs]: /integrations/zwave -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tts docs]: /integrations/tts/ [twilio docs]: /integrations/twilio/ [unifi docs]: /integrations/unifi/ diff --git a/source/_posts/2018-11-08-release-82.markdown b/source/_posts/2018-11-08-release-82.markdown index 1f95b61a1a3..cdc29a83f86 100644 --- a/source/_posts/2018-11-08-release-82.markdown +++ b/source/_posts/2018-11-08-release-82.markdown @@ -678,7 +678,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.xiaomi_aqara docs]: /integrations/switch.xiaomi_aqara/ [switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/ [switch.zigbee docs]: /integrations/zigbee#switch -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tts docs]: /integrations/tts/ [twilio docs]: /integrations/twilio/ [updater docs]: /integrations/updater/ diff --git a/source/_posts/2019-03-13-release-89.markdown b/source/_posts/2019-03-13-release-89.markdown index 8b78cb14b2e..9999d3ed86b 100644 --- a/source/_posts/2019-03-13-release-89.markdown +++ b/source/_posts/2019-03-13-release-89.markdown @@ -714,7 +714,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.tplink docs]: /integrations/tplink [system_log docs]: /integrations/system_log/ [tahoma docs]: /integrations/tahoma/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tellduslive docs]: /integrations/tellduslive/ [tibber docs]: /integrations/tibber/ [toon docs]: /integrations/toon/ diff --git a/source/_posts/2019-04-03-release-91.markdown b/source/_posts/2019-04-03-release-91.markdown index 18e928ea157..2949fc1e9ba 100644 --- a/source/_posts/2019-04-03-release-91.markdown +++ b/source/_posts/2019-04-03-release-91.markdown @@ -831,7 +831,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch docs]: /integrations/switch/ [switchbot docs]: /integrations/switchbot/ [systemmonitor docs]: /integrations/systemmonitor/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tellduslive docs]: /integrations/tellduslive/ [tfiac docs]: /integrations/tfiac/ [tibber docs]: /integrations/tibber/ diff --git a/source/_posts/2019-04-24-release-92.markdown b/source/_posts/2019-04-24-release-92.markdown index 73dafc2baed..150497511b6 100644 --- a/source/_posts/2019-04-24-release-92.markdown +++ b/source/_posts/2019-04-24-release-92.markdown @@ -1077,7 +1077,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [stream docs]: /integrations/stream/ [supla docs]: /integrations/supla/ [switch docs]: /integrations/switch/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tellduslive docs]: /integrations/tellduslive/ [tplink docs]: /integrations/tplink/ [trend docs]: /integrations/trend/ diff --git a/source/_posts/2019-05-16-release-93.markdown b/source/_posts/2019-05-16-release-93.markdown index d1559eb9064..0f14aa39063 100644 --- a/source/_posts/2019-05-16-release-93.markdown +++ b/source/_posts/2019-05-16-release-93.markdown @@ -854,7 +854,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [systemmonitor docs]: /integrations/systemmonitor/ [tapsaff docs]: /integrations/tapsaff/ [ted5000 docs]: /integrations/ted5000/ -[telegram_bot docs]: /integrations/telegram_bot/ +[telegram_bot docs]: /integrations/telegram_chatbot/ [tellduslive docs]: /integrations/tellduslive/ [tensorflow docs]: /integrations/tensorflow/ [thethingsnetwork docs]: /integrations/thethingsnetwork/ diff --git a/source/_redirects b/source/_redirects index d1f22bec832..454eddd2e52 100644 --- a/source/_redirects +++ b/source/_redirects @@ -1066,9 +1066,9 @@ /components/switch.zigbee /integrations/zigbee#switch /components/switch.zoneminder /integrations/zoneminder#switch /components/switch.zwave /integrations/zwave -/components/telegram_bot.broadcast /integrations/broadcast -/components/telegram_bot.polling /integrations/polling -/components/telegram_bot.webhooks /integrations/webhooks +/components/telegram_bot.broadcast /integrations/telegram_broadcast +/components/telegram_bot.polling /integrations/telegram_polling +/components/telegram_bot.webhooks /integrations/telegram_webhooks /components/tts.amazon_polly /integrations/amazon_polly /components/tts.baidu /integrations/baidu /components/tts.google /integrations/google_translate @@ -1190,7 +1190,7 @@ /components/bmw_connected_drive /integrations/bmw_connected_drive /components/bom /integrations/bom /components/braviatv /integrations/braviatv -/components/broadcast /integrations/broadcast +/components/broadcast /integrations/telegram_broadcast /components/broadlink /integrations/broadlink /components/brottsplatskartan /integrations/brottsplatskartan /components/browser /integrations/browser @@ -1710,7 +1710,7 @@ /components/plum_lightpad /integrations/plum_lightpad /components/pocketcasts /integrations/pocketcasts /components/point /integrations/point -/components/polling /integrations/polling +/components/polling /integrations/telegram_polling /components/postnl /integrations/postnl /components/prezzibenzina /integrations/prezzibenzina /components/proliphix /integrations/proliphix @@ -1908,7 +1908,7 @@ /components/ted5000 /integrations/ted5000 /components/teksavvy /integrations/teksavvy /components/telegram /integrations/telegram -/components/telegram_bot /integrations/telegram_bot +/components/telegram_bot /integrations/telegram_chatbot /components/tellduslive /integrations/tellduslive /components/tellstick /integrations/tellstick /components/telnet /integrations/telnet @@ -2009,7 +2009,7 @@ /components/weather /integrations/weather /components/weather.darksky /integrations/weather.darksky /components/webhook /integrations/webhook -/components/webhooks /integrations/webhooks +/components/webhooks /integrations/telegram_webhooks /components/weblink /integrations/weblink /components/webostv /integrations/webostv /components/websocket_api /integrations/websocket_api From f422092c42b19eb705941fdbffb9c5f40658a25a Mon Sep 17 00:00:00 2001 From: MeIchthys Date: Tue, 15 Oct 2019 13:55:07 -0400 Subject: [PATCH 131/289] Roomba integration update (#10784) * roomba intregration: 890 model confirmed The Roomba model 890 is tested & confirmed to be working with this integration. * Add Roomba Screenshot Add Roomba screenshot with same naming convention as other screenshots. * Add screenshot for Roomba intregration Added screenshot for Roomba integration --- source/_integrations/roomba.markdown | 6 +++++- .../screenshots/more-info-dialog-roomba.png | Bin 0 -> 19472 bytes 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 source/images/screenshots/more-info-dialog-roomba.png diff --git a/source/_integrations/roomba.markdown b/source/_integrations/roomba.markdown index 2c7ddccef68..925ae07841d 100644 --- a/source/_integrations/roomba.markdown +++ b/source/_integrations/roomba.markdown @@ -9,8 +9,12 @@ ha_release: 0.51 The `roomba` integration allows you to control your [iRobot Roomba](http://www.irobot.com/For-the-Home/Vacuuming/Roomba.aspx) vacuum. +

+ +

+
-This platform has only been tested with an iRobot Roomba 980 but should work fine with any Wi-Fi enabled Roomba like the 690, 890 or the 960. +This platform has been tested and is confirmed to be working with the iRobot Roomba 980 and 890 models, but should also work fine with any Wi-Fi enabled Roomba like the 690 or the 960.
## Configuration diff --git a/source/images/screenshots/more-info-dialog-roomba.png b/source/images/screenshots/more-info-dialog-roomba.png new file mode 100644 index 0000000000000000000000000000000000000000..576411957acd77a1d5493e813047088129f08556 GIT binary patch literal 19472 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 Date: Tue, 15 Oct 2019 19:57:14 +0200 Subject: [PATCH 132/289] :wrench: Fix Link for filtrete (#10783) Not 100% sure that it's the correct one but seems that they have split and created a dedicated webpage for filtrete --- source/_integrations/radiotherm.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/radiotherm.markdown b/source/_integrations/radiotherm.markdown index 408c1b565ae..c87edb9bbc1 100644 --- a/source/_integrations/radiotherm.markdown +++ b/source/_integrations/radiotherm.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.7.6 --- -The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/) or [3M Filtrete](http://www.radiothermostat.com/filtrete/products/). Your thermostat must have the Wi-Fi module installed and connected to your network. +The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/) or [3M Filtrete](https://www.filtrete.com/). Your thermostat must have the Wi-Fi module installed and connected to your network. The underlying library supports: From 91d744c27bd4fca5704a79d7e181d74cc91f68c2 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Tue, 15 Oct 2019 19:59:16 +0200 Subject: [PATCH 133/289] deCONZ - List Symfonisk sound controller as supported device trigger (#10781) --- source/_integrations/deconz.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown index 33ac85f3cf3..659d5599617 100644 --- a/source/_integrations/deconz.markdown +++ b/source/_integrations/deconz.markdown @@ -126,6 +126,7 @@ Currently supported devices as device triggers: - Hue Dimmer Remote - Hue Tap +- Symfonisk Sound Controller - Trådfri On/Off Switch - Trådfri Open/Close Remote - Trådfri Remote Control From aaa6f718008c743952a7a88d752f3b1ec41d2393 Mon Sep 17 00:00:00 2001 From: Charles Garwood Date: Tue, 15 Oct 2019 14:00:27 -0400 Subject: [PATCH 134/289] Include note about secure inclusion bandwidth (#10777) Z-Wave secure inclusion uses more bandwidth for communications and can slow down your network. This adds a note to the docs to mention that as we've seen performance issues in discord with too many chatty nodes that were secure included. --- source/_docs/z-wave/adding.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown index 9fc6f3dc704..126a495fcdd 100644 --- a/source/_docs/z-wave/adding.markdown +++ b/source/_docs/z-wave/adding.markdown @@ -69,6 +69,10 @@ After defining your network key, follow these steps to add (include) a secure Z- 3. Activate your device to be included by following the instructions provided with the device 4. With the device in its final location, run a *Heal Network* +
+Secure devices require additional bandwidth, and too many secure devices can slow down your Z-Wave network. We recommend only using secure inclusion for devices that require it, such as locks. +
+ ## Removing Devices To remove (exclude) a Z-Wave device from your system: From 545a86564c252e315fffaea2d5bcecf493ef3cfd Mon Sep 17 00:00:00 2001 From: David Radcliffe Date: Tue, 15 Oct 2019 14:04:02 -0400 Subject: [PATCH 135/289] Fix grouping and sorting for versions >= 0.100.x (#10775) --- plugins/filters.rb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/plugins/filters.rb b/plugins/filters.rb index aa136bf2925..4976c732fc1 100644 --- a/plugins/filters.rb +++ b/plugins/filters.rb @@ -100,13 +100,10 @@ module Jekyll if minor.length == 1 "#{major}.X" else - "#{major}.#{minor[0]}X" + "#{major}.#{minor.chop}X" end }.map { |v| sort_key = v[1][-1]["sort_key"] - if v[0] == "0.X" - sort_key = "0.01" # Ensure 0.X is always sorted at bottom. - end total_new_components = 0 @@ -115,7 +112,7 @@ module Jekyll end { "label" => v[0], "versions" => v[1], "new_components_count" => total_new_components, "sort_key" => sort_key } - }.sort_by { |v| v["sort_key"] }.reverse + }.sort_by { |v| Gem::Version.new(v["sort_key"]) }.reverse end # Get version N behind current From 252a9314d3f50c817fe8566b47e68a16e4652288 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 15 Oct 2019 20:21:40 +0200 Subject: [PATCH 136/289] Allow iframing our website, e.g., for the demo (#10803) --- source/_headers | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_headers b/source/_headers index 0216498cc7f..61d96baf8a7 100644 --- a/source/_headers +++ b/source/_headers @@ -4,7 +4,6 @@ Feature-Policy: vibrate 'none'; geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; vibrate 'none'; payment 'none' Referrer-Policy: no-referrer-when-downgrade X-Content-Type-Options: nosniff - X-Frame-Options: DENY X-XSS-Protection: 1; mode=block /*.css Cache-Control: public, max-age: 604800, s-maxage=604800 From 1076665a31d2086985bbff3082b74a7b3b077db6 Mon Sep 17 00:00:00 2001 From: xelprep Date: Tue, 15 Oct 2019 11:47:17 -0700 Subject: [PATCH 137/289] Fixed broken link in Google Assistant doc (#10770) Unlinking instructions have moved to a new support page --- source/_integrations/google_assistant.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index d6fee5b967f..c3a277e9bf3 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -241,7 +241,7 @@ Here are the modes that are currently available: ### Troubleshooting the request_sync service -The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlehome/answer/7506443) from Home Control and relink. +The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlenest/answer/7126338) from Home Control and relink. The request_sync service may fail with a 404 if the project_id of the Homegraph API differs from the project_id of the Actions SDK found in the preferences of your project on [Actions on Google console](https://console.actions.google.com). Resolve this by: From 472b2321123700acae29f62478f4f1f708f1a1aa Mon Sep 17 00:00:00 2001 From: Adam <22942687+SilvrrGIT@users.noreply.github.com> Date: Tue, 15 Oct 2019 12:54:40 -0600 Subject: [PATCH 138/289] Change to YAML from JSON per .100 release notes (#10806) * Change to YAML from JSON per .100 release notes https://www.home-assistant.io/blog/2019/10/10/release-100/#goodbye-json- * :pencil2: Tweaks --- source/_docs/tools/dev-tools.markdown | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown index 1f128177525..5e2e0ed8096 100644 --- a/source/_docs/tools/dev-tools.markdown +++ b/source/_docs/tools/dev-tools.markdown @@ -30,22 +30,21 @@ The list of services in the “Service” drop down are automatically populated When a Service is selected, and if that service requires an `entity_id` to be passed, the “Entity” drop down will automatically be populated with corresponding entities. -A Service may also require additional input to be passed. It is commonly referred to as “service data”. The service data is only accepted in the JSON format, and it may be optional depending on the service. +A Service may also require additional input to be passed. It is commonly referred to as “service data”. The service data is accepted in YAML format, and it may be optional depending on the service. -When an entity is selected from the Entity drop down, it automatically populates service data with the corresponding `entity_id`. The service data JSON can then be modified to pass additional \[optional\] parameters. The following is an illustration on how to call a `light.turn_on` service. +When an entity is selected from the Entity drop down, it automatically populates service data with the corresponding `entity_id`. The service data YAML can then be modified to pass additional \[optional\] parameters. The following is an illustration on how to call a `light.turn_on` service. To turn on a light bulb, use the following steps: 1. Select `light.turn_on` from the Service drop down 2. Select the entity (typically the light bulb) from the Entity drop down (if no entity_id is selected, it turns on ALL lights) 3. If an entity is selected, the service data is populated with basic JSON that will be passed to the service. An additional data can also be passed by updating the JSON as below. -```json -{ - "entity_id": "light.bedroom", - "brightness": 255, - "rgb_color": [255, 0, 0] -} +```yaml +entity_id: light.bedroom +brightness: 255 +rgb_color: [255, 0, 0] ``` + ## States This section shows all the available entities, their corresponding state and the attribute values. The state and the attribute information is what Home Assistant sees at run time. To update the entity with a new state, or a new attribute value, click on the entity, scroll to the top, and modify the values, and click on “SET STATE” button. @@ -60,11 +59,12 @@ This Events section is as basic as it can get. It does only one thing – fires To fire an event, simply type the name of the event, and pass the event data in JSON format. For ex: To fire a custom event, enter the `event_type` as `event_light_state_changed` and the event data JSON as -```json -{ "state":"on" } +```yaml +state: on ``` If there is an automation that handles that event, it will be automatically triggered. See below: + ```yaml - alias: Capture Event trigger: @@ -86,19 +86,16 @@ It is a good practice to test the template code in the template editor prior to For more information about jinja2, visit [jinja2 documentation](http://jinja.pocoo.org/docs/dev/templates/), and also read templating document [here](/topics/templating/) - ## MQTT This section is only visible if the MQTT integration is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to the [mqtt](/integrations/mqtt/) component. Even though MQTT in general provides deeper functionality, the developer tools section of MQTT is limited to publishing messages to a given topic. It supports templates for the payload. To publish a message, simply specify the topic name and the payload and click “PUBLISH” button. - ## Logs This section displays `syslog` information, and the contents of `home-assistant.log` with an option to clear and refresh the logs. - ## Info The Information tab simply provides information about the current installed version, [system health](/integrations/system_health/) (if enabled), additional links and credits. From f9efa026fc70b7fda6c33ab28dd578e7764631f9 Mon Sep 17 00:00:00 2001 From: Peter Nijssen Date: Tue, 15 Oct 2019 21:27:12 +0200 Subject: [PATCH 139/289] add rainbird service (#10745) --- source/_integrations/rainbird.markdown | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/source/_integrations/rainbird.markdown b/source/_integrations/rainbird.markdown index 07d07ca0966..338f5ff089a 100644 --- a/source/_integrations/rainbird.markdown +++ b/source/_integrations/rainbird.markdown @@ -105,3 +105,26 @@ This `rainbird` switch platform allows interacting with [LNK WiFi](http://www.ra Switches are automatically added for all available zones of configured controllers. +## Services + +The Rain Bird switch platform exposes a service to start a single irrigation for a given duration. + +| Service | Description | +| ------- | ----------- | +| rainbird.start_irrigation | Set a duration state attribute for a switch and turn the irrigation on.| + +The service can be used as part of an automation script. For example: + +```yaml +# Example configuration.yaml automation entry +automation: + - alias: Turn irrigation on + trigger: + platform: time + at: '5:30:00' + action: + service: rainbird.start_irrigation + entity_id: switch.sprinkler_1 + data: + duration: 5 +``` \ No newline at end of file From f88ba3a95edf9fdf96422d65f3a2fe057ef73b8a Mon Sep 17 00:00:00 2001 From: Andrea Donno Date: Wed, 16 Oct 2019 10:58:35 +0200 Subject: [PATCH 140/289] Remove link to a under construction site (#10812) Seems that the site is under construction and i couldn't find any other reference to a webpage for the product. Except for 3rd party ones. --- source/_integrations/hook.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/hook.markdown b/source/_integrations/hook.markdown index 152da2f657a..94e046e9d91 100644 --- a/source/_integrations/hook.markdown +++ b/source/_integrations/hook.markdown @@ -8,7 +8,7 @@ ha_iot_class: Assumed State ha_release: 0.34 --- -The `hook` integration allows you to control the [Hook Smart Home Hub](http://www.hooksmarthome.com/) from within Home Assistant. +The `hook` integration allows you to control the Hook Smart Home Hub from within Home Assistant. Hook allows you to control cheap mains electrical outlets, like these ones at [Amazon](https://amzn.to/2WVZdGG). From 7117ae0b2a55102fb14dd003755ad46e19cd45d5 Mon Sep 17 00:00:00 2001 From: Andrea Donno Date: Wed, 16 Oct 2019 11:02:03 +0200 Subject: [PATCH 141/289] Time to remove the notice (#10809) That notice can be removed --- source/_integrations/automation.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_integrations/automation.markdown b/source/_integrations/automation.markdown index 9306cd54a3b..3022ff21439 100644 --- a/source/_integrations/automation.markdown +++ b/source/_integrations/automation.markdown @@ -11,8 +11,6 @@ ha_release: 0.7 Please see the [docs section](/docs/automation/) for in-depth documentation on how to use the automation component. -Starting with 0.28 your automation rules can be controlled with the frontend. -

From d6ebf421a73cbe90cc34427c591e756b73a17437 Mon Sep 17 00:00:00 2001 From: Andrea Donno Date: Tue, 15 Oct 2019 23:00:10 +0200 Subject: [PATCH 142/289] Remove broken Link Seems that the CLA link to github is not existing anymore. I have been looking to find a replacement but this is all I found https://github.com/github/hub/issues/1781. So I thought I might Remove the Link --- CLA.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CLA.md b/CLA.md index 4560e3be643..757a5a0675d 100644 --- a/CLA.md +++ b/CLA.md @@ -38,10 +38,6 @@ is covered under an appropriate open source license and you have the right under whether created in whole or in part by you, or you have clearly identified the source of the contribution and any license or other restriction (like related patents, trademarks, and license agreements) of which you are personally aware. -## Attribution - -This Contributor License Agreement is adapted from the [GitHub CLA][github-cla]. - ## Signing To sign this CLA you must first submit a pull request to a repository under the Home Assistant organization. From 1a4766a1d5b28667967698173e2d26d55887b6c9 Mon Sep 17 00:00:00 2001 From: Nico Hirsch <30938717+noxhirsch@users.noreply.github.com> Date: Wed, 16 Oct 2019 12:05:29 +0200 Subject: [PATCH 143/289] GCM configuration already stopped working (#10814) GCM configuration already stopped working --- source/_integrations/html5.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown index d36a05a7160..08aa479bfc7 100644 --- a/source/_integrations/html5.markdown +++ b/source/_integrations/html5.markdown @@ -17,7 +17,7 @@ HTML5 push notifications **do not** work on iOS.
-The GCM configuration option is deprecated and will stop working in April 2019, see [https://developers.google.com/cloud-messaging/faq](https://developers.google.com/cloud-messaging/faq). If you are installing this platform for the first time, follow the VAPID configuration steps. To migrate your current installation from GCM to VAPID configuration, follow the instructions below. You can skip the first 3 steps and continue in step 4 with your existing project. You will also need to delete `html5_push_registrations.conf` and [re-enable the notifications in your browser](#setting-up-your-browser). +The GCM configuration option is deprecated and stopped working in May 2019, see [https://developers.google.com/cloud-messaging/faq](https://developers.google.com/cloud-messaging/faq). If you are installing this platform for the first time, follow the VAPID configuration steps. To migrate your current installation from GCM to VAPID configuration, follow the instructions below. You can skip the first 3 steps and continue in step 4 with your existing project. You will also need to delete `html5_push_registrations.conf` and [re-enable the notifications in your browser](#setting-up-your-browser).
From 0a5f5182400cdcad063a853593afee9eaa9bbde8 Mon Sep 17 00:00:00 2001 From: MeIchthys Date: Wed, 16 Oct 2019 06:09:51 -0400 Subject: [PATCH 144/289] Add link to FluNearYou website (#10811) Added link to source website. --- source/_integrations/flunearyou.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/flunearyou.markdown b/source/_integrations/flunearyou.markdown index 0507379e805..4407c9241b0 100644 --- a/source/_integrations/flunearyou.markdown +++ b/source/_integrations/flunearyou.markdown @@ -9,8 +9,8 @@ ha_iot_class: Cloud Polling --- The `flunearyou` sensor platform allows users in the United States and its -territories to get information regarding reported flu symptoms from Flu Near -You. The platform can return user-reported information as well reports from the +territories to get information regarding reported flu symptoms from [Flu Near +You](https://flunearyou.org/). The platform can return user-reported information as well reports from the Center for Disease Control (CDC). ## Configuration From 51aae181cc910930e3d3826cae6b99b067c647ab Mon Sep 17 00:00:00 2001 From: tomlut <10679300+tomlut@users.noreply.github.com> Date: Wed, 16 Oct 2019 23:35:34 +1100 Subject: [PATCH 145/289] Added revert to UI edit mode instructions Added revert to UI edit mode instructions after a user identified that this was not obvious in the Lovelace discord topic. --- source/lovelace/yaml-mode.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/lovelace/yaml-mode.markdown b/source/lovelace/yaml-mode.markdown index d37598aabff..f8367645a1e 100644 --- a/source/lovelace/yaml-mode.markdown +++ b/source/lovelace/yaml-mode.markdown @@ -96,3 +96,5 @@ Your previously customized Lovelace UI won't be modifiable anymore and won't fol - There you see the config for your actual Lovelace UI, you can copy that into the `/ui-lovelace.yaml` file. Navigate to `/lovelace`. When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI. + +To revert to using the UI to edit Lovelace, remove the `configuration.yaml` Lovelace entry and copy your `lovelace.yaml` content back into the raw config section of Home Assiatant and restart. From 502ee8228a751145e0781865948eba7421b47aec Mon Sep 17 00:00:00 2001 From: Christopher Cavey Date: Wed, 16 Oct 2019 09:27:09 -0400 Subject: [PATCH 146/289] Reflect the correct default retain status See https://github.com/home-assistant/home-assistant/pull/27574 See https://github.com/home-assistant/home-assistant/issues/27573 --- source/_docs/mqtt/birth_will.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/mqtt/birth_will.markdown b/source/_docs/mqtt/birth_will.markdown index 0a6c2f818e9..3c1737f3a91 100644 --- a/source/_docs/mqtt/birth_will.markdown +++ b/source/_docs/mqtt/birth_will.markdown @@ -41,7 +41,7 @@ birth_message: retain: description: If the published message should have the retain flag on or not. required: false - default: true + default: false type: boolean will_message: description: Will Message @@ -64,6 +64,6 @@ will_message: retain: description: If the published message should have the retain flag on or not. required: false - default: true + default: false type: boolean {% endconfiguration %} From ee3be805290b9b2ad225276986fe2867c22f0498 Mon Sep 17 00:00:00 2001 From: akasma74 Date: Wed, 16 Oct 2019 15:43:09 +0100 Subject: [PATCH 147/289] Clarification of time formats This PR superceeds #10796 (couldn't rebase that). I couldn't find anything in the current docs on time formats and thought it would be useful to give more details (rather than time | integer description) about ones available. --- source/_integrations/generic_thermostat.markdown | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/source/_integrations/generic_thermostat.markdown b/source/_integrations/generic_thermostat.markdown index 6e247967a82..79bb0a2847b 100644 --- a/source/_integrations/generic_thermostat.markdown +++ b/source/_integrations/generic_thermostat.markdown @@ -55,7 +55,7 @@ ac_mode: min_cycle_duration: description: Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on. required: false - type: [time, integer] + type: time cold_tolerance: description: Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5. required: false @@ -69,7 +69,7 @@ hot_tolerance: keep_alive: description: Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate integration state (either on or off). required: false - type: [time, integer] + type: time initial_hvac_mode: description: Set the initial HVAC mode. Valid values are `off`, `heat` or `cool`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. required: false @@ -85,12 +85,14 @@ precision: default: "`0.5` for Celsius and `1.0` for Fahrenheit." {% endconfiguration %} -A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. +__Notes__ +Time for `min_cycle_duration` and `keep_alive` must be set as wrapped in quotes representation of time in form of "hh:mm:ss", time in seconds (without quotes) or it must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:` Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' hvac modes. You can force your `generic_thermostat` to avoid starting by setting HVAC mode to 'off'. Please note that when changing the preset mode to away, you will force a target temperature change as well that will get restored once the preset mode is set to none again. +__Example__ ```yaml # Full example configuration.yaml entry climate: From 24d68927473dde5d34d29bae39f6315cfc284779 Mon Sep 17 00:00:00 2001 From: seanvictory Date: Wed, 16 Oct 2019 11:29:09 -0700 Subject: [PATCH 148/289] Update aquostv.markdown (#10821) Fixed grammatical error --- source/_integrations/aquostv.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/aquostv.markdown b/source/_integrations/aquostv.markdown index bf4770c9171..2ac9d50ab56 100644 --- a/source/_integrations/aquostv.markdown +++ b/source/_integrations/aquostv.markdown @@ -56,7 +56,7 @@ power_on_enabled: When you set **power_on_enabled** as True, you have to turn on your TV on the first time with the remote. Then you will be able to turn on with Home Assistant. -Also, with **power_on_enabled** as True, the Aquos logo on your TV will stay on when you turn off the TV and your TV could consumes more power. +Also, with **power_on_enabled** as True, the Aquos logo on your TV will stay on when you turn off the TV and your TV could consume more power.
From 974f32e4c8bbf760e97369cbfc00b2eb19c78a08 Mon Sep 17 00:00:00 2001 From: Eirik Z <46269073+atxbyea@users.noreply.github.com> Date: Wed, 16 Oct 2019 20:36:14 +0200 Subject: [PATCH 149/289] Missing the required "detector" value (#10825) Agreed with arsaboo that detector needs to be defined, only value that I could find was "default" --- source/_integrations/doods.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/doods.markdown b/source/_integrations/doods.markdown index 53088e5a9d8..f5d59569ed7 100644 --- a/source/_integrations/doods.markdown +++ b/source/_integrations/doods.markdown @@ -23,6 +23,7 @@ The configuration loosely follows the tensorflow configuration. To enable this p image_processing: - platform: doods url: "http://:8080" + detector: default source: - entity_id: camera.front_yard ``` @@ -47,7 +48,7 @@ url: type: string detector: description: The DOODS detector to use - required: false + required: true type: string confidence: description: The default confidence for any detected objects where not explicitly set From 9d11f18f5c88dd0ca799e8addc1acfbb33c41af3 Mon Sep 17 00:00:00 2001 From: Nico Hirsch <30938717+noxhirsch@users.noreply.github.com> Date: Wed, 16 Oct 2019 21:14:05 +0200 Subject: [PATCH 150/289] Remove service open (#10827) I removed service `open` because it's part of HA's lock integration (FollowUp to #10822) --- source/_integrations/nuki.markdown | 8 -------- 1 file changed, 8 deletions(-) diff --git a/source/_integrations/nuki.markdown b/source/_integrations/nuki.markdown index 098c6a76d41..1f6d8e83e88 100644 --- a/source/_integrations/nuki.markdown +++ b/source/_integrations/nuki.markdown @@ -39,14 +39,6 @@ token: ## Services -### Service `open` - -This will unlatch the door, ie. open it (provided this works with your type of door). - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`s Nuki Locks. - ### Service `lock_n_go` This will first unlock, wait a few seconds (20 by default) then re-lock. The wait period can be customized through the app. From 0090ae57893d2be744944a1fae7e3239eecf33a1 Mon Sep 17 00:00:00 2001 From: 1DontEx1st Date: Wed, 16 Oct 2019 15:15:47 -0400 Subject: [PATCH 151/289] Patch 5 (#10824) * Update history.markdown mentioned that this is included in default_config * Update automation.markdown mentioned that this is included in default_config * Update cloud.markdown mentioned that this is included in default_config * Update config.markdown mentioned that this is included in default_config * Update frontend.markdown mentioned that this is included in default_config * Update logbook.markdown mentioned that this is included in default_config * Update map.markdown mentioned that this is included in default_config * Update person.markdown mentioned that this is included in default_config * Update ssdp.markdown mentioned that this is included in default_config * Update sun.markdown mentioned that this is included in default_config * Update system_health.markdown made default_config blurb more consistent * Update updater.markdown mentioned that this is included in default_config * Update zeroconf.markdown mentioned that this is included in default_config * Update automation.markdown linked default_config * Update cloud.markdown linked default_config * Update config.markdown linked default_config * Update frontend.markdown linked default_config * Update history.markdown linked default_config * Update logbook.markdown linked default_config * Update map.markdown linked default_config * Update mobile_app.markdown linked default_config * Update person.markdown linked default_config * Update ssdp.markdown linked default_config * Update sun.markdown linked default_config * Update light.mqtt.markdown typo fix --- source/_integrations/automation.markdown | 9 +++++++++ source/_integrations/cloud.markdown | 4 ++++ source/_integrations/config.markdown | 2 +- source/_integrations/frontend.markdown | 2 +- source/_integrations/history.markdown | 3 +-- source/_integrations/light.mqtt.markdown | 2 +- source/_integrations/logbook.markdown | 3 +-- source/_integrations/map.markdown | 2 +- source/_integrations/mobile_app.markdown | 3 +-- source/_integrations/person.markdown | 2 +- source/_integrations/ssdp.markdown | 2 +- source/_integrations/sun.markdown | 2 ++ source/_integrations/system_health.markdown | 3 ++- source/_integrations/updater.markdown | 2 +- source/_integrations/zeroconf.markdown | 2 +- 15 files changed, 28 insertions(+), 15 deletions(-) diff --git a/source/_integrations/automation.markdown b/source/_integrations/automation.markdown index 3022ff21439..33e487071e1 100644 --- a/source/_integrations/automation.markdown +++ b/source/_integrations/automation.markdown @@ -31,3 +31,12 @@ automation: - platform: state ... ``` + +## Configuration + +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: + +```yaml +# Example configuration.yaml entry +automation: +``` diff --git a/source/_integrations/cloud.markdown b/source/_integrations/cloud.markdown index 34c539b38c4..e643ee603b1 100644 --- a/source/_integrations/cloud.markdown +++ b/source/_integrations/cloud.markdown @@ -10,6 +10,10 @@ ha_iot_class: Cloud Push The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa and Google Assistant. [Learn more.](/cloud) +## Configuration + +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: + ```yaml # Example configuration.yaml entry to enable the cloud component cloud: diff --git a/source/_integrations/config.markdown b/source/_integrations/config.markdown index b94ae06d59a..4b7942af226 100644 --- a/source/_integrations/config.markdown +++ b/source/_integrations/config.markdown @@ -10,7 +10,7 @@ ha_qa_scale: internal The `config` integration is designed to display panels in the frontend to configure and manage parts of Home Assistant. -To enable the configuration panel, add the following to your `configuration.yaml` file: +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown index 508ae23f407..a059eb35475 100644 --- a/source/_integrations/frontend.markdown +++ b/source/_integrations/frontend.markdown @@ -8,7 +8,7 @@ ha_qa_scale: internal ha_release: 0.7 --- -This offers the official frontend to control Home Assistant. +This offers the official frontend to control Home Assistant. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown index e2fbb7e0e8d..dd740ee6fb1 100644 --- a/source/_integrations/history.markdown +++ b/source/_integrations/history.markdown @@ -14,8 +14,7 @@ component for storing the data and uses the same database setting. If any entities are excluded from being recorded, no history will be available for these entities. -To enable the history option in your installation, -add the following to your `configuration.yaml` file: +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml # Basic configuration.yaml entry diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown index af995f7addd..508628c401f 100644 --- a/source/_integrations/light.mqtt.markdown +++ b/source/_integrations/light.mqtt.markdown @@ -8,7 +8,7 @@ ha_iot_class: Configurable ha_release: 0.8 --- -The `mqtt` light platform with lets you control your MQTT enabled lights through one of the supported message schemas. +The `mqtt` light platform lets you control your MQTT enabled lights through one of the supported message schemas. ## Comparison of light MQTT schemas diff --git a/source/_integrations/logbook.markdown b/source/_integrations/logbook.markdown index ef13971c9c0..72c4c7263c3 100644 --- a/source/_integrations/logbook.markdown +++ b/source/_integrations/logbook.markdown @@ -17,8 +17,7 @@ the `recorder` integration for storing the data. This means that if the PostgreSQL as data store, the `logbook` integration does not use the default SQLite database to store data. -To enable the logbook in your installation, -add the following to your `configuration.yaml` file: +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/map.markdown b/source/_integrations/map.markdown index 38e1d59c243..294f544bbc8 100644 --- a/source/_integrations/map.markdown +++ b/source/_integrations/map.markdown @@ -8,7 +8,7 @@ ha_qa_scale: internal ha_release: 0.56 --- -This offers a map on the frontend to display the location of tracked devices. To set up tracked devices, look at the [device tracker](/integrations/device_tracker/) documentation. +This offers a map on the frontend to display the location of tracked devices. To set up tracked devices, look at the [device tracker](/integrations/device_tracker/) documentation. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/mobile_app.markdown b/source/_integrations/mobile_app.markdown index 74ff070dc85..ff2053ee573 100644 --- a/source/_integrations/mobile_app.markdown +++ b/source/_integrations/mobile_app.markdown @@ -16,8 +16,7 @@ If you are a mobile app developer, see the [developer documentation](https://dev ## Configuration -This integration is by default enabled, unless you've disabled or removed the `default_config:` line from your configuration. -If that is the case, the following example shows you how to enable this integration manually: +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/person.markdown b/source/_integrations/person.markdown index fc0abbfa654..b115523db61 100644 --- a/source/_integrations/person.markdown +++ b/source/_integrations/person.markdown @@ -32,7 +32,7 @@ You can manage persons via the UI from the person page inside the configuration ## Configuring the `person` integration via the Home Assistant configuration panel -If you prefer to use the configuration panel to configure the `person` integration simply add one line to your `configuration.yaml` file and restart Home Assistant. +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml person: diff --git a/source/_integrations/ssdp.markdown b/source/_integrations/ssdp.markdown index 40120087c64..32704541803 100644 --- a/source/_integrations/ssdp.markdown +++ b/source/_integrations/ssdp.markdown @@ -12,7 +12,7 @@ Integrations can opt-in to be found by adding [an SSDP section](https://develope ## Configuration -To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/sun.markdown b/source/_integrations/sun.markdown index 58011a72b26..2c38f4fe31e 100644 --- a/source/_integrations/sun.markdown +++ b/source/_integrations/sun.markdown @@ -17,6 +17,8 @@ below the horizon. The sun can be used within automation as ## Configuration +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: + ```yaml # Example configuration.yaml entry sun: diff --git a/source/_integrations/system_health.markdown b/source/_integrations/system_health.markdown index 6535adc1a57..08944ce9c45 100644 --- a/source/_integrations/system_health.markdown +++ b/source/_integrations/system_health.markdown @@ -10,9 +10,10 @@ ha_release: 0.87 The System Health integration provides an API to offer information on the system and its components. It also allows to run diagnostic tools to diagnose problems. -System health is included as part of the [default config](https://www.home-assistant.io/integrations/default_config/) starting with Home Assistant 0.88. If you do not wish to use the default config, you can add the following to your configuration.yaml file. +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml +# Example configuration.yaml entry system_health: ``` diff --git a/source/_integrations/updater.markdown b/source/_integrations/updater.markdown index 7df49745d48..550422bab05 100644 --- a/source/_integrations/updater.markdown +++ b/source/_integrations/updater.markdown @@ -20,7 +20,7 @@ The `updater` binary sensor will wait one hour after startup until it performs t ## Configuration -To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: ```yaml updater: diff --git a/source/_integrations/zeroconf.markdown b/source/_integrations/zeroconf.markdown index b7119951f2f..7cb0c209973 100644 --- a/source/_integrations/zeroconf.markdown +++ b/source/_integrations/zeroconf.markdown @@ -13,7 +13,7 @@ Integrations can opt-in to be found by adding either [a Zeroconf section](https: ## Configuration -To have Home Assistant scan for integrations using zeroconf and HomeKit, add the following section to your `configuration.yaml` file: +This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, and you wish to have Home Assistant scan for integrations using zeroconf and HomeKit, the following example shows you how to enable this integration manually: ```yaml # Example configuration.yaml entry From eda261b085fc9de23db60066ac2c707781e6c63c Mon Sep 17 00:00:00 2001 From: Nico Hirsch <30938717+noxhirsch@users.noreply.github.com> Date: Wed, 16 Oct 2019 21:16:22 +0200 Subject: [PATCH 152/289] Added devices to "verified supported ..." (#10816) Added some field-tested devices to "verified supported ..." --- source/_integrations/deconz.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown index 659d5599617..abacadf5046 100644 --- a/source/_integrations/deconz.markdown +++ b/source/_integrations/deconz.markdown @@ -383,15 +383,18 @@ The `entity_id` names will be `light.device_name`, where `device_name` is define ### Verified supported lights -- IKEA Trådfri bulb E14 WS opal 400lm +- IKEA Trådfri bulb E14 WS Opal 400lm - IKEA Trådfri Bulb E27 WS Opal 980lm - IKEA Trådfri Bulb E27 WS Opal 1000lm +- IKEA Trådfri Bulb E27 WS & RGB Opal 600lm - IKEA Trådfri Bulb GU10 W 400lm +- IKEA Trådfri FLOALT LED light panel - OSRAM Flex RGBW - OSRAM Gardenpole RGBW - Philips Hue White A19 - Philips Hue White Ambiance A19 - Philips Hue Hue White ambiance Milliskin (recessed spotlight) LTW013 +- Philips Hue LightStrip Plus - Busch Jaeger ZigBee Light Link univ. relai (6711 U) with ZigBee Light Link control element 6735-84 - Xiaomi Aqara Smart Led Bulb (white) E27 ZNLDP12LM @@ -466,5 +469,6 @@ The `entity_id` name will be `switch.device_name`, where `device_name` is define ### Verified supported switches - Innr SP120 +- Osram Lightify plug - Osram Outdoor plug - Heiman siren From ad2e6af72f905267875b779baecb8a7d64fb428e Mon Sep 17 00:00:00 2001 From: Nico Hirsch <30938717+noxhirsch@users.noreply.github.com> Date: Wed, 16 Oct 2019 21:28:08 +0200 Subject: [PATCH 153/289] Updates screenshots --- .../integrations/gpslogger/custom-url.png | Bin 92895 -> 74885 bytes .../gpslogger/logging-details.png | Bin 60162 -> 108958 bytes .../integrations/gpslogger/performance.png | Bin 42184 -> 152039 bytes .../integrations/gpslogger/settings.png | Bin 59642 -> 127785 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/integrations/gpslogger/custom-url.png b/source/images/integrations/gpslogger/custom-url.png index 74ca69e9e37b5f3de8f3aa37a440b2889189f546..882387bbec9297dd1a5040cb0486c77903ac8ae4 100644 GIT binary patch literal 74885 zcmce-2Ut^E(RbXU)vJ4d1T zTvqGcxr-vC@5?K{ks!V}M`_YOa);*zsB`D8QJ;O!pNqrZBf&J`Ixo;KR8>G=gdLB$ zCBg#2<7($X!ajFSOw!fC9BczYGh0AlaC`BGYZWyQncKl>uxi9fVLqa8rJye=*-JT3qp1QN!}2Lu9npYrqa^K+9hxKVEQXmeL? zd(@-9D9A!kU?kiD4M*5BpHVcoKscerACgA;2Mcx%s;YkzwnzObD3Zu{UCkYM`FNi4 z+S#4)^$Qz?mUAXG{&N`r5gVoB<^bWFch1f#uNPVD4L*@H>oDNn9Gy-LXaQM5)zjgNa<6r#!H99mL`d-^T0`zEG@xL zp~4~}++ZOvgj<+jz?|D$fKPy1&=L%M3g83t0U*G?+N&esq=jK_`_ECyN%H~aW#y%X zL;!Nq03kVfSy@?rX(^zHker+hKnn1X*%AzbB9M0GBprdUv*24Rap zsv;~Q;txsK|AH&Z$Y>xDP`EAW!9(UVaf1}k+UvtD(N^LQ`JReA{U=xjVh{TT=i~ni zu5mWwq&0|ygB9)35TpZ=v>wltUi=|RCch|Zo7*|qLQonIqz2p-V*6_dzaG3e(^gxj zKd||D`ToQ=_|M>fL3QonBt}W-XOj++BmL+>kf>jMKII4e1^>mfHp$$OcoPy71PK0# z|7#F0WZ|Sa|D(+xT>hf<>zTnnpZ(&LG?5?~B*YvIktKaeoIT|Oa`QbUSq~k4K9cnS z2?}#Pl{|@=g2>#O6=WrAnfpq)ROld=Oo^k^Pg!s;Eq$Rh71sKc?wB!?k z3JFGPiLR(~iK@Bdfl z{$&rE!-}#}I7=EfKTl+T**ZE{tdVEk ztmjnfnDSNM7Cas5xK?%70Z~ZkgDC11Y>xrddhdnBOgfJ&mTGnp&>#{n(^t6-XboCU^$EuKx(#pU6_oF|t%7*FjZ^_&jov<{#93uFeOJ2wQ8UJPuC%^(l7@ zPL|fZE%)mq<^Kne^!xuCQ0`xS{fp-R4EWt3`LALBpOX5U<$sLiVV1_9a`?Xjys7io z;Q!Il{{)zNh4Zg*{;PRv^_moGZC=z^CV1)hi>8}jyl95m=iO=&LCJDBop@dAd~N)U zxKLO2vM0+1KIfB~$!Su_n`6@-^Y_>G_n1&!Ic^lD6@y`Ri%}oPB#C>IAsa@iA9t?R z@^s=tMaHWRmg`S#*zV!Rom^7!l{efp+3Q#hrECnd>KS#L1y` z_7OMjy%T^p;8?RJXxc(4|I<&i5}VO&c+Q(!`!t?BV|%*FGCqWTOk`#9>P$IJWl1uw z(LFFQta3;45-tr$vx8NDtCTX|tLwc{x`*tSdOS5q$dmIJuMUsmf|S17Nj&gq7}v8m z(XgF6Uh$|VPYK>Fnv)FAm@6@nT3a2IoX$Hcvk9hX1~O`Ir82qoF5kZ)*t<#4Z`m(D z`n_1aRr&e-$E@mUp2O!(`COD}yZC@p#){2j?dQJ=BMDc%Oi#jod><*O&To7l$yIN5 z@k}yGxokMNu$6|R1mWssntkP=^3K65SGpG+WvU&HbWF`awM)g5S2(-l!u6)x#Nih) z^nfhC?}{_xMtHZyz&ko^hzlW?Q^skk4~y0B-*}Ye*WtUB!=~;n&+-7RLYvmfnp^?5 z$hV|fbsdo47&&2KMK6U5rayP4yDQ}4jAdZ)f~H1ParBTx`El8Rue{n9E9xW^j&j|V6TZ;>`^3^r}@~OC0(%@xRyA` zYbbMMh*l|&GNL5TnG4^T9!BKQ4Sax+;DDdke|8?}3JTy-MYZ3?mkkUYjW!$Zb2f^7 z|J_b#%iT?KhYGYc-hK#7R48E?E1vDln2AtRj2(^8mc~Sm@v-J;E15n<%fY8S#x9V< z-Auv@%h@3di1_Nj# z+($-z^d$FL2fEw2?QbA|gzX%}@t7kAJ8%^LlIM2;$8uj;;}~ zr#ioHBxo~xklN6o_;w&R`4-XkN6uJ-6r^*%aH>K6)Axo3Ms}VXI#)O^()cJXWa}s; zjx2N@BYW@f(`eq#cexxEHQrM&PII#N&BpV<>}$`x13OguMr*&(YVxg<^vH^NWB(%_ zPKszEp1|Xbh!hku%|*1~a>rdV95yn<4Zs;JEHE4O&+B}bFJk;=RQ8?pZ=X1ouGYzs zbCQ4Z{k7Q9$5&4-+}TigC|Ig(?Yx&(?AEG3ARwfqD=gH3t;s@JWNayXP~O5bXQ35| zF2$dxkTNoP9$%=iVtL*xs}ck?@I%4O)j0cF&mkFb#1zqX8o?qr;xk(ND1YK+w=T!e zvOrJ^`+Rx3pq)g+f$@OEg<(c6hL@@0%Ncq8MDLKmpCc3%Z<4y+;F}JeDo}>Sp?16M zguE58f$SK%4Lz4eAwNlZM+x_}$Z$LdE3e@b+nha=7!G%OO!#v1Ap5s>7113*L&`$L zPh~wC_`%0Dk7w}pfxZeXEVHu4w?wOfL2O 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 literal 92895 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%0DuqI0pv-^lj{~miD-mc!J{# zeFgebiBu(|T=B0YkmRpI>3{U@*We&F2He$QXBdgXlalY|h^r3*JJJp?^Jlu{xO#MC z#P;OS5g`nBa1b8%CM_)z0#vus78Ar~==6b(3rSEb_v9l4U7-aAjQr+lTib`5_EM2* z2M?fk2wKMr^lEUy8iQPq*hOGW!pw(QUWTqf(58U!e*OO4cieh$v}09_)BGG&{un3! z$A&Ba^#ZtmMan*y=z29yc9+|nD|5lcAsWUnie22C+S@;f< z*|u;#e_Lsex6tSmKtzvhk{WC9PQ&9WvAX!sw1sRm06;kWq8C&u=x6|wdut2iarE~O zoiwgcEkPdFB}^Jm`u_bpq9z~hfOYCR9RV-|5H1m{CGf{b<3|qOm|g@&svQz8D4;$N zG@yoUonu{bHltxJR!lr8anx%ErUu#+Fa(#f??8B<_c5cm_)Vk@sO*(sIVi|7#F-*= z9tNWF4raCy~= zWF3E3J|ua7NRD)UK*|$!fYZvcCbvV5*m|kTe=t}n;&eIoc`1D2F+Y1zCvO}mC49fEztXqcGsYB zie-}MDV3!bJ=w+;cWS^(ld&~8A_b#sZD3_V<|OjipALjZ8D^jw$P+KX&mF6CrvXU~ zu}4V~^a|bz!`h6vIYdK4vn6?|(QrrwO*DUg>DZvB!hx=syDs z*Y2AF;X@)u@G`-7NA>oSf@%a7$dr8*DIqS>T=KX-n5q%t9hyXmJ$8r9_vd1ifq-|j z1wpd~Vs1e*A_j1N-utuhU)re~L&7zsXmwP4Qqx0EYhuWfrx5#ltUF^3P^k$D? zK~o)U7(q-1;3I#IR8&=80UQ4g9Pk8 zpKMUGr#cgFA|?B@V`0Dvhzfuns9kz*Juxs485Gt{CYWXzh|bNO+M3Sx%N*RkUN0BqmyxmQavDdBIBmkK@hWw?6te0t$xRKY3*9me`q^1FAl)`mSL zL&c{+=RzP*0Ink~k%$}$zQUW-)ClN{Ktd4&P)O>q31RGz^MW|o5zqn%+4^`hzCrrl zJ#3gS7z8rl+SEkqzN{CO>1jz=*|9$U6v;5>I)_&+~k!uM`p?k)36^^hmxXM-+QlS5(QWu`T7ly zMG=I(LYD=vsAy+t9`9fZzySs^4;NLdZ}wYhoE^1apMYViAW5~$fcO$1JHbu`xSg#| zrPW$!@J9jyt{##DwE8-w{(2jpy>PH~R_Z+2XBX>y*qA2bc`NJUjv3X%5-T-l`Y;Ya zy0>xrsR^$?)VzPc@%3xc?hPC%&FHCBsi9S@%ip3MurglLF<@I8n$QdCl2J$J8xNP{ zO_<&CT-d`qsz2)fd4EXW_Pndu;=a$wn27U;!{m`?!$!7@XE$_u(}VMmg!0^lz-ux1 zVD!*3FtmagGjEvaMWveAb72;S!Ts!DDC*N4%J`)nj#5V_Cl(PA9c~jYv(Xw|ZcrGZ z8UZ5CfHIBihbi!m2wJN*TcEKf3!E6>QsLp@Lav*vpmXp#EGPgggcjmPD*==5Z?9Lb zmUKY7*=4z$)-a=~Ss7iBPv_2m+y33J`uOpc$yU@V8vGkhz3M0WBg)%mw9p}T9%t^V zp&dN{Ej2YYFmV64)d2y85Cz2*1&n;|YqVPp3Wb8cfw%G7w-saJt7y2iSv&6MspslG z(jB+~Qh^D229+T0U9T%!4tz*GS8ca}s&oi7KM!dFD)1fQ_x1Q85d<;U6rrIL9s!!0 zlQVZdh+TwM(3*joOZ)XX0_xUqLTyfJS3+q$OIC78P|=}(Dqy}NzT@z_CMPV7V6eTQ zkK5{7DhY4kS7LRmC*1yVI;AkRPf>K3d?%Mn|() z%E(w&LUrUcsAqsd;H4#mq#&)N6d|e)0tYW$I1JZj>jO^XDE222PMH}>t7Q3jYS8Qr z&6CK^6HsE19yVA9-@WF+`$hUe<>e)z0}hBX{ES&w=wk8!%N!mawkLZ7ja8ihm0IWY zcQixr&CE(Kg1l)*Ar~%t1&|@QMAxt*+~}97!od;-8~%F%NoJ=hw4Fc$@dqot>-t&1 zSomG2C@EX>SrU_z!@!LkK2#aNiI0t)F6rQoY2es>EIQa0$;3k=Lv~r7vs70_g}G4Z zA|WocBC>FBJS@0%ojNIz&jfdQWo6pF3Y_gLa-OK*Mrb3M4;I9@v%HFSF}y{GfGH@D z-@et&Jdk82je6Kts9B5!;|T!6UTag6GXQ$Is%WDuh;FFczZ7BsxP{ojF!|G^&|n4m zdh_n10mYsKK5P(v-WH}vM|x*+xCdi>9=3wLTh&&m>r#&L^7vqR&OfMtw`*3v{9G$F zyN5_S&{7%>oy!Mfj-Zk#DaG}S;!|Av8eI%cbKtjktl#izFevA!TgnWD2J#CR&%;p< z_jnT(fF{K`JR3OT)L#MS2NneK0vk?d*gX%k0IAEa$6LS?yiYxl?Of0$0$tdfWu|4? zkP=NbE}txByR1`DQv=_Z*8dH?=-?;Zv$I17&95P?4KT&fy;<3Ql`b6m!CU6-!7hEm zEnreHIvWuWfe9OYq2+U-Gtmz=(tPLW^;Y6>&D`Q2f*#JE(Pt^b2U3%&k^|(+a#7Nr zX`rRp+n3}uP@GBg(!{457t9;79cAc#gK|W zYgMenDXiCTeac^UGvx44)vr#w{LRw$@0t!2tt*nX?LjIxWH+TRv!B=2e0GLMh;%0$K28Zi-jwKV75oH`Q;4;&k z*a@fD+vf^-%_JmrnH@NkRg`JRa4_OUw)@>@Wl6JHmbUSHr>ttZwskP)UU*(Jt!*j$ zQ0yAD7AEr|^^*H$E}O_9BWmWZetsQw!y?4_j@vvH2Vb!Jm)*E!v}$4H(&Wvbiy`%4 z?Bv0X8+#qW3o~M$H?o!|gV(Me9zQX-x%^(fEbKu;&&*9V@5$}_i#z$tt&^d9-gdRE zD@rLx%@~Sjy_ni3%qrq4I~fX|eV>?om*0ifUsFsOJ_BO_4so1lfezOoNL6iht~v33 z6nck`<&sdZ*~_RRHR~R}=(+Xlom1wwsKbtz&)Iu>Bz_s3{)imQwc!sIv!$r}9b%iQ z^t5mAAlQ?dY3aFU?_{|c;b$h%!^BgQOIgxPF3S#VsvSIh{RYYRJ$`H{pG*z%q-Sl^ z<#`PS&5{w~B5)N-AD}L|h@5kNl2)VTL^cg40)SZpZ9G?WvdX(3r&%tS{8+||-tSdw zsX2WrbB0;i(8^IBzw{bic#uS$<@r3S*W1GTkbALIk97X0*{2GY4T6Qn0dgG8n3+;?FHP#>A06P!LB{tx52s5Y# z$SOiKe`IS8kH<8@6{(8TJ0H`&e%{4XmlOXPm$kg5kRPexPPbA>_i5wdq5gXCNM=f5 z)O#`IfjIZ&T8tBBKeuFZF8wTArJb7#F}`(fEcxY>lxzWq?b5Xyzb9AZ-1R<3%4bri z9`-2jBn0g}*tx0YU6NZLxy)vmlXiU>OJw=mv4uv`HidMsm}R#+(aTJfYAeCx7y0i= zo<46>H%OmB6?zv3_lfO<>!nC!h+k2!VB;prwGmzpv*NSVX;}Ks=70CZqCnV4#`7Ls ze!$}s(t$l$^~oMjJYw6)|Z=4M#Xac46|Y*f?u60FS-&T5oxcUXCS5C zkRXw%@|lD@SZWITdx{+vl{%sN#p^j~ja{rb{8+f5o6eLW|AqIJ@H>w$MY)r|G&3ai z+;(G5WzQt@NgxM2(NK88Qxzg$xO~;d@x9jB0=KpD*vD$lLyN4o!;V!GJy{yIM>G7c znIxrsve&k+m>w<;TNr7sHh9@5jSy&D;-hR=s{IVUq%mkd$i|r7-YC(_&>-0gds|I= zrlhm%XT*N*$uXGNi4Jtk24f`&y;7~nN=^98^nE#KI2)bx3-A2N`w?jk!|fi+;)a>; z5nig~j?x@`vxW6> zVPBFnZr%PGpQ6aH2@7<@u*%hxr3X=`IU|}znkQ~~d;BLKT>qJ^VA*u>e3_fu*t9cc z1*uP$H*yb$exDh5a;?B~{*F$Hm8J#;3+o4D&$MDcc_FQ?69g`COu_vE<<*Ih7P+#DdMHY>@0|SMgu)>$R;)t}21WKj!EjrlHj9@=#Ka^d& zm%={AcERW{2Boa6t$F5ICX+12;5kybA?-QZvuj^1OqclS?Ug=H#qHyV+lP1G#SHi9 z$7hA7NA3!RIVo)S^hl4=aeN6K-9GSuZn3z!w0w0AkZa~HIGfbzZx`M`nafG=?6AJ+#g!A`K8BcL*{XK8G^Vxhx|xfk z!?k8|BI<|H94GEyP8~(HwfeG8JeUt_=wDr9fqxF&&8IFiBmZUW^Un)^|8=Nyq`*C& z-(7114Xn^$0IfX0_vdq54!>zGw+5=PzlLTvRW@nXq_@m*E4yxWu$wgyW&DQ284&39 z-d=~=c4oRgo zmAT088C^E>CHHnLrb6bQFpbcZ3#})~$;o7OIXf|too1c93j`25fDR!`*8rF?EeW^J0_-AB&jjx>b0*ht3} z$YtQE8-h6qi7^OejPxnM_Ve?l!(pHX8IOEU_!=_2Yf8!m{n+tU)_j@fr`f!+ac z7VsQ@#Xkt3sIp6QCF%9mSv!wly~T=swcp z+^F?9u!n|}sx$C>kaj{aoW?>7SuEJDUcJo2Ljv0up*5%a_|pHw+?R)Qy{_+mB~lSe zGDTR?fRM3FWm+pr8q6{@$rOd8OpzgJQfZQDRU#yri!vmsP^6MM5gAKlJolr$&$;$> ze%IdnkMqab*Sc1FmA>E4@V?LcJoj_o_k-jnr^#nNfMNG47Rc-W{`(JV7IoL&9g=&K z6KOwxIV~2$Ib9A4r@*wc1A_#;n`bE7h@=B>lr%57AnNR8ONMj-B7Oi@dxMSzJq^Iq z%KfQ|L>(WFAU^I8U0>Tw3p@1MO9Ae84B|eZ0;1$7P;8LYuL=*)g0z<*c zrixznz?(ll)Y?o~dwD5Al)+#iai#`Sk)Jx)vEg9t@d7p#_nDu`xssck+xIr}!x{%2 z^vD7IQ+bVA3<|e+Fl0bl$ClFvtO&4&%n9Q2^94|1GBjL;V^PGQC0EI~dqCjY_3LCQ z1wh>P!-KtaS>g@d{devDYEIfU`!#4Mq?JQ+qIOaf>`Jloe|~y#pxXtfKUmVozZ%$V z@)oq$u?~KP`X5kR3B)WpQCHuiq{GrW9U=cCs5c8ez|_I4HS2@6Wy&=KuPfg03r%C_g9Mb zpz&&@&H4ZmC4rq#ssIPmIdI^v8WXpqCLBU^P$GXii3Mp%OZyw zv0uJ$Fv6B_{_ubWY0PN5$aI)fS{^Ghi=jPwOCu@VjTvqc<4KItOEf++TT)Vz~RZFDd+y;`YHgJ9rvz9@M_Q0i2;FAn>AVcj2k^ zMYkk_yWP-3*gDUnE zgZH5X2^&y8P$$YS1t8`ijhaQCQjqJ+!}p{Af_;IGqLgJeJ7b_mUnKs{9Z6SrE@M4= z7~kbIK!AP@FazrE7L3phuGq5?Z925(+qNt#ZC~?qJ)R60P`Q2iJ>)2bbwer&*OPj~ zg^OsRO6bSwN(1jXpZE%o4$U3Zs@Uvw6ClJRO$tTViho(%t@t`_1G%x)v$D-Xb`+`I z_dB|6aP8m`ypu4!M8d+*bq6bJt^Ks-#DF%QB%)9ooa5Yc;$=eB-zD#K^j@;M5zbH4 zu`ehPY%f2n557Sl^Be{Pjp_$Kw56`Da;zZr4S-JS8}qS~VghIe?RGqns+DRfXM1<>%}m6!r_~#X+Tp*NN>Q1{F0z{8BP3*}Hc+ppHdHL`wZfzI_Nn(}0`` zf#P5tB6yc#v(}(_2vuVW$lXD=4|q>cj%1)iY#cr7j9wzb=~Kv+2!2A#0lT>Em2xw- z@Jfhb=A(-QG#kOgZhC4mceE|S*vd+(Bzc`^I?hFiOR3Q!>)xh=^8;V{SI8bl?!-`K z`zE8>g@VSrL<`d|r-#Wb9gC6-ddgKFubtW>j8FsYxCZcie*QY-xqNKBKm*Xv4)|gh;-U}JEXiw ziTeru6ia7sXBfn|&rarpKI-A&u?!R)pw`gIxZmP*G&`#!255gE%tbfRm_Xm$T(haA zjF&f57tzg-$gevky%-i7=q{V(y2T5rE=jCz``f;`&=;fvdH{0xcG!V|Lxd;T+VV7r zNbaD6e9l$m125u94yzdE8xwg;$j$BrG(x2(3e6qAa0vieLca_+YZH#B?&kk>MxpS~d%yJ#%? zI7l^Ja9kM}7zpcJS*a2h7S{EMwF@u19n0hNd>O|8?$%Amt8f_feagF{dRPLC1uT49 zP*7pyMCL!wPV)mM44dDA&BPngal`3Y)#dk9Xi<;}BQRgdEjP|F)!NFoOpY{Deu;yd zHM(+feV}&lPtkmLLYl<0cgyl^H8&4$YirBxKkkOCsL=~CldS6} z6~qnX+0;$L-9WY|u6Moe0XO%lB~oVRWRoITc9ag{c|9cy545<@mk&{4p^xNy*6@iL{-Wc^>R}Q=@y?*@8|?0&=IM z^!#;A*^%vH69}QZ2ObR?3ObNtfdUN@^5@-uU(Nst;AO0)$RY_tqQfIS4#SB-ns#W= zXua^tSh3|asN35`VgErMpmPq<;)?vK?ZNLmRp$4fMOu;j6kX)h1gcZU_AXMbV2!9rJkj*J=yo^)xc z&b|NS0zfMZRoWROsl*T@Jd}KsKv`gB?0b175RF56EO1M@$mCmbVL2itb&;Ud;H4Oj zPz!dvo~|wn^c{QRdb_%`oSb@+hCd_}c^Mm@KmJWeYjI);rRq|=C9v}&S;`}DSy4Zr znFC8HqR(AixqZ(l?^AVUWz+1^p5ERv@EPdc(dmUo)#%6iLWz;>pK?HvLh{d;Rxa*8 zlqU=613C>7R)0!x5C6USA|L24k!;n@yXgscDr$i)WRJ!o7&_te_lVs<3W$HO*v+^6 z*d|$m-WDlht|%N>2oK3Y_*ODOsZIF+tUNM~jkwZH112)eRjIJqBvMQZ2dxDJVtO&? zb>Tz_LdP80U%Q_A@KPxqhwV-WcRD_H!+jz+LSavf3Vj}UO7NqB1;R}UUStLmOkfLf zU|^$%qI7+;D~zHzY$n>40N4w{8iYoRR5O$tf&-G4+cr-%d;mwU{JFDAv(yn$%^xIi zMw84Nt=sz^U$>!6Paz&XAVgtW_$1$hwUFJ!=paTBTo}XX^1m%JEj^{VFr3uF2zN*o+@(iU=540Os;+eh zlz^#;U(kZOi-(7=+n;2;1Sy2o$tuX7D{ZFap%8#VE)WT{;WY(_TkOVud?hDFBIO_( zJMK6Fi;l|0oZ#6+(uM^K0~u%;9vSt&;1!YkdZ}aM;e@z*lC!R_kR-Vo+HTmo$j-@z z!(&|rG6*!>TA!a6_a6It2M{gPYpX4L!JR5;AAGV$-mW-!E)=6k?B~N~f)vbDvJhrV z`deg$i2S?3LY~{>r+bbkC-w3NtPEnsQWcn-TufCUt`=KP%IvtaGTWbdSY+K?HO#+eEB8#h1i!w zWn@`mwXDPtH7^de&yL;*;)odXYJLK>mA~wZ8$kfbaBtT`VIYQNe*0}h{!Eu^>+A)> zb-+$o*ZmVY4w0+iBZ5OtK~a(HQ?4i<6h>K%>Jy(y4Q3^H!s2XV$LR`+q-xC}SRzn0 z2e}{+WN;UeA)_gYzOA}_*<&Ne@!Nil@K2y4bUv??7GiF|SyMBG>#tOBa|k3I{lJTG zS`ZDfc>bD;o}XIX_)x}DYjp+BM$k;a4V%ZHmi21>sasW=3?wG!m{cLZ25AF&_nY5t zK0vWIJLqYyU(2^=8-8y($?k`u8y^;GhYGwdo#&1W7vX*A2%6RRK`fxRh)oI-$fe$9 zjns-=;hW?n46g*BU0aN&iOq0G^jt>qopq`Md7U>6a+hW({H!nhsfa}{W$};=0%H}Q zA1jcWqd!k%B9z96DNwWRwzbug*(Zb6q-S$=k$T2x1Oksgy4Vgm6*(oMb47%H zbmQ?YxF%44&_)thS6>R@@KlQWoJl{;?1Rl`pwO#S@=r*7j`FGFZv$h!KlEPCtf4<; zn~veh#a3}7SE{DO8(QmG1{)e*hFxp>$17#_a;F8A7r=!ADH_qBiH&inV-sM9RUs}+r zBdZ;J74jo&v^iLSD0fjC(7p3UJnb2N5q>6mm(N|H4~ka}-6hwBPlcBo#XOYMJ8&4x zH{>OQ56q+x3e z@NDHq(DJbhK*W1Jc1j!NCZH<(Hv;Tue-KomF%Czs%^o{`=&0zKlNSB2WQ4E|XEQ8h z`6dcn*Hojkf%Gz`fg`0(V974cv!%17(4Ye9knR39=Y;{!GTbcQHYs>K)@f!L?^Lt} zksLAmDZ0CG)I#}l^LW?=KDm!QaB5Oem<^!w#tm#j;Ui@ym@Xr;pR^xR6xZ=B(eOdBFXA(U;v~Kh0yp?p*Fm8qvQYlqAVA%_fOE)A=z{^5bak zqA?}!*oHYh{*rxn#UF(`R+P`X(do2P-SbUS?#5-s8TsjBlhrw+8w3EOh@lMd1>r0gUoz>P^HbGfWOCG z^Q-uSIeo1Td-Z?(rIbMjug-t*%YXA}|MOvY^a=bISma*Z^OHW| zr66#r_4>>sJNU|@Q0eaj0^|w_+PF@lvH5M$6IqZELU|5u5&{?Pq@bsa#F{XCM`8`1 zDeFf1*dKWds&V>bT&&pCK&a;P0jWaH<5tCXO4mvIj}Z0AZ@iZX`zk^qH4c0D=g@nY z+|A;!`R$$qWH|EXmO=Z*jH*s;@ccn3x$igWL+}ikgPOcjX3Kiw>*k&eU*}nBFK6Bt zfB9rm6i?Y_-3_N*&w5#Q@6k6lNw~=fi@k0r0S;N7wA>4sDVdt=vTSOn980WWgE7v6 zP<_MX9sNQ1zPNVOSD$=G8sBH`=S<7*UZsYb!@c3{bc|1dV`|=&mb+7?(>dL8EK})) z)}NLP9~>@^rRT#mCKc|+!hkm4tia3VQx)WNz~iaMq4x9rZej!8JU;XnvN{+dSF|Lv zT5u=phOwXAICRW0MNRSLsRnt0NYqTS*I&7BFpGJzBKt1u5pK7{8i!BKNVEW3@$>2~ zVeR{@O$sh;Df4`EMovB0KPp^FjmtEK_!+Ds4%F$apofjMsiLC39>@>){mXviLMEx z0_g?{2Y$IX(i@X=i@*#es}8V%fG2|mY%72Dv-^D3AZlFbAbSlPm*pOMpHP2?ry(>l#I$cu=I~MV6g(=qRJL4 z^6gihefuN;G$Wxm3(>}UX0P^Npr{pI0}`Hu{)Vy@9gmKFAIOZIBu5A^=+^Fgc}~`p%5Q4B^%fhf*#QR;6DV{0|Hs%A3WF=q6KdzcpypM^qxhP>NDlSKtPY=S3zDd zXeuDzkOLX=`1kA0kouN^PCEcVx+U?f#s#KK)blW&S&L_g861f(P;EhkQ4FinNH7Pm z;_zlb9BWTbN!z%2GY2wSLOvl^7ef0B1t>Fv$SAP$*npxFR#*I{LvMf$ z(n+iX8Ltk&O%QV$+8 z?r0Sf4qOb>(>BWj%s38U_INa8(M1MB!oEL@rFK0s1JNyL1J!2$_K1-R1CG6a#;6^Y z$Lm2}<2K%#lZd|pPzcmFpzs9aqA;EsE!S+jqdB>9>TB%OUm=$0jX+`Fj@%Hoe#Pj- z0HlSH=xj(;@hFKbjL%1AU%vaSIxDUOSBs7g*$Yv75nnn88D=6lbi%8FSC$JOV~2CN z0xY=5D&J$>%jRfdA0zBv-YlCH}4%dQ)Z8-gi@po{mQdo zvpxm*?%=>?q&7I4Do84$QDV*58I9GYlVvxSGHp5XorhHnIZ#9XcRt=9LJ05fyLTWS zpypW%x(Fwse?Y4GF3mauz6EN(K1U&KCrqDy2Rl=3tSgb!v~v4j3w`o@d8E|@c1OFWwjgVPE_zFP1F!)pnA@e60 z_w57k;dw^o8|YV{GIB>-9hwUs0h&q!*PAC;q3|m8hkKX(*EhGIl09Db`vv834Og~p zD_mzMjjVo;Ji*{}TSQewX#o6PjAtHsz@dLjMQ?r4l&96JT7g@=^%3e# z4vo}~#~lzLi1`zC`Gb%Twz3q5n}5AN;s(=YI1BEEHiA#n@6jh$K)qxYN3C-r=`TI< ziHSj$U;fi0{;&wM2WUcbn1qz$`>~G8A!c#Ih!*GO!lkgedxp)2M-0503Hb-Qqkt4E z#$9CjW~9>yY#Xr%g^zybh8&}!A!eQDDoP_jHzF1r;LlZ7GNx9hXW%EZbb4sb^sMWz zc$KfZp>>6>li4G0IoJHJ5-6?F)uLq!uQTOOZp`H91GMh=V1&)*)s$B9#Z{eTdx(>R zSf^lB?{T@uRzVV2G#`OYx#qS~eU2mq{)DZ^n#YB)2LWBS>D^b{tc^1Up$?jJw8Iy< z`lG`PoYFmJJp%N=^i=b-Ht4b&Hf*p8{|o;I=@zOcTFnt60 z0o}1*-%$g$X->6k;wi}570)jG_&aJ_h1niZ5FkGV49VhTv`Kt9Swb^O0j9R0eLchD zH6VjPw207-sDAfOqUUTuK>x`O~hK6GXKSsZ(8D}yDUOVgyQdNSf08qZvlpotuPHQ?(hXG5H2d_;|2Ma{% z0k*LPUP)mEFqxGtPvWbhU#|{QFs7MSJ;To~Z4P@axIfc2^n>$d=|)CNxa7?zBzi%g z$X0em$>S@*k`isv4-)#e>+6S3d{|qh7K9UgSJRxV=qok_^82}#T3C3` zxnHh10r6NaIY0a1!t7-ZuSeU#660&6;Nke!YkC z+|Zb4h2HA%UVyHa9P@`$)Vw1LL5oz=rF`tPO>8!?L&Yh#WKBnqkrPYOBw2{zW29lH#=0irW759 zVHfcwkUdbIRXEYH25Obc0Y|0l9e=tfG;EdRNjBIa0#gXc#!rI6pNZ4IF3&k!!lC^9!Mw@t5XY6_xl0wpB4WcA%^BVgux|8CbYXBxTK+t8rh`W4 zrteR4N>V84pv)7kzVC~vk>Niw-fty1>%GbYIM~H{}jZM_KnHS{n1f^Wq;mh zdu_k*wvT1o!OF@?5@g|(KmuMdF4`Amws_ko*93t>!>a<>zTrB_k#aC9c49V;s^3oV zC>NihEF1*94{ko0O5oJ^oD%sv3`0Zev4>T4bi%$o2k5*p<7Y)H8GcY697 znQy1gAIkF34*n4#lh20q9B?rf!~I8_-G^%67E0+cj_;bJ@=ZdPa@*j==L-##&c$hIee%-&zF?uX?K?2-c0{U>`sA|b<# z&6{=cq+r-hrzIkY;Z=DS#86t&NGn6ol)7i0$%@=c67$rc_og%ty_khaZApJGe0*R7 z`qYwYfyO1Cs1{|4CJqs3T!igF#{fi5ur8!BhdAaqQ2{UB_a3zW=YertK+{hxt)Oq+ z1d?tVO92~T4S==qCC1Z0MhIo-9H`5XW`(cr*xD02Oe{1^iKs#qE=@Y>X5SGcf^b^^ zx=C6wbW+HD8x7D$OKVg=uer5l(`*f4IUAhvv`5>4Qd|6lm83W7dxHze4ta1V3+7SKuLDZmkBtjS{)3v7W&okqO3=^2awY%YZ6LMgTAv z9D3+wWw^C&L>g0JE8TYx^d{V=+};;FdGc|fYsBtj*Eh93OIW&s%Z z-M0l&0WldhOb6%!5fkN~gTf7wQR2ggJO-Dg0?X|Axszb7pYfZsi3~$EP#%4IbPJdY zrziW{PpwYllZ(HAXwlVwiI<&qcjs>HvCEEa$2u1#>kM$ro`uvidZ~ntr4neDwz7Q6 zfm>257Dx5y2r6YYXLOYxhi@+f(k*x{U2|5IoR#=-a-;P{-Qz~HZMhwFd(#U$AFNxI z=4aDrlUTFDh=FnqH6_u09sS$9>Wl{=8YO!~HDOv~82(lI_X~tSh?71HRY3!*u5LYL zXt+b+s^Np{Hin}P|mWA+e=r(!B?x^h$dO@96P5ob$+OTLz%;1UdaBe`V4{BI%eBVnR((ja|Da2CAX>?Cv6Y9!#3fV zz9%a&xUlznQY5daQpo2W|KtKF(Z%la?RUuV9V|$Q&6+Aq7PSht$&%VQVY*awNsbH7 zO{LoQ(Y9V%p8o`ffAIKYp0I?b45{Gv49(H0tm# zOU3(NP5F5?m`tjB)|$>f;OSv1{hh00N%zm%3+$7h&YyIW0cSpMmCDz@oiH%EIBwn|Oldx6R zuEUL2WRhYGCNnKU;y8CFdNx#tx(pU1HWq5|B-{AEnX8rHvyc16qB`H65&fcjc~hfZ zMJDT201wr>FW2eR&%1a3}vn)nga23eTdi5o4V}a{t3G z|KI&=g3-yl1qIjj1E~n;a%O%AtL=Z{_7-5ppAP-~CsNEFD|r6FnqOyd+wAnOtH1w7 z#{3yb_`gBQ{}o&RcmMU@eA>U_?*H!7{_$u3*N4VPW|$dHEwY*EEifxYVrUg30MHny z(SW+ch&gK?a61FgHPBE77}{T$C^MknE6zlspIBwDbB&$?V-Y7)q)LiBA8mcGxgd2% z5J9sYwbM`wIv6#YYSMh{H*?zF0R}dcVnsm)wrW(xACn3NU+X@-W(-mM3jdC{OxT1*~CUu2D0R#_esO$pj#m%!_mA?2~ub(yW4(hA5U%4bT?cS`A087 zEkMAZ{mo|y5e2&I4fh528r>zW*$u8GXue7Y-DHapdmeuOHmf2!nX%IoorHO5bE;pI z)k?9J1agVu5dUVhgb2Dm;q)KX#*rd|Muhj*ThX7DYKxe_tLH&ozZ)DRD)w=fbyVrk zuR_6yOli$7zh51>QK1eB$lut3zW^7bhBWG-GLVPRR_@RUYc|!+61XxPXklc?#e*JR z1lvzym4o;PBayJEkc?RwV{2LW&%D^FwfyWM+^uVjbLFoZ%HO*yo`i=79_8gFxGu;d z^+TdATxiqtg}fOM4=x(U|6AGLjIFy1juw>rmE{_Xqlik^}-|^+$Qn@ z;;^GBO-xX7=_s7+Jtz(}uB*TP{A*$l8(>cVWW9m{;azZqAlixd=ko-@$}N3J-VMRtE}Wo9BDgA6j8s2HIBFyL_N8r<#TEre%zaN ziES64bpU>_``BqUmoRlOT{2( zyjb8;O7;p$3&Tqzl{&!!00MKU8T4CF0l|GHyG2Mrnw}73MpKQ1eO9>cP_FUiVJbp0 zgIxb&IU55-{2)e$x1#_p2MjUrJ$71X8Uwl)fF+CWi1s6#QW-ld*Xs$gnCK6&xEFMX zgZM4rek`%^cGt)FzC|U}c=X+Mqkc!?yYFW_&24O&?_rkt3Im=AIv<{AvAM+V&{&pl z7$%F{MgR2uWY1S(6DbWSlCcv&;v1bBDLPA7GJ~sL~5fJ4=a^AJQN5h%hnSNd?#}F zGBqk|IxCJ!w{k^|)pEbg*fhVis;v2| z2|JhUYRYj1^d5W}%0Kd$-Q_>&iSmM4J22#`OA_5ipU4GH4Q|ki{~63+V358h4sJ52 zBg9X*Cr%>%uFMtCXNjeU&Iotnvo^D%uwrSbxuYKdU(9=Fn zLn=9DRc-hoN7H#5Qs)axKarSsxoxCwXujN-v;5VzEesw0lkdIE&96R+1apf2zJ5cY zpM1hpp`I8wT1#kVkl(_E^qW$YXrER8$+uwXy4gj|YYz61v;`z;g0{i3^w*g@`VWlb z5g4$fcHi?EKT?iqL+x7@VlM(V9H8WP zh-c$TA$EAfBogfmV{2<^{iw43`ntMSEb4N|69A26ph5yQgaG@4g})>~LvcWt&CKBsp=5Opod#y(D5W37de#5_@#%dM~i+Wc&WuU6Y_oBT(It$`ad=Tptqq z8HB2W2ZPaLi@>2h?>xRg!|ZkPjbJ*1n8y6?dS+uuP%lC+CX6?t3}izgE{g zjJ$591G9q!GGQ94Is3UQ+u|enGAKH|gRkejKrO8^j(CxFXfL2_%g1*;ttO zf!*Jm(|jh~x7UeAqyQ~A1tVELY#i`cF@r4#UGSJAP4Hh^Ua5%k&NZ)tcLHIi99yj; z<48f{C`?tuXgC$fXS5%L<#L;;T?W^NU19%W^eX5BK-5emX%hAW4% z>z=0eK^i3i0wSFxSY_m3ZF(4<7~}~IrcbW?B4ZIS@C=Etj@UsFB0)C-4cF@T@7Wl{ zgGFW3&U=x&b=Sqlq{4xdYlygthfHQgKrR?CId`g;;eQT7wrql@Xn{KsHkf~?ZZ$2a zgj5%><=TDzZ2*7mUtLplSIqTy>Mm6;Xp||M!vI!+<{jDP1E-({Y-Nq9r}2fF6R=FA z#?l(U!HC=%3%UGBFpJx6Meiyu;nXDl6#v7s*w(*OEPy00hS;;#LzcM#h$q$tjEgW( zM-~Su*aFDhz@94gR5x}iDD&mHC4t9=1{|^&xhC&+4r-KwP7P1Aa@dR!B7UUL3Lp6_ zhAT2lKpeM%d+9vqGmE@CG3ZJqZ9B#;QhOaRKjv~u2z&Ee)Fu(dXm@Mv`GJH6nr|8a<={>I%5{q0xM~5pK zppp&Hx@kZZgt}PDDp$78FRX91&}WTo}w`V1#K$8raL ztgM`m;dJ-zz1+LSg&}j;IKqTW&R2M#vE;m*oE!}w1Bg}q_}CHT%LvW0(6T*p*EaJc zi3$9+<(<>6R_os6+ZT~fR12TFysKp+wYtXFv|l>L|Kzj;fMAsQ9+_6xr@XalYHH^| z$cC80C-Vd@2t+-MA%7yv9vm79746gd`Xy*<1=;bb_)k5u8nXIksh*uHQg7;q)^caNSH)eZqM zxnk7=ADCRy&>#}7^z1OTuk~DtuoeA%>p?6~jFmsLzAqp;I=WI7-V^wroRT(CDI6#+J8)n<;!Na;^)yEgAM-L#`hyU|Fyvulg`?Qt*U7|=7(bW5;u z0>HEk4hgXzXn89C5+r@Q+9YEPTS7Q12k8)P`VKRH%-fpl-aX`J!XYU7vkOp%Z@7g7kW13#GM?M}SeZo$k4z}aNyI(bnnOV;E2_xF^@j5>W z-<5SG+7ak3my2a3U4FjB%cExaqK}#sn4J^j(kl-1=aj(ehz`tS-pl$alzM%H!L6 zZm>NNS;&zew*dQS(i^{!lfV9IU}S{sP){j0c{5|cM>(Wz+)I~oFb*kVzLP(MmH97u z6VeJ*fZnMdex78U*wWL}Bd;-Y{ff#Ho!yQ-+S_;T9bvrNF+U)QHHGtW*2Q((b+*4v zRqULw^s&mau!ISbzxm8iVjX?`_QLVL5^&DXUAfYAC`$C%7fM>d^O%QkBXdW(23%W9 zXJ;sN=4e>6j!v*M2lrZ6b`cFBf&sm~RZwogw~odiB2L+Z2Hw^5xS-PWl-$Civ7fyW z0RfEB(b4BD7JN5|K7Gd!{!q%F_xE&rIDq$Qvh(`9_=I`KQU|_iuvi+*y7AGAN$d5s zLG2s9}TEv&kFD;$7xcU-S?EV#mI^j3j_DT&N5ye0%9@dU_V*=z9JenfedSgPn8+qnI( zc!~>07`?oLNoafgx)$H%_y6^fzbC4rGF?U!%(8zik}P4@kiu*5P| zKIQF;yLAV+J#;;-9-4*xlGDU&=ICxfo(#>DHyOr^yO9}4+h65ozhADJU~-NN@g zeZig6w>DDp{2yShnIHLAtA&5}U;oXg{R3Y6A3tWS<|;=?%Wv+fqOz9LwP(K}EJxRX zG*}`2??144>~kqmi=JogCkB$DSO54iiC2zULn}AZRVVCgQ}Cjn_$R>k@3^@C%9s6j z|MlN|+W$zx{eSeKKN4rdBh$+7pyT>MgSQIN^?60_zIrH)`3!yx@l*8DXscQfn%MM{ z!=820 zA~(}#yIXzFq=#cAw?GKfowsu_$~5zX)f(^ogHC*`-@Mi{o|Kd@KbhVcq#I_!e2?vQ zpQzPr_rbAe#rbS^pzhoq7MFhDnwrSww-^fX**#{9q?)>VN3*B(!TXMl)x)QHcp8rS z_$UdC*16XxaO}(cb({STj#I>Z^sJ_s7&BBN5s|881e9ye{UUg|R*?e^Z#qEpQ62|@ zi1XrH_v=0KqF_J5`+>$d2_O3=SNiN35qi*qyJTmQy6O6>ef&v4!P$!n3kyff*7ya2 z)`6t{tiGqWqsEPo+sgIT9w>do~rTc`ts8^5CH z#4EAo2Ah$Q5&t*Af_EU(5eEoWErj-t1J5>EZ3mh_T2pkwAiwClJ+bv}-EsHGNNdfR zCFUVsTevTx3=|)U>89%J?lk~OIXOAiCV#vI5h&SUjT_pO^Z_`T2=4?o;jqWi~lhc=R_dB{bpD#+>&?+R_rM27Q6juKuDdKFnk&cljT&b5cG0$@?9g z4;_lQT4{vr+qa9LB1*||K~Z3mW;GY&&%4_tPYbK(KfTY3_XmxzkBtom9{?`X(qh03 zIi#hfMUVNhiX@J=)BJ0n?G53CfDBStJ9v@Mb0o+9vWO+SVW2zk{X2T}2M6N+s`(;% zB1535@oPTj{m#Wdp(U-`>O5m_=^Qsob%>b6G}*3puY!114sqYs%|+ z39P#Y)w%TyFnnz2^IxQG#~>y=BW)C0uwk&?C&_)u6MRc(uxR!M+Jpl?f9fHfOCJi)h|G;NxW5TUwZmao@hm1HI}g{JdG?H%Rdf(r|Vs+ z;Kam))rkUuVp>bCFBqvNB4y4(j>B2;y>;eFI)Y`d^isV~@$2bD3Jf>4TziEYLM?<- zr0KJEuvjfTFMKXFKXcWpeYYfQ$s3Y-~?Zbk8SRy}Yxs;%hnwm30Gn1GmlA%Q_hsAD0y3G$K;j zZ1_oJBgUtZwruUmFmv^5j;6*Xdv~`dnB34E@QiiJ12q?k>r=!p%xv`e(G`eY-wKZe zs`Wq(;pX89CRFa`&6|t>FpVaDRr!;I3~i2c=guv&i2?@_*%fSm=9^{MpS&l5L84Ik zPQcvc3Fs#HO#C|(X$`r60u94t<`bZ|hlb8El!&@_1Mcu`->Wpsk#&>zGcZ80RjcNq z{-LjjO9w_|h4}-p#+thv%VbTXya|>T*VGijMmf~XpgbEvmz>!h8uJxV(J{~q14bgQ zth}VZXj%hy1p^S-*9mT?oZ-5>R?6dah{=HA4sVPTV1+ZMmBr#~^WrrnjQN*L7NKUc z@%wdaVwaVbRg}xD?oaO|qW;?Qw*LLAjUcEYr@i-iK56e8nx{fYpV!7C4v2H9~vsjDJdu@n;f1`$tC$d zS`exovY&eZ?(R@I&~y)=dR<)(*y#CcpWanxof15WFhp!!7mr~b+HAyeD*AbD(rR||BW+x zy1&FxX?Jzp26%J09UXlm%Z@9{KKmH(d{=3TGSuJNAJZ>+j z?mjJu>YwN>H!i=7N$Vjj5gr2&Fs{^YIs2-CsNH0Nv!P5lv z{66onBt~$rX1?d0^aF%d;4*-sP}jQW8FR%h83~nPY60o07@-v-uY;(MgHBvnL_`S? z@ER;4)a#X@3+p;Qt6o})tg7)LlZDGpG>W^>L`ZDal`<6Db$G3sR?>lM$HQb46nIdv zKbXi*>%os8{%he3Zt3V)ZYfaP@}Zg|V9YHJSBiBY$e!p}z2jI(*^Yy7NCN*E`-~{A zMaK?by0o}%d3l+b5_U4^${<1sYm9Y?qZ9zhlz{AZU})&V+I>mjP?Ht+5*D| z;4Aqr7qk^thb3LMNPQ=f(&<>0;cdOU+;sJ0F_lwCW8n{jvt^yvw=kj$g3>+w%)}}v z|6`kE?C}#cubHOSVQ6t!gKGgtszufb_+(*JFmZE1+|K`I;48Z|*gdO0FXQS?9fMFi zJ|gbzIk_ul+9GD-8YQK7w{~iOl2Um1CO)kvEIj-vW-Yk)eNw%FQQ?HVP1E$+W@AnRfyAh1#3V&raMLPY{#lc-E(07CHPZIi>gR zV&ma!I&nLf2y(9tQ&7AVlf)C@?s!kx>amHt6%5J4!r1tWF^vU_B;9AS(6Pfps57%l zgG!p)MzLo=E^g`=L;nI0YIn>rU`~%7JpvyLhlKQ!Q|__pme$7A*ob<1FLw020mB74D6# zh$_~mai)B4WsCX|+!oR&3I$NpL&$fra;UL;6gw&JTM?uH*KUihSn+4} z@uW+ha_vZ#1E7dZqclegx&sD-2DabNd*!W0(G$BhdjH75vfpY zMgQckNlwskPD(SpiaiIWUJIy*QLDL5UB8OeNC;ol;-hlvZ6l9cajc2u+c8TigCXOuWxz%t@IOaMX_5I-2+%Vgw9XodgAFk<+3por!klb7qc40L>B;74T~E)f zdt(v4VWHEdC)Vbti35*EPk}mLG(H+@XVz$%^fSk-HY{H9M6lyyV`uls%OkO`<6Xgz z%+eqE({?iPXr>+MmvfckONr0UxT=0_-hIccf{Zdni$hb=qG<*XrIKt8H*a|u9434B zwLveyPjt(~;kt!TIYZh6+U(Kyi7Zm+tI2v23=-skN0;t?cAD(ANJ|fhG7*z~!3QT< z9W*N9`)9AjHNDywmBNe`U@wNp2%ZsAJ%Lh+T<=hd(kLft3M1#Oyu2_gUjt<>iCusi zjzVQ~60Dul@^UKaP#{yRp)q(jZU~vbTB6K^rs}Oui(K}ezy}bV)e9cOgP|0Wxq0)n#J)QY$#Zt@SgOm#+nN#Yw)$sh)8S8_ z;OM)|Cw0!^>&K>~!5!SgXKE=T@G+h3bf52M`-%aqjtR^eEH3CTi~t|zIM^6N@%kVG z<8&lfAB@`=y1fSq1sLZz)u)x=bacb~XGQ?dHN7)JbFsi^J>WHBkgArM86OCbXl%?- zF{rJEM?d(hGq!RNOig0v1f$HVIKZYGMnwzKPuYV_YLvxLg8=2zXO69qW(_8Y+gqNe;OwO0g||F@z+J&%i#b zpT>ZLLg{;KY;0xFeh!u{yknvDUhK%Gsa^yzHz+ zvU#oNl&i_Ta z`yYQZG=Q!%jA@2V_aA=I{te(B{{kP7Lp(Eo@0wuT|G|Hw_GMXI{e9!t!WYkwG7~P( zhF)D|-pq}@DmAA>@jpG5nJ4!jE@kFp{&CU&)wBM8@}YhjOdn<0e;HJJK7Q(=xH$-C z+S{)e)9VyCuxFs=0rvar;nst33amr=nt7 zw`b0e(O2qcR7~AtnvXcs)$zqya`AXtADJ8XYVIeoM^`Z#;0X6Q!DFc^Au79eHz?^i z6QbLL!U$-%hpOz4p^%o(ayE1R22-G7OOT@UL&oL1lS z%vO7zK?T%UVa2@GPNrqrZAksYQ&`=(TQ}w9z>H%6*Uj&cd zM>qmpN(aZ0PwsQRc^wP#tkxSfGmo- z=|%z!gd&8IuCev2f6pDzv5K?!G*XQ*R!s0v~B)z^ulF&mnVGe z?dV_u_KCcUg0D9wfN?KcboiBq^X9h$pbC-u9F8>rbaWDRv$Te+dI4vi8M8-AON?9# zBw>xQvGD_oPwz`EcK=FI7VqW=%#ZvyFY$l?UiO5Awq4!hOFE|m$4k!i)k|1xtnE+f ztgYUBLFHgpWXHa)R}vJ`xWmW;uU%Y4<^A%9m={f)7r^Z3xvs|@ zSQRItCPFC!mkc6z)vtdCFE8>bJ9mzYT}Y++)^eS<3h0eKUzNueg15%E-s@iFOMbi( z@*jht0Rb;qN%qKC;LB$AnDGI<3dU8qVq+D7sZcr4)#NYjmx`GpDE?$PMe|LE8^@nC z9#pHf?e|zmE|-*q!WlCcG+3IG{oJvj(UmqNQXkQsR#9x}-J8R5^RQlq6ggrdJ_;mG z$-J&`R#JYS+&0DKXfR$*yM4-O){l`^R7Oy?-`ka?3OE2&juhOaWqp1)khTwN2yS$& znk@yZy6|;9y(5@d_zYyFpTe26>4q-oUm!9FaA22fpQ!0`lH24ORDanowyc-meI$>)ZlKSRVz~0{H`@YRH zVZYTxpRh`qQ?FOS#I2CSo?p1R?d$3VLzv*Kw7;9nt_k3~vr=Uzc7`6{p7oQ9|7IiX}A))bZWsMfLBWO_LqZ8bsU zMX#kA;4_MaIQ{<>HGIB`I>317lqsx;aAIBTR z4`7)J?H}|7gBiW2IE1IV^@+}!RPe`etXX3r)^r4mIw96GfOkWkdhjVFj?53=7P_)|bnYylg6u5f8|y%O^7dn&{T{vzpH+&)K$Z7CJxp3UWr!kJa$C@<}fnreX%bu0B#S ztWl&%8#ivGl}es41H;3fdHZU{Ao&e>bzQj~96c>e??p9BL7YVA0gbhf+Gs^gUt-G7 znCG^=mY1D7uIz+V+i-~8^LNaHp2izYESCtZFC6pCTCVL9%Qe1Tqqse-76MpH-N6D(WWx#U!wlanKK2O))snKZB* zR6}gyInf%u;6=T>rZ~UZZ(JH@`NZU8Yfn!EIjEupV`5^GiCsLiehdS=IL}8)m&U&i zy{BP&XDaP=jnq`1MoLi9o>Oy}1?QXfr7r7ss`EXi;V^PEUUz9p?m8(9y~7$j;M?nwO*&>shYawlLg8(_wB@zZF==wZcBi9tvpjvOj1G0T7`Q>Ra} zleBo9Fw-T18A5KWc-{l~=}$;`>`?-YI{=phC(bJx zzCMZZ<+AMLRFIvW{dDJ)AA5I+bApS`Y|mk)Lb$2gqNK#$0Dk$Wq2YvUoZyweHgY|! z-pYUw z_F)Io28RDDblEI;6^E40Lm1A6dME76nP)%{RyJ6$muR7kZiP{}=Hyo+s=Z-+F*S$8 zmI3{@yDgz8{0A8e10i1Ry?hpx99dny&p8--T!gY|zlBT|vz5^p#7_A3DKE1k@4Rkh zNYdy>XC*VK%OWmuIw>cSgkU9T{QA5o?;~(D1XOYoB&rMCWN>iL5%y*@H8siaQLcL? zYOxtHRMx(fjoQ5A3oK)myQ~4-M3O}kfJ#R;pX`&pn^d#1I%xK3Wn~bO8c;^k1*VhUfGuFb_DPQkeJI25ia>&z4H(|5fpdq+*#q&3=bFF z=s8hsA~i<8<3nE=_<%?6#~BJf^=Z&%Mtg+nR~!>~i!e$^sPs4rzzTqNW4@>Mwrv*- zMARr*_V*1i(Y6OK9BS|n5_h~RL2f^_c=evTca)WK>WR$;uVpdXZSGe;XwUw0(5-=b z6RL}?xA(G${rR!i3+CfY3^>h15T_rp*9@I#n7^p1ZXu=vifZ~ZU<~MQRq}5vodO1k zheO;iq#~4CLcV=by{+ww&S`&4EWB~>=~IEBr({zzh@nJ2B7CzVO0we$nTCUcfHoHa;FYshCHU&O{4%~X1*A!A zEPX+Bg8q_GSJ4aD_=@JzhFi8g13>}?*&n)iJd`htEu*R2a&9eJ@cVsy!`mCvb*CQO zG23BK*DH`9b3$xmD=2$pfJ=Y{DQq#%lZf7AdV{@>@*Sd8nFhz+Y>K=`mo4T zJ-$Yoh@8OeKcMq7)f8HR!zMqs-w9omy0DvFvTuCnozc~B=xkpiEZp~i?Nt5++duzg z3+U%9=T^4DjzGLdKl9L0kKxB#4_2rB?w(HXWU>erl54cwU8z+Nx@qLVS3hT@@_?4j z9_*=5JeHZB#gnt%Gw^&tU;cc{Y-gGzNx%uxVLQyU#uNl<00G4Ly3Lc9$s~0lYLJ!| z+aLYSBKR_y@0KYWYMYyzJH~3~Jsh`s-B-@#&l_kaHJtkMbi`z`{}B=8ti?LkcehP^ z@Qvp&cIVycIXp2cD~feBxo4JwqUPU6&{fC(C>O)H@-Pa-pt3^kds+QeWTP1h3~&p9 zIRbTP0Y;>c?vNGlC1dTvkL~wZ&1;Mr-)OB`RonKo0$3EkGkhXZy7WJIoO=dcIS__y zY;5?m8y+4IH+9${vTAYX^0dFKlxIr7Do3Fc*U#QQfaX9ka7zXQ*yrO$sOZUV_yqO37miIQY9nT5-U+sN)G}e2&_l=@Z$dsW( zI}L^iX=_l1+7+suC_+(ENtx#%gedF=qzti>Ayj0Fkf~HO5K#%CDBOn3oX=%H=d5+s zI_td8TJKu#U+=T_T6;fx?YQsX?>k)A=lTp6jnZx8AH|^H#$o&H`zVNcYb8AN&$5zi zAN>S_gdwUT7atHOcd|st6siFgNe7+rJ0)X_Q-l zIZqX4=|sGst8xZX1Sa~iS(X4Skz~>;FuAzGb&J$r6iSNT1!F;Df%tk3El?53iU%hm z0|QW!5m9(BT9r1c?w)x3P8TrcCL`Su6vb2tt!9L<^p6d>_FB_al13g z0SU_~;=1E60;k>#JC#XDS=UtiBt)-rJ6s=F{qbT1o8#Ql%Falenz4&pzEpPJ#XsZ@ zMd_NHz@+<4&KYBn!ih?X*48JZM}AN#?L|Zy&)6pj{K;LHd~d)Pr&|d~ATDh5)`0mb z!d4NmdA>kC9yA8{KA1K>zkeDQ2ACmZspMt* zEiEm@=7Z(S1z0FTjK%zDUt3yRTYJZ7i_?#T9{1nA=C23u8x)GuGZUI_Z5 z;iX$<=i5t%aMAr7788sGBj9!F0U3wyZ|4H7)s;^-ft@O#PF!V2LBqB}H|f`mTMkp? zWwNr|Y#a-R~e1XwG;T5WUlgco%# zcmNEBy1F{O5R8{t`n}VH--8PQ41z9c9~L%V5s~kUlF-Qnau)d&d-s;}@21S= z#xhqqFo;7#lHaBta89dV)8%TA_Udv>V8O0$9+l;t4IZ=voG0=K}yMMNbL%hPa zuAV~%xifHI$}9yubbM2^(Yjd(su*OD^M;=NyE~q^#fgfFH5n{8C{?#!b*t*H{u>iL z#+ZNH4mhDA8*)HQoA*FjmgudDYqq`nYw`mRetCSVs30M6UW~ahC~%tDO>ZTi7B*&z z#(wI$XmB@T|IED%>u(NfI0C?v>>XH|rn;iL0dU(bW22W7Kb}b4ZYp>xw2-dRopZl+ z`kSi+rL-nLm?|(#F&2%#IoK3&YsOn``>73rlJ7Q0rLr8Hv%|4N)A0@e$e?4~#zU9R z7p&!L)6R36i8himbdRgwDiaZj*1ZyHj}4kNHJg=xi7M(wyDzi(#Zcx|5IZe%vUhA|rK<2L?SpgvR4GZ_ zZ4mM$B{t6J`I%%#4cV6TEgs3AZ=o#9Pmik9n~F9%WRPoE+-LfifnR~qQQ^KAtHSjcM1-g~JKihk$?R5X_0|7;$2uL4pm2H+{|-$3{|=x2 zAAi%o^AZ0$l5SMuQN)85Us>0FENgrtBT}8K`*dA#?ocCYEf6*XBO`@zQ?~*>1pC)P z4bB^fbIx>cXuCy5oXj?Dz%jU-M#smeLzQGx@`{6XFvP8HrD1)P@n z3tXj%c5!>Hydb6Q5&7* z@l#2+hKjmRT~ua7Y%W-!CJmX!3_GSo6MNIivoH?rt4~RMU`Qchwd4j16>Gn*x9RZ^1|~E(=DJe79dMg z0yQi;!GT3DgEz;VXqj1x%WLY*v|sD=lXX-eK(3)RXF1;$hz`lK21D>o!*%;df1dT` z0xAn~INA-iNKxrHa2$!uWov6otvosegSE;gGFB{GA(4QX0-Bu=G`^_rai&mu9pR7! zeZX6EF-XvnnPwWNUg!}n0%bMxk_J}}QpKQR*b9&z z2CyLQ6S$RjR14B*b$WW*&a7e3{_X4H)y%#_hxc2|7+}3EjxXlm%h3v_h67H0G~N`4 z@hw3EAlTeHRlw0gbY1)am?AKl%%I@lE4P#LCHMIY;oZ!#C_DN<0eblG?Hx7wnmZ5n zCM-3xp3u|}#)c#Yqa>J`e(VdLf@pAg49tTYGzk&zdR|$L z4EKquM>Q>*m6MW^+7O3a4pt|F0V^|Y6gD_qVAM~_P7=`KZBuI4*ZiQ7UbhRy;LaUI zR0zWd!|_B6)d#Y=9Mn3xkhPO)I&TVWM*^q3rp8;*CT!Q&7l6=vA0p$xOb2fA%r-B! z;q~j{le+Krnwo}&sZTG4RBkcIhO{K64X@1>_47_O3e5P$flU3`tw)ZuKM)xJ`H@d& zk@_2xH|vjie1OsMXb@QAclYjzESc+!!>q{&QlAj)>TpmaGBK*RD=6tyVHx!1ms&jA#7cE*uRsu(!g-Z@h;83NV zL;-tvJv?YoX`yqM`9K1dJWP>tHF4@BLz?V$E-u49q*EIw1KwOAej5=~r$GUhQd1M9L?P8b z7Yv`B*$dY)a$;qaY##aO2bxcHi5STA^sa#5E#BmEzwo5e%~#KAYASIwx1QV35B$p< zQwn)iZgjMG0`hVass*fP9vMAAauTg&z(S<58Om}nneLPEDwOfP@(;W1O_Ht{o($Tj z=PLv*Dy;Esq^@Y)jn@#8K^B@@asCAi0vm!DnZJx6_5g$10y#S19faMB2-(`A@54J4 zr>@VF?q+KKF(VSwFkrMGS`!jUQxA*GlcK~2!O(_A_tZbaB=wk85fEMQ5E*3(3U*)r z(1}qK#3y|CwhsszxE^A7G;49x{B`Y`f7XfGg2Q1=)ytX=JgM!f#&8Z!ZTL~Nj{A{( zX2-pq^at#`6m@vd$%|JM}d^lA-w}`S23n4Gp^S zp+iFI2F@GA34z8;i!mDp#dGK4E=R~zh=GBk{x)VAsH>@I08u^^#9fl`%GPlvivGO> zJPi;p0L);B#6VXxkCXFC{Z5QM>EwZjJi+K_zVJ;Hk3Hi(bY7_Rt*2!m1{BoR!Y&8w zBRWk9V#iCL1Fy`?{h1=WM-z8qY)?k$wY=E6tR0#O$N%&(3S|9G+%WLRK|YGaenEd1{s+uJfbN`d~3)2q+8TK*!rXav4=1tkF0WEpi|h z{1>!7`0{r1Ye~z4Gc3pYgD*~!>{IpC#}C(wCEdF>o7V?dLpZ^~+p`jXkbx}JkroA@aS%vY(Dh*LCgNs-t?pB7JLJY)Aj}%K_&^ec+E4(^AAbaSWKu3G zW&+$|>$!2c+vblwZ2n0*i)f}8OF}R_IyQC`i|pHntd+P$M z(vp&wUkHzLO$UeUNmZC&htRK2P2FW0H(JPA0wO23Nkc~?crKK3OJZc4^lzvI1)KYa zp=U37O|cZPU=v_0I-6L9r$9Ibs6h59yHKlvV@vHUDHYx|PK7p%1vv~yse$#XV+D4EC))b6;K=Y;t2%qU~ z#a>g#9tW!Np9j|$Kb|Ju_|j~!0t%=E25x~b=`zWzB5Oe)Wcba{>hprDW+y=epq)Ee z7^I@oACZ-r$6|uB$7d;!b<8QX$h?Z zX@9pBT>|4sL&I16#3MT++)botfXSh@t?h%tY0LveiO&V}Ul9|uu`vvDxyk9pq=6=A zfE{3aJ_pMj^47*8cU9<`R)>N6K{8d;RAdT5Ejp#bp!y+8BXT`ev~E-&{Q-UF!#1Pk zm-WGw!aYNlSTq6#s07i4lWX#O1#T*IXpRG_J`m?wQBoBRmc_(EaK=lnS+gtPFw<3V zCboRyD-L(arrY7WT}}?>&}!`u=pc=8L4nb<@n!@Sfuh9;#sFq9&uUM@HU?iM4803 zHEla`BL}WY;xc3-YM`sD~ulM5{Kl-4dPq=<>ybivkKtKV9i5Ww_1X=-jQT{TEM~nf)Za) z#$Xwk%6I+-J#&PJ7p)K)0;SYhc(@sbj)dHpFNl9t2 zkK(|=#_k0XYz}G!CdM7GmpFn87S;n=`uf*is3d#$;+!(|96o>%%OUoz9TJ`b@O>cl z9V;s5i`9}*l8fc9V@uu|rvnfH_m9jZ`?(Hg+&eaM4(>+L-FwUCWJPJe@6MFkuR zBTj6NPfjsU<8s6Wz5@>?)_dBOOl}7@;Cdi_jV+Z60{< z3eOTX0c>e?xS0|JitBUvx^;`FSjX?Df{V-zP}7grXL_yhyMi*3Jj~%#ODsyL(n`?f z9uImIwUAclP3qVH`5h}cRd(nKx7;aUj4Q;I%kUnm|#F0Fte?RKf`yDoH~ z6T^v3%yNFRQ_Gkx{?)sARdr7<+o-eip^RQmf1&UYzTmCAtl1|8#ROL*pM3P-dUmCo zNcw}Alkb`yM5F3^qrY;)l_b4I&C0?m^_Ec%Z&Mzy)xQa1=}TwH5B6bwyzFsM39GyN z%(GkX1~>V9uTXtg*f%oBQ(4jr>U>^{eQe8E%x6=AgGu#-b>(v?%Mxl1WBw@Z%UMV%$j*pQ`G)&?O2dZTdW&l_qL$;JxDZAT5m_gPw*y7~R zK>G`hZm4F+m;}rIE9)L+Y>vuxmn_jnk{-4{?~)~QnLj}lz|@r=?LYCU zaTs$jh>wmTJ*F4Is1L|(r>X{xJXqB5!>8tk(vlSw`9KWc4u3AV)8L(-2M6Jv$zy|s zzu>M)F`~#PK)K0{&Gi)2?T-A_t5%idJ{gw7*Az#}MXVv9tvxsQI0#;8>6;Y@^6{NV zKnE!v`+p3M^@HSob0NMk9J=_o z6mQW<$sN+(D+?9`49-Di>%X4qp`F!u1{D+;cy(M#FJM?>HKUi{@WOQkTHk^Fi{Nr6 zePUU2bF)fFS9t;)W*MLw&BVF<1gqNz0d|O!p{Q!zd6xjFqlSn7EM}9g4Gr>3?a`%? zMLewJ5dZ*A%jU_+F7+MQ?6^BG;xsp`aY~)?+Pstp7zyPVlcEnd!ggf1P^)8J!6|D} zAb`SD)5Ij^@YcI=9mT@sI``q)8^S&uvUd0kcl|QC(4TPG!zatW@_`#h_FmEvG|Cj zWM>`Nrk%qTGlzqtokM+;1)YD#X};T!aLnOU2Tl1r@?xsm$y*5=!1Lq+UK*R%PATf> zjA8B-pO~nr6t$>WW@*@tERoPWX&Qx5xCa(qB?St)iZghHg##%I2X6;O60%x4ic0{l zihK*>I-9_@&BJ38reEi}>sBAi`r)9)M54$N{HIhQ;|5a6Dg?)A-Bvttb9jlP278|q zyzcx(A!*(0%Xu5te@Tpe33;zqu>=`R@(BqgeXu+d`ak;G_GM6%-f{5B&8P zpYGm8rJ4(j+oI~i+n6p23JR2#1;+t4*z5#tDvfe^lVmRfYKf_XL8{BCuL>_b`A8F zcW$Um?{PN{%l)?Z)8AU267`JK90dWTub^;Z?ZR9iZfkG+t(l*OM_Be-Zq zQJ7TXutl;DVJ4`pPO=uf=zw7M>SJxUO-o-HPIW4bk5C97Xtgymh+mDjG~C6sC&&>P z0HQ1auY&uaJS~GLGVa&TH$B;X8XFH%%?lbIr6l1j;6-m_ zAOv?|`b*a(`o}Wl2{56mk|1_tXHATZ#2)|MfI*4C2+=Q0)Mll(>eI}yJhbFUrtSyS zcNB{lC32*Rc&~P|5_8ggnc}*22{*nQ7!RamJw5e8HMcqa(ARvF_Qbb}9{EGO579W6 zwkLknGcF3PB z6)JT|ltm3f!(TXoiP*;^vuzx1taOh-j3V5@1{$eL0|u9W@{&s!o)xkzTW6CJ%e~Ko z&dD;~ZpmBGfbZH4sLLNA7?5^R9gH`MkSBf=pbxbp=hZOIO^rJWVCV&K4LFa>x7&fd z{QS!`%K#h0V9v2Y^vgxxqER2=5H8OxEm2KIDp9FfAyQV^+1WI_CJiP8B&dA(goRh; zhHtTL^S9prt5y_adHWY;FOQ@tWm;yrzD%FG$j)^tihmnSxy1j)KI=y|(|q*xJ75=& zLg_cQY_*#k*R7L!98PQ_*cxH!Z$r2g*;yiDde%lw>BK@9YxjMKcqcVvBrC)ydG>4` z&h6!oLxRHBo31**c4wYr+Z4ajOxr}cH^pn304I=I&H}!8?s2-pKn9{#w$bCPi+; zaSLCY3)KNawx|4WG!n-9ZQ?(t3QL|yU?~Tvd=5MvZp7+>qKsSidX==-`%{l7Kn8$6 zfpOHK;pn6D9sA;2UmrQ;;f`WhS=MW6Xi&NaX~?#VMg!Ss)oF$u zeW9TJC+qVChoBdF_l@6JEBUkUFPBXuQ%6xsh%40nXmbcZA~(sT0DX@yq{6{nz$Gky z?NR=?wvSEjL`(E{f!0;1PT|CYY`FoaY&Fdkuf{Z$*Kkn8SArKT`6GgPk~H5OCNXBF zT3y3#9hEXAJH)cTy-=;QPm^CKwg_cX#YVDwnCJ zMK*=+j~lWzeoZ`T*yjks#r8$AmqiV;*z@+91}#0kQ0wIfp+??qRq38Vj9+X-A-0XgqEOFDG(`OgdGAOzc*@x(i;2LR|^;h`3EJQp(niRfqXRv8gf|EKP zq|#}*jFZD2I?D3~#ysFk4>>Ohj=)etlq`IARh+Hs>||8*F=SEP+H%3@v~12VJ#>G@ z#$srvI2eQk+1O+x^&a&2wh)H>@XG73yZoUrF)M4o%|5x<6NOz8ePw1Z;Mso)T z0etgyK^JeFcFY;X4MBPFoSYgC4nuiLm-$~=cDJmZdU@By6E7P4s`)5|(4JtH@Lf@? z1ECZfV)O_PhkYe>C)k*3j4#k`YN9=Zf9y1>wRR9XEYx&^2Akf!16KRXHgj8XO2~BI zO3sOKQ47zYC4FPmPou?e!{r5TXm%3Y{QftVisXCtWTdFC6+$;VA+u{7mqSBORi`1S z5n&J=J_ct_CNK1_XSuoIJ@!6162dDFEV%Ua^l0rO^9SZ&;lclOI*mgbE#HhF^rM<{ zw{&~TI2}BF_AGU0NGJMxzG(NEVSoQQjI9`w$eR@WrtVQ2voR1T;C6O>#jDBeOC3vN z3-WgRuT!a$hsOuXWsnyu2&~N?MEEK>l2Q+AaqO5@P2~h2zFkX0o z;OO74%J>Ft5XQ~$Fex`JZTJ2_E(XOVDYydBa zzdwBoS5(kDa6e)G*8ZSssV3UvO|cZJ0_@E6jxw1ctNfecF%wu)&9GOEq&i;~ml zR9V39us!IZ)FW=I!Z{~u_g6Y@wrytO#wJ`j-YBq=A<2r=#` z_ib_dzxpvqCnvGhAw7Nc@c_oY-`;idfBHi^W}lMiWjg4FdqnSm& zX6=Sy?IbBJ%?{`vqa(liQ`fm3)Wwe=_feRDA_SuuWSU+EFBE^$!O;=dssOeX&=`PW zcC9x{kC2iSnD{x^EfLHOt}v99rQpe;E(pYA5-=f=FhS0S;z0wPee|G+4GTcJhED7z z5pp&}6X35DQ=;y6pcu_8sV%XxDJuoDBKoz?&h6+z3GJm36Q;Z(Lsza|CH)KCS>z0W z&Y6NFv64akMc@&(c-|))LMr}2HX^xZ$`yYXUr1>@*H%a+XlV~$SnI(;HpR-$l64}U zZx;TfTp0i|Z;;ptER!B8U?-H78mLmx%E8l{uKt4;ffmeyTn(rm&jJx{1l-&s9A8W<~jBVfii$K@pYU5S~Ug!0dBu_hyB+iGd)?KUfK zMMWhaVrJ$@8)I~c_;3OwDZU0dZ@7X99irA3HFP_?JCKtS09`D`4M|ED3XWcEYSUS; zHR0?}=O=?pP{6bSR>I=KUo-^{EELSXL~K;2a^4ti93iG|-&bHwBo-Ad!EVMe z5Z&JM^JfJ%5NHgNr*lGrgDHg`(|mT-v!9W4dcE{BVku!S1I{g=ul0mG(s<|XRlF4% zpejUH0&@m^AyAsH}LC1yj2p%!`K%cZ-sPgXfvqa$q!n+@t z_RLZenww>I?=R2)fLRD+HYy?CeZrgsJ>Vh33oAJHqh>%a1M2YBNQ(!(-P>FHnT>6F zRa(x*#MVVG;Nawx@Z^c9{IC6|uMHR7t%xf!%`9ABZpbX`t__Y~0)rs4$u?oAoWo^@ zPtKazZ$-xeAC7*ID#UOeUEvx7VAs*NALR{hVg$6)H4LCO9wEPA3TmJ#Bq&%)>Z>d4 zzMo=g(C8b{NFV;(>yUW}k{@3`KU<6+a9hLwq}l?_ZUxE2hpW{fza3XzhtA!r?Zub+ zg^R|Go5pQe#&uWVWunx?82`9jTGSnWCD&6`>{EIU=AC=4Nhcp)u_bPgygZI9M896^ zfF@-%YMBOc3C7q|+X<{QU>2{Nn?rC&X%di{R%H(mbTWmG;yS}r~55!L)3=J8e zn7m)W8bR57`iWtS_qfd+9^VaHn6belx@J7-?>iukzl{V=IEKtyus|ErK_C^_nH?6% z=S{tJ(5>aU4kpQlpsadhy)?n5Tq^WTf~b}4Wo~ZnFR-k~ozWL|`EvcW?BwR^kSc-m zzoUjlKWoR34Am|&t$)a)xZzt5oM!j)qu24nH-#|hB>SE5E4;``K%YG}@tc#Oe#^?? z&B6_j5q1PL0wWYEqOM=R>-V0N`mVRmTCdlp z?w{ZbiC6pVy7$DM`pfcl=TanA=?MH7;%X}&=`jma+n8FTm3FfsIp)uyE~6F^E$6ipAoxJcpO<@@O`RmSBh z-h1k|g?X)f%8cDTm3mg}u7rQ`HrIp}!C}`rmU&Aq4l}4#5-L zUEYxFv(LW&J9piGJy~x(7R-EKcXd@)b#--hRS~MHEQ5_njCtqI9c(#SklLL)4+QSq zxgYxI9;(G%5-kYzh2bEp>wM?VW4znHyLVDQyg;?7SZV0E=qM=)LST06CT1{GD7%N9 z0}A@i9bqvK2NQ@5)P>R%YGGwBLcLSpL``XBCPJ;vtHi0~APKd!lJ#4g_sOQ^e4rEhxb$id<6?#}KGV23$baBu;EKn_lB4sLEX6a<^Ir@f1b2b;Y!&A%{! zpw18{D+d=Vm_6k!MiWz*tBVLVYNmf!uyasS`Wvym^Iw8OiHyU;#DRm0os+}P?v}6L z(9SMWZm7Y3P2)d8J8O74KsnT)&M;Re2vo`qYVShx@8N3De{=D_F&qW{_h2)~--I1p zoos(|ZwBFj+CuG6G@MaW<@$S`4wf(%n6o9!;qM{;h1lQSzxn&u>|CtO|C`C(_WT!6 zsE5^m1A5!@UqDeB^Pea2FY(@zN3DS%2nKPz0h+U!n40iIfxKL%Cgx`U!X{_$>|$aMf!<<6;b*r(Vd4^ia`Ex- z0oj23Tu?Rv2#*Py36vAU1~lQ};RFIv&s;qJ8n5DHh1wV z1@Ll#r1_=z#W{H;fjr_;C=Aq;W)MMhn3J6eN=K~hOe~-r4)zw*l>g>H5@ri?Qi7R5 zMW_M)Y?qUiRCR)xTiK#Is3~v7Ehu+8Ufasd#ZrWti&KE}pUsL;dyCt4ASdr%&8oKx zj@p7wRuDOR7pRki6KXr&>bwXw_g^6DCUy?CP-j)Bld6>m)b{rbepAx9RaRTqKhRtp zTz|pq{^#a@w`$s3q4-3B->$i!6zW3@>g4>JCMP%GU+uqHR!3PI6l;9ED6#zo|9cWT zAS=|8{~7a#$=|qs_v!wl?>D2UWfYWjf||HML8w0zW1L(-HZD$-?a<)n6y)R<P zeR85ibqk6Tvz58${~44^keg2s0Q@hYC}EkIxS0G;z_%vwx30=sIlI7|JpVFM>QKkO zo@}isf13zF6UZNNI-9sbQ9Ajj(ds|wBtQVd1vM3bvT<_>pe&>bN+*Fp2p=1t0Ji{; z%M`#1%9hgx_MYI7%;9pxXr zw|0P9P`beWdb`~P|1C;0sFT${g!E5@e^aCUzlQpMl>YyoMfm?h`W&}s)gQ&;_+NGI z&pYUk+@x=X?(Bj(DFpxT=-2Idl)e4i0{_pp?hj4a{}nrVs|&wPkA#)WtwH)@n*PIX z5)}~sEeKnyzZLR-YWk<({v(aw0RQj`P?&!=po-oB4u9X z+oyZ?*REw;G_Lvd_@7<-D+gVU-lW}I;EML_g^(X4cL=ZEJ}$|4T~Z|0MBntB7T)V@ z?Ui`+U;82CVna(IblXce`)XsPodWtE{}_E4L195CAsjU+ChYeuN>1Y+eR3KTs7AF= z%s`1xs*KNXzl4Dj@V{SFWi|e^{_X_*8|ppcFYw#1e+;Jr{|gVQ0~i0_c>jTuk(T*4 zr9T+{(eeKrv2TVS|DNCf>(u_q^Zzf2efsBW{&Ueh$3nXW^wmTxe2!-v8&)8`goY8% zfnoz0X+!D6fG+lmUYsDm{(t8?XhItw2TakuEj(hd~YP9&?e9Nc3tAk8d=UD7wzN}rdDTk7jjCs z2Ef1exz(Td2;o3bo62Ly;n)K=3CH^EFkO@>TOtu<2;9-I9wwDIIohG2v@qE}t zE^746WFUt*enj+h6|3=spVJ6!FTpUW(8P9vTByKeV{=XOX~EjP3L%gZBJ<8yK2b_e{p zMO9ECvhpxP0{psR>{L!eT0!HmnvY?Rl9_{uhSdEXs7*vH1OqPw(`@F^M))|;c{_`W z`FJ+;8U81g=paNyxO4g5$|mFa@ZsCH~t{EFhj7 zOk=th?V}?==PW(A#$uR}D8>aSZd~cjdDA=*HhQLu7DrvH4sfRYdB8+e>({;A0@(Es zpz|g%O|e;M4l)T9Ql?qVE2cB-IURd38V5LVBJgW4ImtMxNA{&Oy=WAf^V4at90;M_ zP?7Czl*!ZE%(Wmd;>>8}#6)QCyBR^)j))L2Z!jx{etk8iz5(lma@6S74Si%14Z z2|j?hN~~@My;;!mE?k6Jt!VygoH&bqhmeJm-eqXF81S6{Nfkeazoi=C6PV$(m9ug2 z*gH3n*D&lYb<^7gQ54h`s2mYJZe3k&Eil21uzHo}pDEdC9% z3;iBSRL||pS3@6somOQKIUslLFg}b|JLl9=_5g6Ettxe=-gOK1tA|C8E)nK4NMp96 zr6hWiTt~KFsxbDQZc+!UXj5;=F(^vmn%bUx)h}P03)jP2qI~%Ns=7$*e0Z|~Ls#nQ zMHgFge2O-Bno)%(yS7m~^QQ}zC3Jyl7sE6e@ArvR4x$sM>t-U(OsM{}>=1nwhVS}d zzby*4A=|T@0vB96Hp3*SbhGPl)aQlZ&F6_jMBsxxnbbI8E352jev(}k6^h=r1G=SN zD4y08o(|K?X}kihtZb&71et=+AV;7Tx~KSL1%_A0UqZsdR@nDtL&A9Zr7^`$&3&t{ z5TY;2LNKq7pWqA_A@xGLPd6o~nD;?KA@b)!%YW>>XKqMXG*Dg<2Eb-89ej_8Qr}#& z{t3Sy?^y}-QfI#3Utrdr@}i$ko$;{GM=4i|?(h_IH^oS*0{;esxnQ4h1F3%;`Xz4? zOf&LehT!pM`FucW=J`*78!4f9tkTH7mpA{C@GVqMJK>pMz0q;G=Q z;IY6)He}X4pr)n>Q~66Q8MbPtmWaNh!wcdEb)B*E{aXS(`_}!R!X78^^0U~$ULr*t z?VZdGP0!pWLP6?v&y3u(ixihc2DohJ#8qQ-6-0NU`2D|MPXmQXb!$eJl@UW{8%oD_ z%K0=?caBtWOU~c9MIL%4gO|y-viR?1-|oQBZajGnVSJ^h3D|TpUW?&@)E;=_)id5K zu#6%R=hv$f?Vl^iFOTicIrwz|NqEGP>z|so`(%|p&C7*uKcdrK|!?LDGwL->>(Hk_8cTFFkF?BQ=?v= zJ)HK8lMQerYkW$2ZLUA<>&=DcRJySJ&Z-s9Qog`^$kv@8#I5 z19DH%FJc@zZisbj+eeyXNKyCDCBMcGT=nqP3ImwPlaM%wkwXg8g@exA+m2{gzn~wx=wz-Z4ba71%=p8w8&6py zJ_kWv0HUkvOjloSicSB3I9-w8`W&K<;oX%2qFx|<$_zfaUkqOn;sNrkwH0Rj361#$ zUO#O-cgl85E_+`AxVbPoV0sMo~m$gxbf}hs-*=zpM>&XqeF>?SnSd8B}#2{b3M=aL7*XkIXlp7B=ieV9Oj|HU&4o zrryX|oCiy3IN7AtE5h$>dA@r2W%eZ?1BAw7lJ`wH->ywQ^*xl0e42<8bH>_{QwmJO z)p<&qCC@b;eow!!H^DxKGq=BR4|C04Z9GNKV|y0QsQnI$K0;GS@peH> z#A)z^W`b9pk5mM{eK0p$6B&h3o=UHS7_N7BBhS-S(e|RCRbnXp;hDk^!lPaq&s=+B zX=X51aH1a5+;gO4&gZ~}8#a}<6Lt?aF?YrN3YCpc9Wuwot zP2p7f$x4lOoTDN@Y^4gT0#|WF;-c%(QDiV#I2!Pao&|Adt&ax1^uDyTtTH$v6Vdra zkw=}B=>8DQ&G%iE@GbS{OyAGzMLcss z`vaqV=g;tGC%{SM!z~PMK$b+km^6?`gQEPc$4LeDtXN!%Ge+*`DW;X$&40Sv;%#`T zwmx++$E>r-cVbGOAOks1kkwFJTlyLw(mp%*qg?Aat?+GV%-hdIwd!mt*(vX}^K`j+ zA@mQwj`U7)$VgWlf43Q`vWBu;sfqqf^u;L9VWJ>RjZX7PgOfnBGg7|A6)w5 z^|)!g07lZ61D}foF)9GXN}A33Qkk<+cPdnhG)lm`eGb3$vy|JMf^K<-#meLrM0;S@ z;j7f1iw<2YpTj;xzQG_)E=Gp}xqppCsuh^Q*XDIvX$3G!BPa;q z)hjGq_jD>})!y$cJVt*AmgBkFZwSM$9uJ$)-*p;eJ=FBsjEsl5TA7O%RxfFpaL`u~ zpFFM;ec(Iv-3!KPf9_g)T`YoyX;^h>QRpbp-2FiF=MQ17`{TV5OjKh7ZmS;k^tC^? zk^tuVNu7!l6ydY-0qu`s;)V+A4tnJ^}EQ-=K6hqkPg8#eD6UA6LzQ=_e;Q3hwJqrOt9^AyJw~d>&OjIlcHA0h z?L}ZVP1Rgzteoi=Ri2y^dj+eW=1iZ+_Zt~D_$39%Hl#M4=AltY7;@-b?z>ocXpOTg zExf~0@Mk+8%DTM2#{S8NN<#0N#gn2@tLDe(+q0V1o?*h8u7TEH&PIJVyOrN?4B2!} zhu`ARuk_;ABeEeqI}yd?}Xot|5oPsJc5%1OWbdsXR>iUP^UYVttzlx50=FQqzZ9Lg60+lH!F+xu3j*n{3qoyohtqZ=l1=9dO^2Lv8qKm8e%X-G}ft8~4o;gs6W(ZB-8X(z=(o z|L9g#i{^OKjN9(f3>r=R977__p9oHd+Azl&%a)XaBkPA)ptJs-$*e+*50h3z$?-Km zCP8FRzcVslGL0OpM#rq>v6%P-Anf=yz$t81WYNe3&8f1A#%Vr7vtsF`oQ*~Fj7?Xk z=&tckKVcFw(H#one59+*9)Cfe*)p@Z(o7~1#)5UeuR6fouhy+6vfh2OmzL(PeuB%w zLGE!s@3i~0_Y(lhBKhq!JM8SfXKN{_+KFRL#K_fcm%kb5EL_>B8sXzjUBP+65bs}I zPO_rnBPP=gBO%=;@_M~r9~7*;J;5OU!7mnozAsT#>C$L>wVJV@L*~#QTbZ`>PMGi8 zCoUsI?JU4DJpkTsX!B*P3Sc2YC92_93=o{)7mk$$^?I{D&isU~M7Cv9wbPtJW1Z6{ zH*-x}mWc}9w-eg%kMqq+-Gm1xS18Dnf5|D$az5&ZF{q>k>L19Pd7)d2n#qkn)vK0) z8=Q%Jy5`e3pf~HQerRZZce@9^!oo3I6SzG(!!2E3Xb;=oo@#J!YOKo?;-#SyF2%*K zewO|YHv>0?_hz^x-^Mx{2)1a_U0FIvW9wt7+J3pfF|BX6S{SHb)zpx`CcfF*jNU@e z)5~-IeY@RcW@bg-Eqb8Kp9vT6`5U%W-$9a(*XrU*ar1@XdqwdZNrw)OS49T9ZJ0Bl zfmiz;jPz#sz76);CjsIZF%i$oJhljCXT7L8ynJYd_dUTd8b1(1yHOyTfn3OD`fZA0L&J!-y@`G87=cq; zl}Y=`b3QhE96~AwB5?>|0}vFX6!Dz(RbwrZWr|Sy>8A$)F`^+XFY`&Hw&I_wzU^V3 zJDuE=+D_+Df$x_$L`P{E?Np9dTEeIDFx^MYo4%8&jEpoT@b4t_rlcP;z?Yf8XL4h& zLLfOequ-*VUe(RvaTs+bB#QBDf<<{|*)M#~cGI@Jb4Z%it^xHw+dfc7Y^m_s{sQzn z;w9|qqERw8;+U>|sMQmLPDRxAXwUu(JD$iqWWdFrE|{ifR{MbjXy#k@G%7s8w>z9$ z2ubR@ld2x+)sNj%S)YF8mj((RY#19ORR8Nxm zVtab6-^FaL!l;k3^gVlBxwahS!UH(>^WfMw&&EWAFIUE3Y{N*|nN+UWrj_r%j!%`E zcIYIqvSE&^i7gBwOQd@A`Y{qu@rA;B-eYA~gvz(W2a2mtj@oUuWi)8N>PhYd1hP~` z^)S)?4%~K^ztos9r_!Q-S161io<2!hH|)ND5jkPAm2=pbPH~_xh>%%t*szdTJ+bzo zQjZ0E*W3K`3?E?q-in++rMKG3Uru9Z|9i;LB#fn_aSsBXHOoUoch?hi61y}*Id5eG zW!v@m9^=obk5{bFcJNsdcD9b*{6|yrcA3r6ADhGFy|R!C=^uWH1fAELPa_>CYnN~n zY^jEJ2-!hr5*|Ezh{Smk4l(QHt_&-Rt!tZ@R%b*#WZ^-#UBe%uhGIRbIYt z<*iQ)b8?{Vs-CsxzbuT7XPRI}J-B^*jH4k_Q{}jRhh6=W9c(x|ogZ2|A#NUwJv}*` z<;EtnTLf{qoslm>%J1b^2R|oQAAIe9Q zT$5C~ijJL|z;Q1iC=+*}ppubxdF}F^6uW)*ZTd4@D7$`j7Hopp^{3#-T8pcGeCk`o z%MYM7{39C)H_?o;dNSXsGfBs9V|Yn(9tn%tj+Q@~cguK57|eUk7Y%-gS&l$$;#9Oj zxQ6dZa7e*T@yS%*cLRdFw^Xt1#vgHAq-2tVxh%UH2)Tg*ycMqn@jj?^^jh(b#_8M{T~{KN7>d>8Jihc3cQvu z9q)isK8O&moDe0r$KRZ-S8lj%N}REg$#rL1N~xr7$Z0&hAKGpF0r4vTvyJ@@0o3<< zH}{;T)8a^XpZ;KQ0pE^*!{zeUs<$LYg?|mivc~w#Iu0RQA;NMX=e98N!BabJDr--$ z(|3oAxVS;9zWnq@*io9OexsXRgKKW>$glkFYmJaFIr3gbCJ7B?gZj}tQq7Q#@4J1| zkrxU*TCfRL5ufaaMSF{Zuis_Kif3$V21i&Uj}E}k;7*tOk#ntlZqn!juNo>m2ap`& zb~;G6t004UauMezD4y%79kDCg`Q7q$6#jd zZyb{mR1?uLC)&&-Lc@Anl8C3z@nlYq&T|dWaeV8n`xZHx3`;!^`iF+5rj_`HNy2vA zvH4|!0R(>Xf8ywQDTvmVZ^-A-+IZ!J10QN#Z|-)9aBRfDjb}H1`dVzm9b+c*Nn77u zPL#BS?md-!5-MdE7I;b;qccLL|Lp-59at_J;js;k>|yl+s-5nwD~VJM$IKWpS|5@5 z8rgA>-(1^<2I3QLJV63rC_|S(E~yJ5E1tLV66x57Iz_PbqF{#Joq&DR5=Ja#C$D@RG?bN2 zlYQR&#Dm-co(1Frx1LwAFm8-|sHM+#g+v^lQd6vzs zH5j_K%00}d6V%L(`rYU)kNIr}C)J8KD4CVWu8574;d5+;yun+% zg3P}yY{1dBx7#L**g4iYP6^I0rc2G?8l}07=Vb7~7elaUKy8N#gRN10Y+E~P1A)cD zrcxq;aO%`VT8^dec^Z1=)6tDuiV=6IwhiM>!#7BerPca!%slh{M9MFvw$XgxHw26^ z;Y~XArTphFpL3L6PI?|jxX$AN`j!}^GW~~nF zI8IQp_X97TbNjw)+BONvBUQ%vZv7wh%xIZKn=gog*i)Cs_k#`llDU|?tK>95wiYM4 zmIewk(I}e)5n}e1z{LklWA$fVFEFIz;J&4Z*EaN|VSt&A^`fq)kbz2kw0>$x+~!vj z=R}{esZqM-7s8=owMn?THHULQ9w~^Q>7OJjrttatXca#djzhd&Rf_7>sdG}&zVY=A zAgp$LI6C ztDj_L+!NbE9;Yi-K+`cs2rogo!0;2h4+$4z5e+Q-B&c)H@%8_0g1kO~1gdCK_J4Cc9A+evwaLOtbaA9CXkm6`QD;r%AA zREHj1w&rWbe4Yr_GM@`9;H4>z4GL0-$_#i5%^6TQ1QHN>hOVIX75*s4|IVHhNe`C$ zGF#nKQdn!=YDzrkUiPY+e}lB{(ifvN%_k%*t@jc5*%S@`%GXJ2n`-gJwbkCrh#K6; zbkzgEcrgxEq({CF(muSBAJ?6yI^nwEpt4f_jl+=$!$6vRo{S%s0wBZSbP_YI0b3-5 zgZmLU<$cOd`lJCjMygR8;q$L2${L0vvuvD0<*wM&y|-@f_K!X3>%TG=sO+91!J`Je zqVkpD9)8?bH{o!yQmBjJZQ3r-VHcZmSRgcim3y98#h*9el(a+7oUsx-1D2E5&=b0tPvwt-Pzc~Rj#aLUu@iJ-~V z^l#CEQxx5XX%5dy>EwS>=W*!Fyw za3b(^1CzTaKE+AzlO#LBP188{s`mqGdaQ)QqFj-lg-vZj9!qbsl*Q1yUp&Q!y&*ps ztrA((VeLMTqFIS$S9Mu&R4y+~CeGh)?>%Gl#o@W9qc2lp-t~3hld&B$Fh8I6;i$II z@g&oewWu0eyCgIKP+4Gl3ovx5Cdj?LDD7Kg1y?Oz+I$Vcco5>CpEb(`_Q@8 zc3i!m=t=8V^<{j(J25GL?!{GK7JphO{5~Z?=s3kyzk26=QEJDr3G3J!ae*QPa%=7i z1cz%Jph2nzXGt*bJp&L{w3R&#*U_$^1q@(vnt3J;(OdMi1fNbXDLoSWR9VqOs&EHgV$Sln3(x9uQ&vKn!~bCPqLVq3AIVh+so zr-{n1OM+j5hM!>xzu=iqJ&AP4324C(;&eoVG73t_egHvfv3`Ev&5eb``IPsA+cOZP zMa7!mFw$XqgVfVj9#J$K4Y>FYcMhhzhRrF2U6n)S51V%z@byPLFhDDtkYJ&tK@gI)v{;Yl63|di~l|7rix?i#q()Av8CLM-ba9MV+*6{&xh=a{` zx@jW=%m6{H&AiqEP%d)adHzaJ3|SAl>7?&$O;)XZ-Ni$H>x-OZstA#tnx_d#dH5es z9^!>!lJDMuFY;ZbnoZ`l`EV8{cLubqvx-t#7?z!(@;K&$RgG;Yc%j{`SUmRNe!=P&PbkQ zgfJw%AXcVjc1&=QjWuY+W5No(sz`C^71oj(+w)v3tz3Kp|3;P&te~+-FQQeE(;0!v zRyw(>_KyZhcgZZQgup%vC9+0IGz@1yU{`-AEmRs^sK8d*15i(fndVg<5Z&0 zbr`|=<{r_L8MW)vUt_Vys5_=DhfhJ#3+4j1O#(D_!|RCi{+N9h8++x>UWzp$iLW_{ zp?H_$`tFCo{R)p{Kf7a>T>jZ+M=LtvS)3q$J`u4uh*oRvoxn{`^W?iT9jiaTjNNRm zDC91kj&%06_ZuE<)jAZ3I~9dc&4=${W2@9rSL&78S!6Egmzm~4&yQknBwj;d1pLmi zln>OoEk@=yhOTS9F4(t!D8#(w48520ME7x$OUDN1)5j{dXZ{ND`CTc1l4=)g`}bAH z-qR;!6QxaN-i}>WSLjuQ`eimo7-ssVbf?x9d*VKoOJ7kR&M-%RmzOQMM)l4(#7z?k zzkEAZ)~C0B&DKtQe`i0!Wqh%k;^(F2%(D0`-fCFv%6#ir_-NmjL2Qd5+Rc`y@gxyB z(A)l(Hj8hXPaI`SstiIDRn%ETX=Z<4XF zvBbV8E(EtKGz;>HMW^7u8O8GS$?y=KIr(unr2EwBjFdV$0^t&|+)l(Ur2b4%Lj#~i zL-c&V{m|3#fHoXKnqOzF-5%C(DBs`v1kwaQ)To`VZl=YJ!uNfy_T_Z=u0MQ#{czI! zELd5y#+Q>61YO2;J3CWIj0A$MeuXNdG9)SeGIAPqeRD#d&9uz+HZ1&L@eQvf$LfzS z{mX4i{K*qya9ax%*6+YgiSx)lBjSZ#90;8Z^yOQTf+d_`8d)uG5Dm5rHrjC0KpxK6 z7pWN17ZI$9skWtJ*9kPWc-f^w*0}gx5_m5)6wis%?m)D#?q~KgB`lG-Id z@*Ao8a7PM~%jG3k5>u*g?NJD0QsvC*nw%_^KKnkwLo93~yR8ZLf zV`~Y!yW(!^7FFoLjwR8`os1JMKjKqZB(rlGZT2jT2>mL{jL+8Ja*VC{BiVNfT+5qY zg+uhm^xl>vmh|5^xnA!dof+A_{_#MB!Ob>PeRrkqa>eE`a>h8l*2iv+&}PnXH&k#+ zjXdL*Hfx&q^~~I-m{zxGg`T(gy2F`<31F;*u{rXiy8^oE!RvCx7<;#YtW$fPF&z5`bmYsIe&kNfhwh=v)U1hnR=j_f)Pd4E#<*kCSvvIc0L za!;HuzH{R+=6$b9d#8TZ>CY8k`^!zH!>2nI&6(Nr@XDPSq;b=Ymex?)Fe)9d$5quh zJYm@QZBB+$h%hyr8?s;;hp?S8!i_};bk`0~esX(l0h=R$-%Gh(7}~BW$E&F8Lznke zD#xOJR(@R;+Fd{d@OtPQ+8u$Dbo_#-m7kCTOH!j3|4=(uX@`hZ0e;Ww=VtI6P?SN8 z2|P%aaPbgan&qcUOSKlzMlUx}wexX?jEcdrUEn5AF*-1aaO;ppox7}ll-A19W3(Tp zPRFc={)q^6k$a7Z=$Lf`9(v;@U=V42>t=~OS>%Ir!Qn#8laIyL<#@Ovi3zl*C9n>g zyd;DvkM74@qqive2H*kA(`e<-bwj#8mS!!UMd-*u$}q+`Qfcn& zh6*v`m9w(lw0$@uSP5qcCR>YmObGCiV4=5IlXn{W`91(KA;cH>*n2T$mP#|pT5Fq4 zw|4D2Dq;5?-y26<%UAzlsaOP=e`DUrIVQtqC|S>$0-tXI*9NYS#?&-#NEIQN2m|)M zY58Eg`Pq(-#wjXe2-i$o^5ZRC&KAfphB-cGH*!ZTI*ot-LS(RYfUV!xX-)vvy(mid zlN0RW>_0@_{a6keY+v|7_Btr5#Jk?o&>Qs;HN0IpyL=H_mm6%)LKE~3eF98;D) zT=H>RW;iygl7;cSbXONBrEcEGE7_W8P?HUU%CAQBqtk#^bfh$8si~R+i;QKAinmFQ z>6q1!xcKp6Og12@1J;|i&R4TBUwVut`Gwm-ImiME5L80BmqJ7nRXrih(LEADG#jLw znss6tlOFMO$R1wyqadNN-SBBh7*P4`)_L}W$+$s5QW1S75E^S+x5tvC2J6}f+1@p5 z$kF!K_j6fzg!#Ca4&U274#hq=lwDpfcSdxj)T++pf%c*E_~{t8%h2?Jclww(v*@B) zfPy+@iVjpFr(s`J>4}TqGs^6|yd4p~O!2v4ih@5&!p_Ei&d=GLs+gr!(%#Zml7k>k zU}w|{K z#>OV}t(+Ra6LEVQ#peYglJkQ;Z~wSzT==?2PILIBMoD{g&Wnx3T}=y_C-_sRC_91+ zY-Oi;^bADToQ*yeF&prIBDz?c@sKEHT+KArEN}Bj9DQ4Cb6=<3| zw%3)a%1RtnI4g|`W7?aeQB`BNpR9)&GrA6Q5Q0C~xv6WKa9!aBU+l$rE;TA7rbCG0EQKJR-qA~CjHPuXf9scmc}g%SJuCln(eyY9O=SZItcEbjEF z#mhriXRRr|UyGA1PR`4Cji$pG5`$^$JGpQ4zaR!UHw3jj+jy=}1shtv9bfO;yvBm3 zjN8wqB%4h7FBa@cGviLCf7zO}r63oQ|6~PU?WBdwtzZzLg)W53goHsFK9#0lT?OEn zJ~<}~Xo*1!UqVXrwN=LLHkd7^luAUK;j^DRNsZ{Vp1I6Q1L}xn+wyGO5gko53lL$% zOGf7z3nqdfk zOSrXcRX$?0BJQ)*;O=pHSyZoXp|f-POh10JHZiy6N(@7JeanU1=4j>S#L-{6PSfU9H_G|XVM z*l_Cg&jAR<(B;g+;+R?Ho;_4{r~a`hacyx?Av#_{_eS+L$)`7ghzB11$>7;|1S-*4 zLi51Y!=_&XJY&>(_(Hp1Q6MES4JZEC`&q(XRiYRWaI#tH^(DUf(?t#FzOS^6wbECf04aTs#iESwa3+x-4KB?6e;1bFhE{q@s^b(+nk|%4GWI527gOgkEr+( z42q>Nz2@y5!G%IS$~lqAY=5;yze?@U)LHgJ)4=lCas-_9}%=YDb;t6O+c z0VFgoC5SI+J8)e-LcNlJd@|xW1GoK^2%^)OSqP1g z!BAbq)&v! zM|xuPAF|m6?9snM&b~cY5M#hiczb44!tX1L6!Cg8`vUg4)CaO$o_R+!CC0n*dhBDV z^U+xy8~wtE_bDX{p>e5x7*w{%aWN{Pd0GI1ll?(ga+5~k4$r%a8dqTZala%3I1N4V z7p47GKwn!2%HvBmsr*wXKoAl}4~*I>h<{$d6?2Hhzjv zWAV1OVpB=ORCGfZtz_WC@R+j^z_5CrqTldTR}qL;j63iZp=Z!*Lsx&tdgdC>BCB1N zQN**KmiYxhtS{ZWq)8>A$$N02^HN0-PED7VEtOETKNWQ0XyhXX-254p>G9a;vpFK#g15-c1-@Swxj9YWs`ApyjJ97N?Nt$Zzd2F?3UbaJdU0>{Rb z$;bCNxN>Vyoj1}su_Rn-(&=fM?A=sj+=K!pJ9X-E-0hDez*sTV-9|zqyXAzu>4%Jl zA@}y+;;8;b1n0H{Dr@+>AvvW)lsU6-o+uU(0>cUkOGzPj^N^(uoYqef{pON9A?@K<-*k z9Wq6bP4S_Pd_D*b)85WG*y*}1#Ei@HImHrdYhoKK$_3pmfIRsR~fR>#l(xrAHkTJ4Xj zL6JBAB*56QLE1w>?V6DqQ=jG0#Ox0jXvgCwAO_uI>rU9`UCNF}#p@`!)Z*;8&4fJl z!-pNa?Y6P$pW^!umq2aC(z-VUrmvM0n{Y$r_YKIXn5}hOk%Dg!oxr`Zw(Ql_E&j5D zA_p`#k)_aOnR{5W^zYN#(0531K0i%>Rr#mIBLsYe4a;aEC`yn+6h;{@8I0;24@Ns# zg@#<-JUc9T$r@AGIr6M0*QUS2$OT7d+ENdFWDT^E@J^(_YV8P0L;b5z?^xc_M*4-``L==rdQcF* zzrL`mUdF3$n-n%*Ck9rtJ9`6rnnGpt${$^hNir~a%3Q&5ewSxw=)rM~`bqc1O7Guo z+b>`QH`hN+wIAIY8+Tf>(HR0Y5q9g~CNRb5+QUub-b+Nvo8cxT*=G5NcXhrgGMW-B zUa`K^vKLpkIPq=K%vu~vM;$jj32c_Zj_CsC%H_68PZ%e!N?#UB-p6@(5>FN!W^2?l zQQz5}ro~xOnP=3P_7Ra@@3}VnEeDsVOPscFDWahdT_v?(q!}dDJ^r-%B)D*Yo=Ins zUIMoggZMa6&4PQFAq?@eANQPLt}bRdU=23oS#Mc70vJ@Gk=Ec#%2*GVvEvKv?k4ko z8yfa23%)&7GhR!<{)?Pc4gMC63Ks6I7oxSlB>o(bumJ#w?Zn|n&JJ3dk`?-V)YQgn zNhJ(x@g2WH7nD%FUg)0c0y?8CPY;C?aHgYc(piBy-#cex(*>?%;49XbX0hql>a_YA zp)rRb6Zhmj7*#pYVu^7TMK7`yvYUyz~T!ES}+25>=yv($xK?+?ov;+z8OEq zYeaI&FZ8%)_`FwPI|!Zq!S%@5b~TCdAG<@NLWP$alTsW+D-$60#LT=3xO}4%iW)Vf5s;A=hSf*{H?8WX{cZzv`dmH-DZi{kUNgXW(!HY5t;NxWaxKRcg4E zSXkM%b8hJl?&27 zBh|se{?ajWWwey3H9=@g-FY?Yoov)jo35M~_krkiSsshw^?h%Xnw)yr26FMlVjv|p zMuZo#S}<(e)v1dL5wIL#6NeVeD{I=1|3toHh$8xFBdg0YtdV0g&ZZbs$o*G0mtN|Onk%UJ)B{V0NK_|j=>C>ZyJo?!FSQ{Ci>R? zGW~H96>&z3Dz{^}>rOAL2OXZf8NFF|1yPA&+Vx)8s5WetoJ-P+Gh4XXDR+KhAq&?U zK#Hg=WvBwf%z zeg4e2Mod{rYTLzSrPqiR9J*AnpDS4oeRQ}rm~}ts+Z0Uu^HuY1TW;b~(ni#)8n>!d zH_4ONxy5)nJ{#M!sM>q^DNAn^@tB1DzH_1O5`-P-OypQQ)!k<}iVVCX%p4tsu=Ie& zAueePeli?a1ytD2$7GqmfMN`eaq;++?#&IZZ$LG9Rm~jBO^d?4XKg1-50K%A2f_*K zCX1N+HnYtKc{QPi92-0^YS$X2M0}7rF3U((Gq6v!GS?;s> z6*|XnyH&S25wvkaW^~%O+Q2c!`l{Tn=hJXf+ICz0)D#1gnEPD1OdG2D$zu@}&1FbC zp=8!QNSfK$bY7OV`bj+F3%BkHnng1zWIMOsvY0;EVk&8v<(+`NV~|d=pU`Iw1^s12 zump#DHk3ZRmhud%wUx%?qY$>*E(k$8KAN_J4Sc{OeU!k>43AB*pz|Tcz!%BB%G7{Y z_1BrJd`^8E0>*xxHR`PZou{#12H;}b?uy&yN#Ltek*N0AR~(zMo+~;lc@RIFbfJb_ z3_5{#&i@bQzB;O^ZwptHkX8_p76EBNQluoLLmH&JyE%lUfTVPHNJ=+HTDrUA(A~{j z=)L!M-x%+W_s<(|JYeXCbI#gp?=|C_-<)f1Y@5TNg5mtE3U*t>E*0@{u#G0fUHC?QL)5$}| za%nk*xxHJV9U{d1vuyp-whV*`kXxYC>pOL&xsg|nP?U^gJv%;`R!8h*&hQi+VJ*X` z)^Ri43%U@0GjCBx@~wx>^_suJXE*q(bS#6eP~sk@dM>hDqjQwhH-ki+@7w-9*#V|+ z*&4a+8`)1IUZ^@fakOY!tLq905G5BG`ASHI?RZ1 zt+#`ipPT6Pc(12f-_-F0FNlz-{_5)$;nB{g z0t+mK{(^)8)@=@3KE$Ysh-hvsie_3On!ijefsBkk1##hT4fqPp#J4$mx|$!k;P<@> zjCXH0wh^L{S@+Ha$Y^w2DQFsLG(?pH3nk7l(F<=+Q=j0-9Q)=7C}yZUIO7t(cy2_gJ?9^=e){)iN7W?ehE`h)4+UG{^T)UId$a(G+5FenFOUhq< z)#dYnpr`AUJOfl4qkosv-N=X6GBS=<6f}nscR|Vr*_u7!Nl2#B%Vp>UQ!Ys90(}sZ zTU?y=^{t38&)j4D3vNZT>5VGau*lqr-DT%u*vby4b^2Y?Zy2I*`)HW*8&OQ%AoY3; zkR@m`9X9xqE4bWq3Z^z(-#b-VS^%#La9+=3!fDL0Ac@n{pW%nF+DE5uY9;p5BSCSZ z0bMIWcsY4_NK1lkC1prmd2p23de2--4crVhSt^Hd=J$q7(D2Q<)a_wO+bSGKtBz=) zGab_7<}Ai}Pogw-5=k}F(>?R{9FD28SZtm40BuN zRk(e1JNCnGAjUN)be#7sznJrGka)%8UU#nX%s=I(hVca^S`$f!Fhi!^)$?FS6=KU*?U z_o8cg=L#n|S48L(S7*wcuPKJ0Z-n)rjfVkY<{~IIz+5hnkX|lLTWB} zM_8+zA$EkS$RF$T6N+8B%J1E;aeR@MXS%*aoS|&XvUF65)Y7(ARL^-Aaqjfk1_k%? zW2{41Q482tQ@f;2xf-53UAx4@{20Ek=Ui(t{96T4fITCGplacpd7BR7>8)2AeM`xe zKivL-UlKO6?wR_-Fggur4)?A6lGfl9_wv%2lAdg4Zhg^5lDW&iD=|A5OBStMcK@uh zOKHhjqx@W%MRix)R+S;c)znmdR|rB`CFf*f%NmCO$9-Ynin7bVlPA z6VvXWm1pH8oL%?P>D_#%6v*o>TJ*sL$3Q6Hob3YyE9OgVFQNBFM8!xlT z(Npeg;+F?i<<$%pF`?dV-Q%sUygl-6CHc6GMo2xrAv_dhXQM%QM=@@V#?saY2N56u z=ms^(d>6dk$>!0#rh`N7WSBj|nuYf8j}goG%|W5|cMUfR?7}|#uUg69!*5K+f|SZ^ zGy?QGzGDXB$Fr_c?EU;%`ZbKbjmEj%G;a97R`^w$wKX^EVxwxf$I-yW5Tu$xWvw7zwHGRpOSyjjBgegu-)+&u3rd*%hwNEP5Eqi}|EFmKeQuiFe zZVgdK6nguXj6_|jdZp}y({b;;lhIm}K(*l545n4hfuh-bjhOuFkBowbt3B%F`kK~& zpR#xSjK60;XJJ}wY{X@qc9?IU;1Qp6X4AfX;K0bu#UMvEZ0{ox(DOVc>^%65D~GJl znv~Qp&kOUQUxvz6tnSUnN;$zn@XU|CKjCE|OuA^BI-$ssQqU|Gn2n#Rv#4OvY*cZ) z)H%5%f*8;#`>bujf>gxh2O9nu(Xpr5F~?z^BO*Js#;043Gx7as45g;^V}DuzUiodxxAo$zvfE7B~*sPXFy7D67gNoQ>hEr}6vqgK)^(H)X$3bi&nF&_oIAaBa4BoGPqa zh*|EsgQrIkNP-X=3|)9K2@S|dLm_64`mQtnB3_!5Ar1VT$UnIAtJm`()~!92AqhC$ zESA=O>7tco15O+k&;|G@LT999l8%mtT!_5n# zEYT_J`j?f$iPHEdE%+fYV&^w+jHd8H{SiuD2L(x|J%@t`p1$l)3DZ@O*fdsR=ofpc z8>)SGT#US!@Rzz{3ka-NV=e6+F-Dj^#T6i#`kAv5)uX}yTLC*tTsxEaLzp%>vkX4d zSU(I)%x!&^-Kuv)Mxb9A;P0Jl6o*aEoZ}V4bQpz?;KZ6+`Z${DEyOc!OF&OnuSlO% zm)0xYtOj6A=Z`GAl*7&*=O>9=RX;*0Wx^%A@{DS`t7Mly9*Rk))R2UdjB+qu`>8ip zip#|`K2u@=#Cs)ewq0N`^w{uS`qJ;HH-Z$;X?}_LZzz^V44z<>>~|HH%p3oZs2_# z64N1(pnf8mc^0P3TWIhge_gVeJY5`dnLta`sy&hYix@ltWCbWMf9?;`XZORsJ5Ypgu^e;3W$vONLQyY(Y(ZAsx{hSxO z{_dfD`bbycOYdjA&p>VT*C%ZYN4kMi{37X7EAjsAGZ5B7& zFi|t_MHS3gvRM{3s%Y9|n}`V&Z5Zl=uv>4%NPZWML*VVEF|ybiiq(p$+LbDg9PxUp zn`Z{8;AGw#EofH0$e{&$?_gUUIs?p~wo(jm%PY@}dcNc(IBF(Glbp%my`=~&>@dWs ze?jSFfFf_(FG$p?&WEtA)q#wxu-3-zyCh`oFg;4ygqFB(a=Hzs0aYIVWV7m}pBWit z$nYv?TiyvTN~N%Fdi2NbZd6tLr^trvHXyoaR5Xo%4=foZh9O)$nJeNtbO{Z#9^{Nl4T-p7C>T}_1f*QXvsm-oeTzK3*R zmn|h<6jtX~M$*O?3=B@7?TetiMwi&{=p9f&qBQk-oVefs$CQ!8D}0 zki_K3xP=pzH#tw1%|~x_+3S`=1~L7Pu(};{zkIGjj=R`8ql|-+_S=wgwFCVniDO0YD9 zJ7fba?|tj9E;$KMRa&h6Y;X1j?^FiL6aUuah&7h!Dm|8dDz$gi-wDdvx&mqxa+|*U zG-#Z+DYFTH3r=35n96wy1 ztg9nNgK|3l&>z*MGp5WoJ$|{rI&`IcTCWb*{f@rOYVQYXgOC=ieQeD50<}>2u}Y1} zih(&_YMk{EG(e>WmFKFK@_l9}9_Jn=v_k8k`WQ#fax?0KjGAEEEM+b3LD(g|ag1N) zo6rwjXR`0s{s;zOzn$#__0`CEZFj%!JQ5I-f62ak(s#Q}K#CPIgTYVEqXI3XxP18@ zE7Wv-VB@een%%W$i!6I|GFxA^@e@X8kapDFMtm5I_ov({(R(+>K+|`A}J_fB=7HW}iai9aJlZtjD2jR_@4#XRQltEQzU_%|! zUJ93H&3U(_Mt}V6=hdDRgB}<2sh%J&4p6by;Bq6x&%~GDRG)MfPByY9vKv$2W$8dP zBEjSB@V@!B32FB*2Zoz=-OXCDdpJ+0yw3Q|rM|WRW=+~i8198rhxsCbM!;bYJ>{L_ zVg`&Boa17%JWh_8uJdBUiJ`vM)0J++omi&UrVW ztD2Bge73x~fieWc=#Y<7+f{RBZ%J|OS1;to(WUU$m|Odp=THBTx%KT(o+K{%d2?F^ z19bk+7n3tzjTsM ze*3Y(nC3VYTt0ax78QujxIe+!KE994|ieL z>=7MbPD!T!bA#?X)%9b^1bm$&>O5m2%{P)YSnLi5ow1lT!NwcgIV6%|EJp3bs7AOTF9IAj9(7a8;`7XX%gD zUH@6}Mp2Hx?)$!9-KS*xgHOAx?+b6;M2Een0{E7Xg~+4(trM$k%wk9ql?TE`x;=FK z0~d!G;9JOc{04;riVP}8QmmMoNdC|+_ni|10{7-n1GEe%xDLBXY@lE3zUtAz&z*Q3U%K&FI?S(^Yq*Y=k>qaGJ?H)K~rX( zj)pJmtOT!70^A7ne(L3|5|2q6MlEX{BB*K8YW8HD^Rl>dHDhAiFz zy?p-~U!kjwNW7-y*B{z>g^b0pIZWi&{D+z~=@;x9Mx^4Tf8|F;luwh8kPvO)Wr{QG zu+viOf%M~-1loa2HAZvR$F_Y#r)N9K?*vVr`)psVq(_Dj~eZ-TufY9RZ{ zFC8?MiqtM*JT7q4(8Y+|cgEd!cyE_^=OB9xam{BoD3KxcZCL z1SCvi_%a)o`ohA(>gw|($GO3X!Sp@1JxEkk6r3PJj%T{--PJq;Jw5k!bGBrHjg5`_ ziIRuHkKepE!@Oz5$3yEY5tPz20nJrJL_~1ClMRqFhMOS<(UWYcq^arY?vCX9yXCJ1 z+jkBT5>H=Bg9a*Io_XAz8UOTUtb1iaX?dY%WyN@1+*7Sbtv<`8>F$2Et3F%I7$9b4 zyxZ_PczgR+I~FYPV{T-B zh1P4lPT?j4>BLr2J{20DKu-Zg4;=lb;l$eJ^ZAo=x6DhUw^*zZC5-dGBVe@w>1De zVl4R2lC1>?o>R-uaFEIzyr#*Z?jTh7Br!cTC6NN(|2D?%C4Y*Axw(Sv>uX1e_BUP6 z=+#{1y_nVG`vHGk_sOfguh(SgH@3}c4_+bW@$G}7LixDlwP3d8PYJv%;_F*mR}s7y z*rWt|^+zEPo6g?e(HoM8ZPByM-2uy+F-!FZ7gjMABlTF&!y#JlV(c2<~<^IWcHcwAL^T(!NsT_m|p z`}uR=_}M&o;dE!Z%6wW;P7Yg0vcngHn5%lWz1Dt9zB5Gd)%5a2iEc+{1SPk}H_%8V zQX+-tX76@)kNgV*zWx+E^m7N9Pv zsjm*|v7^c}+=)1B;MJOY4i|sR_%}CUe}8XdXJ?nn13eapuEg+X=H`mLlDyg7yDf4B zviw|n?6(;@BQulj80s-sc zFeQ5ObFKX6w?Yt$`iFOy#dkCn@hryQ$?`m}tIEseA0taaZcfH2BFJKsjd8}Nr?=Ly zgzt@N>k%R=uZ(+oBK*3fptLmREh6J{;Y^C93ksTK?+=KRNF=Tcef&nm0^w12eMy|- zcHY+e(b?JA_e)@#!)kYZ6MAWJ z)1!#6={$dDImab4mSG)wy>R(hu~?(k zM3=jloId;g+se)^xx>=eGJsKOYdBA`yY7u+?wI)q_iduudKn0VsfmeH3QvRck%8;0 zri_)u`g*Q@CeHWoS!mvL0j<4=5+RpWQ&Uq=um?V7Xh?SC$kBbxkp*MVUGJadrA*&zx!(@VG~3cn1ry2<`0cE2^sI>l}-Fg-lIN6X0Cm@Oj&Hx9QQ1&?b|m zWBK7FOjMZ0?9yD%?cL1HH9%(BKAzWk+_^Ig{Entqo%!gAm8;uwe;)N3n>M{Urq->k zttJXW2>z#xmg0f#W$U#*A_}E^rD8UA?A|pKU}9ZxMm+kHxkKn*5-w935lt0wGHWqt zKPMGkbxcx2;>L7fl&foosiK{GN0s!>q3cXt(Q zb@1IjJ#q#)fzNMz;ShUMZYEQH5PMu4!X6~sZVXY(VqRqMUXp!6I3gUt8V$O;w-Yrr zla@Z7w$S}%)Y@)OZ}aKOtgbzoMho0?{cPba7EMwof1jemN1p*0aFbRYpO|>Dnif3u z^l>W#$@zLlXuH+Ms|6wP5r(sib9l_VJcWGsWp;M~R1!FCFW3N-eSL$*58-QmO4) zpHVtdIE2#T>U1Zs+x>LX(BKzR1 z)KF&dS_dE^xonAxW!_s|a|A}+b~JX!QOAsRqo?yxv6 z+3v-?e8c4>7Y16yNu@9S2z4oq1eh$pz20~@`wPJjPSSV3;x6;WW8QSGjgF39E`|_s z5{6r4XoxC>5OSpRT35SJ5;?s4h5ZVGficWLFZ`Jj(IA1{GP-}Zkp$xrP2z@yx|K)Z zM$CX8Chs-l1~%+9&FguqRuJA^EiUV8#`TpxaW9;(Tz&O47NJal$>=|U~ojQthQDw`U=y?k>knTG}d#E~&% zm{pnWnMG*1)R!?|HJkHAOpn~>av{;R5G-_FhwX`j<&Myrmn3i0Yvnh-wkQbs2d)^p zPWw8}yE%>(sC36L@Y=2hwaj!cX6URs8Jn0~-h2NFD#%)rV>wbZol5i0vwL6fG?&UD z+e(<9lS8?46Y*ekX~U!#S(&SB3R{|8=Hd!^ca?c92zo*pjGnyZxqc|c$Zm*qr*6x+}pr>ZcE+D2(h#W8(+<9NQWEtwkd9@zij?=DaO%-N^KwJ;%0mhibIWEg^=h%jd}E<1Uc9B=c#(SEkGhNp5RuJdvmOk&>1mkB}PtK zU-F5y<}*VRlkQ*wcE9aAKR?7m3399h(?-s~__~L)v$G!OUp=VUVcwWLR*7*Vc+}T= zJ}KgP!p7Ts*L{0xPsqN1-IVyN@N0uNOL5Zw|X(7%h$bklRGHK3oyy4OWc&Ow>UsmG~*^ zdVMhCP}|wL#)jB+J+5m+W*bBpqrYkNoOI-t*(ISske7KbK=iapv}-|h*}?ql!RMSd zlda~3ovQhKc0Qan#Gc z8n@s%e|LKZ%h$X+(L9s**+Qi7NBU3w1I=>2$2AP-R`enIZ0`|6)wo@q0?+P~ z`&j89^A*ILoE0s?wl9Tu&(H}p*mUw2+aK#nuxzA`U%&U;+IsL*)nXzn{3BrTdQESR zb9hI~cVB2U`5?JmW4iBq?<12CT}bb1O5ZE|V&XkcVO3q56Awp!EB=zZGku& zHG9~9wMHO{+gcLzpA}_h<1tgKbC6UHG%I{O`D-3r3Pr{F&|N&q(m4nr;&pc8IwE!@ zQX*dy^SCOziN6Z>H_T)x`>;N5Qj8F9>aMD$Rv_k}s2FXS=Tz2=pP-!Ko&}H0^IEyw zD0~gp)zuZ*6I*zs_vzh-EjuN_&$#uQ3r6y)s?(wF$7JRsKu77{s5Mdio=;9r251yL z=al5`faJVYUAt;SDKC+)ucP9)F&{OsylsV7Qc^O$;}0S=F)?`;b$=zT%!mr0Y*Qn+ zk@&zNQ1E6*d>)tpa9@{{_x9zH=RR5|7IbL6d>5;;$EYq}op*h zt6p2Bf%8bkvxvq`r`%nnjE{}^X=iTim?gfm=2w@yJ<+^VFt1J5@ciwtGnF-ac-YMl z+U}k5Cw!%hD|#&MiN&z7rb@ z$9q-AI}P(q;&fap-cCZco8D>a7#k-j55y2#6$X8Y0e%Zu_V)Ii z4%-96goO}Tlu}h9x)kn|s<^F$CmOmCl?o4e2&e$CKzf``Vdy}ccqQpzYyXO;jDUHs_>ZOH20Hg;9U zL;bTD_l+2G=+-q>8hMuVxwg6aj{)-yl zo-n!xAQf)_Xw06{?BrOdvc^TO9^CkNGgR4=z%K17W%r1FLmD3+|MooePMPKc0zHFN zS`m($Nq&U8CIOQGB#X+bC+9gXD(T5X`i_QFEax$?8nGbV2@43$Y zBu-p*iiuQl3l?{TWbBHac`o|PYb!vZm^0ziBE}n3+{`#tnoXuBU0-e$3vWpOYh7D8 z5dxdY#Q8~xPfkt%Tm$~xFt!KeD1L{Nk<)~FmA~^Bd+}HXJkfyhy;9-l6W-g7JH}B* z?%Qrao8izZ0)hdaYW?#Rpzaz06$HKAg0}ZVkCOI`j6E)MJZkMWWIM4#hgn=1m2IZF zkEScluK@ltQatHppSQy%D7QG-9Q6RCAj~Kx)A9QD47z8e?h;t7OM;jbqyx0}j^j%% z;Ha+K07+oA+#bw`%jziKT=#AL27zNx+*?|x;XCA#FQYaK_xj7fR5$nd^ps!0X}es| z=(}>f@ohBV7z5Xusp0|>)&NBv!9#=Tn;29I54~Pr7zXMIf|XuCTO0N#2Sc?OU@(|P z#k*7toetlWdkmGC3I8Y`u$xP5-!?TEi1BO7(&EsEcLPDFO3dki*7HIM%^%`NlV-0) zH}#${!#>&lPM66l>&brD&DEI)2(hYlEG#T!WCkfyTuXte-`q4&n@U1IT10;#-G96A z#2nM|3DzGE@gnW?*#mzuN5`|}leDu(#}r22u`=Ho_jN4z(7_0*q?H@Sd z2JDBuogJ4aT~c ztifWomQfWx#q}`YXXO0t&OBQZMf>UGH@`9qrZZ_`q1BVjOo~iM?HcmNTO{Eqk&pN6 z!4d~04e%ZzX2;SGKc%#{3k|2ZOGrTNY}*+q;RCu}3`d2v4EE=C7Sblr)a7WHCcA>g z-QM25M>Ti8n&${;8Ae*~9fCN57q8k0Ea8og+%@AmHJVxG`Et2X-!jCo$%s-r59nsX zFEZRbrW^jtSg5Ie+;05B>9`Azgz8RbR4JpVSP4L6$w^L3I=EFL^2u%^qoblcPo6~G zGwEY>yNdpGb#<()_aSythHz+zkSV((KOy8<_S=bAWm|5p=6(MP4APYfE5Mr3mHuRxan|M2dpZ%wTww49|;-(vI5j7 z>-tzEwVY7OwwkCvXNk*H&*J3kf93cFo%k=4lZi=bLdSQzLvv?9w9pgB{E`wY)2Tl; zy}CM95LWX*=z_MmUdM0#CLem4e|>#jY(}U2bKyP;>9zC#oG=?3n_p;H!m+6MGVT3b zUxFOUH3GMj9^Sf~4nyt`@X{aTTP52V#;ja!X{e$FVa|NQ!W~z8(7iafL)@jXyL$!x z&P7go> zH5zI`rlcpIj{)`XhvfsrgoTAYJnnSQWWc6>pkD|X1CQH`>wf$$?wQ}6t_lSMkTt%3^E&=o6YmU`B2ic zm1N6uxLvY{_=?K6!)wtU%a95^4hnc{NUa+y{wH++#E_IGDJco07tqnsn^BTK6xkfF z4}x3~vdmM=h-0%~gycwf`Xj|_4-L|>m?xA*XwTBGNEgRYAb+iiu(bT;)fJ!oFKM6z zC-7J}BWt^}bpQ)YXzLzNQ)6ru15zbCm+Q)8R~NIaJL$<12YHpY-_1Hn@Sp@k|AR*) zEw5ugX4z@JgFb~n08QRr8E;t5RFh(mhK5HtxlarX`~)nKWCEM{e4`tSpnfsBu)B*v zHt0*0voM}lia#m-mYErA#jI68)*+yyTe&9zr;%z-$Ll3%HMz09T@N{XQ;l-VoQr~WoeBIf;yJl-1_BX62a!9CHVxA|fMQy_wv zg25%aJ-J28ULt-qx%m4WLr1v~tqK@@C}Yo$0J-(=C%Ih<`ZCZnqkq%1g6mDbAp!z!Uy%(F1GSq#a@&r87fw;Up zftvT3V`JuYpKCg@ms8~W?k*xnjr)y@x_XizygS_@lrVwg5KxSJ(UFk_s#O+%k9kRx zu|kQF?0w49!ca`9FAOvG2<9HS?8aXyYZ(2&y~-iu+rsdRSK~0uZfC*Rqibk)^!E04 z-`C19@}~AhlQfc|+XLt^%cXD$R!~_H$1)$&z3s2$n z8}`3rq0D3I=L(J?Y8LKM9;%xutD0r+dY)Cn%>3l5@djX*-ugZ9xCASzR+UEH)PzTz z1s7Z0^@SDWA1q;AQ9xd%K(gV5MUGmv)nXj9Fm(91yX3cU?a~i)F3S2gTfA5&Md9k! z@MrHYsamkVj^~{$#Nh=GJ+VdBDu{nxO2{mO1E74%2WjchOxYUOi$gGQ6g`*ABgUHO z{Z|746>I=2l$wqg4Ypn}S%W0hn)b$8z`o4J))p{p6N4GT2e=)f=O-H%5s~f$ucKw0 z7B=2HAClKTl#Y+aJZbJX(2aC2$;b>R<)m3LcKXR~Id^?BuBoJ?6sjHLqG-U%x&(XX;#FjV|A^D$L8Hx#$eQrfhfhVCZQ;9X>MYG&rqvXv7okKT=jt-l6jxFvX2PU=;Edv!2FI*zSSHxP zStE}HCawv;K72Uqms9aRI#c?AV_x)N z!`ayxJcc;g+o1laj}zdTT90*hnb^yNX|~9n$E9UuAUx`s_pzanyueQP&1Y$A1kLc8@8LusSv3}X!Gc}z{1J{7ETc+RTs23Q!0MXwr0g_sS z3l1!G`UE?yVX)sU8S*>x4LsjDob9`8zMiAlf?o=N=+b>Z%&F{SQJC4#q4V0zI+8(@ z_$_I7-;r|L6@Ny%YgUvX1#)WddYz<$JhASl)WN#AkRc8YjkQnIt(T0cd5f%>$4ddu z*_+}Doa44Y17Er1sY(u7Xg0W1pgp20b!z6m8s?+qkI$u0XyYoB^s>zIM$B=^IKY;( zM_peGBXA_e-t;{l+t<@stZ+yio16ryZIkr`4-YRkJI&uaN_3G5L)3j}yHOZAZF^xRp6J@X8g6>x3l9%om;IZF2P zp-akEX*GGVtdhuAr>1@|My?&{UE;Yt*R5|OiVBAzLML0U32`Et`Et9uy9o#gwl+7V z65qi!1`qG!%75Bj#np5Ly&fNe22Yp=lYqDt2~0H0`$Dc(?^IG-`~IEG4HdgWtI9l` zVCY*C3*a5ALzWwoS)LVWj%~^#2P8bG=Cyv|4o?Mpfh-(C*wnJ&{!F-&^rm2r^@WTbT{>rG z7aTCBdU+PwBduY}T%#zaDA2dgMfxX;NBz9xYv9QZ_6y{2yr8&cH7CWLhVts8Z%186 zN%~?)?YHnUt3`eeLy+ol(l(0v!)3z7?sD(h10InaE8JF0TwIu$c*dJl%NlO;b|_1{ zH|bURtBv=*86Q}l(|xRr{q-DdKmG9|T8>bRdpXo`reHJgHIyTP`g7llRM#1% zejx=#MR$;Jc`;pGbWua65G&Yb`IP*eV<`lbd%-c|WcxQZHi96(9^;K>qbnenuTM}V zxLgczY=u9DTE8r!cET)DE@=)DOBB)(zV_v(k}Iky7fe4~PX+zzWkeMWQGQ;G-DT%| zMM!|uR7@Wqeq4_eMJJbKg&t&@z^wz%^b3B5 zy?KTkb$;TDmWpwZ74*4tNW^}X7O<`+y*NXZa7Vw`=Ur`&*JYqWakTgr+^Uoo^`tho zwnW6#Oh22rN1|XL-@7}CLZQ@D_oiv8EJY>tYVmu=5#R^9LL}0^Z+mpu_F&XI>LLwg_VMInnfm)@J zu`w?@=f3FvPL}i5i(IFoqpVCb1hbd$dqw9rXW_>Ei<)chmsxcrvVkcPk=xFj^P~_V zM@*2qd0ww`Y4qI-DR+Td;iVoXgl){a*!$bzQG!@h(fao44~*CPubUz=TtTXr;_Z9> z;Z(w}O6=ZB0nNomTA;OAma+8eM>C8=BTQQ`^Q|F9KfxuxxCz z15l79D=G;k#BIKkkf{HK25O?#vjuE!fi550=uE6ueOsD*zM(v$B7Ic9;JG#@gBQU{ z1~B;<9Vy@b-dqFfM`&s3AqaVuiZzI)eL`!Ubu99}9D&duiGlAYnc5j(ug*~z=%7^z zDOfnNg>J-^F)2^e)1QzbtqbKyr?gMMca0>df#r%yN`iE^A<%MAL9)cCD4O@uOF&6M zVR48G?zo|>j5(Oy)G0=e<+*ue`%*3b2339b+{lOz(#A?>gb~AKuXf(zSz>BTktWoA zu^Hj|2_|m{1OkcR(KTRU?&u^vGLEH8%>#+C9P?CcLRQR2Js7cSK*WQv7}K=atP4`F zYSvSS2^~48l@3_wZO?OkNEQuR-lAST-P4L*da#>1BZo#gGYo7>O^%DZ*xTMnG_#rN z!L&EL@c|EKmmFW0+wMOZ+!*{iWxPJIF`V;la0GD5LO<}3=235+B-I-YzWUMQhfcs4 zZH3#som(A4^C{%o3Ls)QOI9vZd{s;(JKPsDDFmfTXMjCe3i(*3*NKJpiMIo}4e%`>S&$SJrSFI1 z)pZEil;5=(6OA7GO-LbGg3iRL8%wkuS@)QL%H;dYS74t*&;~B?qq34sI#e9NW zUMGXp&^&6W3PvD;?t!Xa8}?%a3Qo@H#pHyzIOLPx5%jLdgTkohA5bGBKaG) z9=&>~pPFF#AZYp6;P7i7S>z#&aeHl)E~x8+NP>F4sPAp$i0t~nW-guN|L*Pmm~urA zahlVYfAG0@Mqgn)qR5s`qkdwL5;*Q50xA-uA<7WHcNVn|3qA-t;r}`ggv3WgEQcJ` z>2_cs8;5;2@n`p(2^S$xcRvzU*kMfJbOoH+=mB>9i(?6{sSr+CS=mk{5zwK=N#uXR?E9l-J+_M3&2ctTJD-V%yvk0G1;$p|_W&N1IM) zV@2v)jp;`G>HBddD`2+g3I zat9a6bE7noUx@EY9o2Um@Wwh$raiA?rGd2=q$J$vwl@kG8->r=Ip%71NJ=BWm>9w_ zP?h))B^;V1pKZsQR}O%AdGHcf%(oeAU(Jhw+fjed zaU|oOk#BHByrUcNGGwz$DtH)+>E*2U=~HTB=8P2S<5w%Ik2K&uK>%x8q|rb_w**Qd zV~zDO1sPp(B0)?!HZqc`7l|o}NcZvk+XZ{(_;ZpxDK1_=4e7Ts*7L?S<}Z){@EJYB z)A$A6&11a;&+-%K*mE454JA-oG{nkLR!+cf5nH?nYHu>Z7oaN&3ed#Rp5fM8&jTDE znJw5>;OGA4+vPbIz2taz8oeiKmax1;*(;-T6M3@W*)l^+d{h)q@8)Ly84TDA`%QVF!RwXNp^YXV@zteWCDOnZa2T%?M@3O^RD2sM}l>T6J3$r3Ko zsy%}#dFDodUw(We80!eSdCIitpnPFE8x$t_arsc^hxy&=|kU%DD>4TaXxs#qT`6bcbs(t$R z&-Jh>h7e8`!mOK2SKN_FZd~P8T)Eta=s`4pRL>%>v2zV7tw7+Rx?cWnJ|`1t*+%Qu zrUpcR54`et7(urGtWGeGlg1{hpXW+~CKYbj>ygRE@|O^l76Sd&MneI-*(;s_$TRR@ zx27>4&QA3QTkVofv?RmSAtzFvt65@XfLrJb5cBZhog@0>{)?~`u^>JDVc7tH`3J8a zH0_t)%067ah;sgu9t{W1C3aD!wDcKOVzvTTj8bw25st7Ok^RRuRIEL=FePFC_h?B$ zL1=?ViiMwHjMW{m$es^pQ7c`mPR%dh84+CGfnG8gUs#BcUad#dEPJ@K?4 ztOhreC|h$#**RQXx6Mu!b);R)yrRSaIo{}DvFrL|NcoF_0EM^*0RK=npnuSPVh=}C z5LY6Dfloj%8iw{hf{fdXldD8?nn4RUw2R*e`WQ>!qw{`RrR(BUgI3&x-?g zZ)bryRmMv#@cNBBaBD5Ip+Myo;;&uZZ4yr5$nhZovvSIjHpXQ*Yw=xg!Gt#wX3x`I z=i!??IDq+I%u?XB&f-zN?XTT4mQ5wFk0NU6G_%KFe5Su23!a!3bzvU%&?!)%0wMH- z_Ic!J$)lHk{>F4F+B0Hppe7A_K;o0yY{x#cfMh`KI$5?j{do-@w9oQsQGLBy-`(|5 zKWq%XwTapDDHSh#AuDy9Gjfuim!mw(E4HGdgRTJ+(GKHiWbO}+zkap1O(j@@Vr1DR znokp{`64z^%xoaNh3e&LjGaPDk36Ak%sMbL6I7KM>A;3TjqXCG@nc{>DCOvjKhG!+ zc$RZ^6C#z_2xZ)7Ny%V3_$39$%VXms_!322Y}{dnNf~Z?-ccf)nkR2e5OHlV#e%j0 zNJ<09Vf?Eh-_AUak!vAqmhxxepq>=8D z?pQPkhyv0rB^@Fuosy!`-pStQ+;cvh_tX2{@!mcBu!ph6;y>sAna}g9*~#w-TyINNpagL|67^ zmzf@<$GF`lGdEXL-FDmSj=8nE;KsYMt zoh27;8)1D;HU>`Nc}!h6hhh3Ieu2nA0zSRzWuhnq9V%Y5IsbBQ*a*qH#f&mg?SaZ)sQBde5K-dt*Wn2fnJPY9g;i_)gI^x+f zKGDzBO=I@DU1f%lw;rvXX^0~dPcH-D+RA2Cjdh#Dlv#;=r%#<-C3 z$^!J%w2N&DJcv!)(-fxE>}Nw;7?HpWVlPMS9b%-HXL!W1uGJXT5fR`UWZ1pyxi#x# z48a*Ul6b8idU`pf%KOjnVW>P(`L77l zP61p#T_)VMYZBjfbQ#^W*n#_lOn9QBm`?@%bkYaCpYQT0!Fg`{H_&_g`w$|%CAcuA zy}1Iu5x^p3y7fqh`Q;|ay;cU>ohN#o3T7pj`+^}4F=%sSL?wwVHHfUTv=o`Y>s3j! zqn_>cFG}##SL#p@v$1KtS-=FMJj14$U@b6`*OPCi;P#}8I6&NrLcTuq82z=T~qM?h8$cPkX_j>PZLI5Hp46vAw zV<#(Qw5T4W>km2v^RMsbfD5O_#>Bo00_^V!&JArx`BiC~ikL1rTL+-kc-&Dwl`ACRbbf*cO2M@`Gj&?wkoTf?yLq4P*DFYXucpHOpoDR|H?IiAaV3}K z7YTK-rLXhz)n1)TKYMOPO;BiV%oaXa@mr53H36_{ZYFCLi?N(zyW`Jl-)6L!>R%)t z9oP=gBuw(YOLze=^8{2n|88RAFWpA#&GX&@B~@A*p@R_wX(ei!bb&Gmzc7=1y18#k zOu#@QUfQy#4!c;X>*xSY;iszXg2lOAc*RYI@43azsEtfOioP z!p2q)0~KeTaT}A2%oz%(IJt`+dC`c2AGQ&uL->Jy`K-FEjA^vHP=Y0%f^~vK`>cHd zr{+m^O3P&)OeV~YbyqbZp(1ZadRBgBZ(-sJTGQU2wF=8$4t6LimH8D5op1D#gz1ynB5VLW99?RgxJvY{z0`IS7Oh#YIJrxie8HXi2@lgGiZ3&h%RG z_M78278S&ifcvXmRR7JbkXEz)GeNe#H(nuocfMN z37Y`8y5t^0FWUne(A?;sXVv558ak=FsTE<`I4|E)#KiguF4hcfFkAFL#V^>BGiDOj zm%b}x!XW?kWmdiCqhLv5bX;5e-x8kB3lD7rrR|q;Qhakmjo?V>RZNO`!c);2h~- zQ{VjRundVW2w)L1Nm|ta!kQ_$-jQF=5E$V0O+{l{sTc_PSLrqukjgrG%@Jptj& zpTLyCldm#TD06D}DD>Z8TwPtoxu(g2Lakdr7>zrk0y%imqVpQ3npvOEM;a`?@EoylnKeEs;`tL#VEx0u=NEJWg8DTi=u9KNEVJsI6|>*4;q$ zxz<|@c3aSYCPl?qxA(|=#D*4^;ca(6UJj@=B|zeB!b{<4e{x#e!!TndhZB~y=1#|a zC-lv7f?FH?qc=LGsGEEspa9ZKm^Yu#m+R?D`Ce4C)1RUI(k+7Z03NG^MHuXz*K=tu zrJ!LlX|zvkI;^hi#Q12oexZ#tbaENV(PHe>9u@8U3 z#5pF>i!K=(-ZB)LR+V7yS^d)u^pz-G`$w zG}A6JQd4QuC7>s`HCgr9AUM6RP5{}{_hgTWEzp&ma^RIcqZJc5pWVk$FeWzjS-t}a z<9WI)gb^{j{-k&~!Q_ZQ#2r1d$;@`G!vBi`y|k*n9P(2$r%p`pd&VmV_=^fz?%x+I z-%lEAWb}(LGX3ba#fSC*$cXU7wx;AA7jt;I%F+Du2_jQF4wJvxh8jWwXQtX#vp(Ha zTl!+Jfof2TR={KW`q$x#YXdyGmILT%dlKeVEJrh8IGiKuuq`C7B`R!vi?!w{s9iFR z_S;7P4taO?kIPp418*yfh@U)p@M*4}d??nOtS|dr$wg`17pk5!i_9)kP>ApcX2eJN zXV!m2OiYZApWkX!x(1haDmL)i`5-K|*sk({Atixb>|3!oS~HC{`kv!QPy4%HSGxr_ z;oOOf!O6VOLh0Qh2sA|eNwlqo1K)r!C8UiU2tSJ%A3O>0bCxKTZnkWnLTB{~UC?j^ zI$r<@f+zEXF8V5socg7Wjj*6#)<}IiN{uRI?6xC-3#?z`=uUaS?g7b}L=$r4eP9ow za$%bd^=pU;0_!^)PsyvpWIVN|BpI1$8!CV=#PMCR^O*Di(AK5n>IHa(2?@QaE}EEp zu3I^0ef+In?uiKHWjxXZ6_MA{T}0%jVvfoi-!fA^tkJd~<@qYsiUL|EZlrtTp{)X! z`{8`OcTZI8nmy_)!*0y~-rwavt{X#%F|6D1H-BP)eBl<~88m*@=CBh9fI{N*kQgE& zqTuVY1~|TY`Wsz2&e-9UQ=+iU?kTx8(sy7d<1Fe}7NrblW3To&DJ^u`C_o$q7B`6>!@m*9#dpd~wZ)IhE~bG#xnF$f zXfZ65-)3ByV;{7IeCzc8Y}gcK7^M)d_em9^@M>E&#dtqJM+6zh0liffO;w6_s~`FV zhrBdy3!#nVH|(n=eC@#cu#1L!xqEqv`1ASo{X;G7ggRDff1Uh@PI(=q%61uBq}kiu}gfPmZaGDnngl z_jG^~a-Oy-;oaLndE~n$Kv_Ea0l(R9JaIL(T^oI<&0?A9C521In0@gZmyDHkjmMK7 z=Yath2`+J(E&G2qwNwg)13>$EJX@L{_e88=Cv;H46YtfsZhXp4XE~j^6Oew*9-o2X zUI85^BS7KB3kop^mOJ(9+Lokd;G#6z&Q)D-x_@#AWNBw~aM=2%I<)#|h&wnF1__>#Ot zPhd*W;p^J7@hpB&n8bY($S>MRK2E*X6Bwhw4uVMM%qxm6a%Jb13oG*gOx5a$Y}v{- z#w}wmdx*Qj_0a=4TGeh^AmSuO?zHN$?JO(VgS33Omp{|6tXqGd>}RN_H#a#M)Dz^# zW*pzTF9Bv^$_&LU>sJCsn7@E7h&wwd*lTMD{~}XBhQ?fgSndnQ82`GZHz*_&Ojc=lHDx;j>$F+TtwPHyS0SaU83*dP#X)fWDQ#MXK-`2^ zG@v+e&7Jn+n6=jcs#x3nNMf+GCwA+%k8jeUe6VRa16#tkjiBAmYDCgoSsd4*wGx3q zylb{OI7P-UYeFV3a3pc#8~dmoRFn51?5%w zCDXWQqa*bS3;$DyI4T|cQ&Gz8JD{Q?e;#u`mvQI+k1qE*a3BTsOg!B7py@B9auE30k ztD+??jpPs8ciGv^6b^>3hr=ho0i;H~*c{0A@lyLf_5x|3){|90k`3k|9N`aQ;Sm`W z;cD4``SN9q>b)`p!Y@M-FLrkJQY1VguPv)t49AB?F+!S0+-R}Z$D1CY zv@955th-rE)+Gb*qsJQg@x(IaULJ;*@0<1rf7!eIiGFmw@RnW);(QIN@>W@7Txbc` zb5fYE=GcyOB^az-L3YIKxGSqy|3oYkgBH26vbA-YiNbNV2U9-P>0@3S3^b)fG|eA8 z!9VHQM#LViB&uVm^C$Y2J)xC(BvvA&Pw|CEnpwG^S-tBtb@=rjTp<>L@@{Gikcwhh z&q|pJ&w#y(A|CEcK-6`{B#)f&b6MMU^wkbJU?eleJd!d6Q6noWD%LP_fO1rRyPnSO zb$gH|>}|Ltl6u286qCryI=c@iBv?uT8ZHl7v7(nSef{sPo?k{KqcuYusS8;jpeOEg zFqP3jyz%Cw(bx64Bqp$2+A;><@zc+ZaD3yAm%@sow61~hj%`O6NGPSzCo7hlauR4{ zvw(;VAv5{5e_a)C=b%~M(vqGHXvLTnMS6tivH!#?E>YRh$l)+Zp;~l-N6c;7iS;3@ z4a?W%d}|okA9q;iFaqkj&izA?Lv}{3MiiCTmzByJ%`|tf{$J_ZK2gPa)ER_~i z=Y|RONNd5ecdqCjREku!XldjHh3HVZS@96^@{5<@nvr}F9~W$E_iTjXZJL1atYO&W zJ3cm9qz$1Q@}DP2H$a&{YWVmrYaj~Saw%_`CApVZnFrA_q6bZ8>_MZDm}$yo_Mm^2 z--brE4^z^`g$@Vx(`!_n4N+*{}szsWSAZdB>Bpb*Bvz+5-0UCVjnTYk2p~2 zTo)O*Pu!jz3-~|@i{jk+!Ii6Vt}oqYl`2z^J%036D-PXeT25bCF2$7Gh!)RohSIor zDLed8#!2A4+#|`qEn7~SOCgg~+tB~_E6{arrc{la2U6#TNUKy-S1&c#rM!gx^s6kU z^t1rlpbxv~f!XrPX=1m2!qO?PcNNYcV|U+q_6y{)iNftHt70lmKkJMb<|+PBH0Cu? z7i6!*AnhC+g)~3DQO(DhWaZ><8+24I{Z7UE+Z=LIMrJZJD7v4d8p>0`%NKegOAdpS z4%5w9CGZw4I0+Hm8s!XUhh!isw&(+e9SAdu<5eYF^3u_9)HAIBh?E68E;YegezhGE zz_S(>7WS2}re{!+7tP|_)Ft#3Ntnt~=)L3@|FAIBk*fcsYJZAliB*yLz4=!Iw@Rf= z$fq@(Mh_J~2ommo>T?xonh3IKO$~V5g>8giMakIc9a>Al^vQ54b;NI)2(eb0t+in( zz}^4zMId4l-FE}(dd_HHCm@Z|{?AQK>w@K_?k_i+nuG?w5TF8Az=O=pyO~|j z$4RwFyK_qK1Z(CB2U{|zf&trmTat6DR>K8R*VA3)h6%;}3-4@&3!P>SS0N`|aeV3G z?<8W^p1x7{Z*hTyuLRgh5|e35TbaquMOA#;XcqXibPg!W6av#<{gctez&3$@(OAB) zz;HcTYuv`h&dwP2#=s!US{W&w+caMwXEi0LoWz+fOXH1y5hKvwUQCZ;B4$?Ntd8@6$s1op<7rI{?Wblyq21DYT9Fw4ym79H2H7y)Wq`M0fjp zab`T_&Rcb{mex`gMp*!P&BPzEWHCXO#uj7*O1{qfAa4iYGh7XE>Pg+aM>4pe1T?x z#mxH};o;xG&wq3+wp7YO3UCq9j2|{GI9v14lzTm=2{!6o5OE;?`FrA!AGgu}^@-r$ z{`>3ym#nA%F$?Sebe7crouB_d#%|%KR~Y?AFb>f8^-BNOBK_Bslh=XE9t!`nybt?U zgofz#$1j#(qid5I+ zQ?_@Tql3+nJWS+WHhp8b5^c(uWbe%b^K~LYcQ1*>6uNnTANUbnbH(u~*jC_|Hk~#! zz5+6b)|9BSsNGZU6G(BI5?SwFD&=9Me=n}m3YVhUwk4}}`}ePd@*}=Vpg84U)u`5` zj-q+DdXf^kh-kTuN{}Bn>>T_2}pP3)Pyc={60q}<8x-?_UE4iEiQmX6EsJ~cK93J5$n z&Z?>o0Amd7j$rz)sjlwZ-MGY07Fv7hp;3o>nwF!TiDJFj7qss}P-eUnE;97sWB;dO zN_xD0eH^_BI4g6Qi|8&8HUpH4GZ2VJf2SIrh$zc?c?qMTXVZ7k)ueQF1CRe1NbPxo ztyI2}NFVgmsMTYbqX$V+J{Snx!~<_dxO`7mCH_pjc=6)bC!m`}hl&Cp4v^26O1-P7 zaA^>p%PAd$8CszbcwcP)TZX{_K(e>D2hz7LX=F|HsTLDaN)C+fhrkc&d~AI2>lZ-y zK~R`?q7;y>aT+OTfq`#kX4A#PwYd&W`z#b{<`RdX&h~T;F>=a%a=k}Dx^{JLP7f%& z)s$YC4K(`Ea-hQ6;&_;k?a9Q~I`zRHii5P*Ww(-eZsLJQi@!|IT!{#5mW`a(N7R1LzG8)Vl-bS zoW}m&7bd9`yn%_?6$}BdMt{%*4!|sNT(D9~r3+qP#(0}hjjjXx*?9^k2^SI%s^A^Q z-qYOg3k#LVG1^%ejHHz zAbW%$?enR(yXcO(t0BIBu6;Pi zB|A_>`OnKlP2fidYJdZrV3c<>=@~2M@9Nkng3u``XYwnOH+m<3mf6vopXu-w8kfj3 zl9OT`t@VW3YwvVod`n%ed{Bv{$$t+aRgUe(prqiV3&wr73WK%o$?m}&b!(}-u)f!iO)JAuZUPWB?Txg@~>NUXrs4agFDc=_g zZ!HwzDxqX*cTP0m<-yoL045e?q}@{_%XcIHM2bCiRQ|AkFLJ$+q&9PhLK>JNzb(qh zc8M8c?yD{CPjpH&6cLIgqNS^A$s{x-{lZ>7jBwg-pm0Mxu2VLB)23tRkNclb)Nrt#NOj?J!*7+Ln*hAMoR`U zd!HkXJV$tfa@+xGh`78$emVeVeak@f7fHEKLLfwRa#n({Rb1!on!rLXbhwY25{mgp z4ZUDh_h8(UG`Rwe$CZUwZsL*`d!`ZPkE$#Ji%-h);o@BEv6`xe|Gjs^Dy@8Uo|MwK z(Q=dm*XI{S8=G>=zg`MRXV#9+8H(qa`)+QI-oh9kv|B;R&^(Udsg z1=E6h&2oF$&DWXE8y5%3$7ibJP>C`80lCw?N!GR*`KR zR-RTdbUKF|xHq$LZ$9uF`P6KU9bG#db>NJ0V|{@_31pNk28{=gA%Gnzt z>kWKJQqPr|+L~I;1FALf(p)aavw+O(x>TInmVO7#Re}UqyZQIStjg5hCOxvh5Nwjk zZ7KdIBUckmKf3i*$0-OoY6InBFp(xwjNz4hfbXBy!o!>xptcBEdRS~w3%smTt8JeV zuObtq*#uVr$C!g1Fb`JZIPsv~i3&J(eIMzY`Sz`XSy(_ItQ{%8+l*~nIv}9Kcb>sB z$90m3ku6i4%cMQZ2k8yS9Ni*)7#lNbDFel!n*C+(tA)I{O}AQz?-mueg>qdM~vI>R9b$(3KLYJA8k!&C0eQg@yv3sjj?2o*FQf z%psOkSF@LH?OCLTN0!6kPt6o$ik+j;v-+agFJoxguHS`JFl=k9z##iEmO4CgC`yFI zD1PI#e7bvYTsw8BJ~?z=neq@SX#+cuCD5ih#9K4}$9kg4j&*cDby=RAe1r@T@qisk zXi&ns$tyieo}ZV%?+MPc5|Rb-ce{Sz9ZF9#I*?(0GrAR>r14CE`*D5Lta*IntlRVE+ig z;g-H?@W9}7TS>fMg+S$9S5xC?XLp8`#JDWy-@i?_Kr(nQzsKxWh_h$^nz0o5B&D#| zjmUEwR~lFn-DyvG9H`Xh-^?f>Pe5vs4Ly4lt*o|vD8O;NN4$ddcKj`siBxG<2Zg1xSJI6RluKhUAPjD~>My9_OT9;ZrvKXy2C2 zve__L*Hdje3vfqTF@a9oFM76Ky-^RE1X$waEI5xGu3yBhfS+c9!31ky}zGdTRHZ(=lE#?7hD8s zyO`G5zfZaLN!`HO+Q{^0PhPW=JGOA=C22-1>Ny6#Kr>$Uf@tjmOF<_aJ_IwX*RmuXLf z%t{1m{-e}+TN%f9&uvuK)TkSbWTp@b>*I4Ft(0|k-h&oa3qR-8G8A8{p%77eTaGZ< z9%q8b5_Iu|v?F3%f_E0Dqy+kef?^2UXta~08Q_2i61eQFD|yb0(MglC!|*iW)*GiUXU)J&$&zGk+}q!uf+f;g13-B3 zWmiKY073d=tw+&u|LH-TJXL?OusoXl3Yt3RsSeN$kxmn>vjM0VTwp7t&kK!R?2<3| zSOLPt_vHep3r`~crj@CC+>US?5#gMc1Y=T3`hW9yI!_e@p6MOsARW!x1uci_R|Ylr z%A`?~1x#vV1J6g@gOugQtsc-aEHCS8foIP=4pFS&6rME-vLJ_8V65_-=e$DX8gk31 z{Lj97y6WhG$nO%NB|&^%i; zi$A>W4>}l(!0jNr7&?)A^UQb|3a0U8)oIn_`50Lv#xci_~JGkd!c*nT^2poDnyh%|?pDCe&Wz-;(mpN3X_a_kfX39N6Clyz^7Q5bby?WfTpORH88AtS;1<*f4&>8jQf4-o+a%~8r zIqT)p*RM=sK`zmeM|m3>l+5Y$V9IH6-HgB^N~sQ8&^WtA!mx30sFqvsiwF&RTTy}w zK|in!j-;#nM2M2!k367BiNofdTgbJ!1Oi5UujA1$dz(Fw=7@B;JazFiaHZtvMez!- z*T88=P9nmpJ;gVrc8bd1(gt)tj3Sc#SqE>PI$h)^KC6=dd~zi(+B!?e#e&1f`a*3F z2@fLrvAOwq?(>1%ie|fLzv5{5@P{dHI>NdT6`U}(OqSlt$1FXQv}R?GpI3b~bz8fn zlcZUql?K2eQz)wH*N!d#{o5mP{>cIefA0@o`?DnQvSu=8igQ|vDd<)Y@CKH0J+-dj z#rg_PPxb)QAXqLePfujRHN~wnUb`dCepGgTCVbA#pBk0cecE8joQ-ynUkt_?=HR^U7{`TjU8@~iYr^7rjB!C$;SO{b8)Z+8tkg(j{fu+u!(HrKNf|#- zpHS!F1o2#EMWXA!jn7z#c9snoCdR^q0RDS!>$S)>4w5C6gEnkhr`|( zGZerwzS9WIQj?#M7{cBpND1w zaQSyakIlTV*)k9JSmb}R-z|3mJ7Q7z&7IMsuO3(DR{ZrH2EBl}rwnAZv+YQT1rc+r z&8~=ysLk)v($g(AT%H&Eq(f9@xbb-0|DdlBF=+%n8)nGurP0BNv%XH>Bb~gdWh_hv zjQ3K9-zOLSj|h*qU6lTL8xfv7VqpM^9IbR}aemjjZ~0=L2SD}yp%US9VP&PAfJ}^f zbImanhGr_!SX^8TW@!~4pw>p~108I4zKj$kpqVHEi`jdcCjrC+b1fwu$+Gry|EQx+ zDQ0K_9n9y6&)1lZZr}J?`3u63poK+UPREjfhF)rBI zy2F`9-~SukYCx89^aL*rq%qdtoU5H*?j7|A{P+eWP9QN3*bqwP86{fbH#|ELYRc?h z1VkTF8BCEK($~{oeUch3o-znUf9{e(C90PE%sZ76Vw%y-{;TV+aQ|bY;s>o`Kx*U zRZpgC z#wX!qp?^>HhlUc$z-Gn@_ElhgbO93F4McEir2?8WK~k3Ye}m2tD*4jB0nkB15DBHw z<+mq`sQ)F7r0B#O$2W^Et_R$u^WiUCm`BjeXecB{P4w* z&TgeQ@-VdR932BJ^7cPpRF4nXM#a$c@D>N+gUnqxLUMn~B8dKk00;xC+*GlsB!q4~ z8VIwC>Qucgq-xL6)OwdQ1{6wF9uCmJyVlDJ<=Hxc+xBT zZe~`#@|CBRM&87(z`qP4=*KaB{OPMx&q_3m-1+PAzBH{ zpLshVBfH9VRvHePQ=vaZ>EnqIcf)??R)d>Hr$MX@$kYIaZ*Qk6h{`m4K3RftSO(-` zqQl+5G06L;1YA%7zUlN9+r;gUeQ(D^^LnSR=A8$I|*S&32r$e{NImd?`(Fs@^2L!C{LFHrnPw?xfs0snx1z`5b=<4xXM zDsU24royU?Ke3WiUj4TqM%XJ;MF*MeMejr{Y09{O4N=O^kC8NAJbJc?dhfhJjcjUc z1YKoXMn-5U1f7DlY-JwE7r z(^e032!>$lSW=siB2-^`BL4_ASU#Lol}cdE4*iNYdQf3ne|~MPaFaG@9Z8-A=W1QI zs-{)^2+DH}$5Ef|4JWlo{Y2mGpW!VzC^w69JGZcazS03!0U)2i{-|Gj{#-fMX&-n? zPr$kW{T+xes$+!oX-7k0(>|)DVw~44p;D?UE{{;b{Q~ad3Xs`a(&|i}WBs)hJSO(h zIo+exLDFNjwu@omd>@q+kQ?hq&LI)kb7kwaK~K#l7L5ApNb(9c=`5v-z<8y;h`Tv$ zM{?{P+Pn#fSTsyiY=WY4{EadMJ{J%Z0=6C+)Z1uZ_rhJP3=CVQ%`QbvO-)5b=I@>c zG&VIwob7|u%mKPjT{SgFz`z6EYv4UGf3g7rjdJ}#BtL|6N(p2^G!qY%+JXKKKudKM z6(SycN#mGc7|i6J^aCxl`N-Rnn!VOmk&@jrbZTcc=^d`}D*R?{-|SA`Q1NyEk75jJ z<_l;LQ18Wqg#m~gJOzkdc+oAg)9b)80ii|=O13Vkp%p_tdlR&Y3=P34m{82%>Dxhv z($-c(nk#`@+eS$~JIh>PLG%Wo4BUeFrnVR;C=AV3o1f-na#{%DDosf~wK2%= zE~)t#kU2j1Sb)DJsr~s_Q%Qs4{S$4gr*lerLVBk$Eg-%V^W3FDGfh2LQE;fY6j-gNKu-J=v>@13GX5&EF$Eej^t`}p;Rcn{DjD` zRiJ0}I0JtC%WxUspFpz~~!5as?=! znD_<$VQj`TXo0eF6!xhiF|IjM<@1OHp=*c~EzI?n7PSpo5Ik}mc!f_I;=yzgddeQ_ zHlrk^H70iW4Xy9*9ZQPO7aj7x9-8cJKVJ=0Jj02Rl3CB4;e9JY&`zXgQ?BhRFA^1_ zr)D(79|vOo{K+Hb^RoR*uKm^-D<`M=uiZ*Tw+w0?uK@(=0+_kRV&D$1EfbSt*IDs^ z(0O%`?fcBwm(%HQX)U45j*rAjnUVQ!)R`TPhH@KHBv*Ed7w6|Ak5$C%{91q7S!ofr zTXi3U&NXnOADu@rNrHccdU$lx*f5#)b8k2Az--=KkyBBoX0VAi9eWe$u9;SH(yC)W z5!1Jf59E-p33OFDZFEevSTH?PFT@HRp>@#(D}f%6{TQ{mq@*8z$Y`!?anUd`y>fyA zr#I6tWOQvTvV7$SONUZ(n4x2nx33A``vOSN5>Y#^)g~MOHs;@2n1BV=XhO6#RfN~FwaR-Wld;42PKM9;FCiH#WDnx5@J zLjNYh9?ONd7DAl+vcs^>-}is?O8g_UvW!R$RD66ySKB9b6v<9hqcE(CB2&8(erq#WQ?E<@yT$cP z^gf6qX5D9;Ol(AwA+6fv!stpCGm9&V1ov0)2mq3qwWFmpklobXV*wvvKmTiP(7Pr)aVhbPiLvNL<-W#CSq!O zI_Tji(PwQho{>8o37`K;$5TYDL40?E+4mIE)5T7{K&nunIxDLgRe-TC@ewaD-1 z3>laM6!{4J6PAm3hktgD@{=pVe03#%P^Co{aU^i!yRnDth%5ex9qn-TYCF~71R)cm z2z9(tIEBa?;RjbHgG&g@-MZ*~`pIjo-9nF?z2??$K6y@|32bx*}7R{rKQ zmiXov0=BjB$VM~*9bbT8reX8*K1gp_$_N9QU5FE6;|E#v!nJ?UOT^4 zDqez=9Y8u<>o3@2M#7(Y;k z^BHE!GmiS<08gaLbcVr@8m(oiCQ{dcPImLz+VCO)^-#%b(zQxo>bm!O)^2ljOgZx- zYJI_3q4*qEauZ8F-L=mVZENp|dQA6@TQ9c1m1!%w+9+DKzg zXSr_L8ddb_he0Y$0JhP8iN2 zWeG*r=U$Vglbb-kcwg~rN98rCa8XhQ=Dz=i$e={J&cQ)YO*>DI6eQYf+BjVM`dJJ2 z0TiaQh=p~<&aW30CO13CeA}7iV+e+}aj8u7J_;Q%w4%^Xv8Wgu{%uzm%|*jPwZ+T~ zPzMi5jm7NR?w*Gz2{Jjlk9=0}93g@e1U6|CgpkVyTpXHn(s)yUcmWxfSCDms+xe$FULqQ({9wbAT}iZj!^+s*cTsKW&eyL z?yy}g*}9nWo+$A6Qf$zIT&B&%j?BBPSXOzaF36Mk35%!PmB^$cQWq4RX5;KFx)SwO zQd!VWLmc$Q1%DS*T%uGf00!}bsk!q7aI%$7rHnx-R-DFvw$g+^#hZr{a3z?JE|w8I z4?01bv`ay?m2o!#!I>>->=yFD-d@nSJ78nqKZ`@fVos^{K8}o=CdGQB+N1nPytnW( zV#3?Hgf`&OnvsE>Zos%P17uH6&GMw7In&)MoR6pM(uRzc{6lHQ<2dv7Q?$G-mT<2wQ7v+68mZdYPj6FMfkVk9 z(y>+2)VBK6?MXE~k(JfhLQEElQ9>iKhy9j%6va7(9p_no@EH9@k!bB))fLg;v zn8}IovZ%*{ppTg}coA_&K9Y=7`15G#;U4yds8jC3uKlyHS{Ge}!6yvv?@SEo4e})X zo<*uCe>9m;LKI8cXM{goOJ!*$J`gIVythd|;XO2j#Al}}RYK)CmNEx&#e+FZHr)NryXA_pA&y~Xauh|?b;_J8t@zTWW10c|7;L_g{5W)QUDU%jaJuPP zST%5YZ#J?UA#2j?2ye3`*!ET?6Z1F2ZRJ_6PS^VY?`p;h2JX*t@nnde;5Guli$_$L zy|=hTVMgKmMNOF5Ml}*_34J6+xMQV>>&Xv?-|%8KSM2t4HpyMqaB-LNhI$7k&t{oa z2dCQ$NP7vmx^rSXlH5t7o0I#fZnahwZ?f5Oj2Gc?J|4774a#sLua>l^Hd}n+LqPP4 z%=55tCoaxBT?f@ZkBVOF?;)CB(5JS6DEEH5se-k9vD8PE?e}>0S%z^UQ8Cx5L)FMO z7N^C@`M78vG6w2{ej4tQ%{jDR6BCqhXkYe~8Tq6E0{64LLOH~B zN3q@_D%|1>Wp2KxtXQX!0(oO<8Wj;Y=cPS}Ty1TkjoIy&D9SM>+lE`bcLnjU#v%gT z*%yL^4o4qY#3PcH%|Ub%F-=;KR~LhGj~$@relIE^B>;2z!>=ngIl%ZYs{R+D20yVX6Aok??4C009?U&)l!f*CTl(JLrto~s ztX{&UBRSh%XAnH{`FoT|?`@?a&HxCch|Q@<4IzqcQQ4O$DXn?n8VhE^te(`jBQGs* z4F5dRs;~@wj+#Y}m&Z+*CyHRDI+DA$wVNQR^kP(U{){%@czh#L-1hjXMG&A;3X$Sa z-4o`#WHPCURwNWDcoFo}2c4%ZD@YA(a9*|4wg@{(O19QI|27$#jkL{v#Z;17CfA6FfY}N}3&Crq{yy`yNHG&m(PSa4k1?~P&5KEiJ=YVIxS&Pp`c3Dk(`jQzPWM(1&1*qf8WV^IojaBX&)#+G#zgWTY-Uw`A@z1Hvgi=nlKxvgxHDZ=z~52pyCJuXY3%$u zlJxbcdKujy5buo5^~3sj{f;9`uE%42w~3&k6;WTG<~Ifk!Xhyu1Kt*NR`k7VXqd%k zn1!jl%!ImqO7(Bsrjt#~%1$>3iTK*{<3zdXh=)wS&w_W-tIle~x2r-uKhF}BY|hse zB2_IT#k>2t#d%DLp_W&~GvTJs+0^juOSZD!b34M}P7EJHjz1MYE#t^%qq+=wozT)2 zOAP&E!RIP|$egFPHQnsB_*ChWvP}$OtSADNBtt&E)&POMHwgReGXG!Py;WFTP1mj) z+(OWX;10nZLU4C?f(IwT2@b*C9fG?jxH}0>@C0{v2@b1x-|zpfwf8<-`)nO?(KNGX z&#D?VYRLUqx|_*n?Wf}JLOF&{EgyCn|0tFpkQ9fn|D7?&RJ)zht2qcmlu7f}poAHO zaoQZFiAMQl7LQ|>(Cy~;bDdKR7nM7D>o6C~b`bVM&butJ&0SKuJ%1*WW>xgJI03^YN_Zjj zThnsdjHRKikqLtR;+u;kF`r0VXDV5l_@}KMQNNQk^@o224n_p4y5jhbPr~fs%^6ev(#~bwuw;_I%~g)l)l&K{<0=F^#|jZ9EC#KUSZ2q9hMT+;Bgr-l z&&P?stbtI!cM+BC7FCfR6JOt$kKmN%G4YpUnY*dj@;1=u!{~2ghms!wGQ$2Jf{QiV zJSK>#x)qzuR=U27ycv59;|}5Y+B~_QOXb}F;l{X9TPrlKUAM%nf`sZoP55DWfXcgt z78tIuPlO?Pz3`)5sWcx~8s0!{W^=G!b<1|K-xD2!g2i|RHMOExp2bgAn3t@M6MZb$ zkdJbKxIu--)0{f0vEAY$4WP>~sh$y#ux5f(UG%Ol)|#0 zlE8?^IvU%&7$g#yza|rT?=p45*XiO!J2@VZK}{+PN(c#Ki~d|$=6k59Vw>BhDQy>D z!ewJ`&4$SQ&uy-##kh@3jkz2n=H~ca9#M|!X@I`F?UD#=$t5z&B0M2n>DJz;`t}Zb zaIUI>!Es2-UKBaw9U57U1Ux#VjmZ6KBmiP#n9JT^zF00t9iIS@Vk=EWY^c#j)udy1 zDw3q5vlu&gFZJrxM<$#QPyuJwTfb8R+V@Z7b8Co49#W zlDn0%Yq>7Jbe#CC)sZ4i!(!ROK1sv5?;Rek=H&rUK=x@;w(DB zZua7|AIN~xB?@)p_;-fqF%$2Bn&~eND}DBZ@KL8$#kI=n>VX|^p#WlQmHqWFNF!X| zgB9~S7xeZ2P%ShHA!6r>YzMJ97-i|(pwH+K$xbTHtS^|^uV}m}#ne?|T=~@E>V%%& zWh+~cywTsnFV&r5rjbbbiInDxe}wRr>+Rc++h=*Iq&FsTBBW31v+r5Y#)mJCECi#z z%A^ow3kR|0{P>!?MOYd_>7`oO{FXat^kS9UWOxy&gPpV5{B{|k5c8~b6!eygpO8?jUy+7D*W)zUNmOn+3ml0>9qB`@s~12T=84@ z`fZ!^8#0CX)eWUzRM9dg6eL1P96y9k;se_gwRJeT9G7NR=nG8?c`W@Un~H1}?B(V# zJ$XngYq6=~>jSQ)8z*SteknQ+US1@fE-175CnDs_O_#xTkca+61c49iHKXXRmubG+ zD2^E{IIZuVp8hWNc9iXnK4tlAm=}eA%1Dj+^eN->52hK^I-SE@_QP8B_buKTIP}Pa z)FPNl7_e$e+Jkg&NLvnM5z+erO-&mK=}&+AcD#jmmFLpg(dt)^<8AMxm={&s6w!PF zHycZiW1q*|I!4a~*ha|N19+1AhlWJuaiIL+VIwJzMEZingdyS5LST zadXJo7d2?;M)^l#={U??>3@l8p?GfAG&ZocKq)q)dq1ie`R1MLfcP*V?E-OG)9(7x`!s z5T-q%8@jXIHhyWcQn@r^>$lE;(dj=-cK^c3E9AQW^Uni++i14}M92X0)U;s^xo}Pu zTR5>w@5R(MlmArghy2A1bh{6)XTRynRT*UNS7AFtETjc2<;rif8B^X7u*lnu!I0?j zDsI~?tmlr{mP@9W#BA2}JMQDNa}d=CL37&Z+>9)Gc^7Zus}x%_n=EP$vm#dfo;mPh z6M-uzyu0<=e()Qopx8W6Bhs7joRJ_n_T!q%tnf9+tB6`h$KEKo50&7(AJCNMYMOZ` zF{%D#nbusxgNmL~v~riK=j|rBDm{y@QgyK{n`?kfhzlw?tURnvP)%~Dxu<`_>!-vI zCieVR*hid;wdlx+Mxvh>i0)q6tUI0IN<{E#q1@OUO-_3|fd*;BW!@l3DvFbi zdE)R?ic?Tlt*ou(eX4H&J~|lGn)u@Z5mZyt)Z_Acx~-{zZIKcwi(^*SKp8t6;j9#P zggOS$_c-9OIjR~8wcxS|ciX)_D1r+mKbLh&#&j}1Dqb7*_gbMJ)-*RWk{6FW?O zd|hR5Yj!iuG3Ibl{+rC;<^>r z%R6K$b)qPoba{6}!lD)GGvLIHsHGtjgj=>CUfHkV@eAM@swFzKJ$SC+m&5UcBYpQb zBe3@`tQ1O>ieI8Nr|G^!6Fd$MYyKhPQt3Qf+FrcBBQ~B?GQbr1Or0H8enT`D0QbwA zhbZ}5d#~*-%L2C~iB*Pva1gJddoNp#llOo_Fo|bM9uhwEcc*AV9^);OPO_g}@?WOi zb_5&(s^+AL403rd`Fy9lMw%eExXgaSsA`N zqAH1nP6uU9u|uA9!cKRFddsIr8K0iMufau$ATOq%5cQhlU7qowa;%Hk1m^Kfb&3ep zwGv_n9;Bu`Jv|*GH9I1e zJY?zla2bdr?T3Cm$Yo0fO{hcf zVf~o}C~X4+TYioRH%0{N9c>)YL(oMOXU=!Yg20M9EWo@%m?+gqp?$Hy4J-;Q(~*nG zh|`x*>GH9b(!ekcc5L}hJ}t^np5m3a`x>;_}L&1kB+`d;*KLIomcfHWs@dj z^~(C|-sPF6gqK4n9wg=bN~e$)T1U>ahgP~R zV@kJThE&83bLFwu66M3^RQLBEQ89%3Z!$#rN4a%27*|M)P%!c zZM4{QY7l zwrpJlZmYxqxR&*~F=cZN2^uQPo6DRTUjitgD!eRaOidaUiTQ6u@An4f-r~u|B9$qZ zCa%fetK#vlrN_uT=s(WedI<8PEFR3%y5EEa1j>MwILY&R!kCl#woPK*s%yAGs4k$e z|DJhJnIGzQT4;oP3f-D4CJHsQhCxwNA#U4--A3c_3!@66Do#r131U+!vEppu#PJKf z2Zow1#N{|SZ{mS<=vYlO=i&+0j4$aTB1N3T67zF%B-P`e`(7;J;^|CC%v#u8rdi@nhE1nwx;VX#PbR|PzqHWdo1`-;BdQvR zmPze*o8grH@zRmJ<_BhVrcTH!w2|5(RawuZOEZA0;aKb|wqGG8%XK7jwHPk3a^Ynj zemnia;%X5Fb(l%Ale4)1LSmveMtH|T)K5vO=EPm`^~IsvtBi6gbpN-*-K{5HnLIAA zzR2kmzaeKKm~^qS#FmTk9Q>bX)z}>!rMm4u;|@rzWYW~`2z^OO-!ck8LP<=K?ZEt< zr=qLNP+z_uJHzR9|3l!U02b3$ph&FP!j#2ajZaVH{m%EbE#I}X&*4p>D(AAX?^@%) z#KbTYExMFUfIz$Gz1*jSyfj{vHySlg?S46dTUD`Sj7(gsU{(?+n5s|DwO3)#_rqVw z$7w&iOaTjr&dkSGW4vbkRU_Q&j%CWVA!AuM?2$5(4_k?x_O&zEv#h-oa+Fy8LCK+? z94Emiy|sd$a!o^tBjM-g=T!8h#lwN{8#;jq`AWqRjrb)=B)0^Y8OD`RqKbLuE?RnZ zf3EV%SbiSXR;bNGFD7z0Hn+&8TRK6u+EETAjXsAYlYL*}kn?&IK|Izaa-OsL^Y@gQ zx=WU8^Fa^Sdf@{oD-dASZpfX_&FXDiRQ8!}}S5Q!H|SaxrodxmvSEB$DP&7v7JoxGbgd40t0mwJF{t zzVRwJ$4G_N-O6Rh#aA|k{R=L^n)=RB98NYeb?`ExMYvip(lh#q>|^|aVSj$)3XOci zboVWBWXQp+d9?0W(foc|V9=L@Rvim}Y-Zd&{jt^=uV&sNUAY?n(}la4wb@n${OjYL zIF7lvGAYeY2W>CB%agAO9~qp+?BgWn8I@WQb#D7{=nH1>UKkVG1!MxRi#}hmmQl3K z>b9}hoI~FMUK{8?czd_c*;$P1R^3?C_ZAi11_dWB5W+DsA0XWjcNn2-$+J`n3z9uR zW%`AWW9R-6KaX6}DHPl2NRk!1ATOj)=EELiBPsofhL9CoL{tR%4oXY(QVZM4O;C*A z1iuM&p}4dJQWlmKA?zQ@R$IbO%gqO@W6vKK2UOM@NCH`wJ2htT|->9?HKm8_nKc=KyG5|c`m z5i!=!^6?yQIct^#a43+(pCQppQ7P7{U*3J0g>@!|h9B``c-8g3yezRCi`{8T^iU8R zd6+c7-$OK0YtN0%i?XS}U?RnWor+OQ72A`=oS+KG0WuL-yMA&?CjxeH4t+J<*Mq!r4jzrn`U%pfU{hZutZT!QPq~4FU>biZ? zP6!-L@2mqZ+@l=HQk(DJyR&Yj5Q-p&7L?&E&ZeS^sPf|(;y&0<)O z(8T#gtF0Nl^N2p!UiELbRBCAKFe9^K`|wQP7$D~yF3!6Is>O|?KI<9EU6FKZz*~^W zo4&Aj#H4%!*r3TXeiNFu@v%h*rts1UdUG_k5S>UypR(rhx}@f@^!B7nAytKb#@($mh2Wrr!*YQa8Nmv7S{V<( zES(r|o0o6vc&I_k898?M9(MAfy6pQ~5ja;LG)N5D+Kt-oYKn^bmz#f)E-D??E5jjm zHvZe#C7|dmA$|r+%UMHjC?Sptonk*D&5McsQrIQlslPv6v^(>zTy7EpcRvk%vL2M5 z8h}1A-Ygu}Q32c=jPkr;7?OuI5}*X#s}va47$?eAYQU^&3E+)GI-VI9=s9btxgfey zoSRgVXvhtZAJTF`KWs!j6M;;ApirCZH2kAijUj}N{J>4O!MFf%T29V!KQak_CvDuq zb^O;21aB>f4_B~t%k6L4Hk62XupTlpvJ+m#pH6aFXA+`zN%fZ!4p;P;|T%}T@8&E zcb||QrFE{ja}Djs#8(Td3o)rQxd5<-Af~0I8E$5eNf<;OAsiMiKk`^>Hdvr(*TIeZ zp`%AthSw?ZILE4@oQUz^Uga)wT#4PLewpYS6y22Io0=2HO0GEIrt)JM`6zr5!!hJ9 z?+Qt{|83MdAU(h+RdxNPI)bZ%;)f`)GA5gIT!HG%}5Uu(Nqj+SnINv6GQ&8WK_v#KO9bU=@Fi5$Z=? zAeargjLD4*o%U;jj5*GKFO))_V((UgF=}r?%`hL>o3y783*6$_t7!T-?TAzcC#Rl( zPs~VW!MppXnfe8ELU|2cy@yy;x-SynyK5YiutJR;5TgcCBF85AI|W`~$!z!6ve zcg_N#NHdLkBYGpHHnKPsDPj>_Li z+*~xC%Cx&y0h8I#n;?;y+?V*qnpF;Z`?gPghU{E-q@|Hgx^*(*XnRF^#npghztRN$ ztq2z{QY*tiLU~ci;msU8VG{1Fb&AkEmUWtnz>v{R2NyT5y+k0`uT~T2?IXt}T0NmW zxF*RM<5H3XYs;W1C1pZrA(-{AyZOZ7p&!oZZcN-OKb{V`(c?o6v2>&92Q|FnFEh5I zhJ8ahT=VOaU9#U`(xq8l9Hb7@1~l}85VvQOzljs%dmN0 zfwYQ6)HT(hVo=l2QV_1};GKfUCCKjpu-|9|5p`!_`j{xdov60iUJ zRsS-aEFCkN1uNZq>}g$EPDp4ZSYAp^;3BjT-N?WUx0Z=U!S{_Mb@x%u;jUOQJ%> zij{kpCuzmHmU9zVvyeQ{i5`|+P(UTroI*7*KJL2@ zaQYiRK(j-Q(B>UTX5Ift4DBl|Dw2erEfV{xjUDM`ZB0KE`_J8rP$im}nA|%i06}$w z3>nm2!`8Zwv>Sb*KffJM$C6(Un+y1p+i9vd+0>DW6MG!6>N3M!r7z!0K%xQ)pP+qi zh72&%_5OfHsBM9(CIXvAVgJ2@gNrgg!TVJ-`Dl}#xX9=GZi3H#5X!+cu`c{Pt)yFb zxL2CyO|Tq49>!WgG`JIptFLr=0;GNcVs2@9Q*nCrPQ}T z{Pv^i2Szr{FkA(?@6UnkU_y8f`Qv`aV;Ly$59DD#UJX2W#_|!a zgWnpKz2E1W1bsLPu%}0x$957#6i$2(9vk zD1gE4eeHNSwEe35pAl=i4Ul2U{83i-M7fef8xf5+1yIn=m4?%$>Z^<&WyezDsBa1k zwj#nVmBd~@#l2m&>p^W?y01!<-Mid>o(fx|8T2lT;H$-$KRi5OesW2Vyx9hL4{?k| z@4G_+u8+Uq4AJS1YT~rHrJfg4H=G_eT~2^ZcbQ8$KA2vhhKSN8+ZZ{~(8w?YHtzSw z2+Oo}|E3FTpssC(=NYUudf%EaAq6Zr=3#mzXNPthX(&O5tX zergBvMsH)QiC1b;OH=b|li5exCRNbqu~0spBVeV#;NNd7)qQc>GYkTb!!in;MJ&Tt zK%Q903r<<|sb0FO_c>&M-ATwRU_OIbNade@Skc##l zjALSESj@Gn-fYIALwXsuo-}LV^N{txs@?@OGD-=m7i)MyB#zkYLV1k9Sr+NKkJ)>C zVc}&C`K;&lYA{*ZZk6{XJ<=qqcE?u^%Q&0xWOfNk=h9>bs;xq%fdT_F3{uO|s2KfJ zC6({Eg!pSnyCJ_ooo+jr{<5SoZe3~Y+}xU3jb3-3J!?MxVSD(Y>z^DqC<-QNj5V=! zWE-#J#Jc}pD$t<0a_>-Oy0A}RolR4+UwqfM0qE*nht9 zpygbD30O#Rw0;Q0u0p{Ga^}6y9|@)-E*ruzpff7n&DgL29l2ePf4dFTYc`hV zZCX%~5tbRWt2b(tW8}^)r2h4=ddn2cZ?J9_$H&LPMNNLa78mGo>hiJ2JF45#>iv6? zuCv-i559ir)e__T`r^pPNLx?PT}yOyOX67rrg-WL48wg7Wa5k?S1>l9>dQLADax+2 zw3L*+JQW>-j&;lmdjqwktZcHtbnQ}BpWvn{^&NyvY7sD6^knr^5TLSE7z^!?-}pW6 zd-|nuadA)gV^7$DUyecj?IE`gdZEzRSDw5Y@^r3G)n_vPBBCdCRbKK;>FnlF_b4KL zy0?&%@-LGtNWjK8EarNwiJPtX@5BR|&Trye3Bb1jy`sO-#i_y`OAOZB7pQc^ox+bk zgzj1<>8^|Pl|mJBEI%B%Oh+*@Fhsbz4M9K{U<$GQa^^i5MDFy3w!?ZPcNm@PiZ6na zDn;_lTkRasUsPTJNImLeY+&tI^AQ?Iepg84G!R&GxZctir7nJbMdRGFiy@SJqS%7@v(s7qD150Z<9$53aNS>Ej``siqCasxex zk?##l?(}kd_emdsOonLt(~(ODy`)6i{)HJ3N{)VDc{#Az~w-j^xnsRxLUygb`b6yUV(7OkOsbb9`LGZLj-V2IIqMt(e7xW30ACD!9al$nb6MJ4eW z4>J^eAE-*Oa&k*#g^CwE&qrt!zW!P_eP)B+A}lzL@#B+pxX@+`fep`Ks6!%}_!Bj9 zwalc))-ayqJ?VV}^3^{pZI-dnGT&oCyx`@cQ&^qa%VLf1^|Qg)uQS&VG)QMdZSd?x zHrwxx*k#Gz?$4HM=j|s9CyHdI3H$r~RuArY7X8hhl950~QQauMHMpHfUQ1JE-4?q4 zTfAaW{Q#q^GTW)K2Q9S6p(U@^DguWV$o74W;b*#(C$(IPq4Zlva(XSdXE0+1&R0Pn z{SKeKlA?TFVxN2a{iG9-z)4y#Y5Sd-l!to=b5zpO)5S$#kJF=FDw3CN0Mn}(kb}H| z$~HiMF5A7z11YV!LND6Ze2l^Nu(KzpJgl>S)#h`QTK9?owtTgCJifHw!+ zdMNdo`x?;X$2ovN;z?>yDoXczaBqIF0Oqiw;AKXUpQ@ zI0MN_3_5R=*k%|Dm4w6Ne^S6^X#dR|jdd1xk4EIhc=?VCNC03)%gek@4xzptray0FuGOnmF70|w9B7GBdMq=S|-%I8soG9^d@2O$tT)*5~0FEThSe;iy0 z$~i%K4*lHL4+7gMRSe}ao912W8{$}`UnRFre9E|)fx5S*L3k^fTB=vT?>P-3u<3-$ zEIA*3ldsTy-;LX@WMGh`QxS6A0k$aoPv^y0^u}fug%lqKd;y1P=Nli}Nf%bkcIC0AhQ-h6bv^T{mf7vzz=uhC|9JgVFiqoF zRgr(w&7zG4n9waKiZy|^LdK~@{Cfiz&A%;oCkisZd)@99aXPOtcG@~7-b?H~o(n!r zvOC)&K`x&TC;t4Qm8=UXo~(NhmE*?r^ET`0hNQ`Gtv3`9HPRriFpDNZ2Dg29&nKjf zW(b{-h9{^v>1)xqe)EQjX~_!xc!D{RsW6BKG+hu{nZG(vDb9bbS86hsmi2I8&iH=v zveVj20EiD&M!T;D;*vkUSKSB&6KPrxr`bUFk)Akgvjd!y5WPt*_+nfav8)kY-%q{s zdAOXt>?ritlg`j(_r7vNseBm|0~R!hk2#q4tVx1ZiBcT z*W#)=JAF_H>;0U2Z7YT8HtuHwG^e_~_sJdi1$YVVzI1AK@+W4uFG4r9eVz|R4kIBr zfB4Zp2;q34hKsRgslR{kaj~QPM=|R}0isz3rqQ>&ymfaLONriyup;jH80~18n_$6v z;VHQC-#}Aqz%$Df55|*uD0gG+C$WbdrLTSv%1MD0S_s0}s+(t%VHfm%e{7708bg&^ z^YS{4;7#bqX*(FiCLCvvlU(`B3*X#5vS0K%_Zh*l@! z2-7uxmssW5Hz;vFr4Zlo^ljouBvJRmi)gH>r z%b%{E9<#(QfnfR5S#k#hRM6F}>FxQ$;<0zpxc6>Batu1(8epFS=W$}_nZ8%nv?1*C zc%DV&TnI0^hfa^W2Yj$X^F0w{NUAatPOy;XpzpH z^iDecKzM_Nw>yjAwJU3I3*4ZKb&{v+<;TNiO84to&5qk?u%-W=X_ln&RRf}PvU-uJ zB_7}qF>(_FY+=5_Q#c~2vlOlhx8($-CzmLTD(pCGj9KKC?fhT?_UOc6h_sdW9WZwRV9?1#N=H8 zFh%2rS|*`47B>JBUI%bx&r@x$%8=V&RWpzX*ylN>WgmPb&SBlQJg$aiv9R3jpVmYG z`UzAf|DbuFz$j8Y&#K_IaBK3>ID!3`ODQLWK48?3+wW}X*?=jW2M#7kB%n7w^x+yzrQCx!#c2Y6 z<$h;>!6HMMMn&8ZIPZ>sK}cn%YetYx74T|)Fl;)d!Xxr9~!KN!IQJ>*X@@COAfg9G;dex;Q4>o@zsE*scvPrP% z^EhsSQgcTKhv7EVOr{Damw?~DFjLpo)&Sn~Ij#Z9S3$#DlF&u|XXgQDKpK|{;q=S& z$lS1Z1qtHd?1=ENFz8-*@|g7WaO}3fbJlUqK=duWq~@!2L4B*Ax{_7a&JDvPS&Bp` z!OlO%0q;*X`F?xli5qPf=B6>W=Nkrw04gL8wz_#WCr$pqLG+mlN@gj2qNc6Jrp-lW z*nTp{KNCu?Pb-VIV*D7t%b{Soewkl$75z+sM?DuRZWwYw@I1mnM5zkCGJrP4iEE%8 zPp4@X)#n*jjP0qato$8pWsaAc$eUpdxVcJrO>A?ZKvUXC6>M^5Blv>rzhB-THZ0>L zo=sPI*MWEva*<|o+4$M>!Jz*#!j;O#*0!pw%=)#FP?=D1XKMl;#5!F@1~e@_m-<~? zUA55g{n$K|0fN8_fC_KhyjwWtxy2sSnk4Z30?lgas^iJ4I01xSSD%9{5ZS6CwkDZb zflEAH=~PKeNnr4G*+XJM>T zd=A~n#d+?(UmhG8x%40bYcJFL)^ahI|9}a%QQH66$)2rH+6{%SfX-oaXvKUV-c?;w z^SmyR6HWNA-y=+eORe|6x!bSmsGL`5KaI2n+R+%7OLI^LT3QywQ`Z~uihElgW)#m) zwI6~*=P69-B zjs)cKZ~>|U98dP$dh?x&hrk1~o^;_fSBt|#F`|C{Zj`L_BA+MrBL-RA-~8pX#yqvO zvU+E~1}oMFCbJ4>p795JFGH+DaXT*`Husw*l+oI1syH&~G% z@#0Q80%h3_O8m7m*)2D)t$=2WOr4x=yu^K!{Woz73kyKVRUT{*9}|FxFmP6Z?E1^n zjB}dj??Bd5snWZN8z5tDz75z25>pe*kuL={Ha7A-CB%Q%S>ygs5|ILNF%LQia0-D6 z9cOND=*}Ec6;+tfSlFi8T9~46PYHa zfQ%_%bIs?b-0iwW{U<$15u2GwjF<=_Sb+Zc2ZwDUK*rhm5lGNpM9MKw4n?Kd zF}~D)vn1dn4)B7MEWuQ+stVTVIxZ|MG;+G%q*cqN;<8-=!nr#AiIj?k$@A)!DVg?wO zAXWvA=dr*|rcrlraL@p(DX_x(6S0r-5rA4lwo;RW)!QxZ9^wKrs_THem8YoT)kw;9 zpHEq(JkTgk`KFDj;;id9vwaj~1>P8c@4wE?#o2xHQnoTI60|IBtG~|kKu#Q{2qYIrk`Dw?J^FGN-PC)xOXH@T<4`lZsG+@UK5#I&yfYnV3H!BjykHmW z1pyztYuPD2vtD!Uw{ItdzY9YlYawhoLETz%)V^E$fE59`XIl44p36*33|!v%Fnqje zke#1Txnz-$m`KDXBsVM~c|Fq+^nl7n@rCP`yXl6zXN(UOp0`Y?BoOaVP#Arl1YnB* z;*AH3Ew~Tgb)R=sAfz`uEXSy{3fz}|JM1zJ8zUXaAVfs!S^#Avgis-xDI2s>PQC1@ zGX*p|c=r!CXPXu@o3Ic;xN3fxeoGvVZvas^+e3O5qIC-=x@wyYf(frxdN?+z)6``b z=09jqa0+jnH#_fVx^3Z^1X^sSWHc-ZOt@csxlWPh0wMl(HGgo>scdd`->E&7`b9?T z7WSV1WaMN9_III*@5t<*usAhMF-Wu1a0+YV<8Dz_5;F5L1^PneYAe{jPMIP=$bfrO zKOkcHTWJNCB=k?8;M@`Em;FW0u{*^jud78MBFv~=ZPF8jDlRU5Er7Qe!ZKbel>$g- zNi2F$yF3Xi2$VkorDlW>9ueosj}zn&U~kMW_omHuN%7CTbYXnS>hQ=mZpCz7-$ddl ze#I6o03l)MFjG)@JUlX@S8FjI2BF8~74AEC=g3i_ogH{PDi|4nPc0GZrgi@@^`YQthA^65ST*0zo6Sv1mK0uw>t6f(!0Qcw@NE_N~t9-Uegr^ zU&#bfM}=Jx69+I#$|`JckugZ`l+Li?gnm?3mlFy7u;`jrQx0TcjdX zf`SGec)Xv>@yd&oPObSH7ZT9peupT^%A&lRiHpOu0Jh)VnsEjqumKwG6G5~@ug$&g zV;)+^hov;ValzQ)Df}1Mbl*{}C#zXGjpK;ayEk#q+&e6NDc2*~bt8}thp_bL+4K3m zgwFW0=yz41WD}8)}RRf^FQ3hH{w<}O%`ISIHQ`7&N z+B1E2t!@qBjCBtC%UJGqsYHPd{Fu7+4jNOFvMNGG_$x^4aGDLjPW;65?YgHtn8RN@ z<2nd2zu7}LYq+N;|5+1E3_ImeM= z@0fh+I`?KKjB^UMHQ1Fg*m!YPDJ2C20;O$2W!ua7CF`(cY4we~GEBq$TA04Kw%!Bj zKQ2z9KQDxe|%gI_FCx zx5x*H#3~Rkb*bp@IEge5Bxw!`M|a>i#1jWHBp_-D%<~&MIv|ox>D{u;^6FAI?4!IJ za3{djpwkb1c$I$@PhTkJD;)B7rpm3g-gyYDh%hR4I%Dp}ymaX!NR*4dX-J`gpC}8= zcxtd{@T39F#wI6o0IGolqVS-6xzzfp9Y*S`l{CFu85{xNTxE#0t<+i zO3Q5xr>=*wn#_V^;D}`bi+bNnETYdsDa8Ty5HEdw;v;;1_X{xI>(26KbdF<5+B7q9 zxWnL#jAOZx4$A!&aB*;QRo~FkHo2Y}52}a37LyG*p$Y&Z*3q9DgvgDxzHrS-UE0xh z=q<$!gIu{2JQ5Je^a5SHy{+Zt!=HMpPFChF>D8ba0M5evIu2#&kO*B(x6rDUzL)Rr zjD?&mzgQ}?3*T-ha=DGXlT?yFxroLrin5%pB2WU!{DTx8VGIrVIGLJ?aU@mw-ow@o zCgR{%bYG@XmBFAuSDm%zSsE3dDf+$-e`^KXy4-97Y|=tF4WVPQqji zbc`3bDh5V5m@)A?)1*Jp2LR0}EuMfHfThRb3}^7U6o2s#DYzg_p6}YEu$iFi2A&v9 zsW)Nh+4lM%WNeEr(u$pK)*P%_ybg|jCQgBuMi}VL9R?RM_sOo ze04p?!thj#uK}z&pWNhC-BV{WHRv!rPL;hkd&pDg;E)v!e6`yPOSQEA%~5`TUNt@< zbslbRTxtbn0(3l7C=E?vVW`X~bkb${_-@B1|7HEClroB`USZ={6+R3Sj_<1l z*kXeE`5<=->vu&*+NR+KsHH%00COx5BXq3rSX1!n1B-Qe8+X?ydAkjxFzLC1>{v*q zDfY)n(l#KkBaUdH1Y988iH0~69R=(JhyF{c%usp5U0fM$6g}(4v=t;?AJNoYPDx90 ztpo-K7*qUnY>^IohD8gbw$bZZF!0j?5=S?*`j@wXLnqovbYxnJ4fPtkQr94&*E^XL z=p@lsjs_OE{bs#-!E~>r2E{fS;ahaOJW5zRhsXOH7PLf`tK(%`WVC&W5kf~zFFCbh z;7pM%4aYiHb zEW!My4OcIG0(bO>fn0e*!fC{!@wo_9QSx{_Dl*PmwHQ`S-ZMz#*YqoD+x8pkcLymb zcOWX=@M#`?-Rxp#-2FI(^+OWldkuAUNaztdK>GXzDRL9S@h~J}-={$wmAVPT4_+r- z2-W2a{FGg2j{bFJ+`R{#)?a#cqT_ql7VWqrwV+?%@Ej=Tizn||BO>D1RvYL~&(7K| zG}=$(OKVUIKHZ;x(-C9T;_3wla5M37(^GK1jkneJIOM$7z=Fl-$=ft=4J+Vqib8>V z0I4uo+*)3OdXTGhBgcPrj}lmIHj-wZTagjNo>);leRSFV$LNJ*o*dC0SQZjTQqbV(E3# zq2hZ?Dhwe^eV+$sT{MVM9a2(llB((klN#RuR4WCo_UB?F@)pwB#U~xbSefwK(B{&+ z_c6#N-^1={o1iXU5K1R+dMpyD3TYoKwed1C9`4E(yP(#NSrlMtgaX?mQ`~>GBcr3E zQ(9IQ9v(jKPXf+1)M9#iMEF=35D<7rBB@;?J_tbwCGWPa^#*4*C7BsF!!;L)F!6PLY|TpL;RIHwAniTLYfJxp%P@SK{Ip%28pP zl!Ajb&B09ZgBzzBbZ6_}UNOullwQ^Z^Bn8$p1YI2W3ZwVN(?w-*dSRoWQqg5rbqh> zCBK0x5w#C4$#NOXBj8#A&;@@+VM6C>p6AWvb+Ng> zKDBaV*828B1H070%#1ohkk#qL0~{fflwywvqbH+oBDt43^}hL&eFT0_dEV3*{}tg< zSPU())(=#Agi!SwOs-T)98BnOb}U{H2Xeeh4Ei!F-GJLunFic_VAf)PmzOhS(8Zoq zd^ghl5M?7W(2q}cA7mO0I~dtN0GjgH<71IN zaIq$PF~dBq3{<73r@eEgW0Rjz@&a`NrCq(tX{Ph5+E#+nv=pV@1qTi3;)jAGSeI*b zZsaR9O~1r3nI>@U*-`W`D>wZDf_b9FClk}t%Tj~b#NmWesy~l^wP73L*vO^ee6P+y zEa_UAH=KDnT=V~J{;|d8NIusjusr1UB8u=Xt zM<3W7h1uU^hKs&~oxC)BcSVj_(AwGxM8u792jUBy?3;*f8&lpED#bpnHJveQi6fv9*Zz%P z8C&t=nhbnP%8^m`%TI$0w#j8bw}48vj+Pit zT7y%xAmrmrIol&&>FEgMZnemVvms^#21$tz{1F9M0E@g6RHs0uWoYmHE_~Dzeg+brQn*#2Tnmfp z+LvuLe=6hlMT#3Y8NH=U@gf+4{vLovX2Xq8FS~=^tn9U5_v;rM3}aN&&?rub+k(QS32B{0ozCQE5Gi$xGX07>a)|z?#d=|>}oOAct z`x~DhZUq+tE;gha3>{f?aFv^|!3T>U45z@HAw)ttLo(^l=gFzi$Mh40J$po1`RP2s z)>&{2h_TWW3VUiF9d$B6fTPDZLr>^+D((cvbE~JU{A3;;KKC9Wg+QN-Lbs=%VR8W^ zwXR2_7ZmA8aX4UO<7d`AgOxyN$K&SKS(C}^+k{i zdVsiDd1Ks*M||UKave@wcQNP$62`!Ao^B1kK&Rx&Z?w;U=BuV++a&TX?8y&3_*94n z!IM@z!-1z%)Om)@ikFVc(68Mf!XPQ5Qor03B3o2iYeP7HAA;qkFQ?ghNcd(u z?+YD18Y%(txz%<`=*1a&j`9yAKAiHx|qnq{1<&;qfT{KkxF6QM zX*J1N%BLUk{|#6NwwTW1qZD4p0^JH#o$B+!Ba@p1RDv32aJl1`)ja*_Wk|@lEPl0 z*wep0biNK@?F4=7W6FuOUF(Xrdb?$z6a=czW}f<+maR8*)7V<=fqNI9kh$4lVyJ7= zXmo*>_>2fiUzw|)^SkVm+O+T_t|_1LX{1631B#$)7m?>593#B31?F>(eZkbp4~$<3}-{nwI3<DW1pgOmjKdDiwGRJ40u11Lqk&Q8iUm#vJI7hKD{Tj3DBmSp6 z4?C`knGJU^J#mU1#36F^Z|HLDKNVu;i%dB`j<`yZ6(^+L)vgAf%bRm`UjNSJG2s1uldH3sA*XIYo|!D?2?Y1b7`n8rC;d2m&*Cn+f@l_!q&@mq|h z_JA--X{PNz4bOdyC|bl90RW1lduZQB&Mvq!1N99ay7lT?H2_H zVn3ztlx>Kp8zD-mY&6gk`dSznS`6@Th#%|numxwNjMV97*R!=A`#rBy_fB(sZqITz zp0X#QFqDx{OXIQW>r_l%R;be-AQU^uoa?8eu84dy&%E&`6<<;A^`>uh+NY8}*lzUn zC)ebfbMv6BmJSXFDYO3!_-RDQyaun zTX-#5#YnAksqwJLQc95mJsPaKTaMbTXAixtv_`IdV}4<>Y$E4A3MJRQ`;}X)!xDf- zm7tlu+i=drk?R*=A=uDbj^cx5Aq7kz`EV8oB+fiAYvN5dL`^N!f+5O}wHgYQ@m?DR zlT3gkqU+BD3 z`sIeIrLib8rv^n67zW@`7UAXh~y3CTQokP%NXZ4hb zJ}RWG4md)R{(Y$Pk5->eAM!;-jwyOqo+)7Ig6%z8>&Pnh+(K6c zCteB`dueToZ%WCSiDkAM(J$pkycrVcV$-_)mm1zu`Jg;fz+6hRzL7)VI+kWm2h^mm z#nP|Pc|T3t&3k;}R?X%DgL>3cyl=0J)zcwp1g;jn0y+Jk2Z!?97Nyd0#PCGC{DAG0 zOC!Pq62A!7ROy>kl2&X~J_C9C$W;vjVb*O_@;Xfs`yoqo&s6Rvc#@%v#+7c; ztByrj`?M$qEE(eBRadiqpf8{@usO!0JwP=xE+e!j@I_nC>|W<$g6&1y53UvOoFd88 zFy|0XH55d%{-osOJoz%M>PG#o%VnSC0h|z&lg$X}4%q2n)_lI-{1e>rMm>$jqSulP z>5?uRfwHu_GD^iycFVkr_BJY(&+5O5&((`87f`()?g(cF@$S24pJclUG}$tZ#5 zVbP!2KQK(~7snV0@q}c`mLH!+R;pYFLbXPvEXg~aR=27;eql}M6^qPS>B=FJIv{Qn z?~^Jpmf3z8P4`kOg@iQ;MlP@tuR1I} z9uov?KS2KFAnpFSwv<#5F$EG5lA%e1xq&U+wDz=J8*eopGPYX7VD(d}k;Qn&_pl|t z)L-yv$fYRU7}KR%Yd2%nwjXV5rVLMk>DOdAY5E>K(&wJ@f|pQ>IR$fBD>ZA5{>0t) z8W`HeVV(=$=)Kc-fW@mcP#mmBwDZceNm-7URhiM<$hSJ?LmBm1saZ3uzjWpC0mA@< z@D8OBRXjBf3r{R9$gTNf8Jb&WtfkeUSdd<;+Zgkq%w(#aNP3QR@>fk|jg318rmafm zJA}#+XYwieqO1w4PV8|cnqY~7RMA8`uYY@&8*4`k5^LeawB zasLGt*|6EL0?}^Ma%fBd4j$2CtXaV^)0bHX>?lgFAp2HSQJkh*8$g0Kedlk^QdCr= zOsX9XrXT{b^%z9V36?=)Xe{G|J@^DDYD1Af3Y5mYiKOC|SD#c7e9+L^Q(3s|IT#$a z*rt9#OQ?LYpus{e!(An#w@gRfD;gtH>K+qF5cQlIp1f;R!apPHzg);?@vYFVlO>aC z;$n>5wsdXATeLH;L?saD%TVU9p?TM0K(1{Wt?OO;wGf6u$jEnOxcl05_bF6zTWi33 z8#i^c$;8fVi*D`-(Ig4ohwOF@kg zjIeIawt&d#QouWpb8P^~_q%V{Rd=++B(rVb-_p`RmvP$kxoL-*Q&FG&o5!JF+ zblf+OzBLc+}xxR;3F5d+ZjM9!s7xAwoRla7e(1G0-Oim>UxGpDe_(msH@HhuY+S+i2a zoOr#uyqr}q)evYeU|x9jjqvZs&E(%Rlw)(3L1}BS zm^jnXhaZDB3^CQvZHfTqBmdI9g`yTA3l)1>4NrT+10GJG+j%`f{pRi+~0BBi=kel_WNBf>_&e zm(Rm&A(1k_N~`$UPowOCn&TcKo@bnT(p(=1iYJJ$9fn zDs)?#o(fVcfRzv(!LKdlUrLO-W*mWS6^jb?1kEpHpK?1bv3G+x6(A^NxVYOzR7vc# zF!rsWKq?ZA%QFzQY&W3kGIRy~pN*`A;!*rP8KpQxL)BvouN8;ibY&`w8t#;{TpyGd4V= z>qEK2OU1Xlod#pw>B4CRfH{#R%_#X5<+UY)1tJueJ&y`1AR_i*!Wuzg_K~PH`QEc% z83Q##?8Yw@%pelb9)Z-Qxar4hNFa{S#}x7^7fECS0t^{g*N;^;(F}C31x@%@0s!a+ zcE#MNP}A2rg&%?ce_)}%*1Y1gSJt5WUC&bsCWpeU_dygWp)c;BKC*XDKylicm~4dT+EnD7$aw7 zd7asmOOKcK^JUuCRgiDMqb&7twIPiVX0e#4=Zep->X^IQK8;dJaT zuBz5mD6|(FUtaDoA0>xsF+B_m#9}^`X*5gQV!$`U#J23E5>_rSDsDy*LSUHqq6Nnz z{=OEaZ6=bu(;dzd)Tx-s*XmR~pp0y;Mf=-a7=oUn?2GC;|ANWbxljQ?3@Jy*LaAVR zJ;X7t)ZEvDdaG-154M?Zw|luMS6Da^B+>m;%Vq)C!1C4Hd8_5t7w6E&naqh@HT*GY z(ZRc@L>nMcr3BTb%3XEEsxrl2t0^3NR71nXrJCHD&hs7|)PU2S)U|Fa9?TIiIMh!v zOZ>%Kd77a}6>{EX3p2C@5X9L?M=2>OKzjUJY8Vh!_|7H`Ax@L2*dwGaUGoxGW*^iy zoe)dV{HBI))C1<{=W!cAL}jEIiBI8;nWj`(Q=hcgJF1L@1zkrKRNjxaEbO4>yBYUQ z&zx9Z-(!dF+oGe z*>3_VP%+cKcYl;j8fIRzxM_xMH;o~6qc1l(((e-!>wt6<$LHQus>#X8j8GLVElUr< zX+(-LM;UolaKZzrON`z_&_Fdj%og?$`t!_6cp3LFF-`uAP=a836ikz(t&*vuoo=OU zl>P}k;~ydHw##jvJbr$};k?>tav)KS&yH!2F|Mhsj9a<1cxG^gml_e*-8PL&!hzAp zY>{wO{>pYPzUzYAnh}S^)Fds*Ap){4=TZ;-US?p5IjhO4bb6yeyE%m@N*{2L* z+?D7fqj|P{LlI2#cUc4umm$v0vCE`HX9vVmt9-uXb@}b>`Xv?!bcvcmPd?I|J0`9W z2AGS7vBkcs?S#fy$SKoDlM5ExFsS`|5FWV%{NoH9)`-MD;rW#W>rfjq->1x6@jfWLD@M$~pikO5Y-%t| zdO1rOU{`gA%)D@lNhn~eRXGZ>umH9u+8U(Y-Bw_2tGx_?KtTJg9t6gIznY2MOqwrw z6wgFrm~`A^#<4}WiplP_Nnif;DKS1K4%Oq}Ubli*@?P?TLYtFG*4jHyk_*v@k1X1n zUJNGsWTAwL=y^KJQg>WO{mn}DiUmtcPte(cIM&i~ zCfBwTQKGuU`TNfS)eKF1>3?swa)nx*#U{tXq4=Rpex6S8*sOv}a8RRj+4U>rbx?C{ zs3i!3^crmC^&N^*_h&=gxYdt@{P(USLwE&5K>!hOW2z7?9M#kk`6RMHhRoCK1?xzE zzx)057O1#I4xU@YCj1usZsDI+5>$#UZq=V^JY<-(rHAd;W0yu97#_8tZO%eUqmk#` zV!NF7C9(OxPsM=s;%!c0rhM9K%fTcTuy4V8xC63*65B4h`Pf&qzaS~N^wRF`*C0kBI7*TN95}E&6XR>52EPPY_Tbag z*$Z4s>bANmV7*(`_M89iutvO+{V>B!%vV_|+Hd>V zZU%U6(aeGP8mJys-oKR5gz4aL0vyiOfG}dFm0&Y8Dvc|JcOqNo`qUp}gO9l3-&?6# zr7Gr>Kc*i7VtSS;Xn7{++4KYw(F*0kOBjc9JW$qcFbD_l%=F#;4-RouHhS3VAKpiz ziSXwy1{dIz-%Lz+QPJunETzS;CDh69p|{3)P5k?_Vu4{`PZzxm!hc{!9mtFTBW~te zLiTDM+fpj9mPWPOR|h}tx8Ag4@Wz*@b>pmJD=;m7!Y#DCy!^OfkN@|=!bcnO?;Xea zu!gbR{Cp&AOcFtN^grqE;VsI1;TwEdWOUmY|CRre(2aPmLq78<$l?1$oqngduWV`I z=eRwxqJL)-6R{(}yd#^NT+HrEOZf5hmP3B!S?_DbA+H%XLL#EUlJnG2FEgN}u1uT) zi+C^+=!`r8!51FXwLa|uUT=Js-PR)E9V_4;>M1GxVR&{ic3R-`w%}pd^(6~#s3Hd{q_8tUs2^_vGdr%fOw|ZEUpBSzjgzP6ZQ3iq+Y$PF;}o~HEgnE8 zhd_;^>J|_ivT_th;O{N7R37E9J6V*{O|VSaX%hEGy`yKk=Eq*vV4I3Lq!Z+oz6T@b zQWqnN{b00Jg~E%%S=y397$Bet=QAd9;T60e5de(~-5YqpLX1v7_Y`{~Tx$L$rGGQhYSvTLgz-zv`11Ugb?QH&`Q-8D8HIYO5rKTe?fu;?Ht~LR zHKIX&E5QOv0&1AME?%p0GM@k-(U*Oc=kQ6MR5R zY;@pWAFufH)-!FbtFWHlAD!SBBys3oLIey(Q}DCEu($_MXw7qE26;Uv$6h<0=kRZ2 zE}j(hHz88sfD)qk@M{AnUEYYtTUcU+Ce6mL5<&?QEagj--cjB&WdG%`dz$5sjw459 zO#PsuDpbCXGSn%v6xOtlp4ceMl^UqiMNRubOV7yDc%9R62b58+uF^q$NY5CJfG5># zB>FkGERB+i3f_r*`bj4u_9p-!1f6lQ(tNGI4$MsjJmbr^(MQ5ihm3y zCA5y!K};6kA9mi|*)!;}`^f*>YH4j&rf~%v}?*M4OR)KFtbeJn09HtvCZj#S}m98OX{W^B0s6 ze*FIKEoh@~uwhv$4VVJ`qCn}SHVE;B6)-QT)IF4>5Y*i&LrWhdyXi>vA`>E1PR~OK zDixqCVP1b1ewak=?N#$-Dx>l0`CFH^M#>FpMT@l8)z(sOZZ0I4bDq$ZgNQ*xd&Epy zu#&G#e67x5=ywbPrl0~jtMo5%0&M;~B{Mf1kJ5mnWh@Rh&sf*BGaRAu1f;URn& z=|%ljtQNUe+I8|tr=o@;y?1kqCqIA7d`rvm#PyDb-WBfHxUY{CvamEuu*ILY#pCW5#$_Z3i5M}5A!W{PI^HMrk`{j}+y+T^R5x;WCy;KeNIJUpt zNCq$b={jqY6S(^0&t*1*!=~Z@_Lw?vK*ZC2O=|F`@+06FE&}n!Rtse7%VS7{y<5G| zK;8>plP9S&s_Ax;VtlEX#ax6BxH5ruaACWEm374gw3WhAItO6)Ai#G$>Z4zM;)_Dw z>Hqg=neA`BbuJ+xp>69EYU3MDm;V0#SSG}X9Z-lD>ApLO_JM8kbTEXrfe!k^d7*Hb zX4TjB_N7F0;Hk&5m$fExB3$LTTPyVBZtl<3VO%_MXWB_@mDCfnhspHUkV2J3$%i6DA+q|D=B>lL?i>nBR<+)YlGV~foBbr&&|j}G@#H& z?=_(*705DjauYLLS7j25ok-Eb_l?YLw-*&YWbCw}@OSR|4KCv}0t;-B^v>m2d>!8+ zQAW}3TcJkpt6Y_4kLFx?&>7)to;%@!s?720@bhc)&FReZ&CT)8^Yb4gesHRDZdltI zHyO-n^;IH)*+&SXCw>c%l{x$2cu&Q}g|96p04**npxL|n(rGv-1;ge}_JKcILOe@u zd7f4QkD92rtd;@$0Phr3XNXk^WUfG6w_@nSR9#5`Tf2ebiowSo53B=XC(65^LgqKLUY~Mt5r=i1qs(>m9O$i1$X6D;Ate;tL3I8M@6* zMN8l&&4SPMn{6Zp1uf+igixB!nIe>wFMAHh*$5b^B^R1)ys!IcqGgcbee8d@!4T&+ zncnwTYwaP>_$4{KeA3l#C3z(^ZFz-tc@6n(9l32sMmpcx*Vg9h+jsxoW7vG=E~8jO z@mVb_r}2AuQ@b`G<0;MN&4;|DMd{>$k}vxVmd_a~MyHh<*Lm=21^}S++N!nbe`%Q= z0tS>-IZDlb8R*tZQ+%GB(B_UDF@UWSf$7i&plY~bkHbinS1h){r7XY#QH4^LI+@Y&i%(Kl zRe&1m8yR6`VG(rM{|zD%$C13kkCby ze(nPpWyudhXG2^@F@d;@e8$JC;cPx;67zN$Amc*( zErV``p>Ep!@Z>fV6@=NCsA!`5=4Pe?%a}~k{T}8nf!KQo5|5Pe=c1eyMjHok!OpiF=8%*pgM8q!0M`gw9e{SXN`BKKG7in&M1$&bN)dDE2sx6k*T!azVb5q!ENZ z3bQ<9Yp_m)owk3$7n-Jxs-NWkyYWl_mUad>F{#cMpv`-NPB5{jq01Hv+I)#Gv(&{3}WJOmJ6@d_8x$baEB@>Li}}y3W<$p!|bJ9i3vOED1V zsIgt^y#!g9604`9lSn^h zx5PW)Kq?b6Gi{xTlmXgUs5Y3pLR>uSZFt8G!6KLI-_M&tRbhO_t9?9ZrraHo| z?CVY+z^&Qk6B$ko3PK)!JtJ79Uk~^7y<%FO1>;s4QX8}#hnR-*4ZgC1p3xs601#?A zY#pAr>#*6Z{2<$&tna}f&uew+EQPeP*MDA68&dQa{4|~!u`|_*IPb$?2P|BG><9fl zcH_SqYhV}yWU`moX_32eyrc#!Gi_}(xlMUZd4=V55Ax2pN&9C<4zrx8_`g`b}U;Au^wWDwG!h2oW)%7ns}F zlv!?db>EIBx6_IWg4Zz)p7#ovB&;(}CB}MJEub3e9Nw3*1x+z)D8SkTptI2;JeUTL zvxw#7)KuVTFTkRu+qG+v2V`(;_|~$n6ppwU2 zkX?RjSdO2*^N;AtZW-SwJR7O)IyzZaCb7vIf9~@(??mG)E!(>S1QHNa6A{%i5xEZ# zFkt(2$q~ZD>>MhNoufM19B> zusy)a8S3x1SKx>TmBOlhadZNnC&UAM)#YM8&QAiDH_Ne^oU_ElR0`F-E2%7&-U3#k z0tPv4)xpuxrS8ha@852>2MvlT>??h-H0oO0624mzVb>D4U=q1xN3h2vZ69aZpO5E* zIz@OOy(%{xYwfhz6=!1hr%y+L>~z{|8!R+K{jUTTOMT4*GXQr^A5HX?(eE_n*ileu zBp5}{0iB4=@Eo3k9>J>Rz0k>FN4Rzeaz@8&jy0IJv3COM)-wODG2gm_L6N_hq?#S_-B2GednC*cpwsCmADVn%S2RZgXI(l#2Lf>|= zbY7rr>5QGP0dw={x6>cVzB;U831%GJ^-P<;CDq}ZpF_^{UkUxH_6macj1gPlSVWfx z)WrRb$OXa6yPSL9eY3&Vd`97Wwc#Bc5SpW_A(_Qw{_=eWbYASkk6s1w!_+#~w?ED(AoUxvu2Z z!S?Y@d*RWz#$nX6YpKJyri78h^1o48;Rkx0vDF*guBQ6o!-StX|W z8&=vk8_xy7A&<`uUY_4Ga;yp7Q6bbQmUIRrv1<)O!(3##;_qiU9%q9?Lqo@&kcD4P z(P5_Y)~9sNM$gK18b)eiL%FWjJY3}o@rs{_RES=l$;rw(;m!g1ms+3P?M@{YP}d6H zXBLamIb4%}0}GG!TlmhU&f{Viv`)V$$Rz75tg04FV+prP{s{jqv4w0!x!&uT@DsoG-|X9`ve@h+1M1bO^1(=RCRS>foxt>9G5*^ zavj~rTfz^sPI?DP{}=`_xZyufH|6|#>O)!sWY2%x0$79q6^X1r8KC(6wzHMlA6c)J2EAuM~KD08=a^dl)SB z*TL4%v)C`P+XE4jBMa-JL)f`RUu=b1`C+~R`|YGi!X2sM5T^y+B6Y%f3!1lBj5iQ2Pbj{C7^=a)M4 z6MG3E`j#(e=Q3BrUf+Ev)><#y%liF{Ad3V*P#$B#myE|#1W36KHvkrFXi_OK_KXpz zOc-p)r6dGgw#`gCdj=0T0Jz&=4vOk_%2{r!Xv4j5=rYKxJ?_r>cXXVh*SqmJc1%Sj z5y-Yb4(Z(<{j+u0-bHcUd*lfEu1i_bp5RcqALitA$>Z#;yZqPQbiOlp*EhLAf;>wL z#nRqYYUYoZjP?^@*Mdt4A2GQE#iO{Q#QSZ_pR`ZHl@N+EgB!BdI{LURS@3sDx)R&J>Q5|=`TK*^p2wQ&@9aWxL zl;G*Hv0TMyumj3W`;~9dnV~!u3}@51Fi_SvA5fWHnN`Z@rCgQjG`zQ~suzFa_Q5fB z_&kK=>*B(~ixX|B{A^PxBqALE+xYa&2$b~>PhMVaCh6F^1MU_Uxd5>eUmRLB?YqD* z5|n2RtcHH9=p%Gf+68%Uxa>d=VAIR*>f4(wD==!RkpElAR%xae00#xU6fRKWuw!Fj z80)9D=K3t3ORd-n&dFsyMM_3s_m=M~NJ)#t;V!(gSI-9vvR%e@x@U#q}YV*UD%mvn&KllLfiqC|xb@>SShY$K{x zA2pGGoSzaxp60UBuYs{NtL{-yUznR;kzZE>PCYF(B@Hdo@6*32p)o-|w5MzlG=Cr8 zWM_$xB+Gu|s_r6$EfH9BGx!outzc_~y^l z)KuMm@1COn$%kg|H)rZ(_$37n=8xoyA|9-UMJu%(sgunh>jni%_VYrHQgm!=Y$9SJ zy%tY5TGLW6O9B8UCpY>RLFhDsjAE?>x%ZVJXz3+2cj5!S4}eSEE8O4KWZ%g%6_dY^ z`1i`%#bs<`lrgc_Fj)S%J%Ox9K>{P$-Y2uzeF6RW{8jPo`sDR}>$oj!J;`}9!DT(^ zkE7yyOCs-M65&(cLbqf3hT1hv`}x=!o8b2iM{E|$_QgJ?Bb|;+eB>TYwh*bGdJ~=! z9~Uy0Ts5TZAYXOU2;Lo{IBb+hw6}11c&ALC)M$|EFW#So2KmlS`zHO(ii#?id*6wS zoq0YSZz$-xv8#V$%GXq#l=k2!M&hh@ctcz!rDyJbduLpu0yOUc;`gV3p7V-9K?Mfpu#;S*kpmmMB*s707nec# z+vxM!IbpIzur3}E<&G~uyfZd7pS|u?{XrC+{CXp)ej~}L9~%;eNWOMv)oP+IZSMT1X@mqfE9KJ8m-+cK!_{9_CucKR?v|rO4M1{%ds~M@Ba_ zoc;Q>YY0UpRDCDR17SN)35^aS@Y6`}pbsPmi+|?s@9)Qq@_`&u+86Kyo|=Nh!(2`< z78$y6PBxe?9H|F}O9th5{>e*o1>nvsPs}0Jwns%6T*m(M_W4WsMQ2`A&YvA@M(B6lZp&ON{L{M?W+2zX9+-zZ>* zM`*c!>H@oG23LhF0p33sPF(occH~SZBM+aV;j(&(TsiFfq_4yd>Gm$E#Suk@->cGn ze)aKG)$#D`g>e}dOA7C(M6U>nJFnWthl$ZKifgZ0TEA=>Nx|Sz2~G@8m+aj|$ZK{R z)%BI+^sh^8d{lDYF}PjP@?V~^&NkP24azwO;IeO4a~OBXdTf23&>?rPbCLYp85rdo zl+?ai-=%O-U9}{abS~`^6d&7uK3Lt$+)@bA?NMFGpzevm&LcSbwCSXm^a9e;+uO?q zA>B#5#pe*3{tBgrug%P7xNfUlL;6BU6FZFcZNxtEz5n0-; z7VK!PTPR9(zXe+a(Np!>u%=Y~k(_h6maTC%MM}u|z@yyNB1BVL2^hb)q$YWWpt)zy zS^A_e2>ojjJ%M6aPJjjE9QqTKfHjD4{vmssv}wbxxBe(Q_XobypZ259XZwysnJAa`!~zU(ZVtM6q$0@5aI0`aNnAU#>NSOF0np#?=FKgK#*?&tt;8x{3U*;W_~_CBU_6O;U!iI=;or2@c5@prt9t^kbH<)PyST4uC7j~s+H86uPL#9uf)CRX7A z8Q%`#moFi!i;qA-BA{nbxVhf@_inb+1?Fp4>}QaE>hi;kxOU?oxUe@{^2hP2)6v<+ zy*#~&cISoIjC6Y+FMTH#TQG#KDb4>h*l{l;FY&n<8EYf#HMRy0U~}fUAP`1i$|kpP z-her)d27BAyZuK~>ob^>b=b8|POdKX(i%RJQaKH)08{iKu%|^@5|hZ0Wf-Jpjm=KL z7RgzsKB8xj1q_&kIO2;UX*yF13ND^Y5p2F7n3yC46`FwI#Jhrvmo8;PPvPg=uA=Xe zGMTm=v6F$X@9S;m3y@!vKl?}tvKjXv+tqskr}sKKI$m&UE~U`}{rQ>mVbGT&HKNq? z9i&$oTiHJM0FO8h7U^Q?^cG+EM9{3SfQ+d{^!m-4fsSLi*jbLlY5hK>^@q>TNYcWr zpTIdXy`NEqx|wAHU&-CCo;pXaWA*fg4!pJDytQ#hVPHZa5YF`1v;+3MtUdf*Ib-{d z&zymdRD`Z~`!}u9>PPb3V4ohH{`&KT{qWu8GKC6Mmw;Xc@F1I9LeLZI52M3Jc(#)2 z-OvdX?Wql(KkN!>k2`*YqKJW(P5B*?p67e)A#H=p`14iI3GMP$fbaslxCi#T?j!xd zYxWjQvHYU4n!LQSmKH}7^2fY*@a+I&)@(2v0AMcfO@{!n`McwWCauSM6YFB^Sznz@ z&r&y1Wi1%*+vESyn?0MZunAPdMd)N@E_;#;=~uP~%Cqm!3#UcuUTS^xa3^GTs9W?` zz3jnP?5Ra4JNxr++wq`7aSpEfjj8eH&v(Yrf(2;H9X=gF({pn-Y!9bwDmedG>4P2btI(DrrV^>2$QKU1@P-d>uaD%GCBIkWmk(1 zmL8vagcW`qwSS^O>8FDI0ZxJh^soi%oMSrrHHUO~s^=+3@(Y|x@A0Y2cRI_RsRLb2 z&$5f+h=sqZ-BI-IEagEc-ZE_B;b(c?jNwyG;w|&+jD-Xk?%O0=OrN$^NN9VipACz3tip zuJd!kkHC4%6|6I<=Ehqa8(L;0Lqc8^w}qhZt4^#|eiz1O*R(;1xeHDp0aWGc3__g| z{rUIKrxpa8DAQuLbOrR9=2lpz{WH&L5kK-r?-BB$uz~An*^P?gr zMn?4P2cw(s-S+^vS8VC?ch>yG;*6oM91Ix|IR7PXB_a%@+vzaoiwz`l_jO#ocDiV2 zdHH)ex%l}GFmFJHviV#t3~{=wyb=LyDl4a3S3*O2!Jq~vA{cxEOQS@M>9E$Yq~Y~YPX5L>U;Dp5ipdVM_JwgmE{c2Kb_ zaXh?9fP~FtsS?RJIn29@_;djr!x*Mlkddjn4I&a{@r7e3k$SVNH31sD;7p+zi4CLDAH0 zXyp@UaJcB=dzc;d4mxtyKpWyu`G(54PEN3w;^=+@*M>sg$)4PT`3*b=Gl0FCsMtrR zun4G&QIk|g>bp4wV%pA0O`%tvhZ^6>y1+rPBNO~Cz%D6}Peq_nqj+);zIgKqI7W-0 zxRfr7Jp;$Vr;}^|{hTme^Zo8GcLG!bxgQ{yeS~3fNVtKRAq2yR8H)IJK=c`JCtuqmfcn(0>1}MPYaW>c7 zNx;X*MIRCvlTH^oxMEQbC*CSbw-;H`ZdN{<9#+KH{F_w!3jxGshaB~Ehk)Fjwi7ov z31*Aplsp0OeZY$B!{b@j?Tw~jLox7ppO``_$83(6q=BrYt6Qq_0Kmj%rl$GV28#G=T=n9{u4x@E6O6R%41u7O2Wc>#qcc6+c^)>R2;5BGn=FInmxg z#bwOn0z z?dd-o05hNjfM6TC4x;}ie-;+x?T|4z5cjkiPBe4xz?UWQGpzY;FBemShr3qVpjC68x%5Ax?O{P${=Tr%h z?b(B(cRV07+gBlo5`GWRYjW5C{$rs+`d?6_>qZVNqW?MDxYp%8o%MSdWSv_;a-iB2 zBVr7o3e(pvD|M%Av4rS3%&`76{iF5b005S9=QNVUBhE)f;>|I9-;`CiEIE7Cp1cIm z#gNfBIyrs!4FUlRusedMg#h5ZlYwW`93}*?Y^!gqr%SP!0p*4W^mXjlfT_WFW}ju-B`>FU`WFB@H>b&52l?a7reBPuyZ{%Cc$lf0BKiF z6B(k3DSjp0v8TBXJFN-d0tQxA+x^WwC?S8dwmpuH=@o~CAHLUmpc15>Gy_3cqs^&k|!#0HBsVoTe9P|FQ zGv*66OMdk^maG=!8CzcZ;oGCEhhV2MXM^Cpy>^$ZZO^UF&WDj=a&9*-+31gX9Zm>$ z!abqOFRya1uD!KqunSz5gxgjW?WWB%upm4ab#>S`_q)3!x(|Qt?bg?p1|5RLOj82G zo`(Ph5!?#4At0$ zJ}*HfE88|DE4oz=i+owhkK_7JuQF?c^|4gvK`&0D5>|ts5 z$Rhn57399Y_T>JY4>b{JP$+5xwM(&-5UG5gySHmFo%w+h9hB$K`R4dN_*z;Z(1-vB zFjp)B9${$6TmY#LQXbpdzfs@4S(uq&2X;QzeB9{AG5_VWrJ9v|4VP|D`nzgWJ)#pX zR_Ign$R(jK7Zkd~Q6??kpAZzD_U{qUPU{Zj=Ycd}P>r9|&h~bUao<$S2~a^&v$ERVPFCsUl7`Z_ z_rP?5K=NN;*x`*C*Zd9;4#u8kG_8gP+@O80I^%lR9c@jV1R;<=bpXI zeH~l^P7f4C)ll?AjhVy@J2Gh5k(KoUUao`t5}0I63*zhlD9%|y{g^xp$3P3$Zfil; zWs?AV0vv~_u|=Yt?T2+YOV{`BDz+mt;)Gz0SRuwXMGrsUd*CwipUv}ZV8LuxBvqlr ztR3Y;u+Ym<$Ab0(b)G;4{TmvJ)B8q3;l}ZhK;_60cJMQ%%liPusoT z3`Oq_XjiH-iFdApt2Rc!K*VME2sbu3w@tI+GG^a!N1mT!U)nQ1V{Atz=^GsMr%Zig zGgmVz1ke`0K|B>))b-6x7Z(@KaQHt|tQ_~|7UaT&)Rt0p#+k%^IP<}ZoKE{WS^B;_QhTXp~P(p}7U^$*Km%2Sv5?VTVc;C?hZq?maR06F_ zZn1y?@f|fs9<`(?@Q>M!0Mm@77_|R=#6B?Ai26>jEjvN&a?`*;k=b+An0%kO@@8*5 zLU!UtoMn`)!sqQ;_oAhZKQ&bwh45zoxyHS@64bsma2a2X&#TInG&t@(`P1sduzCxd=$Y_TS#rR+k520OJ#$?=oQG<=|OnPQ+sm z?4E_s83DL`MQH6M*0anbd3|UKiqPSZb&!&~qx9C%Qfae~_F$%^9*rn;A$9Dtxzz35 z4)-XVWuL%=zC-(tk+`+A4t)S1(xWGqX!f$>|Mz@wld_E)EH7jk%*8ocUd-eVpS0b? ztDf4w@BjI;+x?Z0SG}i(_r&J+sX^Bnfd`jaamy*V96(9qm%UvS{#m$hyK9sn@l~~{ zaGN8CXIs5N#JD3vmDNhC?{E|#ZZfT^u8_$RD zIp=rQz4!ccW39_SxJKO0%pUfB$Md`%uhHNH1_=xG!x9B;t$#Zu;efQ$O5R1KdNgeI z^w=_BeBUhp7UT}Fb8v9~p3uJ*7OVMQApG+^V>uW0IPPYOta}n|k)_uHB>APX5|*%J zQXNY}ZMU}o|MW-${T2hQRZXnb5XTc`e5<{FZo&1&-Ar37RXBH^uATIwFDq_8WLy5{nFyun~DA70W&q~o~>kvbHVl6_1M8r5*-64+P@uOD#G#f zA;;=$J@($-ax_6rx3Js>gp7c3@!@_)WKe9!=2y??NcT71L zt`yBQ!thcJTBtc#0iO)|P}q!WHhcY=(J++@FT_9Y9*}&{!2Pbst-iQXBI4l};>JGn z1(N)#tl4gV)>Kcks(NeQco=Qiti|2!&kysZ#Ec(jkr`Q75NG3y-EDWa6z`8EcV%C2 zs}<_sW|Wkd*jU)u93KI85rUYvw>MaD`z>+U!{=~|WTU9u)abCujdCRajT2S7OLqyp z4!9sPiWGxy#2?=(;gZ&otM|e)QSGb#anU?i3*)2ha;}g6{&#VJ@}|?q?>IVBx|E2- z8bZ2#bgdYbJE^MzZFP^jDS`j%M(vDA~3ZS7x>4 zv^Ewr^JDG?KZU)0GH)mmtC(htOGvPu`)LSZ0HXlE2@s!PS>0qdo(+}-b+xs+hsT04 zGJ{z(0P00%!woos>gqVwMWv-JS2fa~KX2S!?gO~58{i<82q%*U1U*B&(YHH0J1Lt( zz7Z(>0ihHhA5OZ!*dGAv+(5Ghlzt+`>nm9j8*k3%m|YA%q| z%6I$}@zN-RL!u}$thH`$%;u?KgnK@`ufm0Hp3IMUQm53J%zFK-|1=)aYb#^n#h&A& zDjsN+fBhDsWFF0$b@o`3KImNFu#&obx-%5gsI85bVNFY4UfiTOxiB%cG>x-+n5%eN zI}MbJAbR$RiwPt)?1D-f%szCcuO@-#Jqn%j%^sZzCZ#E8TkeP0MpvJQH#+WeouEUa z+PnvHG%}zgcQr~l^Ld4oi;l4kKIcY$-?!uN+rZEO*&;~mpVAvp>hS%(Ri;xdpZ=l* zu9JRX2l|DZmxrfw5%6GL&8LCKp-f-+Z$p0H&Uns0oFE7A7LAJDYSaJKlYINYsbV-U zjK2j&wzC!b-lywghqxa)VpG{wF4YRY($wb?2f(QUj;MO81I)8q5@>_0Za<%?7L2x)zlvR1ykWr97c zb_z;gcuXd|&t7#R-*A+<*&8^hTF=|UdNbq&cx{!g$`95z3PMKXH2~wazP1+Z>%@#W z%_);#P#Evxstyb?wOh4CfnY$N58t`X+Oh%LvRS%B0E#}hzCi5XV!71hXg9dl6%2 zlz{0*j>?dySO_$ei}$D08BmJor{(4Eb$xoGBcSpQzO>$(mzc<}AVsIfd^4J)V$l>On zM&27)D!B6432NyT=2lj3e|P)3B?|ZCSX^ARfL`EihX4Mc8k8j8>LzDvf!uL8uq^@5 zJrZbLYk_Zp`H6=<%PzdqVj5yzJ3h5e#e!mM?i6U7>SsE>ItZp1(!sKTXc1=rX-!+9 zBLl?v#dw)5)R+T4DIikrh(;1}E32t(ZYfysQU@a!FM`j~IFVkgS_Hb?4|wb!O2Lhn zgkMT^Y!I=NsKAyG_#HvWXB|Uw|um0`MTs< z`kb*SDik1#Gt9s3gD{mwhh1eN)-D^}5W+PNmx;&K%pb&#Jtf@pOI$aTV+*=&<+q|* zD%R!_^5zoOTBDU!jGvvv7ICh{Tm8hS^+MdUGn!9*(E^cpQPZsETn{>X;iyXL(xDBT zLw~6XyjWUKvTE*{3nVr}j=x9xc5Ynl`U+$)Zc39poI-b~kbYTZ*}1#fsLow1#?G)o zS~u5f&K26y9!It&d|ge?<=^7OtNofVGdJJctCCj?HtB;$XP^)+1SEgq#1~+c*UPar zwpbX`-`98JV7CXsg%~yj_=m_UW>VjP;ae$(sv%)2vPPQH^_YUyN?R+?;3iAD9Tn39 zf3=<|$R+?x!_&ROxJPfuR8_+VKg@;92FN(`@;kn7)mV=3of z`QYv_$H?ok$IxEm|J?T(t?m77MmcfrLl(3zfq;*a`ANTsPY@lGrjM&4W@4z zxF#a$7TiA;Ssu_| zv~hVqN(3g_d^j1o=ib;RdRz%>c{538)E-h>FDix<*MDf9m=Gwp?@!uDedjB1EV+Lf zOOxRh%hJ$f1&X__UF`N`+l%=4f{#3!9yIqro%|{yaOUMtPB087P!``>8N5|(l@+CjI2@b`+sWO zsGX_4E#miMWP#y!fFta8-@kG==Q+3}%f*vBdxG+?DqUS{|<|XpgQc z$QYgcKCadYM#JTOQ%rCtL-$AF?W`%Wz`yb6J8XBJ-;B*Su^Pn!OBL&tB}R&18+=+h zk{v|CmQ;E=R*}KzH(uf}HE$_&r>W>DI*grhQ4*qtop5^@-wQi@v3u zQ`#SIA;e#z>PW!^v-&Ed+p55!WgeRt6dB;R@tJmVbb7zoXkVpDpC4@1ND5XjJZ={| z!C2JjJ`sl9R`aJ9AO##Cd_j&NV4SP-+ljU$c=a4aeS(Jba4n6EDQarE&?8o1jH0kD zmdpp4RMyn6Q&YdGr&ud&IECI~3R_zMSZp~5WR^f7cZQZ*DW^^V$oWqObb`qXwU~pyPPM(^SSS`Iy_~KLdk|uTDgEUVw zen7PV7jL}$&W76q6RTg1%3Fu&Dv2x--AmWwHhqLEGD{KHp2%i=AT&-_R0TUldiH0dw^u=_Mf-a z9<@AKVrT9OWzt8SBQq*KVpUf?H26i-CY@b7HOyk4qvygxwkIn5dc@DJQy5_=vAs5& zLGo+U+D9X|V4Kk+GWmnig%*^(gdK%k=NAI4(F!M6yF?GS7w#LsL~j=-?`$u)Ol2~YRhq-H5q>3ZX$bEVzGY-Zp=F1dgejbwCqSin9Xo`dAFptiQPq-1+C z{Zu6jv+|>UfpE`XutJNSwHi+0NGCG=)@tU&=^_ILw2xq$r#X=*{Z6qd0NGf>dm6;Mi)oXI`=eJb2du%16u?2fzc~n(V1QS^4+m%s$qTnV5qJ9;o*4eGk% z`QJ%oNz3mre5_z3;QRDm`kS?o@ZxGl4dMHQY8Qrma-ueiQDOIxI7EEh(PQ{+$fv z8t~IWq{99v9la_npaI!*os6;8TD-;M$(oqGwgt!=!0Ebhc5)IaQJtQ7o0v!>pzCmB z)*sQ;Lt@0ydf_!mQK2dTW`OK^RT(U zZE9@>b^mGZ?xf^oy|z1P3V}eF81D9FzQ0Gr)&~(<7e7R+iS19O?akIeB1OJE^JHko zhhNW{%Dfkg=J?ry)reVMA)*2Kg_MJ2YT(X34bwZ|2} z)?Og1*BBqS|MU8}()Fwk+TR>H@W%v>J^KxMX}G#hklW!{gMgDuAmaBTbmrWtl9Tdf zFfn^7-kWz3c8|a-{3!hrCrgdo1S3bZR8RdMJrmPxZlnB8hWin>9Da5&MkvDi=N>Iq zPLnhaZ^{vqn$7hW)JdOS7H)p`k{MjW;zQabp4~}-sLjIVgYcser~!;^ly=RLf10No zzgTDb^3ixwS=ha2ji9BpMa1 z2w?>UH0U{&8L{8|G=p1){c=)f*0-h_lLp$oB&n!lvBFHGS?@J1m{!aI;gWLXqrM(+ zvDu)2&l(xaMIriYE2&EWXt%Ln8NJuJ|5VN8K)^NH z214j9@fS?5#o5+i-nVggq34$nDX~G6GiPAyUJOd8;qY)Q_Dre<==Hus%Dw}R+s-m* z6v`dVkE0{&7F*!xcd?Wn9F)gNbQ-%^>Mi-!F`f|SX$tpBy^la@8jJ%Z{UoT zK->LE(U3@^i@K1Ip{u#pu)l>v^IptcilY;VyxnH~xu$cMN2ht>l%+cvVX@re%4|4X z`!c;*bSO>iPfB_^<1p4x95$VLA8qx|lQE2eRgzALl06=kiCzqRsk>B=-DADdraL3_ z94hb};(N3TN{~~BRuiz;0!y+0S~%Nmg*O0K2#m^|HSb~AAfROCK@Zv{hXo?;!3duj zbpG$0_I=viSY2-9vaYq4rg@-m?&YkyQ02ycGE~gqzCt+i-#Hm@}R&=t&Uf-vb}85PQr>soO{isYdP8 z1-{WBa2XY0A}K92IhNp2v1u>T2o?6VcIbWN_YW~Q$a>mm`B2evhFJ3mUKd6weEe!{ zDeH&gBNUjpI{n`4Xcm?4=?Z~|OZJj^mQ($DxefrDJ>yU#Z{5csS@Z{yY&*|-|9(fS zzUvxR@<&8%j(X10uX}$3E}P{rL|W{FdDD#eWHoy-JbVwlfGC{TOgWr4%*}aFSoWK8 zAuAjlNS)CxXzRoHqC1thZ*Ii1aXq|n5hY=D8op-93rQkV;bV$$D|&zn`b}vW-Ie1xd~WG|WijbHNx+arzAe1WQ7G#Mx@u?fNci|?6I5P3 zSmy1HCp&sW$Jo!iX5#M&>Pfikw3gPk082fsy+1`(Ty5kL_l zu5wp|KL@sr=|t{xpOBI)gHET>77W-xO*ZojE=8W*exW0kE@{}4bV9UKaw1vXRa8X8 zm+`OQ3Pp+4=1Z+cD?qNBc*^b)S72Hxk)fkR!A%gnMeRqh!?KXDEiyfvG_t>r);y z(0usSK0HYUm$ayya$FEckePUCVPRj$JH#mnhKz5|TS!nmfhmhLC2%Bquk7j8-~<<6 z=;WfRhzBGXKDaInC?B1{(>hzOAU*kAW^Ob?kD|xqDO7D6V_m9FklU5WV{U`s7^{0f zv!lik1c^{CT08-9UmwHI%g2#I76!Y?_(mh7PyX)w)vvCSjgZP&s>S?62=Y_8y+9I} z7P%42yx~>wm$J#XWN7Kth#K0M*Lih_xFFzEsV%Va_=xDYwn3YUS%qwuYQ-%4uc{j5 z0^nGPB3qFVh+@dbdSTI~Mh;LWP#WMtVucf}%j`(}oi#f~5paReeuGcqJe|$SL_@EW zLs$CJC{&(l)fo3Szl5poE&e+FhJMV~ z>Ccib@74?%Q-qbSUXrWh4R9vb`Pjb*my~;N~x}JC5 zq7>ZAM9(|Qs{L;GZ8kUeVyMXHA+2SxOTzBThJRCPKSS zSNzi zK>iNHgV1xuGCDkRR$jKtRkGoFo#Y4Nc(Bj?@ex8x%W}<^go0;5`H4z{7)TMq-r-B% zK0PNYV~CdMpnus7$)!(V)V0w236g+WSkZk}+GJ5W2w@{-3i~2n(S7y!93SM$8}oie zW`gfAORC%9w1$#lh&E)w-?H7BF%qNtwQZfOYzfX9>tvML?VHcSRZ#yBF~P>voztrZ z&FlJZ?M;Ju_ahDo!V46XAm1r|DS7a9qUq~X8v9GBnOtul`_zF$aG1%_HB7YsheW4M zaEzagF@Ur@?7i>{;ak$Z%PZM(fSt6zVavo*-JYV+iGSR(DWWdq-jXRJBi*vQ2Qr)e zkJbS2um`(54YeQ${tn+fLx_)#adi9ft~SchB86T9?zspVBH1B<_i{e|fG-lPAm|&p zOeyPo%=L$!R0Kp%yr)769jl($J5#FJ`^m>1ut2rDi$m5-se|CI%eGi5-?1#QSSMT( zdz%iuZaSuAjPe^i1kCqVWd$wChSCo)euI23tRv@fH}vYwDBr`sWbNe<=ss7CeE|UN z+WU8+*@HHt@e>rLyNR^*C-axd-|^FvlY=$XCg5)i@&wDjDV~n*%?XQ1Ytv2D zQ9U_dz1X^+#DA?Oeb*Cc!v670x{GOB$7Aou9qx+dkLFs(+vQ%gYDTMJ$g=%TchUuq6QmlYdtPZ-+Cow|2dR@<%4w`F z>?ih;bH0_2yRLU5;GL%fT&Q_f>SMyul0%s`5seRrIjXdIs^#JPnr}UPAm9@l(tn@? z(**m$MGjW5G?&{8sI;Rr&U8ezc?~X1VR~afyojQcBM=k*`bM8WupgLJhp{G^V;t$z z!+jEhlDW-F3uKeY5v315j~eUl{rMHHIfNH)V4FvPx#)k1Y1%EfZj~oPBzK1pf3k^+ zB#0}o`7y%hH_{YE-Bz(N-3~-<9CK~Mz_BKMWAf9NoD0J>Ex2Ewh&vFSk#wuYn!FXz zG_2!fnt zdxS;XQCHy8_7_&C=#$`QvuP|OT{CLk7}L+$EDpc39^7~uH91d6!xQ8V+Hj9#vJieB zdbPcb`dU<;@^v-w>wXrL9SE4XDr~WiZi!!U8H3<~rk~6POtH5s(bX3+b$$DlP_ye3 z_q9&{V{swA;mc8`){7W!bxCph*65KPUgP$1ctn|^%I!Fft18VjkJ>TGBAwy<7sL#Iy}k9 zS)bp@%o!dTnMqd=+MwAAb$Vb%GGcn^#%o{sgMc1UT!V6dMBwr_A`X)t;TWt%bE#a| zfqzs`)-=4+e1vz$oow)I#rgKA4CF*{Ft~sKrp6f(RkJ%=DcfHoxjIh8)5ox%)2$bW z?m#$hKO@{eg}_ znPqRw`Nq@QzRA&k2Px*M9B+o>D79W|84=Ori}-!k%MV?ma@_j$edXS4`U{vRy?D&y zJor;@gZ6d#i&u_ZdE09GM^|I0Ac2SdN<^_VZK(mEmT%gEbz_V6ni4{fO!@)u>|#Q; z(Ei>ojTQwxOI#>bKt5~SyVoCbQ40&V+#%DnnU?1s3ekjgYcpq1xrT@%vb8fz^ZIpM zDY*vIaY3b2F)Z;kO<}RxHxMZ(6n~wKBMOAh?Mze{;zEx4FFG<0Lk5dT@#OEC?(Uk^ z3j2~^^>A7gL6txw(bCw{lLs)Y+_vjel{vrBOtz1}?eKiH=Dw}SPXgcnwXfX z^X(Fg{eAot{8ReMc^cKu;yB6DWSyE%JO3PtdF4>hHumsOd=D;QN1A@3JE<9ML@?=&{uJI=^#khm@ z%$dFiJaHqJQa#(JVHs;bWFbazcozQ<(_%T?uZ&ei_*z+1SA{aa)Gwjs zzoz=@gVt1EAULbwv#v?CN#qAdz6)3+;I!kMOih*arS^HgM@;d|V-50OXq*xb=5ZK| zp*=^}GU@q^BMs~8=y-tCQTFj2%c{sNLY_2FW;)*U)#%4Js2ir&ZS)TZ^Y&&dZ4}Md zB#Wu8X8*p6G^`rTtaV95n3$3b4)S`fPxbqBPBQb37XlNZ;nzkD%My_OmTkdiB}`Sm z;Rtx1%Pt!zo;JqY^%1acJc7vSCmhX$yY!DUO*DIC(hG{g?H~DNQ}cZ7!Szs?5}`uh zmS1&5Giv|xoe;;3QFQQjG{)U6m;;t`Fxd){9tq*7!*Ah7Cb_HTGO=IVziE+47jG}` zsVCoZwW!kX#>9fCGaxc=8MTV)2!qr7hWWnxC3|FKn3nd5StXI~Ka{P^<_5Sk-p}&w z-Nx!m_P9cg)Pcp`5PMwKHe3b8UyEv+$qX=;^IaT$B5`vH8Nta&r|ox@u~#>gQU}P)12Lc`sl$@^kCEbZigR5`$aw)IZ&e4ZbAxK zmxRoB+4vULn5l zn;&y!BR+rt%@xS!%YdNJ)i;n9G@5+m1I{x#WWA7DHqB9QWcb`53sa+UqncP0of&Q; zCABGFST3m1V|+B`=gffRQYhY=bMezj11WklxKS)Cc4;qeo6YK5o}E`bIj~yRBR)`} zBDF7v5zNLGpD5H~5OWs>G}|+y5HFR@Om2XXo04z|E<8e-6Fs!+XxC{Xt<^O69(wJQ5;+D@E|1DFt+5~>>AFLq zDKE_+rb~Z00n>2OqNXW#wZYX%3R7hATu&#I9XQ;rt!-1@=c35^I(G~hT zmsv&b!GQtM$~1saoGO~6R>0{S4VFpcd1b5o?VoVw>Hx?aT6|?phuM=NnWY#E$FIqs zyCbR<5>8{Czlh=B(cp4QF0J7W7dP26810>Wm}rjkhW=l;<-@X#xR`=1>inWhdDr+Y z`s5kBpsDJZ`>t(geyWGSE=}fDb6|K98CWb0qd$as#TTUmv%-zN%*(|7e&jw9xfIh2 z%5BFY*)u>)*Wm<=PmBVKXY?5CH(qe zGrMq0k^i8vF%sgGAZpnvv(&&{+IqAq#fK+Y*E3I5ON-}q~jUOk9pbH%@Mz>Tm$Sws*SF6~2qMw1h_i@4Y^ zhbi?s0OBVlVIVOV(=%n$0&i683y3oVb)%v958bR!%fvQ~`!A>m_`|l1Cn1iBUI=bx zMcrfuYu`l`_Vpxf^K#zt9594#O~)j0*`#06pQ1&;%LKbytFW98coGc(Opv`QdB9{H zFwFT{TD?&34M_gZqG1Es`O|Hj?e;ZB<)gt-YGS|nOcV^OsXwFKBU0mWD2H}o@~&2W z*)_|9YC3n6HyDkAiE3e%$_NZ066ajeTSMv@|BsyCY|~`W{M6#Ez?>ivhJ| zG4I-`0^nC1-Sx^XEoQ{qat6N`)VDl{$_=)wvLxWW_8w(oS2^?QV09nS$YP@c#{xUUyO z90-626LKyrC@9b#JofSY>WUceg3Gxx3HqybSHFy82L@)${NsuuWYUE z@}J&ik!!qWdJL&wyfhHKru1W0Lv89~jXBZYKv%RM`p{>M^_E|D^rVZsL3Rlz*zz;~ zup+k4>rFhW_BNgBSKmP=(+;YC`m(47{PTOUIB_IC%H*HJhyDib zzv5c6w%NJrQUCimk>0Wz3Al=ET^KH`t%#2M9%>_nI@BtRP0p`uX!hWWh1}hncW|N^ z$0%i%SNWfAHY)bb@Y8{}ek(MW5M9{GBr`c6QULP}Z=)dX58K-n3Z!Ul# zTLX6n=xiG>dG?1VZ2$7}N9-I|?dCJYFN(_hmx5R=rpDz7>g+uV87_?-*cW9XKbah* zQn%+T`dcD9_-%D{mw;J`9l`oOHaeONTMunqSZw0;$^~?b+a)s0E|O>}nwB4fF3h!H zP&BVh6SU*B&J4{fdoi%cu;E!8PFv~o*m}qQ-U`FRR@ROa7B&%ElAS$y;kC3ZnM_wQ z4cNkG$4abh5a0!KR1~`DI0N~vb)0L7UeT8E=`>49O;#tK6`Ia&CMk`Xclc2iUF{c0 zP(_9tU{!Bm2qm84aX!*}8&ucq5*7EpWA;T!2R24V0-!P58cyYZGY8vbSgoIE zt?8_=7i<95yl3{N5ramtmMy|PqYrAJ_q{pwlG*y(Ag+7DAY)dOI3Z>^7U&fS5!M+_ z<5qDNfwGFs8mwZNz?+Oq!p~r$dVZPO0oPkwyvMB)8mTUkXm&dLsj9f3ypvzQ4YIPw z&qJ#-6f4VvOBOft;6DaVi77Cy)R@Pb5*pEFT9KZH`LaiwES-n>HUcY*psrjOFoZ9s z;QTDcs}dWsH3G`0_zcBp8mTWe*|~I*ro$$o#$E+?CUXSJ+;c|yx;+J7e;hf#;-m;pNUoXdSZ z&b&K5WhN;1j}lslP6iZNu`?^s<<%xl1a7^;H*BqUdnG)x$LTWR>bsRUmrpF&iOB{!Xz|O4{G2Ac6IG!L4mKrAO6Y;@e{o35Zdqz91 z)yx+hYL3Q@yo&g3i<>l<&Oz+&rZf6@YAcQ2N{mu=3>Mll6IDY@2o-UH!{OJ3icu61 z3~gTzHN2KUK#+)Y82HrT^J-?|ttJG>kQ1`!>%OF32G!Nofqd^&4lO@vL{nAr#0oLd zE$yPHH)Pm6hC!-3xl!100Tf#GfHXClGi*GjtM_$~K@$s08oXR9ar~q5NlO>g?aicyX7?OvAmj@}HSz`; z&(_aYZ4{psm7*75*afB=3h`O0@xXW_?s0`{K2Ex(%s#WuHR@Mz!jCw&6kQC0@GOOi z(G1=zrdjSM$$Z10wUY@65ca3!gbHQF(5qkV_UiA}8#HDk_;P$(0Y1GM6{|;aQxKly zpb1~!71Z5IMMd@V@0d)#lQMtu;NH*SAE7Y&;;>G*zfQ2RDZ_6-Q1j^p7!1uFHE7DW zVhivAaXR;*={phuw!Us%oQ7jq?x!7Tl0HP2eIKxu#?;~mLk!t=)y zNC&2glBX$NjJ~r-%w-Yntd*(4k99Fseb5W}cFk_2ZAeA<<3|wzf2g=vl|ESV&^x9) zxciMch`%Zdl_^|pq|H#O+)Jk?fNS8I`z;8IGzZ_E4yxUia$##Vw#ZCX zd_Ne$shpXa zfxfQ=rQacb#&g21PC)t#U?;V>Xt0kjkFTgp+*ZQAQO^ErzEY^R?RpGkiy&>QcA(>m zwfd3lzzu`s0^7 zND$+vN(5_g!Oq2=pmsam9Tg>SA0FRUzJ(r4GiX+Rvc_+6|Gk(R(D|%sk z3%ZSA=;jbV#Bh1Cp>!y!h&kM9R@3j2R_zl|NhZLtJR0y!!+$`4^k1{&Ya!&w>Bc09 zGgzzwO%?0_5y}%VfsU^>bF$z+Z2XRNPr2#W>@pom8-LTIIugB;E!3^ZrIoCy8>1y2 ze5iCfRQT;$^$()JalOe=G6H~3qhe*IH@-_a3-|9}ROv&cd7jdUf&gy~|4;w7=6w zOUQ%`F@To;n!)VNiqoTmm5|^OF*u}Ni^@~j%@)qNn0b}baCgxvP zcC!o!y0@HbNHj)hhVO^N-aS#ZGPx;=4wb2r$^7Q4VU+bhJ$J?SaC2bYBsLg%{g?Zw zxTq-lbMDYY&3f>M%$SYw=4?W4yO*|-@u~Q_7>J(l9+s2$xjD2crK7xK7|2L~*AnUe zT?I1~4ZaR|v6;6=DfN{&1Sk@(D3b9?{0XYU5kGSOc6hO=E>>TKQoHg_H7PqgyR?+P z=C;qZCT*(?b@a7L2|2_RAS>B#Trd=!8fJ&_6eLCs2YTMR7#`WJn9(R4#-NKhNTsvL zvUWXQE!?#h++blK&0{yI3IDip{iqwMArWbC)zg7M5@NxbtH!nVi+_oIvXL2&_4c$V z_7h^fk$;H({kv*`EB4D8-_t)%tZyxE9?~B2IZYQ)Db}c88$~=7p+=9j`ddjc3~G+{ z0(iuwRB?*cD1W!KV7KxFw^o0!D}~$Rw^$rZn(GrKln-fSEw2d0%lr$#O^b6$KI0>Q z%TUmVROgMdnvPq%uTYP(FQKN^Z|Xn8RM?*+W82OzQVjT=@u_j<3de(;`D$f z0hABuoM9gjI7^rI%LaX9EP|FP+I=kpWcs^3>?8{vUI>AUvB-i}hmECH zeL)fVL35nf`{`k!))Fu~VXcMmr#*+kNiQ=G1TGxM{h4IcOa5l|rPsdb<+5%VEK(`^ z@zeAl**?u0*hS$I&J#RU#${eWvgs-^`^Ao8|RN*OMbJ$@=_-j*u)cd_~%U$%> zz=1OCNUcg9Tn^LF8>PGSa~uRu{}~@&Grikcvwa@(ftldHz;my>_8WMRm?1 zRU42L9AzLPgRL4RUAsHD3bR5+0NF)GE`Ya*&t?*4^)*ev+Y2ChrNH42rVmZ_Mgm*&MO$MsODwU!48lVZl4oNUd0_%C5+XV(y8trV zFe*VB%AJ_3Cvucw{khT0`jQeletuoQ5Z4L5XImqUYTu>L(R(g50T$hZP#g7Y7pC}^ zc4n3Cae*Eb?HHZ$S{KGt!(qOT?<3!rwYL74Hpq>Rjm=@5c*{mu57Nz^4^SJ)=p+Dq zCm?4_t}HwMp;W8-!hqM3t*H^Wx}`-&PY1fHJv1^w!UhJ^#Z?TAY+K@C^R*BmepK{0g7{5UD|!JVp-~YcmWI5xL Z_a|lEMK_p#d@sP4l$g9|xv+uHe*?us6$StR literal 60162 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 diff --git a/source/images/integrations/gpslogger/performance.png b/source/images/integrations/gpslogger/performance.png index 94774be4612e564b0a3668079b10edc84d03e46a..81cd19f1f088f3ec11a5396ab1075cf937953d16 100644 GIT binary patch literal 152039 zcmdRV2T)Yc(;zt`aV2LZEIDUbvIJp)C5eErEI9|sSp-&s2q-9F1%V|?MzTc7S)$}D zQKBSo)nB~&fA?M8RbAD+dJFH(>*=2E>FMd|>4^brs}U2>5}=`>5v$)*)_3QcC~`>`8vCy zpwZA|G#dUZ|jmD6_aEpP-nqh@>PBvygzG1iyd;zo0O$pqP}1fRvCB^B)&0ikgSDjg+3U z>L0XFZ?dd*US4ie{QN#XK72mHe6Ak0{DP8_lKcWf{6a#!CCGiLVH5|++h5AFi%%+4=7CKG0eq_?eFS(u)n$Z->8lP|Esb!^e@70 z-X2cBxVMJ#!<=BwC>oxqrV9SmPB%MOFIP`HSGT{a{EOIMpMUZ9XY0J|ZT^eK{rvJT zP?)d%e*yaQ%fCQT8uOnU@uzryl1KG{l(H+-`zI&r%71E=wJX%#TI#RHN(osBTU)_I zYPG{Y$*JE_9#qHD;FN=k}C z5~`Ad%Hk3Vf=Xh-;=EM|5@M2-rCDfmQ_$dLg1gpS}+&epXCw~ zf`1f)e|9)(2zuB<)m^+`9&R3};rLVMWm$#(0MWN}c5{Mxf?*zDdtaE-uNM5GWc*WE zoxFcT3-bSo(&RrE|6OX}Vvphz1^%fJk{QH~9Kfe896xEGVN**vvFPJjwhhj`XP?A?r0A)KMLV_sU zAtfToEg&Q%fD+YDP?VVMZT$WtsF;+H=)XWw!m_sXvi$FWf11Ewx_Zyv)63Pv?++uT z4|D(H$;qDimx++Fg#H$%r{!aqHR~UR_WwaAg(M{`Z3HC*c~QzO#A{=T(rF1O>Q&N8 z3??BYAZjCI4gIsej~(o1fBu{8fAaF1wx_F&mye|fOu-g4n*KDzzZB%BMPOD^`e}G2 znK_N@U94SwJh}cv54E#&v4x@L0De~f|B4@|tIK1Uhu7acxmkKxqVx{c@v^Ko9vY|Mx7yZ?XQrl|KK^x$3uK z@&C^{_xoM>x7<{J3f=vRR)F}<>@-CM(03=w1%|}z`+PiwEll48+Ge#+Yb38SXRTGz-+`w= z;)$ZM?meOklZ2Cd4&wJe!a>JS#<{ne9!-C{fsm&ySX93uaz68YCE;_dg2H@8hpN=A ztxv zzb_(4YTDly4N~B5P+_p8%|9+g+uybNL6Lt~N=y3}1x&y{D%t#tSpUDM{hQdosr`%C zzp4F;nDD=-;Q)EC|3Uo!DeZrA`Y%S){>|zCcVhitv6khH5Yk)&@24>&Nj+=0B0Fm< zP93k!F)EOeE#jRV=rtB<9xKju?c{Vic0%SxwhF2fm^ND!+b&jW1Yz7r<>sj5uaY|6 zSW8A*^Hg=(?bvJ9$Z7o6EgGa28^B~D)_ZTHjr?XxKHGfQD=e)|Rv7r*Imovi6d6W< z3HY;*bp*jCITg(p&wexmFlQ!!E!hGYK4)3@i0od!m-`{Rt)AIQwrY2=-L$?HZ{D%C zXu;F@uBrb+${r>N$`#hTE!u*s-|ekB!h?;^(Zm1?kp@mLTqRHI5)8$3u5-4ewx_h# z>NH}9qye8lB1Ze4%hxCocXcI2O6DT^9z63cf&S7%gb;5S zypB5o1hc8i2qi$H{t_3s&V>uCguXyS-ZPE_6QBcjGV-aAi;s>bB!M&u`;_rdp5{jb zC4O@DrxIlW5ZTj?Bv)uflWnCkdzQ~MDled;ZJ+8^cLO%~D+l6^v+6tYwBu&FwNAa6 zuk0=xktxqup$73d!LBAe0_H7rWQ4Jkgltx~`JTOD`VgqF+WTRIdqZ{Fw(}0Ku&`_I z>ws}&93?;WUPPY8w%==2-Wm+*@PbgQ@6GjG0|{CWscBlqUp5|nilLwy4Li$}NNIGY zi^jfzJ6Bl|ts5;ex_G##h7EDkP>7#4t&JTZaw3JT@1JlsuPur z;`hwawG<(5i#YymN{Aqt0^l@!e@iDJj1=hPzE?m~z>qB|7~Oesz)sF6%^#sRDmc7y za_ZkC3p`8U-f1}Xzr1SkiT9&pU{fi{*r<4BqO1mmW*XXRSLoA94fZDG%|c&!uA@1UFUngVJ{O%t%bePUTgMP1dE zV>>hycMnYToH48WbP^BQ|LlRu*xEsCfLdegN-K25{856DWuxJb)l2U8wt-G|fsKXD ze!KA*&sdi?xYsRNQk(6Fa~Z3b;_!k$Nu#EmQRxxx()j@fM!GZcVd+w#heQQ#ciCYP z+qJ^Hts$fltQi69s|7jqbYWr4*LH^S0B?CxcG(9je7n)3bW!>(6((HYbsIB&4~wwg z@A z20U}fsZ_f%njSlP_1BimO36J1LSYG>VcUB$Z%7RC7?B+lUMC5$NfmN(JMubi7h%hY zA2T^O>Jom`XR!fCeT7si9SUa(92Zy7B4o3ay8;6A7;`w{Z=$Y=*gkdzlTeZe+IB96^c#J>!BU}Gp!xaZOhKAhS8xPM5*tuZH524D6b$i|5FR%Vk zR9q;=lS~E&G5UGheS0}&?A55w!}{!l&c1v;?nw^*{H$h=6K(Ba=dVg=9HDo+uk%Uy z%FZ-g@G$@uKeo{UU+^IM7?69NUyN0sHOkxyFF~1~T{7 zecoqg*K2#+lGuGtj@1fjaS+diSy2rKfg}~pOy1W>ABx=ya#DULgcWHLuLM|7xA|>b zSXWj7&b)@YtNoyZ7R3u~0_5i9C^(0b1^3MU@Fa2sKXq8|4>S35z|pPCQOT{MERd~Q zF=}MLdVGEQzEG4kuJFyAw`_cZ^HU@5Y;v0_&M5UQrxhg<-_wPapYj zgi0{*Lj+M>5ccM=U_|y6IV``DGE4tSg-IE*h4)L7Cb|B)3cEI; ze3&gI$}GT*v?1e_WLQAL9CBrZ5Qmfr29S`|h_AA&(AoJcHsO0YytdvGLfDZBx0p)189`6kb0I@U z4<6RrS|QTIfJ_Z80cX#nt_+?w%~#K!VH8rXRB~<5HJkm2Nn9kkC!5GOoHeKKcoo4@ z6oV*k*^>X-DojDIOSw(kngGeu$%%vL84SX!Y*zsRS8|ekWj-d~>d`3pp%YA&00vr4 z`<)#9&L^o}1cL4!n@T|!?9RcM`35&D(GZ3M1cpkkeWI7~+dJB#;&;h;Uj^oCh5N)k zehOd2x~qO`(>Iz$fh%bj|70-6qiV7~4pW2WOAzR z%+lwF-t4xYF1N05fUs1W4-*pyIE^9$2+XJl!7P=RKhV{xKJkn>-oaQq=N>Jc!02Qi zM<*yM^tq_`f{XMi;@XHYpFhLj$2LP?c(Wr|rPaHEDJ`bQp`pEtb!T6Y064ytR>iyC zA<9QFs&SvgOYu*+%H&k!xj4ax(%nUce(z$-@Q`>T6Q7YXZ|_2>F-OK7UVa`?oYeTu#BcdTi@ z=^0|R@J{q>Sq7NUd0ga|x%|#@Yr0e2kzs{mDYlRH^?^y2B}p5JXbgwf+T15f5xM{$ zlg75xBRN*ar|9G8zAg~fSOUmatPcK*brr7CgWeJ1WO~@q8yqe+hsVbnXtji_%b`@N zz+y^(WxFtOT_)YzDVo8A=sqBj1%Ywjm*3-qUevu@42`L$oU=|8IsBq7Q#*FKx1O;Y z^6AMIhnDjavaW=c^ICsWcBnNZi*lFa7=5~b!rcpmfctRW3(7*xnx2}&+eLnLx z^N2MGHQHn3R6MPmj(6H%eM{3mFT29}%dK41rfs&W?X<1i!asFH>f&$fYj}dd2hl+1 z&fB+aMG%A|T=yJD@eN)xrHIJ;V?(G3bS1Ud&LcG`5D_+)Jox%mp`=5-SMMou6W%T1-qd9_!O!YR08aURsn z%0zcJYr@-(%#t^puP(&gYxF7_5at2yeKH@mu%SE^wk6`4SFS_(dpU=h(v1ZH0Wh6c z&a1Uv71AeMvhjzN&duax<|@yi{A^Ez5VsHwr2TU+?y{C|O?eUSvE(_*Vf9yRDd|!~ z%jNYS+oP!6TQd-yJga-dpwucVTN-{5W$Q_h^qAp29%SC)!%a?yckBMFcw^H0&lb%> z*;dU{-pktN+V_vHqncn0LD+F58=ZOCGxct3GiT0p@)~pJZ=Jtz#1vI%?vY$Zpre6J z(w|=?I!{F5JIddiI#- zARUz%d5h|`gNX*oYG+YdrTY;Yo{V0{3w%Xi5+7e@tQDoe)rB8?{j!7$)HDkDu-`i% zz2?2Pdkxlp=15d{h$s<1QW(2Aj)l?r(E4SdYv`84S;e1s1;o(J>&%>I24U9R3L~&P z?bBpT_U3@Qo!>TuSDC z1RL}GRsCsIg9?{4$@kE5f|q$>KBRxD3MuH>K1HbuV?;R0BX*Y3{20ik5nI;GqLK(# zAMcc<Umd?- zZnyL;@x~S_-bKDTmZAzvJ1?ReDb#diIF^6TOB__do3bOgvhpc3%alIig^(l$NE))#~h+Zh_Zo9-Lu)N+LMi4`mj$PUT8)h3$P_r|vR ztfp6Jq}zDZY9vHtsAW zx9$4Eqa|k7`Hy;mb5JP6Rz+?FntYFP?cqa{%HT_LqDQ251Z#wcM6CtXQvUr5_1iWw ztKYp~+XDd~w1-lqnH4sWy}g?bUw7rbPQ#_(FO*woGonqmqr;_?^IYoEOeGd+yaT$C zgUJ`39r9utMYMY2`yKjRv~(1m7bR^rg&ZD7*@mUp9zOQo8OC{2RGe9PgL|0yLki9t zD+OfCfn!HZe;RlFR`k!av^izaNnzZRK|ML0hb5fof-&$~G?W#=fC$LABS9+VH5h25 zfQ5Bh7KGmAd!@kJp>T(c6gR1&I+AMH5L#aavp4sM_I33uR>fr=RyY*l`3A~S!;_wd zQxG`LKD|ogBttq$2A2mYa|PP5c3(-b`}&Eyh@t~pMkUvE6UoU~;whajXu0e|ciBvQp}*t}M#R-%#7u%S-ThDvb?24m+d0_jrn7kU=QS(# z87s}luh|rzEiTA)a~6I&cXAJ+=tb86Au1l9Eg9D8P+~!@?sEPh6ms`%^5Ldk=QV0# zXH9xlx?nakvj44RaHR#2`R%-6eRUwfS`XVea=At~XmGA)_egJ`8(X>XVG=(@JXUwz zSw~60)QHDDN72dq1uZ#C3+aV<*qX2MT^1HZB(_KIFfyFP7wkB)h1PO^Kig1Y$If%4 zY%{(LBZysUqH^(yZp{W$)jI;4P?)jWKC>a!~jDB2Q-T`{{L zpY^V{cU1^U#Y|Pu#_(n;-aMXItI9sYRy&q>w*g_6TYZ9sufgq5nc?f6Mf#iP+0Em zvxIX^gj8KnS?Y5}qKG$V-_R@u;L3z-w>$gcRaXG?wEkk;;>1F0)w4-`gDPOfoe4qXG84i7>2{sOO<@G)+p52aNQV=SbwO!) zIh?&`z(Uz@2j87hZ?XriCtu*~GHcA0OdFr>&0l{@qT<_^@o?&1%26A#XiPGilH5Fq zy?lg;4LRp=XG>;=nS?1Qg0SnV8Vd_513pQkLsYxF{c*oIn>C@4Ty%HMKeKoSy4z6S zvt|H><3R+V33w1n&3wT!$GO>U`s{Q8JV^Y*4;v5*sW82+ZmD`)mxVt0^v5?v5m7!& z((ZfP#AtMTiSAN5ps6uA3Ca(_+~4PiO`doF^-Q@jQo7ezSN;b;A%z3V!m$G$hn`!eGB3W}Ju*h$f`Lyo^ z8I&-1iHL}-^Kz9*JzgTOf-S`8zbacOwYNXQ3*)047L~ZLyn3*(6;=iy0Dmwy-g_;< zeGr#hc)?EkDU2e&c4xlf=wQTi($#QW%!=8gWwgw0H;R8DoLo6KFwdWq10w~#{gltH zk?Fqo3CVo_;FplAaUaLd<=#OR|GbD!+zQiUWIhyhmu6Y{rMOK`+I%jQ{Ic0MJjGI`Har+eZw!_s3FtLgab2`2Xeg09 z(GN{#xA0=;?)E-ry(-E|T30Q5GB4wHfgx#+c9sx8#ZlINqqoeaQYPbf(sgkD#GVQH zPF#~)UUObC2)n_s%S> zu<*V(ychQ>&yI8U>FHpC6@@_&iv_cdhz)m135O3&{;Z0FqjO8Z#&<_TD?lSIk;CD) zfdCS-h7GzO8t?f7)SYEBloP|}_fPg3JUm^L!>QGYG~Ne&D4SlQeT~N6%Q`6myzgO|=Aj z+`(PJhzh4`D%l(g97!~=j+wRvHBG*6Eay{k^2RFkZ`1W>i;Kf}py!9~Subk+f9PTW zjhWDZD%HKW&U_K-dX|0@%M!CF_Y2&dZAl1p@40OB zH381gHL%Z7Z0}yDOi}#p_0vv#v?#+zv;kRq&j?Dl?=`tie=CcpXQI|6w~CMFnuuI~ z_^DqBA!NBoY2RWoDIg{%$Og9LEpogPAzSa%D8^sJ#V+C;6nh+^^&TG~6#ou*y{Ef> zn!~XU^w7S8z;ON8I$U6}=N6x+{$hD@X_jYmFHYNR!_(PF$s}|bZGRv}%eanb59Rp@ znhsv)t^19rXLC!&W|OQWRlxg3hBn$t`hD1z*E{cUik@Kt^e*1&W_3&#ZNJ$%#=PUn zC%iz9d?bthfL=Oegvo_PmzXnM>l(Y=^)gZ4IuHBo%&&=Q+As!$-Q7Mqe&4JeeLXxf zWg?4DM_J9Ue9$vFNhx=5pI?Wkpg^TaxI+_ABFo7g63c%%T0QIE&3@&11r5%wL05Q* ziUzB6gp}_;7g{$c7AlPYZh#xlJ*bNob|v`v&j2zwO#_jg*RMaoo4teh$^(bXd!DfG zS-{t6GMa)$@K4WJS?8ZccNNp_1E~mFsAyJNZik3B1lyWWn(@OSzQM`PVjGntIFQ?_ zCCJ?!j+~6`r|TpyyP9&?7tl^O3c#fcF|i@?tigSmm?{8+Rf+gpA9v$N67*~P^+;}q zqWjHrm5|CZ@!3%6nv?ZBvu72wN_O7=@Rf1@$q>lij3ShvQ@4ZZ;<05iaVR{b`@#3g zt&`j1HCom~2koIP9d}x2q%EsX4Xw%7KN!V*CKttLGAeAiDL}`0l4^DbxOesCVP~d8 z|Hkz{fl0qLit%5O7PkG;K>@7t^xKfRymx%vK-iI4d)eS`oEe6o{j^6a= zGrm?Q(RUp?n-lPpoW&vrL~qdz?>*#t-j^OFVIWsU%J9*Ge#317AA zHeKGi)BMxVx5(Pw9&0$zsbRItP}@urFd}`sUU@5PlNZVvfKAu-O;ngI(4F*&@vi-B zQs{Za2?;)lV#9fzw~a~Pyu)8)iOM(^2zEBh!ZovcG+s^OM^!efY6=uc*rR+khMu#0 zC&?`Pvlz2nYHD1tw#cI|?}F^b1;c4DX0m5&S~c~Uac|N5-ZTcm9H#bX5rMHOJGXUX z)XHEI*N3Lv*jYy7cP^Ud(N7lCD~#`z^+uI#M4ODJ5o<%1(UAzcs%6bxnxcKTaWBcj zdis?nXkxU?qd;rUoh{Qw zatO*tg2;&1t8!>aMD`B#5h`{s0o}iQNB%f=%%m65P0`{~w0PVI4~0{IKu=kZOmsKe zUw=WrxU5lH*r?}EgKD^Gi=(xS{gHMnRE~mYLXB{Z{k4!)xFQ)6p>!J6mx2}kpp3U4 zia9YKv>h&g6NUjne5W~s-&VcQ+F1_?|xJLA;9<(Hj2 z7p=jX@yU9JzxR%?`{%-!AM8w)C;DYDfJ)GL67tDy41kpQS1$>9&3gtpqDX{d?A_=A zNL<-zx}3sN%7lKg)5KTVl+fP%m^by1{6KnWd}4X30o{f&`|zyy)uiq%veS~NA&lY@ z`vBjawv>cdv%`-7v*&)JGxH;%f_x7#5tLQrYn?Nq)rY|ObvasL+Mx9foa$oNu z=Xt{NEDo|XKSWmMPy}t@0NIquCcGL`85#&2CHQAvzP&&`BFsz^yC6W@iO`6#nT>GzO(UtnO+msIIrmwlm}bJPvF-uB{CdhY;vJ%99-GA zu+tr_k=+au;TBWhjeZw%Ck99zs=?TtzI3XM#e$l!ISUsl0lcls;7Ch55m9kg1$D0+ z4C*YJH}HFJGwDtl+SA1}LMsGa`)e4yq{4#Y29LcQd{)d8Hz~5AQw8xGumZ=7?JX?Y zLfGwOcwQ_xD`KP6(wr(ebmncZ#FNuznw{EK>8QJ?fL3(*Xx=&S`&^ZKdNWRzEVm$u@iX5#913q5%|15KBk46ei z7Pf51oS?PZq${IT_+Vz|O|x=j>}eY+lTnbT$HpGzhinI-vgEv-dFc@3}OoT$`b?y2_-&MQim(~{(LO{e#Y5JgiaWwen zJvsQ`S|w%B7xM>`0z&9BO%^-S;h;{7kSrk}<76}_GByY8%iWN2sJ1o6I58MbsZHzI z)K0e$S51;||4zC6mOCFj`pj0f_A3Selxo4y0s>+Cel7QWp__y!z$t&dJkGE8m}%B` zb?$Q#)n^8&l=s&MZEFR{x(K2b@xT~Q8fwVZgqn6L8o=($48PA%eD#*1vbzjF{DGXn zdhQ~rA4#Dy0z#R6q zK}d6%!DN94?4cS@WL2<$0_*t5MgYZg^Q6DWu)uZOl!a~$RJ~$Z1>fHGg0c9{ z3f&tC$-_5uS`RO?UWAY|8uARFArE3Szz896spi54i;g?Vt6>!eU_*s|?2-MGmo;Ad zG64g&ZjlGf8q+md3`vd5tOd>aRDiOP!}8LwFwa+Ixw#gv&UXybf)s8ef#pLxdayii!T&Mr^0GklU~u_?QJ;J*-KzN8cbPQl{|_^EAa9;)+fuAc_kMX7lWAzQ#_*Kp?ApA_&^{|(|m%FHu92E zR!4!MydVr6$Q}p*b4A%M#Ho|M4d;IzN^0{UOm&1iqZw06<>}d1Qz{-!#6643V+?3$ zW|QR)^;#cmW%Q>x2c>24`33C8==s=$&Noy1aW_ ztho2t{2=#K#Rll%_5=7Z_L__2V_N5`K+s+G5vI&3pY4<83|)6-Qxj)MAVqwKuf@8bR= z_x{VS@6~kYEp8j%kNcD|EsIk^`e(V+kzzEIZ^Hgq6yjT4pQPm%1#}&~?96Ihf{T)aNuyilWltIy>4IJdKa+r%X>lWvP(h6?n*CEYf_# zxpUtK_Z#>Ts|;jD3df9^G7J^HyDuFXvdiG*sH2Dh@HhFcig;o6P*p3H;ZVy}e#2Tk40U!$EjEH6u;y&2LZ9D5SS)32R9vn7R_?vC;6mGpj{0GT2p3Kf_CI|HL z`aCVZsV~xrn5xGOx?%1_VqIozacDyzEo2Mo(L;TA+3m}n2@zI8-qJzbvs5ZZ3-7>U zoeC0%+SZD%Jky_mAtq-v@?L;2Vv$-$cOpLU)l3Tg#ySWuWo2|m%0Z>FJy)W_@$#-f zzeseSppZ7`Zcd#lzF#p;yC{ZAFk)H!n)b{^I!(;T?Kq1rt%8|#Z#?A<-~JQbwA8gA zPSWUG`0EI0a4{=JO6>$^PxhA4Y%6Kz6_)7rw+z%I)j|LScDl7|CK*X{eaxK<*i*$h zzU;pzFBR!>5|Bx)G`t$qigpf74s!p-u0_BV@0Wl+Hp?}^9{HZmU?}5}*fQ61CTovx zYJcQ}=o3IXWX3ceSHfa^OBKyY>lz+Dn0U|pIC9ysXgwNSQJ~DRd?MrBKELsluEc-Y z${cTru`U&mvgk8$A422(wZm_u5Yv&8Byl)YLq$m#18{5%^0TTT%_@sVu zR~K|_!9WPDGjw8#WX%+2dih}~G0$n|8JBjzyD``?n2eHZTqf}l_j}Uhh!8@$w&=*` z9|33p_%gOeA^D{52Xbw3n*r?*AvtU$eZy-(owHR15+vs+Sc#AaZan>2TxqTWU@ z>!~krRBBThq39=HjFzGcMJQTks34Z*`V|gw^ zP!KjOWm2e;f37j;(6DP@XKuOob$pn@LaMgL42Zqj0g1zbil(lVW4#k=`8%*yktUfq5#q4uc%S+M9I z>29d~b)W&YCj;l3!;zS7S8GXZc?yft*zFk-X!0-!mBz=x|Kf)hH zx>A6A!Z)dExeH(KRyQrx%LKJIKG=V`|wSKp9y2=-t)!>xfsSZK1gHAzM#- zYi~Vlj+?~gvq4)qF{fUAC3JP9NOKgxXX_;EXF#Mf@YMWQ6o?4Ih-!JHuS;=|g7REi z(WGqHNba1ut8UP2_LMct`p^?A2L>edu8$BdHc-^;niZTzXDN&hw7$sAlTHWk52rB( zK^~fupr=Sj=I*O@G*x%9-hxQaz$eQiUx0NjV0D=+slH=nG6A}$id|YfOr6si zD{^m`z{{TSUQ#6UtIv}GT^ylsav)IX?j3~CGA{6-m;`j;bo8PMgx%V{xT*YUOFGv; z6{Mn)`IsBDW~jdQN%>*jVQ<$Lqv??e1`)Iohg4;wOP~rdF|3eE>s=G#A^1m9G2&aai~;*& zTX!En!{ptm>IQ9=V}U}sGsidc&&(zHXY$-%0(Ltk={F!kw7Yhp8kPJBQ6x7#LR1s% zB?OVZL0>^kX~HSBHDQW*+ve)%iFJV=eo(^BN{pr7lfRXaVt(R|wx}!$5xo||0IEJR zkXl3Qj~zTVj`r-o3?3(deC|BWwl~!G;m4*bb#O%GREkrm7A&kp?!A*D9cR%m8o0cr z_mmh7$Wdz3A5%^Se)}$N1-|tvAh?5|Wb4&Jm^8wL*>=P!HWZGvxJHq=+3~SlS4f;( z2ZAx-PNWmN9uh-$mT@}>(kv6K(36;*`5bL^(<9+|St7KbuKGdGq}*nPE%dX?53c!8`UA}X*Xs_LPLcpaRQB-}(E%hLOKcqI?%UVYzr=5R%mv%tiY zvmu_=N&?&SOFu+SD0yLK|6McE$sSYr-4puQif4H~QwjCWN*!Tucz~or(H8)oJ^DX4 zXGl@I_t}ImOPE6d8VsA?{GYv%y4{%@Z6mWy^#GC_ftHfC&De6zpODZ^0$Jy;q%t&m zA*sJmcb3#);PBw$j@PZ*IlAf~6?NBy8v%!hD3g6sBQGp#R}?8)VtoN%1iz&KSZMUR z3nM)Cv7Vh;Gv|KuNR^6Flo~cFwV7SfTWAZ@k(`+q<|>m;`=0l4 zkO=Y}>N7q#{48n{kPJDAYZy%T!8a$K6y6JG)mBKuv;txG+G=}k&uykKb#t85nZ0YP zky6|E?&*&x3JOht`@1|sNf!AInEgBuf`)w5jqO6gtdo8~bg?tsAJ+SX2wmQZDE1-} zgq=iPI@>hM`-wwVm@sHL*E0d%>#b_1F(sMN#2lkY_y7Ebzc87E6 z_*fo%+2S_p+>fn<1JoGj$3%S74YaBaNDU_>xs}jad`-~3q0EhiP~22Wbk=HH3+PnZ zwvTvW>DK=yxGXgkuI;;w$^@W?QU^HnhQb{KS^JNx8>Y#@i5Ik{P2U&sscd{0m@4s5 z(c5WudA?m+`gtO^3vWk2B;5%c&G&sbLL?zZV3nsnJOjtto4!0u}0^|879-)5-r94 zs2%eiJ5eP~uTb^a?W>YJ`-BSqhYo!~U@@7!XI~#c7RW2zIo5RF9(1fiho{Bu@E}^_ z)0-W|%ea(5+OoPPERqH~(VS9bReG^^o}EpK_ykfGNq~x+bssNtk zB17S*)E=ph>(6^`yoBWeJ@AVLd!P$?wknTq>XKlFr00y?O ztZ%Q2x7`YVfSh_y!XLbn=V#<}=8b4)Dt@@46MEhe+N;L>V)hbu>zE{YWHc{6Vb>9r zHNx_y=M3lgye!^g(`dypE*=$HUw>GaB+1VT>kT8&SW!n$L4|Gynr;o9D}Q@_KT3z| zd;HZQ4p_lx@HJ}+UT30XjiKz0XMo_wr_>pjGSmr-Di?B4bcy8z@g0(lE*O>$GP|BCI0e+waSH?P|LI6hz;fZLAVCu z3YguZVHVJ>=Kk1A+NO3y4HvSm+CBOBG@@6mbo(_dZlHPf>(kJ&Xh1FW+jOXliVk3O ze`(<&is6mVeuy}$Hu3ECN@SlQ&%@ib>qW8?1J2ZO4v>i{R4`1X(ajWP90JU$sS} zQZ&UP*$mtG9c%UrU7Xnj@|596{w)%ZUq0IA0XzX^*!L$~{BYjcoT=DAi>C;o-aA(z zYjrPbp3@y$=DvOSLTEj~?71S@VgZ}$*zY59V81|6r|Wg@op7uH(3@Ju=Cifkpl61q zR)}v^Xesz(at8L820TRvH}C6V+8_NC+KaY49`K@wHXz-US+Eg%gZDGOz zkG2xl3azV^J%2o%MF|dL@n0VGe&rv_R+9^JTXj(AywR+!$*4oC-|w0I@ZGzl3EEtP zSiY6uMI@0k>3WENyY_TKhS!sICxHn`6i2IkO+bYVeEmMpaaeZQwM?x#7U&Y}d+yLx z*u>#9OHv~3wY*xg1OLqU>Uon~88S7r_fs7zY;lMQxVuetfwaRoe}E3$lwLg|(iM7H ztTpuMb+jxp(;rt@stK6loknA8mpN1*ur&*i6Vs4uo3rxmd`k{@7x`T zy^kYW`o1RacvAcB_A6Nt(xUiU>AUEl$mGG$&>8gJY>x}~#c%f^e1d8$D)HepL;>9$ zhL3uX6_dwAouvzaM-SG87xa30O6>DIG12HK@cHf!FkBB^gueig#q9GUAR)$B>5ZPUPrXh>xp)*s7p;z~y!I|e~9~jSW zPge6ZV?7WReKl7Y!g$bGoB2usOomgH17N zO5rZ(7_+^51kLnEDE3Y#W2T@iK|Y_EXY3>MqY>Q}#r=`{vl9|~uh zkBz7y2Ej6)Utr!n>I{QkXIdt}=Ty7dmpOd{?M<&Xcvt4zUVPKBaxO2R!x#D(iON!{ zy+n54ir$xNc~u_zBtappS7}J1?Gg3RcYrr4ktwPN6=S9NmQcZKTw^tKIM%dhS&MaV zJjM2&z_McUGA)B_Vz9TavW%et$DEti=p5c9>R4XVD^v_tCfTk(;3_Sr!v}RVYERPJ z&|L>!G1immv7U#+{FXBNZyQhMI3SF%2qzaZs1JEbejuXz&FCYVw1HVXb~%^o-e7-{ zB_vE&y4~C*I>U<(C&xm*n{vsz`Bdg8z>1^&q(~9|=J-ezbpnhuU ze~4}>#buxwEH6Y&6PS|!uHPm-{7h$G5}mvxJ;H@Q$Abaw`Q2{ zKa?HgXY)PKzS>5`{NFGz=C|BT-IkH?C?IO3&kv@XBk%8vO~wI>URgfN1-u;mOZfTJtyC_iHG6%tuEV8w`GIo=yq6* zUMH`N*Fzty*Hdha=$bDXce09ppJf`Y+2q&5PANHB6w=e5#vaFcIC}gVb3n z%gS}Cdu}!=%1WYLz7Age0)IM1EKTWX5Q1<9^p%X#acCeTkSDV!_H#s@UT=t5mGgP` zFK`x~d!6J-3aU%ti+g__O|H$6oM8L4%tNKW;z2m4nd~@F#}GO^Q^>qcy_m<6q2|j17Z=C9ZNDk; z;kkLUFT)=Bh)vMUhoR*cw+n7{BTcq5I|pJ6i(BNP%}YJ50?4>g-Q*iyD`2&Dsmnc| z5RYR{&A>#7jK+DyS&qsDso9hD6&B7fu5W(ZR9RBnQk~yYTEcdw@Ex_3$eDC9rmnWS z<@S!)z?2P9!7OwW@u@C>6&iNUl92RHi`FX0Mz!eWgPU}geP!Ms%)r~ml5ljQ+f5G$ zAsrpbg__1Ym%8rzYMsqgG&yL$*oHzl8Zpt)Px;Eo%CEkmjjA-jY8c*3o1ws?cIIO4G9@_LHsR^%?0H-rZnkhvI1bsI>rV!E>?R{qQ&oI z_@3GNk+Gnn*ieFFX*_4t`I-%GXOZiA74Y=#mtqLj>vWZYhDqq82D1jdY5j zNVkB1v~>5L-1qao&vWm6?DyCH_kH8wSTtiY#~4?f=XqU|4JYB0Xz#SWb5IlWQ#He& zV4aFue?ifsQL*~#VrI&(?7&@6CIecg{k7;A&~;ZyKVI=y~Zo)(~q_F42N* zc8QJAy7f8A6sXbtjaum>z{qNItVO?HqDjw=7Rb93JZE2)(8|i3NFfK!INoDQZ+Ntw z_D+vwX%1Kh+G+Q1=cQYGbxay~j|pHn=_1|JrFZsUYff`M4Q}*U@s_=hvq+%#_`WJ~ z7#|q8#J-kO>G(%=_%DwPS;Imh(L~ZclgpSLE;94*Y3t`U31oBYo3G{^?RS4g>{~8w z1mk}?Mw;}-9}q+!TH)}L5@j77VV390%(mMfkS7O&+U!sJbss~q@bv(=M;kAuw-`rf zB+(E@=Vomalx}!e^o}$bJ6%@!4HUNW&ABqK5>+w>F8WBjFra{g>-%%uqn&U27QD5+ z?U;(cz`wE}wLm>mNE8lJD0@F;`Cugtz9eb+a)$R~5@gDbF`k+0h;{E89TZs2*4Xj~ z6xFa9E9(4XcpACkcct}i0(}y9GJMh(47n(YSHRAl?>Q-4Es%G-js43o8-B*f%9cD}42O4V=jPDo; z9;e7hjLm?E>S3_y^D~5QZK1wOh3uMX*c)XOr2JlWbMd*;>6!%T3t-i%M>-H zh|i$_;SRAP`GQzmeUH7Vt((^zjaKHPvtby3rN~#dsm?EyvnBldn0=2D_oKfaW!8#a zqPvFqFC;YHRua+IB1{z=wI>#tQ(rV_<1O>iRX!uo89HfkKURd?huf5e4KMwkWv^5Ud0wWS6Glx}c~+tcMKCU-kP!9#uo-7TL;%~D zYIjP5ISp4}78?a&K;0&`w-p5U(0DIE@U_&wzXTnPqbR(PLmbc^6?xb${MPqVQ}66; zgzb{%x~9On-fevouzZ9V;ZZP`<-%Yo6YRxyo3ghEl|Ayy=_JX1+D7n2iQeFG4>~mV z1ooqsd^}H;G3}9~;D6`$z%E3`{vbsC$<)izKYbd`aRc`I5Qkrur>sy{#;9n&NL{`0v-8fWK+?zd!rGug%RLq;$hkrOw(y;&q4i|LrY6 zYucqB95;=tbMYVjUmkkF_*@~S%O_WN?kj*D1D^0N4WA$1`bqugyX6I!wTvobe`FCx zyo;*lFKwL?FR^pXV!!_%Kj|0fb#8pQwxgF1qSd~rig+%L?W;iYzg^1uPFdTlh94n6 z$q@(tY*zCWniT-)>*@XX5EzOI#wPmrKp|oMkAcpi`tJekvHuu=l$7t^18QOU9|P9? z?+JP#;nDvw{xKQRKW6*KWUBv|?VpnYY|8&_vVYF@KTO8@kJ``y`^RLK|Np;6 z^gped27pvhP%Qu8CF?sla2+wD)l`%5A1$oR)Ps&uJ- z{g2R*Pv2j=zpK7D3BL*z!V_-G>S`{A=>tnGW z^#z&bXAuIst42B{*B?g{rGYB>N31@rqxp5YvCMapVq%naMD=SLN}{c5=3{25;)O5& z-e*2B!7)WogR@C=2JWspNm7^OPl?ktQ`Owx>|)>BqoSxz_>4u<<(>(BOc_pD#8XZkV&37M-^`$~&74i>INae2me+z6t%bJ=lCd#xw z=vO7g$KU>`9frfq|>9c$$H6iwak`Qp7 z!Rhj7EkE$i+tP9+!z>^xIT?v$962;8?i}`eanbanF;qMvgoB-3)cc4TlY^CYeOyCI zUYbV2r|#1yg6)?kiE`2fu2d~zt9O5^v(Ry7GmHie9G`zWRcQx zYNu*u)XmtcWqX8t1@rfYhK5)&p2Zf=;mwbU|GIZsXdG`_Ztu%Zwm(#*oZWb6V;UJ7 z3p>r7+#CyoJUICSSTwi>*}Ukp_CZIhF*=o1Dyy59t&UW3wK-&E#2Rp zJ4{!$1>U!l(%Gx!jE#+%`W?!1Vc-<((A{o6Z}HrxrKT>D`G~^7MGgA0bi1%5ZRgT@ z7*PaP>F0X#$@bf#MTDtg> z&Z!@_7s>D>25-~l{>())Xr{E~?JnbJmZD?%;Ak;$71DMy?|}=b>WL$&_^hgzgMm*Q z!a!C~pRN8+hqvNI+A?v5+jvU!j?Xfep@3-+x;X*D}0AgY9;xb)c z1npML=qhz4F7*AnQfhJGt#RVYEjE{``!dgHAEnZyhRK3h%Q-43A zdoHm(+P^-ObAM`fuUj6`z&~REkpzQ}8`)S`qFEp+Kp_TKJOpj)Xzg2b|8swTf3TPw zw0TT+baHxnNBNcgH!N(OAc)|7wj+^kqCmYlD+h;i+8b~0&;6aYN&i~2SyT=LDm`@6 zL%RWCZ##)sL35uvM8?ooT~qToO+{(zra$neU+VsH7?z0~aIsmKxahSSA9z(7m_mHG zkssI&gF(3TQmB-4wU+Mlk=m}dKX`a}%*{0~I3q&6HUjT90s}6VBfn+vn6-Kx#!)=& z)y~c^^(m{a=9|!=1sd3bgXwO5VZf5dSsQ1}=)s_;kN2)311~U$b^QFqb&e7PZ&s!5 zkEK*FBvW8@7|*><cU0tjuN~_S4 zlPB%%@9v`M9@P#@%1RfgUoPwiG!_;0f)B`$((~_cHX5B5n*FbZ?sAfogQtO|1${z- zMJ?XVFWohK_@Kh!1RP@bp2UEY!n(S;t}baGLV`}*FapIl>)&60ele41B%wO(DaFBo zoo`b6D&AQ?1O}ps2FIeZ1PeT#F#8ZDd_UiDOO@TY^%fqs*?t)B(t6O1D9eot&qG{Ox5#1NI>*a!+65s?lTX?26)$WZ13S~w^SJ{iH@-Nfy9hWZV|-t8;S8{-`SyL*fg&drVABgX65*<_JUFnRHd>WX~q50p)#j@M&C#zj3cobAO*g_j{`s zBL6ZB&!FC?llpyCc8X{Ctl3G)N5nc$Kf$?eLnnLBAb?Z-{xmfgE^kzfAR#sL(IfixUsM15(f;gz*u0O!PxgSY&KBezrWj$jg1|;4gp%Mp$ObQ#=woi!;)uXU(?Boh(OnLA48yE65ERgUi8qpw{$W> zk*sXP7~PRV8v@mS1#|l__&E!#$I~Yj`Q^-eE7ylCOD{x1SeT=%Ycf&Wx?)`7xViYG z-tmcUSJwayYX2HgJ`_N#WPO|2Js40SpUybpM^gZ&JR|{30~<~y38!9|k-3=}T>)|7 zJabvLKK_Z(n6~HMPo)mP#l`xF#WI(3z0| zv4SKoR)FhDFIL57H#b`xecv1r38(K(0VTvNXl0iJ1#B`YM<)QINj< zy*<|O$=--Tv9*nj)Chq$>#7JV#Ozd0XdpbBrM`Rj?fpTdl$_JW@vv0slCa|pq~(W| zgf*Nz`cd^}PyCwH`Oh~-Izb^aau^}qR5B?YpZ8eAjypNmhx73}sKvdKd~BB5{nsJk zP-+l~QtU$0YbGSz%@t^>ObQ2`sc1oh783wePm=QRUSt2@e^QBQ@5?HQoQp$5YT{4? z|EMbFML;_(c<_{wv&5_?phj|W1RKvPWGC@*qCx9uW+t;|d2@HS-r&*h4mvtI5G=3| zke63e{GFnpq?@U)`(h1ZZyHxuS68)PaiF_}2bu+3T3@UUrgNq|ei@*nWn%IOdxh@q zAhP3hyejZ^r>KZoGxAyB-3?%whTn^7Yikpw*k9aT?-wp!4!HynrJ1B+)Z;Nst-VCm ziEEg*8OoNQi4MR}%cV|`4|G5NzD6pK#If*fzcn;`f2La2VL*2D3lzG{zOvqOccA~6 zScn=hJ%HEx9bOe5rhqS#{$LhugR$EQ<(}I}r*L-ct+yqQzMNSLd!+OAldAmuT=dGJIla-mqhJ5x_yk0`%0Nz;^k z`gHtNZ5PwY#e=Ww{)AM3gg07oA5SH0K37s)Oe5+RhDt?3;-Lq7|DKw1`G7}Ocwskb1$f! zaXl?b=1^uCR){Lmvbnz>c@>mWkduo778Rw~3x3vdy|BN+Q>va@)4q#MiM6(6{MoHo zD5vFe)dH0MVB__Q00L@1U)Y7V9!)?lge*u98vE_PDaGmeqJ3oT3C|9XDO+0Jg1 zgjf#?)jFZ3*P+5D9P>ln;umIc5@-?KmAE{t;_g={ejI;&Y>8P0x5;C(;N&J-)R4`Q zdWD@F!aCU=FdObiWXc9^#&l-y>ocd!=d4Io%T>Q=f&K=8z`4)AJ1JEV_5Sn>h#kez z@7U7Q(}~3)!h1qN-*@L59iB^yp9%-?D?dkp#oFVvX>_0{j-aVSfXrv*s*vUQ6k{z> z$!)}xPf&0YY%>bn(7>*pIO?^60nqjR?b7|i=IaZhPLi$nF#uHcFaVVWHiF!6poeK^ zs^aNDQj`zw9gp8#@h2n8YJ56LW`C0$t)#o#xI2A^c9%U72j?pmiLu#PrD)>Sm6c7;jBjWnkwtvK37DHRT4=ODsgb{E687 zX0xL7sVQKnZf;AZZrL{zjKToLskmmc_=3wqGa9_`Pbye!)bA_2ZAvHoB_U!YItHu@ zxmaOm`Cj(2KLLnkG_tMTLq)#HO?!j2RSPiB1CIvS^ebNkv!jD>Vb|^c*S&>Uwp^`! ztDg5kfy*A5Q$((4t%pOxOJSFIzsf&<{#;p!w{8bSy1Qr~r`ekDa-_r_Gn+D0{1hRn zmtW!xk^K+*$gE5vAZW33ZN80f&3mqx@`hnnHMO;x{7~UE+zQRPQ;e9$!OHIL0*jY9 zOE>7WJRBV5m6Z`_PSz zh-s!aeszWV1^f*WL0C{>mhv6MTQ`@-CkwZW=k1=CN7fZm=r=iedEDzOA|Bgm4PdB< zBGcurOQ5l#A-g5Y1RI2c(F~7q@E&TL}Hn15|<9>C2 z*Kv>krvK$=@WN({oyos3U(L5pE7_}Ozk5ElM`V($mx%WI6?8SEfd7@1|{ApO=LsF%n z4d)S|uX`|h^xh+%frI|hArm8LqvQU%qgo#1!A#i2bkH1$PxrV6Io)58{4%py_W+WP*7EJPN_BFXlV43G!K z?oOvW?mTR4N|RGCj3$g-+T=O#UIaCpS9imD2}tLfUKh&WYE69dc+FK6yD?Fw@Q@;H-@LAJRV7MU%-;QIp~Rt!(GrhVU6LZF$Hh|oq0xbbg=0K z8LG9!her7k#=)WAo9v8?ArqcIr_V8Id4Qy1luFaRxkQ@I?*K`RO0f*ZW1h-hbn3W% zHKARzyMJ%bS<6X!KEm6I(e#4T?zh0V&B>tSK2c1fsjtOUb20{KzXSJviXQ&R%cI?- z9ORH)dECMyES&K}cf=~TljP2UIL{zkZ6z8zjY(bBAW&`~%I1Yp;qxS1pZWqT5Not& z$j#OSSvDsu@owvm3*L;OUJ%)j>%#D1{N23{Kyk2sDcrkse0*F@09}Bv8c7GUDu>5`y9w1Y^Po{xpqK1wNFL{Io< zfz)ffFBP1RhC})*SL$*=gIE4>J5C-WlR%B>_&eA$7TK8Y@Bcy#(Kr;&H=C_H0Ecx! zkFeD+AgvmlM<1Pjyx0Fs~x}jmCrt5kP7#t3_Bx zOU$N`H$iJj{ux<24)alKR3K`UU$ ze8UqljWa0}JviGDDAn%#C5~e5eJM!C)_n6-37cK2*T4zRD6!HPtJ`E!?uFCm$Q*}< zhpfe2+Brf_@SH4BYsn;rp9mgGYy` zkhw3cuo{aV^fK`7J69--aZs9{aDpaa0`1^itM~B%Izq^s+dD-5mY<>rFA_zr(RP%v z%#sz3Q%LPZj*_~~0PPCp$HnIQ!T$#*^O->j>2VY5i;s;}QBs<1_kUK0=5cboFaI zJ8^?!K8vvg$SsenzoUX*+1^#4)koKfLAhT?@=Hi8*gi9?L1zeW`TRNSJ@{izfHXrU zE53xG#|IAQ{2t>P*RR-0_#8o#p zeoP(ods$rF3H$PRIw=@^6d1z=o{6PgyBp+6r7visT!(2q=If0Fy^^t z4^H-w6ce?PWsE|cmn=w6UNj~30@``bvQy1bG#xEYs5@hX_}f334N1I%$<6e(Is(~h zk9}HSucDK17C)PyR2~hFy0Lh-oV&t_i4$H5?vVh%Pb@4fVr^rb4h#3b{(kLE-d)A< zS0%y^WkT|kOaq-DUJX?C3Mm0?UJwc+7?}eC-zwV+3Y!~yk$Pl=?B;uWI;}(xJ$4B= z&fyhm2f#caX&Dfk5KFNB8+C`l9d|MM*yPBCVj4)|&k~E5mSxq=UPISiT{4A&>Ww~X zR)>a$TK=KgG4sLJxB+~!PRw>83)GTX*kQ}({_gg7=#JZGx#G9{b^@X6=L9Z6lrpk% zZ-{NPla)~gAFRVc1F#KpT60lPQ}b`EQm`H^2M`dK<>qD3+t zHCH}ubJn9S^HXwv0F0pStm|SH882lNO3dJER8ET+@yF<%DPnlFxH};7I2mY?Zb~|2 zehyb0K;y2u@B_?K#G;W+fJ*crVN%5sGwERLg$PLw5lV|uScW~zOXjzu7evgm=Rmq5 zZGk_bH_y%pB6_5)M1Qcj@4xR$NJt2v6BY*l#sj4w(49qF;Hioz*c9i6hcY1CjfgF+g-?Mj z(nzz8LVx-J*EgvM#fuE3h67+C9YeO0qhnE%7SOg`LDq;mf3q%B5cSE=mq`i!%7c8! z9D(=efmITk!G;QL^gsCDc(hhkC8|Gr{Z3jC1|}ejG194uPbsF%&FeCUiFiOd?r-;( zNdW4+n8VuI8VT&b-*(P>iLXOt9|Dnoujk5;6+n@zr=;1jiEbbOmM&tZNEMg4y}cEA z1+xTGq)1h~n)`}v1e4hz$werhVu*IG8~`wCm3ti{jj+YK-dTaoUwaJp7#Yep7FMS) zZ)a!M+)vL+$_}ZhsF)MS-x$s>#TR9v*^NG(?G#iIrP>eg=Qh){|z0mIOdwX?C zJd>^78~^}uF*Hur*-!rh)BG!fv9kiQ5c5J{BUA#0k zr7eRV6q2&pI=KKwX`q|A==%wD&L-cVm4l^uu1NFF<8bBY=Ql-ft*opR&sFc_&~$GA z2NC2}g=1c1xr}~9p{S%Z+JGrhEB*B$hLKLhEhhQPdGVa0lD}o$D@iQ zpcw!{@in5@zH=Wy2!WjF`f@l>{bIX*+LUOBUhRziZ)T1h5murFJY2634b$&6z*$+z z2Zj$He2J&hQ~{ZMZfm1)34()nh1clMGqcH^7F)BpCS=`8&JkJHU)@&m120g%m_JGf zz%g(>I+$*APsVsOPw71(%CIr;C^bK*38LBab8)W1(vCA@>@xawB-W(k%qOJuqG74~ zpUT!y=*3qmmsW;#DZatzvfbANRbVhXSqvNTH(4ll;8|_{D6mh4bR=-UL(U5~F;mde zMO(?99z%k`VmhupoEVX$9>FA&+Nd0s6IDP=T~ixk_{y1GE-)lP!SNxljs@z{JUqJY z;W4=U_}I@p7)F+RB9%sYxVfijaO=hi$;jBQ5Q=NDY#c`8JdCIuUh`+W^IPWteW=O5 z;;Ux)HkmHD>8>+Zp$ivK5H4_ujpr1(64s8J7fJq!0{FIr$iL~NVC77J?X_K7O_Wm5 zMM)E7zlyJvd_=ePz}sC^%EyvM@B7@}p0istOiAfp9fW>SrC^Ye(3Gy3bv(HkD^`)F zsIe`U9Wwmv#^Tf!a>i=s1v!cNq@lxY(k!>m2+d~8e52^^FJTvu=_dD61-&y!i8g5O z=jXx?nfB)s1Hoaa){BC3_h?QeXlQHHV(zy5A{6%FdLd1ZG?ZkPDXm!ADP3{OQov#w zFsbOUGKjl-3EL}&V7Fd5;i+%QHSL)%NiKFKKj?2sBZCyJD$ZBw?hW2s&(%tbl?53_ zOa^S^diHV~H@Py9p5E>Ub`%!&v|1jN8aFymPE15eIRiL#nj_yqWdk(=-BPN_5NNTc zk+~iOadnK^W299pa^&l2yI|Dh58C{0LnMy5gU`kDuxq=%pG*bEXio4@qiBJg`9SD5 z#>U1f{*R6XknjHsSGH2)Lv#cy0uSKZmup>R;jI7gC zwAE@<$ zhq$nFauT`x`1*Au*Sh(FfSZw#QIQM!Q3Q^8g)Fb2KKu@OsJ>SD1GZ6NEh!QEXM@8ucO9f>-FBLeFD{aq!i#_< zlu1-V!o=_8j3fsml%0bk#NH2pC<9jGg?r_a9(QpCVemZ;8Z{L77lchhlRl@IJoZQk zO=^txNq~EC?;H4C*xTod06P7Sm`v43LsL!q^{DgW%KnYmBoN-Cm(i0FaT>M zzB047FV~DspcZ93!vm3+;B$^_RX0?1+%;=z66cYd#wPbTPh~u zE<`hB1!1S59|0(@_p&zNLRFl%S&wbJsTm8Ub#m zi2$30aUa5=+JTFQw^Dn0diro>TP;AMvcJBup^|?Ihcog8U*QKFpzujEm-kSyKq zd2Tg$AFl_?sAj1`%mxMrySaXC?gkkp$io=D-G9j|DGdOL&3zQ*WR6R__xg8=L4N70 ztIkf44l6fzLMQ0Uz!Sjuu^M$fSAATW69le!ceYiUA7jX_S7oYp$6;XP;c*I(7xD+_ z5-jQHCP6+29XH=Pg77G{TrHX~P|*}a1w`o~>0q$ag}x?~_!s6aw_>eu^p&-|93UZp zXGdvv^uA;S+XH+av+xC(JR5Bq61wc@sMFj}{#2fR<`1mNm^yXOuEw~00jq+Ija?+k z!NmonOC$s~Su+c;@OyxF#{htHv~2Wnm8x$)ey}z&iYpKevzYqs3R2q5H@al}?6Oe& z#YdTT4_J7WxT|6(L1bPor@j~xdR=e@K(Ie~qV^uSc^P<`1R=j|?kXSDIuW;9$Ks!b+-LtC3a@}Z`%HVVU-A=GE1PgifaQzV3$HB zrccQDT~bUv5$C9X+R_=Hteg!GMk7pG0Fbqiu4SQL5Ud!e%|*YmkR@6%V`=~EeG_~+hWjUZQtU0irEE$66IH8kh} z^smQIz7!p*pu-fGCNzo>@`4`BKRYdvf#U-!C5av13S(fckvZfTlNV+Q3NGMbea(beXA4(@%5P4|id(ark}MB2?oG)#_k zFwQj|A>0&j+nkAs7861nW>IT5&Pq-@f@AsS0XH)CFb$G*HEbn@QVwfezh~+;qT!IwY5m*TG4Im~Co?~7so*Dy)Jcj{I17l9; zvphh6#36m80PsQJ4s2;|21&tqad2=dG?=eA^C*$T>7}=( zq$$~8)x{+xF%5jp;gP61Uz>3$8Qb;UMCsi`s14c$k~WjD12Kk-Ta2X!+&-QQats!! z#%68FBb(#as(Kp4bbw?)y7ND`xt=|{{=AV#WRrzSj_CAU@+TW!Vy3y;94%zjOZK4~ zwbRv|1VFtw)ebp*QYU9$5J%W05@O_$)fEf-IXz#6RUHoHM=3^3VigE1#KfFA&;$mL zzd@2sK7+c;Gned)dXW5u?1K3xtucgGMMOj_2P*VkPu@=-8bp*%VAPj_ zEpPkIC1c)76hh>;nXwQC3_!ntFHgba7mY}j>G&l>$~5^w$<--2sm3dKxc=~U02C;eZJqX4Tzc6c#LqUV-3QuqEL%< zQI*`m;0m?mfrC&Pz~4_MJ@(L^;DG_zLgxE&q$`$DrIX=pM@K{D7TokSmvc~sgNa-)$=9Qq{-@lwrg0fGIi}t z2=o~gChpGO-fC$qy5dl^FvtO%;_0iXqZ>eZBxmD8x!Y`>(#>XI7Ff56`Ws-_OL39K z+&2kmjzG|4nNFmxug|M|cA>#{064~t#x^3a_7FhB7`FN^1|pvW z?p`_=tugtOPPV)f6 z{cUit?(TMKjk>%qBe@cbcMC|ofUp_$mbMcVlmu|JFlT$z$lkbB+E8LJ@C0QnY@b<0 z==!KjsoWDBqrfpHO?Ln|L>{d$X?Y9q`~ay5yNW!4CkX-dOE{nL6 zK{iNkb@laILO;Qe>2I}kbv@4a7QTO1%{*Oy?wSHAIxPi6UPgf+Q}p;(go`O6D{KoL z4ULT`0e360JSjRMIGHp6^2ECTw-EQlD`?~(%EpTs)QOwenJAkQBlF4X>(f89v~Hh? zBV2}(@*^Uj>*T>e3&S=XXLVy{67n7-9sLUH*p{lLyzNa!!VZP_qRn{Yti{oyhU6Z+ z*e=_n&rEs8FpDvbq)lwQ6`~7#HX;{z7}{8v%}L8$KgOjFO!SLC{a(mBIx0`7cXAB_ zp2uq=oc*H!&MK$eTuZ+hx?ZUN{dXbGsYg#&mRtm8RlHu&lRpTwiJya1rP%Pla%weE zXhGlmktk!9AU5?zpr&4h{(`o7p~t=UWY!wS--p?ILqw~kEO$Ju^aEcGKqQ_gQ1eX_ zC-WXsk96G5cSJXE1LTnrDyaD|TOw7m22-{VOLl)$a0^SLT8O<@?h?mXS-~?Kah*!2 z1IP}99g1pkQmr-=c#ZY9GAzTXOi)Sc2dI<9rp5Ig$yFki5|~nD>h3?71Qs1Hvx{Qj zh`X&M$CTP5G4A>VuB<@2Ja^I}@M zl!|;$-}T!8!KbBN>#v1AZLq>vdzn|{d~w0b7aSo);W?XwMiO7XelcnO+}Xw5Jc;QRIjh&T{NuqjU)n;_`VMfqkK&h=Ky7r!FAq z<%3=iTfO-941kCN0FL%|mNM2w_qeFs{iA`8ePUbAw2{??H@Hco1D!;uGk{!opHQ{2 zazh*WLCRIacKn(6MpaHRh`!5ZkL1An^fL_n+YM<1ngESx!Fc`*y`K&*u0gEz5uS^G zM`Od1@xrSA$i|c1!*}l9DlO?dM@TM{L5(F#^Ar0{R0nTy<4$qo-0^+TU-Z~Aub;m> z46i1B{|9K|6^^}kb-L3hM*tvSKoZc$@Rt=kHf(aWm{D4in2HN`*NlI=dYQaEGFP#* zWw$P=^gJrbltHXnVxC|v`RcbgymA>W{z2JkCx$|D)nMtT(g{{C1=KtH`U%jVCJBTP zcD04QBU1ghy7%EN70)ZD{)p%{-x(}67lwbpC#`&@RkQ4M*id(kQ8oEu&^J?m?W65m zLC??6d?TBwd)n~Uz+Vd9SL2oka7F3<)JPsBLm{DY6U*IiJx(AWJO;dJ?W|*qu2Jo) zA+x(9vcoDM=(2Ti$ia)oq!s*c(f*ash}%qA_vZ1nj(i!7? zA`=_r+nZEQbUNyaHAZb1M{P=Et#tcTzHi>_(@mY+y4demJ#I0p_Uy=>IF4x}yI3ny z|Fu-)es7^RJa3FnN=I(!+vN)%$vGV{-aTk|vch@v71c zK*R*7P|9;Y?pED~-9G~aS*qiQhy|I<%sdeZl1LKAtG^`h0`-u-iz=YPD-pwgjl_%? z!j8hd(FrRI?3^6m-~L0#S@DMYvtFZ{%i*&foJB>htEI5Hr5UP#m%bO@de6*Q-P;^@ zkUzp<#KyxwO}t9OnZDC*)$F`!t>B%R<>dF?6#QutR$4B}yixa#(OC(RMN!^~r?9kr zO84em?qACc8P6s3`S4wbA=cU37K#7@dOukeV4aqA2i)stUI(z#6SBWC0^oI+I!^kR z#ejs#Dezn!Efn8JmnK@&p_O+?=RE-$J4wRV1?L~;0Xl#CdZ9c|KegGk=Cs4sv(22! zXHn=R#Q#Em{wq#&-UiVE5BUDsQR~og>lNE?GRK3K>&xD*j9ru}=F{7y?H`_=VrT1K z$IWd++%CrViu)jXMq!@{SoN&71?v!`kD#uz0}y-yp^Kub>Wdny0RY$8eR~ZsDFE-8 ztIqb8_jAYJAm&5J`O?bqii8q+_#w8C+=m<+)!NO~^;6Z-==A=!Yuqc{6YeE%mv<7^ z_m4RPt$iA*~EX_W6?*kn6j7?V95uE1E-gI z+19xt_)}a!e1-N1^ej>WZ(4Ex7j(GO>loHpGzwGYlZ8 z4yDuNRkknR1w_W^zR3I@kiE|#X^llkCySP69(joOfPz#>J?tY51BMe8g$Xn^)5iWC z$}_w;uj|M*ymSm5J?@BBf7D*Aw_fSOR^^q)6LJQuI9L}L4T8l&~Pj0I!?9}b| zGRSszS`=EY7TN$e)3faM=<;?uk^&JHL1eoe(4bb{J7pL8K}+nQ3WdMxmHP3|4b{Xq zrmCsQ1a*`G?xmtD{8c0a?<)*C*1!6t=&qr?M>}#KC$MEGv@}v!n|r#ag|Cq9+jgGw z#myli_}Km@wm$yGwAUu3NaL4WDz98)K~%r0!7OdjOkGK@jrN^6l;O`9i%~sHRmCSA z=K2gVOM@!)7ufqyd5<#u0~0J>bYJ$@o7UHz`}!V^%`0VpjwPwdw>-cJr_PPW@|+RB zKJ|KGQ_uSsON$Qa9bn z#%sBrV$1b%zpGQ#UEJ}%8DoXWbWh)PpKzTvUGR+8m1ti4#=R^lD$h=gi~B6Gh?Lma z;9mqAOpZhpzCsnLdP~eB_e0b0`nt^?-}UVpRPXc7`fY&&$>I~?wyM&)_7nk_Oj&aC0Q<8#5WPg~={+U^z|rMs#eDCZ&u3;N`w z=-n_X)ccHe_qQO2NtU0Qq{HO^GELP)CvI^M zf@!Pv1Ir&Lb=wR~vY0yJL^ha(q0TP4+8UZ3_@MNk_WCmrmQwo*=kV(vp@1s6^iAZ_ z{EO?H-Ux~YNi0NIyw>;NnC*Ukpl{-#e)aS`e#Vr090>Xvw~74*@VchoLSk2T*eSL` z`^(3k@)ngcZ!V{zZ8NlG{1A`-H0b_?wc4IGCWU`Lad2Oo z#4WdB@A*9WQgTX`Ng)o*(&7d#{O*5yx0#NySTx?#p%fs}BN=5w11A#CL#VF5kaxgc z59Q+sLJDAbeIkE-@a-&Es=`IeYj~a?VWqd_iO2DIdx5s^&!f9SR3eZg|B)5LAQ3u8 zUT3IF9-YE0a|f%#duJ$8NvTIQzPOD!$?r0HzGPy+=mh>EN9YKilIWgCL)J_uZOI{M z(7^@l^IZ&X5J%+Gh@}PSsfzKp*k}~S2kVCF6?32jf+EeJa3QCYImYPUI-E5(-Flqo zL?R(h9&zMx1VM@Qf@4CoZXjy|0b3>EiP)V@A3uHsl9>y#%2IpENKJKU>D%Mdk|G{J zYY4DW5MnhoH62OY00q)}i;jsK=~&(|IE-s?YGJ`25S>c+o~5OyONhz4D*LhJExKeD zG``rB{-BC01>*!{%e4T;0*F1s*g64y6<4~sn88OIukk5_9yAzW!R$HB8E1};+?wd} z>>V9(DQkFIC)YJ`#an~YF*xx#hpkA5*$rbn`mV_(-=%I5?^>ko*@@m77#c=1y?88g zhetE|^Cy?&%;Y56H>U6GMzm~8GwfTGnZ8sV_-W0y~A8o=`(-M}~@*K+bl2 zur;V%W4B6iCMLcZk&xVNuOATK@A*zkFq;iR97M-JQ)-p|$gE@kGjt{X+190#@^Ea7 zXUxjQonQASb<(un*Wsm@mA18WOhH-66ZfU3yBIa%9ukW`f*Ce`9V7wni1smC?EVXD zuNTWzqR>m7VxZo_%GDM6bJ@3s_BUxyiuzFxR~wq7`~&Bpi1P04(>!g;maEqiN38t^ zj~SG}2h~GD7$BTzY-mtVH4S*brdpCzriD>jq`E!$py4vHTbM`9y8;Tv3c`T$tO&OE zyc|5u*buZ&SUSNljjrE)9=NRgt1ntgdX4oz-mD^_Xnd-+P(?cQ+;I`sjMaEABCXQq zg@2QPk{Iw@uG(o{=(W0=NKjm znI$C9txY=ivORPdTw!kviGyL*f1$#a2`c(_`gXD5of&IGhxvY> zqtYpR|MsBKbFr%hkj_taG7yQT#j$reFZ8uoZvNH4va9NHLgCvgqq%k5@)n0w+{`NX zR6|pF59#aE?4$jp^iX=v^u`qpXL8X6k0 z$|xu(%acnlC;>6}7&bNb^e(2sD=AH-Y;7HiKbG`=Rt8W|c6_mQmjC>5)QIZ;BOPvc z;y-%(Cp$2<0zzC^EHXhTf3C7aejTJ{BUAiSf`9wWi%#J4(M`Z{rXX5Xtpmwa7jwuy z_SGzkWS6;_YqBAq-}T)=_}F26hQi$^1tpm(>e35Cd=uMLA){9~^cYBEK(zPmY%$!} zXiT|H?RK>d#rb>L%CWv5oFTfD1`3o%0d$bun$pnk0SvOSO4|Z%*QU*$X-r{j+1nXo zDHW`%T!N0-RHcKE^I!Ugo*nOc0}g&kQ=7_-qh7(C2XO>ax(fG@hX682v znjJ9u-WRam(hr9Xyw|t&(EFpj>HJ5z;-;9_a88O)ogQX6Vb5Wc((*^^vWdh#0M2+C zrPn7Q-Jv%{hlLbTS4#g*LF~1j-aAdvmG-9etjF#G>bf19>eYl&hCdy6w?qmBt&V&Z z);*F2OB=`8Kw>If(nhq!ra`5yO%Xct15^{zXmOO5j2N*S1{@l~O3P^B+{;7L{Qb9evt(q3&9$}dJm#ADo{>D7e9 zQdCYH##`=(w47p%UK%6d=D7w{rw-LgTep)LpZR=nPcRUu|R3EI-&^ zdl!*(ihZoHWc`%|G@0)cRQB^lEM-7TYtygmr`Pk?X zn8tt07|`Sy%g`jZG=aG_cIRsHrI~Kermp&Ld`rk6x;9lV`pHVm;_3>I^eX?}hOE*f zmlQ+gPmfCJGq8SRZRz{Hp#7RAraq@uZN8dgmCTd$AU3lA;SE}?CaFkcJmrZ z8^b)WKDNEFuXtWZ^=h4sc?!Q|DABzxFnx|BBCW)gN%>l>CbOTu=+V)@j`7?mNyAb& zNqvu1;M~h6PfWNaCa{0lFF8&~crw{1rSOUUjYQ6VyI9rfz?3JYx0%KKsj+$-XW zWSHsF2Qpj4V+_SvF3g?<+4XMkRcu}*kqa_UAjnxE@+a;!21be-Qq3Ehc_X3qzs!`N zUZ%n<4uu{c9N!$6FObjMHXGgugjFZ-scFE*R;f8Fw=BQ1L&{@WCn*y(~ls3xn3GD_Sr?2(^89nlb()GrKFRp7h1pKkj! zTjzvnr2<~?w-)IpEHZ{zMQS@~cG+-IJ%HwAc01&Mv2@n)bpQYR=jiU9 znC|ZG-W=W2riZENZo}jl)6O(wx?_5p9c`GNZrktq{`|iF@|PQ4uk(C9;=1ma-N5Xe zMCKo@BL}8N!jOtc+PkMuvx{7MO#|%UKvv+N!IM|2{pOIWQQ45oRxx0=^f;ec;D?5U$RrZ&0mSaGfaywu&|=tL zbX`*jM|4)(cR5iNSy5ht895A!Gz#8cb`+yrG7%N^@l> z81K|L58@)Q*MGkc&Yi39o6({wI1k*~(1=^DWm%+c`?&@`JU)5L4{{?5q6a7U+&{ybn{WD}u%@S{ts9Gg+$RtW@X5z%GIN`NzudI>1Q`F}tBSXry`M`A zdCc1`fw=F~4(H9Z2;U6Cla32#@Qbi-ZmaRrmg6#xr>W6+!h$Llyy-}T;iS&CI@q7X zX3Mp{4-8CErP4Dn07ZLc0;#auN{c}$u;l1sGd87>~*#yghzHdidCP6 zdzb5_V~H#isl~liEASGP$MG>s?9By{vtA5F~}gSabljt~4~PGD0N5|9%Rz>lVyG)KK6U*8e%}yya2-wKbT)h*PY>rJ^v6J=T-m0FHP&q)776~EoKo;liv}rZ;&r$WvXSB%t|&=i&c`h z!a2Cy6;B7}Gc`@*!RI}&TggtT19cEG7dtehtWz@3+-_FWAA{$-9$U!hk&446Svl=P zDRjM5Z$l`Zx`vfhnvD#PA~9G4tEnI-SyqMH$h0Aaq^M+kh?usb9$HImax&VLoy)VI}4d`ivaugFK&+5&6+NpP|QXeA>5avK=_mXTWILHbZ=FEKat$77Cmt&F+4i6P5Ac*IJViDmv zY2qjm-)&tZ*hD*tU$a~$%-OC6*IN@SP8(QWQ&b;s z9i^4gR4r?3Yr`|*qous?HEA7@5+aqITjqR=4)Fe2rzJ6yy|h{_bfAW9Y>;KC+*3~z zYa)9rDl>Y7kvMa(EwmAR-@>5D%luV`R&CCK9B)`QVG#EQS9i)rw$h{1J&N&zkj(*zfIBGefE^;u)ljoW6Utc=PTa>^IMWDnFZP)dO5 zro5DJJLuOv6$|_RgxvjQ8>R`vKUD< zOX4)lc;Imh9NErSU(lXHb$HzzDHIzeY>U?&o8_7ZiWo8{X zrOT`X{xenz#h_n9IDT03XeAZYGQ^gcZbPJqK&}A6T&=T0Qq9GEC+oFUhdAB4QDTMU zAIB>0A(Mf?b+SUWpGwEw;R-zb%I0i+_Rv~K3j_eKlw`e_tK}VY*NkvEs7)!t0 zks66FcfnL6JRE{w=7)|@;iI4sVL%oA-4TgIP%@iyvBn&!e!cZATDfEwnK~8~Og6#c zJ_Kk5rc|KPvDzyPp=4p!DnI(@7-5{oALIYMYV}m|eLh3&Df(a;nyQ%zi`2!7PJ+Fi z?GjDIocrU!LdA@Zozd7Rn0-4ZF-33Q&S{hmvnV)Bx>wSPdSRBism1%?Fw!SPYCx0S z+V(Y>CWh)X>6EkTlG_?l?ktCMirIp(jD?k&DV0r@+Tp zKtDtsCITTZ7E_YxSts!V92a;Z>=_h|94%qVr(sG(6!{%?y$P8%S9v({}fU0oH z6!q>!KTQCX@>C?pgiTX^L=nNf*+WK41I;RHh!G5#0}{ zB#<%me08f;OX>(a#*+U&5Yxj;uvq~EyEO&qpPYtc)3u!4;CV1LtpZ-{br-x~^DzB8r86-Qk`_!|=) z4WZtP(F3ygV?`zYL}|}$^dJq(3GepREsM<%tIpzTIXF5o9xM8I59TXipA2G?5EqyI zfq&yCD^rk+?BIR+szE)gDjI=gYDkPThZJu%>0H6a<_sw!Nh!@b+0r#RX%Oz@E43LS zM^ZLOmZ@jQiJ5_zl-ZREGFFtf8PF@af`>M~KDT#aoJfAZy7|C}`SE@%9;3;ieg4?t z_LC|#4o=v&h^?rM$Zs0zcweqmr!d*N%nS|50=Ll-ttS~e5H0cc5evrD{~}F|*=j{~ zx-gxSU}Jl9lX}@rWtQ~bZS*3|^dp2#sihJ-qFD*2L-qBU@^cH5gyL~6kk3;UV;)Xe z#T~zzt@K7UC)k)$_ArW^ZKu4{Q~g5!RYB7PF9WR!X()S}Yiex`S0q-LyZ}da;RWwd zojbXAiCugfgFeOpJ-d@TUI(tdAjM+XD|&7=cSMo`sy%O+yzI}>uSqg3r{@~86ly|YvZ ziHlH1WYk@R7D$~S*1d3b?hW4akw9W`bQXKn-O)>?s3uhtCd;LM{_vZg5A#2NveAS@ zodxxFZ=DuIYv_hXqpcvMNbK>`zgI4{LzZi5Ox$SJG5NlMng-rO|9lt%l&y+J7KFGR z69~W}v(jinN2?!jk=ZYrZy?Z*h0G=8O9QjWFh=TXhohTsO%e|epH2(4%eoKB`T(kC zmdA`ocBJ4q<>0_6SuQaP7_J`Ydi_&#b2--BpYFZQ6lEC%&)K673Z0nTY_}3NN^cn) zXxeDap&^?Oh|Z0vt2uXZ@hvrRNhJC@UyK}%KrwPQ+0h}HyiuK-mKKpzddyU9kFtG#z@IfQvmZhbiA7y3EZFJ@QDBVY2koy*6HhSt=7@yh+#|*SQh<2oi-tw!kkd8@rkzt3Tk{fk;x6Dnuc zm|fp=mrXnCL5waknoLI^`67s65Z5l|b&kor(qTQB2?WziYj#U?y*Z3g(1PmtJC_=70bIh-+~)7f?!Q)cCaH9a0%-E zDx)c8@^h*96YTN|mmYdHQB2Uop`i86B7c;Kq>XOO@~pk4{cj(;LO_3!wBm9a3JMBy zPARM}o|J57XQxp-mt~!#l3Mwcw7z~@PQyQ=am&VL(}vD15?tLoTRF~(bqx`H$e7$T z|0viLX55~c^}I&am-QN&FMC&pFRtteHs1r*%Oe{D4$kr7lm*2`@3bQXxglk3EI1mVZe|V4xO*#46sw0)s!F1nns( zpQT@NUwshH%*<3CdTCw0XL5$f#KLlT@I|Lto)%GlHb=7u$DutI^$c#CrzcW@(2+U- zIqt)h9hrLNQsyQoGi5&fMFhJ5f+r8qJ}AGUA?&q#O9}+&su__#%bTL%T|w={zm^?J z)XLkL5p9*cbs-1z%0R|e)_@y=-TL>ct~O}{n~N#aSOWp}P4da+QRSkA$IW&Wa}`n3sS#&4H+fhT7S zuFCg@i@xtn;m?qsxV3L=3JCe31cpVR6EJ<vRlSvBWyfxe_WdTW6bMpc3GHiZQ2L znZDq#a+Ds5*}A;-+LXTnBiXC_)%Iv|l8_b~0)L6CpN^<3RT&|4SWe*Qp-Iwg8(vZd zM09s|cZ&mfq{@P()YqI>dH5Qst04uue&=*SJp{oy#rJ1OdTaPYmfY z4FN&nl|RH$SCXj(oS$@Z$pwo%xbhbxo(FSmM_5p~Jr(ky%VM`kA% zWnn)Uz1T9{?=Sa(`$U!vyN$Bo1zRlHhR7!C`9xG#ritP*695-2s{c^cFZxEV1fM^c z0D66)>5D0EH1!C6@CrDKjP$5AThtNNTMVS(R}XO3)Ekh#!mn+y?PY*7X_!45*V3b; zq;xkgDuf+F9+jTOySlnwe!={sh{9Owe9wfUo7s_D5aG~_Qk+Slh5;|i6J3Z2nu=_- z8fjZG8@x{7f1fA`Zv>KN8$KSD(f`f*Z>(vf_>fT%LH~F?_Oh z(7vELK`azTxkp;d`Gd5BNerSBl{gm7_&=FPzR`Tvph&ONg zE535uA~O_WqgnZsm&b)ja-?b$?NA61Y(jg_P7#R~rCmqaFG|gBI8YW_mH=%)&_VlD z*@aWm^Yoa99A4ok4+Xjlgd~61P4n8GCRs(ke&gaPQHY14G@(V6d;5Elw6S; z=gTy~AIxwr@5XP(ZMma5DjF6E0HK(pnk<>IDbM-Q3(QTYt{bi%zk?Nl28M;j#rSvf zN3!m8I-_IJ-im`F9&Im!83w3{ETu5=bkj>+*{NTm5y1HLx|G8ap9c6iK~y=0uAN;e zDGM|~*cBf6#S-+Oo;c`;G;{du3MBZyQ$>SA2Ucd3N$Ozr)3&~517NP$()@N zLYjUal~2c01CTkr z_VM2w4 z@t6(E(>Mv5sOzWP$3MdxH_Mj?+u&UDpN_i5U1c_eJ3hl}9*!5AoTgCN_Zr;+j*YF) z5vY8x8ZuG_+F01<=jWNPNs36(iw%hr-U*8nQm++L6{|_Wy_I6z&Y+Wks91`6vQ&@s zC**V^Yz~>j+;Pq+Py3bNat_q}JOYGin^{Nro3RZ+)=y_z`;$t&j?trmT+FIWjSu zpZJv!xm`?89otJaSe3wtNqN`Cm!4$(V6DA7MoEY0xTGP$GeeKGP7v6>{o3v_sL;W3 z%Gi&~htyiz=u>GaLiG1ABs6!A%oHToCn&2JUI?A1~X zO7lV4AEoKUIuQ&xAtcyZ*s?pGuWm*p%sJkBcjoIz^e^0mPv8u1x0Voqw2Nw+r(*B2 zke>@z*A@3fAE`5vI;*MkfIt&n4^kZL;kSjKx3AQn2nL;I4G#6=XJ>#2n=P^CLWxr2qH0^h9cgII-in)ut9!h*9bYPi zst_BSS}xOU2}jcSUg_puo7)X^M{93oV;-Vt}#v z(A#^EM6m^HDwu#lq5yQ?#~%Ymr+#LY0V1-kN&I+$@Z;%b%v;P20j1iY$*{fPTch9ANx+>-jA z=8SGL4^2=LOwv=^rWO}fJUl^BU6VwPga=6}e)7hz%79sbsDrs@QE{s!K?azcC^!T1 zic&u?HD{!>r@ILJ@4#ujG`5xH0*2gPjf8qn^soKLIo^0`M%EEsVN5HlHe61jT=2Ry zGMJfic)X7-DweRCQ%n7B*^yf1Wh1cX!!#d*S{O%(+@I(US&e3r?cXfYO$J`LJ&S^x z8t&UHkjRW;-9V!5p`?)4QRLfn7l)~oR=l=wu?2tYMI$sG539lB2qMIfIR|ZAm+=0_GWqJ*IRs5 zUZXhPp$VrsE{%)$%5yx)Vaf462ijzOdJ_Hp?$(=pW z56aBp;;jx+M58rDbw#t{5TanprDL1-NBL0H6OzC11*@z{*+HSBYPX}YO8s!+N=bXZ z&fl1Fg(iRVaC<*vlbHQJTm%+wY$w+hBgv|&HgrgArPgnJx3Krq!n z2K9om`KtM&?bdIKldRDAg*e(^L`f5EZ4ZE`bIRHipmv($X<3KWE6cwB76_{+eyPpg zJFpk~SMjfyaPEthoDXzFCMR22rly>&@27nAu+8kxnMj@82$j{~Tnq`)Y?96}S*692 z$d&M>&cq6Rs0QzhL@BytTYt6_%DUmS?*cMx!swY)NB($5;y$Kv+9@U+OiUMK!5( zZ67^H(ZhesQ}h*oXeM;j1>VTkp@+Tu`wjD3#RqZo0{JI-ng|1b#Q?BZU?Ri2cevgR zTyJtF(@9-qwV8>J)8`!3|_{1(w)VKfu`9?$tHYLv^8FGU6AOui2c zt_Ok#T_z~LMRC?9wf60VfB?2qNr{5XaF9h=xRhtS+hVfx_QdUB@=)sYkpp4@fB%Wj znOe`t(69g2xhn#M)ZJf2YQ1HcCvB3c=! za3UIN784E#MY(u;Y3U^z_}tn<+brU5^ULHb7TsZYe1eFq_tUc=xKD)bcc2JT! zv+ZCBk}~{u2x>_>x*EAX08(K162c|tm)17f!M#H&K|Nw`!KT$f&cZkuAHm*g-q85z zEYpB3m97kO3T5Zqa;Es&kiDtG0)K=ZG-4^*@NeiR1WGD*SBXwa(`{DSVSDImTNYrl zpIk1UEd>f2;--GE!rEhh-Da-#iUKfqbRLeAAMhS zx{U^&8_-LU>&Nk5^f(N#>YuW}zYrkd4U3QLv2qzJPhK)#7c~||!?#tC^~Uq|D=R8s z-`Xl+1TC0td?gY`-oK)MnGRU-d}N{uvT%=#T_@u(4faDC`q5K+3f3&8QL4+n%!qql zi+p?pB_|XA74TlnLO%+di|Q>#9*ur22%R;Me_P7Bs9*8^+Vb1lXKXW<>$<-w#ANl> zv&j1C3P`#5;{Bds(7s+m3$Z)Abr0Gu0SY8%2ui zfzfZfZ7a@$YOrWtJ$y?;igiiUx7`r=Y6F#ZeGf@3EYX8j^-(t<-~sF_HHjT67(Z6W zROry5PrFvtM8_mWdDBuQBrDi#hMZ|I!__nb!dREUY`oV*)0mm{Z8*7#hRN*1{r$L< z?!G`o?m(M(yqghKi`=pg!#e7hVlKD$PGOk4vG~cvby=n3gnIAVSKrrsA`SRR_>I%N zjW{~xgo5ssY}k_XX*G#Jl&NDXqxeN537xnLq|}Yr+n7IS;H>-2y7Z$(G2@3eb&_$n zo)P*zLV~=dK=PN!qDpBPF!G#B1Z@Nh21$%s**NWft1qeSmL)Y-D1DQ~ka-0vE(WRE z($c67vV((z#`_g;p|Gi-<%r1%g`W&(e}=_cAvB@&nP{+>&!Di+@mO2hF+fK8e?!|z zTuYeykX!w)Dhvus0xYlNoU43BW{$)E{tf2G=l88l%j8V{xAg4$hY=|8B9klO_!kuR zEl6eF{*s*NcDPT9o9hcoR{IS(Q-k7*ncZD``3z#DC$LmA=;8so_&vU4*azH%MCsm3 z9n57VKA93bMXU@a#|?h@X2&do;*AaE|6YtTs~@Zg88J_<5ZLdU6cF?f-e|VWnIf@! z$=uJbv+s8X)*c%T^-qws*}FQ0C}BMA2wy3^dnUUxI1mO(`eI+8F=_d;=p)kX-5Z;S zem5vP_zaePbP`L}m_|)Oq4sjbgm5-M!*O>HyccqCw^T3aZGK#SmRAwIzd|3Tv)4(t z+p2gV^irAkXT)^=hDH*Kr0kc5#&s75PDE6b8-ia}$}+d|14BbPHcUU`!xBd(BjXmvY7 zrBoX}GeGVfN#y=1LPwrWf^i)wmDh`ZLsoXRDC)T$f=0A)K~ppthb*8z zYM}*8D{0bkFjj|`(_6u0_K4`>U#vzZa*RWkT;c)@OYf8pi!oV$KEDGokY2{oslmrP zocUK~B$xyuksMh2C)ma*HkHOP&?AQ5EXe^Jv40H{?t^}%!L(cPB`0>kZ5gzN=H401 z0?%$W?vbhH@iW<`yA$LMRD;T;`sEyB$6`ms%K{*88sGDgXHS-hrzW>64^fHxV>#cS zKW=tIp6%gu8l-n{I0z`q*c;;7rC*wl9g2FlJN}s;8t%Lb(X8+ns!uRGn7%wbYn!fQ zVUIihx{!GyYLOq(U0U<4wYV6o%Q!u4O~g!pwpR8#SOu2JDpg9RMwkZ%1_GY^bt-7u z;84V4s5&~zKP(RBkKfZXGu0CStfQ0IQxRlBuiHx+m)T%?loo4YIZz?!PYArp4k;}V z^n8jO3a2SHC*|Pa_)-rz=t#Zs{)`BAPMm?2th7bw|5$q@@0w*Xwy&@z(jyZQ^#}1X zt}BzhWi@ZlzSAa9R;165?P*|pF1NmAY3i)1(rhlC_QY7`{_@u5x1SRJV||X zBCKC>Vlv<62ssa*6crZs7LQD*TlflcXZg@ub);Hjp7#=#;JBnyFP>dkX~{(@O@^{OW+GyQAOn_Ab$(&~pe&{?FlNyC47F_%}u9<6K?Obre30z-Db zI-|0i6r8uR^-`i)=xX0Z@BDCUPMbudL62t>7{xlNqGkk`hE^v2k*`KtZyGk)CfNVb4dE?;rj~CYADAt^Syt ztkJ`uOyEWBbW5bfTF2ve2nzu<#OKeS@fsjYNLXiJDdE+8CpVY=lAMGXikp+0yNUD` zAfKxUJBSzT;7#*xlvaYKn4Wl}tX_8N>X;PLapE!88rZHZ9L)8_VH*#~ei@WZP1FPo zYV(rBO>T2M9t zh}qxrNw7lT^`zxZ7#!_a2MmTj8Z+&AePk^D9I+4S)%2;(Oxl2&$VVYkd)mS0W&q#- z&_N#8aV(VvkXN~%VA+>giGra_bsbRZ0*e9kB<4!`y`M{kdqj42NrN9snXts0OG{DM zk@&v{QbQHY8dxRkiGO!CHIc}O%koNTJDgUv*jlAwoLZ(8)>^U3r|qv`yM8}AuGmi27GxAY`MQ_~cI2{%_^Wscit(IVUgyhocV$90QM&gl0+ zy~&hbqzh(=_b9Y%MxVaGmHUz0WV6T##EJz~&k!89cXl@UAr=aJOZ7E^1K!v&Wi5$Q z;>t~Sv>D~UIqis-Lh`Y4?pkadIvS>ZYd+{6PJW@#?l`!j!xWoJTP1sfkoj_~h$K94 z??_6%EB5)55xvu1@v7MntX6{7PN2LBeZWHJa3~Z%rDR)O*}2A3h$5PA<@*F*6Johr zdw(&1qnOJ}#k|Z0HyXvx zd9m!a;2*|KgvoSvy7#Pltq$f5MOGVg%mt7(Tv(`AMe(um)OO+r-YFhlG__Rv;<8g= zyG^$2Ah<2T))7PJM+2HwPsM^Fp^2<}uqHvdN>C~iT3~$fyt;nN7cnJ!+SdxmOhRYm z(uDb*&e6kK2jvwD-|6`>VES6|=krCzeQyxxymlCS28(SHItGWrbjsQQ0U<3fR{T)o-@lKJLT&!dw)qQ8`V`X`kxfpc5F{D68px4YL_`)PG0P)g zHKLMR?+Upb0YrM~(2NeuwMuyXncy`b7!bF;DgivD+mt;6KTAu5OqZ$7l6=Tg#Cr;W z?)YkZIgd6vHb$h?Ba4T$lPzshT3TuZ35;t>%_=mQx(33&)i+4r^3G3HbDNl*I9U4{tR=o&iWYf4x0yyF%M>Rlm#dW9B5_5j~=!q8iaLJmPtFtt=#R-}N5^uA7G$ zMi_(UzpR1W-!Ey9FK9LxMey*FO59EzEbtt0jED_LE(@)GOl8jsEKF^()*NwFcnFYHWz9Ae|=>Kl+;-DqUvIRk@bi8?C?tIkiml>?re%%f$rE-V-rxdOt4>tv;SzM^j5F zh&Pe+e}M)C*MKF7eCYOem#yDBf)LgDQ=1r>SNeowu++pl|BmM2EMU%=id4nyWuJc+gSYg;SA0I?c4T z5iNl#%U%2BOWeSWe)sn!7dQvj0NwAQ^~OGp%7PM&lTKDP+UE3=Bxoe8V`%u)`~>2GeAcP~1UG2dTt< zQj~>f1@(zXj@I7KUVR5vI zdL+`<#b}45kmCg4qdeAT5QYa^j89hyN;U?$a^tLa&2lRmfD%j@Pa(aW0G49YX*2gw z_v4{p8cCLE@lVs1j3Gsrq15)p%P-Um`szg z&~pB5xYbfq>VD~xV|Dns(B$piMr0{;uvdY+SeqjAE_~w7$@<5eBb=|g=L@u4tsiy0 zdAdtFIvPL#LS-e^>fX~=ghEQBjH&WAx0Rz?9orJ8nr#QGL z;HZ?*xMsW{0cW)cP=&4_*JL|im^h!0)IQ&uARWV2F#jf+8exyp>9tSDEecq;IoqRb zUD}2}bH;UCYIaNsEdAP=e9VQ`o2IKvMwBzYVYG3yUWY_P`v?M=Epkynvaq3}Dq%i* zo;h#Dz}h!|0%h=@2^z^scn}#`g=Chf3Q^+pD!ULvuY7ZC%}))6IUsF)5#A z!!|@^Uy$}rv*3HNrlA4uJHu%hv3u+Yn^-A9VsbLsTLz=Xml%$})Fseaig7fsUc!Wn3>uw?QrhgM(dghd+kQM2cI8f?pwed}uX-yC0X+XF8d zJI?A|hHmCG!L6@@pUcuOec7>LR^CURx-kLBVt>9z+t7MO!Zcq8%`?hCm5rbkb zjYrXqd%uzaqI4Uz+56ByUH^G7Ay}1z#EtNi@~xBIUltzn^JdkmA1==eCivj*FrBPl zUm8{)h>d7D!rWe_8BX+P${>(D({39Hfn=iDd=-ByhD=hc?O1pMbwV83jw$tCsTt&b zo*~2Jjq8t2RB;|7#wUHZody~gKbnL*H9z(25w>RTZ=c{??5k-?Oijl;H1MYezVFwN(&);Vq* znlR)9>{4teC#M`jl-Tb&OL@0@f%cOA_L(cja?@irNC;^%@>c%#hS7C|bbYcwWJ2jB z7I5!R3*17crU9S?TM3A2ZaC*&<6ibJxm_)hs9jD7&RaTHm;XKXP43@*JVY$m&CtlJ z<;HwjIpld5MXsscZ*0?lW8Z52y>PfKuD*=_mpw=()wk=BB2? zX|g#dalCVuqvE2ZPY-+2|7M0h+>QbHhS#sB1VqxC<7E}c}j+?5Z%;|Rb*B=M5C zQ<{lI)|+Bb!qUsv@k#u4$`6aL0FqqklCk0FAx6JTWR z@Asw*%m$|XBf%48M98xCc}q|Pq8ElF@g<0KVU1wLS<0?&VBoaM{jqD(&%QqzM^tz~ z@$>(fEXe_KG}@x%oP3^Ai+^j#p}q8fJX--G7=cAlL}sxD1gRQ5jN#%*q7Iz*i3q z8%UWbl?a`5%_-gxa6D<>iQ5El^oY ztE+Lm%>5)bn5HodWXf2PGRpTju2i`)KFVVXjt^XFzCZD7PI9k1Lnr#o?{h=|5V?fAnbpQY z4EGiOeRLImDRBo@)$M5?)4X{^x?8~2{*0>&zqDobXjhhg190VCmni%e$z)bUFEYSX;Hs^-U%&1 zl7@+sQ(crGl2B{A((T!PdXTqu=o=sU#+Jm^{`c<{4pvr9E^aQi zAop%yV*_PaQ&VeYr48taJAdmNMiW#hq@dS>ENUZycU!jUuXB*YuPxxl&BsUhZ@`~5soPH3Qef8y zpvA1Ltp2YEeg&W2zkd&?-ClWU^2vwg9MAVHq|R_{taA)xqu%oTUwWdHy%ch?!IU!! zg0i!-vyF`nuxb_H_RxeHsq2GqU$$!^vwj|gmm9T!j_b}s_skD7|M=(#d1-ci9nX$X z@f~GTPIr#9)TNL}hrPbvy%(AdN!flfth~SC|6{K7IV6?2QK6geq6n7YX(L!WzIlT- zH$68uH#G$@*Jm(4ai@z;K=T8Af~jbsrTtr56qq5{#Mx5CFO$7Tp+WZ&v+io zSjNVm9%gCc`a1Fbd(Zy?f2G7B&`qCqK4x+{Qdw$nScAAxYHI3Z_NKdiFit$}K9vY1 zLJ)RmS-}(izVAgS`VQ`$&4Q=5Cy;3Ww(41c-^Jhhk1cD4g^X1hQBJutOkr^IL5JtFyaq}Rx`#Cl0UJXJL&9pn5v>%79bOw)qz$BWr z=|`P)_3+E=iu&)pn)P{7nF`;=WPH>P2;O>UfUQs#wNG{!qB)zi)D`7;zwsXfm$|GK z31vRU`;FhXraecGB9O$AS*r8)?Zu)i)W_R9Px757U~|$T=NHXZ=w2WFWbnpxPSVth zzrVkCPaU6}%*Xw#lg$9A3gKcpuU<`d{ulQy$i(geeMZR6%r|2ydSK{)tiD;!zS;?#jh%F)#o=L?LD_VujohRLTG-HbNVLnqX{a3q~( z-Nq=YdB%#3{LnYq-JaTb%pmu6(K!RhC?n zPik*Ic061aL(xiG@h>-~89v3Te;t2@iY#@NZ+qxfo}KYk`m9e8-HQq_BQg>>;Xa7G zqMO7eBJ%AvNd4^>v-Z>>jxG$xu(WsoUnB?s&>)cz*}bf6Nwdcn+%HqId43#|smJ6B zMIow2herim5F!x0dE09CA5p<;|3lnrmXa=oc^c#XfaQk;9ytqFTQ{;bgQwWf^8So_ zf8_e(CGuYGr2|ohP5B-~tRj~LJ2AdVNlaB@MR`ft-)v^pQ8^pd{hWHjxZZeX%|?1n zo*F}ERz3&5$=0&#r(BV7l8|^>=e9^r0{Mp}yORdcEr7BDl1+K(V4~I@9=viA)=Z`B zn|(@e6@3v@-wwcd8f8$At41!_{_g>dKu8kc3NYH;0`-a$k!8gfg6l0(9$U!YG|oeC zekiZ2Y73kXooV*zGcaQFs-at%t9&fs>N1Echj=#yzQxgBw6yxESZjFYWR&__~1?>v8%lHnSuw5(W7+$OXYF=!|#LGVg zp7@^|Uh=GU|*n-^pkx_y&#kf(&T_q zK^_CdMFKyCNi+T`UhCLSMQtq)8(Y{7DH&P6(4%$Djl%P#8t}{*_ta7|xU698dZLC* z4gnwrj>QWv5*Q=Fg~M71gTZQQCXamr<_r467OGUIX1#<6GG_6!0J`A3jb2oIBD&~&X7{zs;%lUifn26{ZSOlGTr14*_jcZ zG9lNl2JV%qdU~>2#A%@H6-+{7aZ6HF)U=N2Rvm z{p3)l>be>Gzertdy)qQ&^PT;_PY+-<{Gg`*_VS1mJ;Mx9-&{5ya4bfFCdEl3)EX?0 zlLSAUoScAu5d6a}1F8O}Ev1%jgLgiH-lIm}5sakK^<x5t>B>OP1$#{(}m{eBxO`+*Try#Vb0APMe^xjDO9FeaDUhKZW zV2q%_W(cc5>`WwyAVvHnz)pI=^Af)pg^`O3X9v%dNTUTDI;<(D_fcL!G5x8a{-CAh zdFg)Z3pi3B!QEX8?8yIG6JKGekc~S8KI{CoLEr&PKvtm4#Z!QH_@DBmhsqZ`$9aoP z8)FB(VOwP)D?cT(2t-UiR7ZW#bHXBMiVDO0?=y*%!GfgMc#pG}vwb8N&m1&-wyqF^ z+ncop3%sp6UTM{xnO4expi4LVb~?2?5q!=eY@`NUykpZ3>~r{nV)X_(SMO=0D7}1j84qx$gk=}g zdyt?iDroI{Ll^rMp488>G8Kx)G#11f-<91f&}T>5>xZ?ru=Jr8}jYIrzKt zojY@%iD&K~Gk^IAFE20WbIv|{uf6tK%S-d~jex6?H`HAXs3PDvZ2Qo*iW9(^tc0;c z<2Cv|dRCrLebxji?ngrgSHy6bi?d(qpC?XFJ7vBDe~i$`$e#XQ*G@GRd`8DugA7?AqjH=DyU?L5sQC>goIw*{GASZ?Tm(y6Q%xE z0V%>I5CJkzvz||#F|RkEB8qQD$oq!%&)2N1@(jb%*Xc0pXC~hbdkj~VtfE6Hg5yt? z8Ye;Oz8e8NSp`^|fUpCdFe8dP(f+!;vCO35nnOY(+C)Tjbf18(j*eyYYJ^d=WlSbW zIzS4Nr;nd+^}`DqE@{5PIB+~Yn6#3q2`w-Ok6v1dRLPf(lQJ z1MCV+?@D+<|JU$_(za`-0fx07aeUap1_$P!sPI%A9OsAg)uC@IpntDP2!w+P!Mpu# z+f!{AE)2yOQ68NtGX!Bg931Msd2mx1mSFBN%RdCQ2euVWhoKSil6j!|`;r}xFW7K@ z6wni0EZ&}SRqclU!H@%hKGbm;XpxCD^U|Esi0UfK&*Y5=xzOk z<_rO^NT5`xoHc_=n@8*!XQX4igQ+u<$=%Tlw9G2ZRQz0Yp}}#~Z}5i`Jxl0;*nkF0I1@fxeV2IiElH72vyJ4u)b;wV^8h{u5Aw|nD=WPj-vH3dyYR@Bk7rNG*c7CEv(4TV(QgY)PDB-*@LOp>m zQxKaai-x*f5hO5NrmQEu!@Wnn#8lD9hXrJC?r@)wR&??HsIN8=8f6=-~gN~@b8L;_|{DY)}i%l1PxP`7Bd-Ro4tfv=3 z2l^aU7g|3oBCsf08Ak=jQZ`Y}Dh&MSd-^xDd>FOdW zb`M3^Uc(pAH=zAI;6eKoaWy`^MwS2cxl0VxQH4L&vrjQ#tc23`rr;B)N;iRdfb+FO zZ`))6oR~n(i@eKS^puJxm*t3a3uP@aHjO*iAF1*_Oc?|LpvEsmT{65om46fm<^~gY zfGL=aTF8(Qlo;y5DO!``?*%>M%50Rtnn0Sb;~#BU)4|xc5)BqaVf^tYalXk<6h%^8 z5GhP3v=PNUveF#N)aC9YT)y;g1iGz5>Y9hL^A#tEzIh&Ybu87~? z1F`H1EB{&`J|Xtyoi}R?!5~y0H*+9wjl^1LHF83NT=`oYGF0HQO2}72Rjs&PAYFLu^3j`cendz%nGj zFq|e)r1?5#aos(1&*HX6gRV|PKu9C%;I2I9?D)Pi2>d{x0&*Ho8ApNrudG=5tG;Z^ zZwU!lHTq3i@5ZNeZ7}9bK~!5dCCJ6K74NZC75s*Qqc^T+K(Wx(v+*Wxv8KTA2HW#4 zJjg=h)ZWpN-4zjDg9j3GrVgk&MSQ;RO=+afd8~_GXE^m|>R8Y0>mvg=+1;&Xhz&dUd=RaZ< z-OQQObV+m-2Wcp*8{8DD6*>n}%LIpZ4@!vPG9vQ^sN4P}`eH|hL_H!MWE$2|Gl~mW zENOD92Cv?=i>sG?=qjM?8s-<@XcLIPa46t6nSQSyl= z+zC;v8q^Nu^s^~u;9fHWB#+lNM>hwZf1uaGfvv~tM>CT-yX}875f>EB{w&~;tq-P! zP>_)=Mcmi7v%1&(7gcb&6CiFX02&!o-JxfgjfD9{Uk0Iqj!7hv23ctC!F zf za?`+9QVWS0{K`+i$(bJV)ey9D%-hL<9(W);Z;`;9XCd~T!-Gpt)PDU(Ko9g{lN{a> z+8sr&_hd9(;bhp=b(Y@~U&+}N`mV`=V=Tklyxj6E~E|R)VEi*6@(D$(U^7 zU&e_rlJ&;ff19Su&#u?t$hs|@h5fg*tRF&scUX=FB{%t}tX$Pbe+*^C;J`o!ArJ{W zWsIi&EhZ;}-@odFggBJ*HpGUTkOJ{W%5I@%58VIRE3uD*AZ4iK&l;DFyUCb&{L}sT zPLTP0A$}6RCZj~Gzz}RUuCVYxyP;2ndO-_@?snOW#AXdJRYP1fBW0qf*JLQ(M0cpv zqU8C4uN{+QXe=&1x<{zO3?ShfMxEl++YCwvJHNSc1BzBP%`6C5c`VuGi5jRtRjUt~ zRcuQ%DK1};I6qBRE&hwUjf@Mr+o%hUNeg-i)??X`^K$7X;2!YqRn)znmbMfYzI?8B zqj`F-F?-kUCwp)0^&{iwg0=MGL8KGh&!g5>9f5@fF&!Li?5X$w)o&TEzDbBm(m;GG z6qS)l!Gwf>3;9@zPGhU%r|b#i(5V(ISubOEe} zG z7$=x1yd#W_6@;c?`mmS6`IMg~ z3cR-kW^&KVZSWn!ZHY`LQ?*YndAOqIGL~e$qko`_!w1W)AmX?PIF|&TpupWxFVO$U zL;oa~FPlIcG%APy^`~Un&>gUfPFulzFLWWCF(Jo?NL#M=MOu<(g}#z4z4j;OLa%a7 zliQp#V|-)`3^G?b5A#bdvuq$sEWY)H%1N|v-gmX2+(-HTzJcBLo$J!3b#0h!V_av2 zi%|Ud?RWXN+#i{n)mPgKf%L0V!%Sd0MO}o@FX_mQvPRpPzenMS)hyajLKQJRDzC71 z4oj62kB^TJ!(O2~JqXxQ4Mf5J)ZwiOpdy(1yo|*{Ar*izg*Q(wr>}(NdSkR8PL0Zn zNf@zPnJjS)%`KGwo<-#Vk<-x-M?l_Za}ZEu`SXkW5eLWIO=?1Dx+)r!V?plTuGtjP=qiT3xIAd=}!JA=Ak~h3LxGIu?Oc!^~A8s#gCE z&vGI)iJ&E4T=HC!hs9yLLh|A@A2s!xQv$BSJ~FT}IgV>Vh^aL|?uvKJZSH}zkV9Fh z7g%XUgcK^vKr32YFJA-1VYlXKWMl-4f%>ue>y=lJBq%+eStJkU9mWxRqKKC{#N?Ge zH1xaW-^mn#*)dtn6=wFZKq`3&M5^V#8Zmv{KYsqeu2ax1kfC6&&$y;Y(o_TH#@i%-wj!;SndF_vsb@kC@hzXdp&vGXW@)gcyeRrtaQ+|m!tnhg1< zqT-exS&CIE3v!`YS}D|RYE7dAi-Qk_yqcvXc{s5S!nJyET76-q7&8dKw2_;_9dNyy z(T{n|_Y<70Ws{kx%MK?yRm%$ z*}8Oj#ViWlD@0(@ib)vk;;OmQ z_1isX(+__P4-X#+cU4{2`#s4%42hZMCk19Ue3sd}W%A@KJW;S-+h@u#G0ZvGpft(( zl4BZKB_+u&nf2;mVqTkg2j07u#D7C8mCH)+Rl@7}R|%+#n#(Md?`){0l#04PbP6&tGNRaC<=gxHHe{{|Fi!ilFR^*YWo8BVwx`^hW{14ATbW8kudt<9 ziD(TFQ(wpC53AQW#^PBi)J95|n$NakdHU?*ehzRK!_j0hXBo?cA~JjP}vPtlZhAKOn*MwBPk>tFS-)7Eq=BM6KjDq$cUdu`M(!4;xT9Z z#Nf$;#J^t$hu85pNgu_Mzunxu7PY_J986gFGpyaa55GSZx|8K6eE7Tj<&YsWXPD(a zeLbwkchBSJr%-=Dx==vy{uUf#WIla>qb2Sd6Bjee^xUUMP$=1Olnqdy@!3DT()LyTEa+ZE=ml-O z{yDNp%lK7wvWKAx20t`zLp_U$85*oZJZ{|dTXpB!v_!F=LEK! zh%qWHPTSx|$(*i3K69d$9M z?}K}zrGaL8wF2nv3XHA9H) zHt;g-{$%S9DBW7jLJsuivN#3JbXg`m2ESU+w zaKIN{u^X_SEm|e0W!5q^qE9ec*Gd-oj+kXW3{h-zxn5zHTETAeLvL#2YD7iX=KF#( zH@lLKsZ1rx8~XHP$(KWpt5ZbPbPYM-D;!7h8|Ov;A1OX9?S4DWK0LD1o->>Qw&ot? z=j>nttqUebijWtOG4Zvs+5@8(tHeqvtYXhWg~g14gy#L^5LM8#pbNYKhBSD>MMAFk zXTEC`Ste)$g)=+OG9qr9IdDs!5=lsR(FY(~pZuk5umtz`LPGc{*)d#`*pf?BIWP1C zgw;JUOOuM2do-yC^W(e>1XVBams>j`M4G#ajq-r6LdR10luAGYMYlMy=!rIEHUPHI%Oz*JN zo34^tLq~2CnwX;I`R&i!9B@!hv)Z8oPQv6O(;?S2Q8Dv60&463c*@)NUk+gN&iobx zvZ*-1Q0H$yT$ZUgP&fh$I*UvXsn6ksYc4=YDg>4Ia~vf~4*sSWab~T!BuTKRY^l8C z?@DHuN8*Dsk&gV@;Xby#lxE*~6UOhRs~rLE#X zTX%=gm^%1hwrq%ivw~Co6L%pWBt5$=*hmEKp%D6Zgxi=ol6uu2qLi#EI@CJ79<$b%`$1joDZ~rhuNqVugg(_XnEIV!?0J}U;y3P2& zq&L_D%6kCvp*FTOq8qvEm}<<`-9?a`_bk3WxC;Ga-}XHAkP5h#zDala68O+E8C*AG zE!OpAD?_llvU0p_0a4JWwpDn{#Iv>%Ae9HEF+_avQv8VdNl$||9xYWw5@`2{UBP8~Jc`spQgOnPgSn$5cZMRSG& zC=k~ncUeY4N~=!{QM8vMd zc$Df?PV@vR{e1IDjPom%sr=rV&n9VUX@sgaP}azMI`Q#cmDn#?)Sg>5M4+I*uK$(& z<^J@|i*U_+A8pg}I~KU8N6^?FbDzL17AW*J^zW%D5LC3;opDiwx;r?q#XC%wypN9u z-q|tpv&>I)XLcaf9`KZfpb9;%{kSY4P$-${uh|XN{Uh$=RL|{j&H)5%UO1S$P8otx z17*0hKr1tiRby-!p1GLR1nlp=6Oum*8wO^6v7I;~0$EQF2_hyFKh5{=I~mCCjY&K_ zJjNJKGZV{Gl+mGze*6f;Z39ge35YLirNt5F&?{33U#tG~u3RdW=wa(tx~exuOZ-LS zjb8z+n9vCI*}6G{il&HvTQIR6*Qd)=0gkPL{wS|`ohMz$jX3?X7+1^pLgS6+E^Kcc zI)>Y&OE`5BDK2%KDG7}eIfwd&mcBld0FjxwdGW|D5(mI8~{kjQIeA5I4o>3>-Wn$HqE7be@`s(TUJef4ys@d$)_R&6DYc8ekl>-!-r!~1u+O(+IwbK- z@3TP=&JA8MA~v(%DO|KMniyA;-ut16FF-h9Q}Ucp1ffr`1j!k_-SX8eWxnu<@?4t=k@mEdQ~=Osr{cX??phrO14rr_#oYt1bzhWj)?kK9MKY_d%EPMq?xx2gDs zdnUpA@aLrqsMiLzDAhe@y_8bkXQtyQ%6LO8NpJ4#41X{LBIy>)V0V#k%3(7o^`FA% zMk>iXv*2R<5Wc%;HCpcp3v8xmX8z#%@){}!^XMXUag%*G@E?#%;r#pO?2`JdnN|DU(~-xl~kfB65SPl>Bgl!*CXOC}={ z_&=_-Y%rol`@iRaE`GO6fI|cEf4Z#yd3^tQQZLW?zn;f`9{>ON>He>t)c;p+`JWH| zpEdlS{*?c-Z~4DJ9sl>c{`;@J!^6lM;luKv3kpCJ#GP2ZbiqAq{r5ny8Cth#CZd{8 z?_w``Zac{uiJVoAVdK5Zi`kOQY2*ly}9`o=#T-Ls5UnOSeuFV zAUO?qX2{jJ4~GKx=j2OPQ`!9sIC_JY>15Ep@w-qOZ9ov* z5qb9Tcmmi6aj&~ap=*l%;0|D!o_OyF#Iv)sUSJN>ye#}(vdZn!jxZe0R;JgnLlELl zz(t&#svp~L$+p~heU~nvb)YVfje~P}tegG$^i!o14nwkes=P@ipA(H0(bh{R;7Oz# zjGJnS|NF2fQtD*t-t`5z#Jqltg(+ytp4#a<`51Ac{bf78KPi;}YxFg<9&dZvix$|$ zapA&WKXN!kNGvM;r1bWo&>>(hto^{u%zW&UliSvS!{Cc~D{p?+?JiGX?5{s6A|0eJ zbUCFK|0Z|c`OWaR#JPwsah%K!HuO&u1Y_ne*d;S{&U$GBP7WlTYOtIk&kA^jdIB71$3Mk_hsxKQRkxU;gBsLqQ2k zp}xLkS%0LY%mbVHZ8=Q-doXZNc_zd5`re8sE-76Ec_c^L=5>7xicV1CwpUiNu_FKF zF^f=|HvPib*1Vv3_I!LL%OHJK{PfGda zj4hdat?{SdTgmezzS&5VKZkLlY#k}4g5uj3^MzcD>ZMy+;Y-$>ms`w{4=Jgm_qzCQ zKA<(HPMJrk(9xdhXjeA*(`u6J)>n9(LCB0;EG8;Q=>$*n)HadNiRxv%l=@GT=?ch8 zarmXc#(rZywiABXgB@XZ{51XUJ3vdKu2R{KE(%8s1zA;aXaU3mN z2rRaArMi}xDRSf5_NWWc(GO14T|NPnY#Ze;cyuC&c2G4CZ3_nR2R zmOmmzY^+ptD#rWcJAnDZpbmM&P|DdmZzPIHBc7!0C@~zFIHa%TVSm`i#ur8@tpk=Z zc38S7-#Krr2mRNpHl(Fa0F*sN3mmJUA!KEF9XEn;w+PFyPurzgKpunNVZ8?wo+`BS zls5D8^RD<8U{)K{j8)Ei69CigM|0BFo{x7bn$>#uj{V~l9mqYKF90d0FgE(6^i+Vtt+HtPV^4TYE=d*uyK z6A>@6IDO%F1rjft0=}bNBQlzZ$C+7>uvp5ae#1movH7`khd+c;W|?-il!SZ=i~Hdm zTNs%Exoi|I)L3#VK5$-2C+$t=OqDsx}j*n<%pw^k?Hf{}Ah;AOtJjW6t%z!x{D;=rrux zAGyQl{2pih29H+mX6m1A`bEYv1ZLYa0$=jKmpdr;zN${4}3Tc^2$t+bcz zc7sx=^8Q;8zG%3_q1NecUd)hr!=L$s!A88!uNDSQqg(*GjUGm_cLeR6>lMFtREZl8 zhm+Rpu0k{p1m5y9?*}^@8$qADiL_oZKdpLEyJ_MOuzq-4uF9Q>>&;diDh zP(fJAocsI5xG%ISfs)(Ws1I{1pRkijr)F1LQgE+vyafP$ zgs$dHeaV<&6+jQ}X_M#{<@r9w?;+1G`66S{{t0Y)8R>FVq>db91q!cb{>0O>_J=JN zdGA8Sv=3OnUAZ+iG<2>n+}iK;vzuugZnK_mNgEx1XNxIq%VqM96>YE`_~l%r52~Kc ze+&e$(%wPoo0moTiNL5$xpGg^BIpVVkyMTPB}aLMr1)KfS6HnnB&xn!Nt)@A=ZZRq zD!D{7s;j{w=OY{eCDXDK<-V6cK;uj@A zWE3AcK=pGy>tzYyW^h!92_2ZguA^ns7|3Q>+{qL$?mU!%+O@jI(sC-U<;mcF2rwqT zlb1@ou{207-A+atGm=DTp-D^yxp-{nN=D>D+3XY+cSC~=gzxs# z^W*gf`KM@%ZNN+B`QyF;Cvp?OFZ3z&$UpG%^y#8dWY7HNsL?2Arl+Mvgn-E_$^=X;UX4YpS*-*svs;vEIHuW}(tFB=jA`c0g=LZfw#3*BlP; zS-pi;u8=Z0+6OFx89YAM%l#ka`v*pSB|;xYQsPc$AdA^#oYND!^^W;+kJ5L^Z9 z3zr6y=-gzq%t8bilo}H};vG9(X7zbo54D0`X40%8azhkqAngGiG)$Pc;VXEmpqa-j zP94o&x#D-T7P6nM=l6IC_7Enij;8Mhk6;eCIl5ysaj8^vI!NE)Zh}7pXsd-)2LUGo z>9YgF=Y>7ZzRC5hPxizb2ztXPmr4W9d&oLi=M&to4AJ7ksu7a`!d2GDb_!ZMPkTdJlI`rSED09H1%M(!yl$ zyD&J|6~uB}4r7p?{uFVGettT6{^F5uwi&JB5Ra-l(@7-pacd~)smsnA3(q_RkS&U> zeC`)lzLcR;e?ZA=Y}8iPmUKRDIw%93TpwJ{!Pe_Pj2ld>DIHjN0O)IbemohDXuJ5% z(mBEz`%$EVv012+Ac^BOmAE82Xd>2o-#RkEpu_5P*t(wrIa+Hfb1D=r^O`A{yMqQs zVY3e(KzhLs#T&52Z2Yy2?B`~=$io^M8j0X8<9j^3C#qRd1huS}Vj{Uw1px}RtQ7P0 zHFE{-Qj_7Vf!EI)Ql6zx-QWuT$>I(~RFA0I05W+xTOrNG&Am`<0VLE>P;)Gyty3 zZY5TUSm&xCHD#eKLAZBf(()vpyEz~cui&9zZqmccWb8U=LBictU;qvL9d&i}B9%(! zswR^GRN1$@4S=7J$OtZ%b{#{-LWItc1f*=+bipJ8+aNfPCckH25nRrPn**NqTg4~> zK~qC4IZYwoZiplsl*Ie-7F(VcY7kZsqNB3pEqG|7-Wd;Hi>g1MSZt9 zvcwWIV78RVrXwHeHsrK=XWOp0^nI~%3QiFd1-K;Pebe5+Pk>(FYQen_jORSS=GE~O zvV@o0Us0$;gqdoN`68s&RY~>gB=SD8wt$@`Y_q14o`~?qEx_U_C`lmhf&tPPbEf3z z?Thl-6yuvW`EoCX4>My<{KX-B^Aw3)lqU(h58VhpW;Wf_wD05P>`_)#b@i54!vbhX z1lU!6DFIFG9sd9{;TtmQoZN1hPgTHH7{ehtXzZ}*Zy#aC&MqfagCSt}IX3;tSaA&q z8elj`3Rj7f4$dHB)_ht+^ZQ+9@|=pps3CLqGNcaD@}#ZTnub2LF8Et~;QB48Qs0)1 zrBbFAbL>ZJYrl&;(w77*zFQ|EK^PM=+lK4!R$&3$Ylj8Xn1EJ`N-R+sCj@gX$8Strb4481C0gg^p;oUJ?Ptj&b{mG-{Xra+o%jf@#<7ER zC-p8&(qA4s8E(!Pbs|1MlfCl{@f)iX_`*;xAf>pKP37T`Baxfhl=?kvkPc_X7W!tn zt?~@0{dJC`iB=hRf2k42;gCR)+ILJ=O35IDJ__0Jb4*5F&RYHOswY78>9XAK=#7Hg zlHn*k*T$kH=M#(lm5JI{(o2JQA!;D#?zADHN$*w^_!QS{KCG1fi%2iM@ zj15GVeiv(!9fC&nhb9QL*^Q)K%)sP)H1z%}>Bk63s8+bNr~3)lMpUyR$oAogifi^C zl9wE&GQP1HUy=xpRME~_xiY*rygSIVreOF0`|IIFnNDZ{P2_=9DW%?KKG)t5Ji~{; z)}Jb!&GG!7`KN&)sFeOR7?rT{e@|14Ypt*A)5cu!#l(Tz|8)+bANsrCUI z-F{_pZq9v_Yc}*MHkfq(Na*omQt24PoT03zhaHi{4l-q^Sqw?9qSQioytAqKUPhaa z(fT4lFxu5nqLA4h%lNStkXTzNTCiYE;u;+;h3|)==Y&beQHp;cXj5yuDQhkMmLsWlEvL}7lrI2bDUTb{PRQLH(+t~fNl>BWY= z5Yn!5NlN2;fr;aP@tIZ;IP_pO%JlG=2GboaSYDDFXR33MGL8ej+E;=SQz?>%|LJ4g7NNx!EZzkL$zQ(@cKk{>_vq}AU{ zB%j!1e%QDKca$W1WkrR`#V=6(ygxYVWD5?V4bX&BKj%Cg=T%zON8+)GYqaq8H|}m*#WJ6vAdj##0vG{93GC&5AP35q%AqvG%dlL43>}ux zc=iZNjGy{@T*g~tZSY?oe!oSVclKuo*OA{d2)1AnTfFSLN9Lupo+uBN%YMd~i~7iu zgD8l||68*o$rb61N7b?r)J<7 z(&m>Jftf$>kpc%^e*byDmPZd(Rev zfen_f$UIVJKgSU*((i`*bv6wCQ2h#B1~m>FeS~%m zv*ZQ4ZbyPQ`Ju)v-3zxqLfxITj{~l1`L-bYpCmu;r~{TqT&xEMYK_ISbiL~4X?jTzj$pIOQN-J3hY!y%Tc-H$9KW`l zO#YD9)X^!?4LSk}qfdyvXRRkbzev(4#_>TjGgB{)ch>9iC81-$-eDSmzx21w)Ztqb zm=BHij9N!Ocq8DGIt^=V4V#{k7fkxNE3K*Tl2m3b&YUlli|M{fnV7TyMFIM&Y-=dT zy(C&%Zs6D~&y0D@rV{20_;9Y|RKZUXh9 zCUM?d8Hpm^R1Il$v&92eTl6|1wn(vHo_90~>b$aMQDX1<2KDCY$sL|#3K9;%ZY#i> zfY7l0MgLAE)fXg6z!9ZK_9a6J65pD5%`jGGsKj9}GBA$CUb^Nyau50T5pUTP_i4!M zq?OiBr_H<3b02UcBH>Gft4m6T$}q#6l)m#TEL0P6=jQt6XM8rf9-H`Ch8|JTJ>Dx@ zMWUr8(!`Ow{%gUlEM$k_I4|>}-gc2YERjgEoClCZhZ1t))ZHIIG^^JoU!0xakT|Sl zHC_;1x4c&T+GzG9r7R0qj`?S7{KorylqWecQB=FQ|6xL&o_u}4&~}v? zA~C%kSGxfqiPnTB{!LgI`% zfX{XF%5>zm0xMXwzk3QbZm_a(W6>Npw>2;d>7BnkY)vd?!Nv?mXYl38UqNXx?MJ;7 zTtyEN(rbZsk*fn<2pg;b?wDpa(;unuINyf%lL0Ok^`2BdJeTrBH1n*u%yGUkT9!*| zw7s=n9JnhO3{M0&e&*3&6eIN9H9%CRpsNcnMl+KrtmoxWZv#dYfGyi z*3CY}#zhv*ooi81vBEaulC?G6e>LRO^7@?^2YFniA=EEbt{H5aWhDUrfPrIJ6Y3tA znkwYQJt775QXqD_V-l&pWN|r;9)S7$l)!xibo=>lKThP!21IAXkcdzaZiN4WFoe$h z>K)TD=VR1O61p?zq;A4b!LBL%>AFx9Z93~S#b*?9&05NC0%N3}4QPeelZ*Q8xrOtG zi}lKHfriVM2>Z6%54R^kkRZc|OlWJc>c$rYx^tJCGqvJml*@9v2+`CX0UKC`aoL4zNf(H5NTz_SoRXe);`}bmwo)_I;@_ zo|g3SLJBp~A!=^f(RIomW1!l8TS(n91=aP*W~1|icH(}gAOH%95^S5VRB zW(6`0;|&Uc=H;q!N&7wY8qES}XdhhE>1?K7&eJ8X{o~ur0YVi}^&4Mrg5w>D--E+m z_iL8(jTjMEJ9{guTY&g6;*yP;cSxWLI#4kFlFl4ru+<9`R805#ZQPXxb#++%>!ZQI zACo&;KW%ZmC-}$=Vk!v#p}QBniP$sT>F2={q7Q6Uv<+~v<~lBOc);2xEN@f_Rn_m+!##v0$g21M`u5M3{_4}uB`pZ(+7KL z3*1}9%}~mgfF%TCoS`#Hpi;JBm6iLL4X?x-Gjrok4NoHe9|uvm<|mDfkC&L3H5|;Y|?ug3IYkU~voU z4>W63#<8l*<>}^Wrt1&EB-X(a-ddbA3844(1R-E$`drO7A2$v6Jpu?a$r#^{Id;U` z2{od}&q025!H)IA2p(ULKC|yp?d*e3R4@R%M#;hi1c7)YTwLK;KwxSi@b3~ln}X$f zqfGf>9)<)POGrSb3nBR7hvB2#iXBgfBK=ARpT2u9s7)wyA65g=q*5xK_;>Cu4?ydv ze8KwxlqVvthjSoKzhzqTxn3?=>3EAKlt28}yaW2X=<6+c|C5G|XizzV1RSYe1XS?s z9%u+K5Xkq~TlntmKI;$oNuG8zzsW~?ZX@9Uj^=S62%ahk=AuHYU2vA>mwEghL#LBq;Cw zx;z2xAwMIHZ;tID@aSs6B}{iXJ}i`(%z9F>EGILLehYEg+Lx#ZVxeYyX8n%K}L-z1FMT#p8@ESRbMg%Vz2BTYCYY3m_!Of>gSF$-;NLd6uO5Z2{{9;CQwA zfLzAd*xJ_ieLzsNnRakBU&?#6{W-;N?9>=--;=Tm$A~zZ15b7BTXDd)B}fW|dU9^9 zy)^IsTD@_dX5Ut9uy^8n-OPC=G@^sP1;Z6UkLaQ@hLT035M2(EjfU#3lgsxv>sT!oe2I;q-EV4Q?Hy4^X9#xUyVq${q zdM{vD`{gIbSroaAZ3;mLNE`v5Ib2Ji6Ws_C@F8vdLB~Bm1U^Yww}T^tLEOywdtTnp z*2fkU{Zf^%%u4Z`_|KmslivTaJKP_n$11<%yD++gy#d2E0WP9iwMoUHfWsCRserH%~_NF@ZkfX znnPq3y+K4LABOq9yekZel_lLrj~%%n5N05^B3!GT-ZMZb21 zDQEZCmQ9iQkT;d&Jx?44^1}}a{10zb`|Q2H(iPqn6%-VJ)7KeB3cNc>E{7P)N3ujn zDSE!bH~&h35q@Kp{QUa_HPx>7ypwYPqY6T zXj;?X-nB^|H=hOkLc36ds)ssGnsXtT@RFGr&CbY{BE{ZS&~bv?ey9(z&P$M+wB+G` zQq3GsyDi8s_s${onUHsOUSGn|uwL{cCj5j+n=4Px`f3~&%Y8{MX#0f88sy@RFml*? zDL{z7S9y_7N4HsB&dF;QF6aAqNr?!#)ILr5XC{-{q6 zC*W#=L3$mO(PI+l^jG*EQ*<+-+FPOT=l4JA>qm& zW?}kz4Y#tU7E$G6IZZHjzTO0K{5=bX{3iT^%Z2T*3Ct_Sd>E+o%syT=lcuwbMM*O};w( zO@0e$y8NHStetedtY-@hbG0@rkIs^I{8fwcDK#lt>hq&~R;LQ`AOBuSf<_nEdn<%%o2w58+~`{&@1Nm`1~Y->F*s+g(w3JHew6*N2d%CenxCBq8>x1paolht8%^ zU2cn6oKSi={^oogz!EA&MG_Ez$8q%2b~H+Hbo6Ib)F?{S=p~9G*Co?Uv7IHK{)(Rd z?84>b@5`0czOQ$%51d>)bv2x|u8+=W)dP6)*CUm6^7SZpF~hvGYN?+fUjWwTXx|-y zmH9>|iQEI57RV7@WGfnqUCFh*j>uRG!HYPdY#T5EBwk+rNjc^PPbD)i*pa%&?w zsjX+YIHx_EZfUn?X?t)NH)uMxw72Tp0mcCiMat+H75K3}bOj+a9c}_x0Km-j7exsf zy}iAT+_}hwt4upY2EV*cjH7m<#B}@!fg=v17tqCbUg$ACCh&~LJ=@_qyp}jK4 z_ePPC2?-I>;Zm+78lE@?<&qG3L5Nc+3PQlKVllJGK8B&SRa9gG>mG$-TdQbGOSmxn zWATdAeqMFrVy*7XZRTrBo!M-Vn_HV;yV2oN3j&g>qMp{x-GtCdsZb4nJHv@e_Y>C7 zhPI}*yt?ANoXT2=UsfNj?Cfl8ZR@O$>D8Hyb#!z{ybjr>8M2-qcI;a(XG%*;>znX- z?3Mrz!bG{8kkv>OaO!X}EpdlgBGDOwE)vAWUf8n9M$}ITzWn@)e@&Y^7RG8eXvbYz zWEVIfg_Gz?h|GuuspRCHa@&d@%{IOzFj=5+XD)j`93Hk*YY+btW;;j-p{*A@b=+vp zvpyawY2;|$9xMIQ%--yKJW|sA%O{VJglO?>AaRCv$MwTc!TYhYYQF!4q_c3O^Z(np zuV%yKhG7#kJ>5OcQAc+-)6Hy5cbo3+?(XhpOm{cG&z|QWm^tqAzTa_OuM1bJi#B$| zM3z0(%#?R(dYLtzc4BdMVb&}6=`n2O-NxSy)OV<{7tC2zRT&w2puS&=!z+DCdsyDN z^o{%19loIh^Mh3RTD3{%FA3+5BM+pjkbkRjJE0!075j|I8ZwnR*}PJbJ!L97@VTR1 zmDHe>D9MnVP+26^9rsHyJ3qU6bTBYoKRSF}cuK^*F-&P>F4`X*-sfhLEt12JPzxsU zaJ3OdD|P*_xz12|^JJtixV^k`V#THD&|J{Cx0%#?eUHe~R!~yVkd-4m<%ALomtnv~OzLm3K?Q-mb%UJ&}q}~)S5A`LDrBOU+8t;T# zZDDCuX+=pxPDxHpON|9XMd{TSBJ1vAn1g|QOh3sqJ(J;~KzCqK90in97SnMsJ5*Ix z=E|o1+o9@7hL^l>ZzaDL1)p?8Dl#r7PsI+gA1|kH?Q3f@Gc)Ubg5!K^Q|=iMV3cir zd-*6<<@88&`;MZ+|`d*mX4%nl?S{eDZpBa&~!fa<;`hR%k0K=JSLO;<5Lj0~wf~ksCBQDYXp! zB;v8xW*4q5_Q)%`@gMtlWZOo;%ZExNic4%1*>vKcV7hexR%w8A$z-3-qcXjzV0aXoH3x@{mMoXq)i z9HQ8kD#yrvV`+P|uqk6=L4XCm&Lt%~VKpz%5{DkCu)yky=lcJ9;d?%XJ%3yhoSriKa?f$MDSR<+uf} zivVR@YOQv0S%@Hp+5=76iQwakKBW6GnpaqBR!x5}Sj)SAnS&A@i& zr-Av&uw^S<)luB=?DrnZKm4Q+>!I5l*>NK+GG=FE)<<*8Et(=MSEZFr>d>Rmk~H(! z_JZ>#lOp}F{Bka1eXL0fUgY@9y~=vbMO?*S$@U{neRx=OVRCz>FYknMS~d-kV{>Q2 zWtHmUQ!Kf@73bc{Dar2*@cL6b$15Llt5T(%{T#bpaL>;?$g9TUuh*UH!1jBP#lcBg zuDJO+x;lvA3=K)Bx_PN|UQ2U555o*iD;42n_nizDLg0sEIv^RQeK^`}o>Pg5S9Vrr zubyFLWn*RaGs8uVCAaoTQF7c0VZLQ-u|uz(4LSaE7w9{3=ZEnt$(jK*^_9-i?y?H{ zQB>*@%u$eLX51QY`guV^>K?JqUTUjjZO)UWV&B5~ebvJt_XP&)4vG20WnMKLzpMY^ zX;oFV!A`@NtN&>R+08dXuXFU;P0AbHp=-Di4ap>S+?rDQeN|0|>jh`7V-huYcc;w~ zd@DhwP3ariOPn%q9eexj#NYf+C-^$~4s>b*rftkce=;U0DLtoc)1MCqdYQEzzSq=N z*VX>X1KqT@@u0URBJRePviJ|IzmgX#X1MXy)w^`|M;OKtmoeGdkuBt?3{vkUzVR^! z6LNZ!|Cu6c$1+*u<}0uQNSSKuxs0R~|D+4a-yh_ih^=KM@&$7K9@;EJm+SRxE*hhl zH{+nsC;f0YhN-P|MSp6CulaDP>l_(I{Qs5Dm#N{+Hj*08v)V?*5%B+FWn*_dQC*HR zJ;`&=c}5ztdg)kD80O;IpwsHL^FtKqgdgi+eYmx$6W)oJl;7H=2rLh+E;3rgo!Xha z5%hBcfl{9nobuuwoE`P)#){=l{n*MqP$Ypr&7Z0R-0L3 zQ6Z^#kw^GF#iFM%{`qEdk1@VnPERm&uTtz#q&MjIr3oP$rG}$sW)1_DmIik!$<~m7 zokey(Zh*mLHH}@*gs1snUaG`K^z3XEQuy3k;$j+Fs~RDSms5O?dHKcGEEY_${J+Gz zzH$o+)2}lsIrz_RW4dmPh>0Q=-h75y58c-T`_qj9_DWyLG+%-%hlST4pQ#ir5R295 z^pYu;VX*iBnKXLu%w`rZrhHwVpmV8Cngg?&V4^B`JciJ``99u%mXw#FvqjSUR>!Cuzjm~+HB(xy_LoZ0rd@nm{z9L( zfzNgoqbVN>DJyf!(~6XW=2ts=D7ZBjoazc|kz<%^ep2>b}GB{5y8Z8K1mr|}(Z zwo36%g1Xsk7c4Oo*bG^>!3b^T4zoQzKESwpq%9z3oJS9nF^qCno_w{RJ1i?TP#Wci z#iADRlgwm?Kt^XvG|mXq+>7E4V|The#AR2vmNgUJ)Dli~ch)GPd2aI{EpqENdg?_#+H`9E$y$}Dr6A8gqiNDVg&0)?t@#GtS4XpU=X*0j7T`H6cbhLMP!mw~Xjhy>k>nejDj3ZVTDI z-vSryH%^&Fs-OHaz(c?Bd^shn0)=Xdw@h5%?3N^AJ!OdZo@I2sN4{I`D*nm^7;Uh) zo&Tu2Kr3+YlgK`5#wu`gLQN7KJObb@_`+|MA6U@x_YCJhRx< z>YP{W0ymjv67YI(UtkhC0C>mU0x2HI4rMi}wb|Fp3EhbgQ=R#G840KDqBzJzL)JZR zy(X^%8tc?y%H=Kt_OW8f@awn>o}Wz#tzyM$YvS zt&Zw`BYW1!Gl0bn-)+SkwWw)>M^Q@0)6-KmCK|D|&Z9da@D1gUf?0s?{V{mD9%x;C zy#MMZpK|B)*3muPm6EPmk1c&fQnZfekme*t(OtpsL zy7RdjiR=h(?w<^sH?tNYCyO+rq8j|15uul7>b2Krom3Xx)@z{<7wj@_Z?}7 zvcV3Lf=NW)oEg!z0zVC0O&sFz365OKDL9TJh?0D)Ye*Bt6bZ(YXg`#b{rXm-TK3Q|@r2@rTu0w6`7G9TyW9GE7%M@&@37UVDk6!OPeyGPQs{>;88%7&Bd$1`Q5Uz5jr5aL-gF6e0)qZb zEvn?=G@=u(1RbT2Uoi8-PdUz?Au`FFN=wSBi}e?Bq`VoKQb%X*4?a$hmh{$3^>v8i6KO z=qe@EB8tU=^qhBwVqK4#u~ldC;uq%(+bW8ldyM|aVc_NA<8bbDX(#|?nupNB#6S-Mn z4Xf`pEVo)Vx-6CM=x1lQE)H9G`^iO)FHZ(>8@sw3C9)WKF9>0i0pbv{j3{)99>%$^ z&78gxic~XhOJhtAG6b=&_qhKJwo}Wl*X?J$kHT8ft%jD_U?*mwvhj3eaZSE$&Hb>W zQe-Hlk4sr+J!1+;7>yUA5ofynmC*<=#j?F+ILKd%ovG9T+Ct=+zxH@-aar zLeAEMz&liufbb_*tk73}9ofdlqhMI~%T4KWiT#6aGwO}*&&6k9a{7#O&$)~Fx7aWW zGC8RS?E-D%W<2!m?cxcX6h|{s-P*A@D_p&MeB!=il!3=|Va)8qUSv`ekL-(|cv>70 z%rq?(KUihxyW?AaA%!@|bSF&VvYqjU?d=Chb|x= zk0bN^2sPK>TlGARL5{tI2F21eAaQ?yvc0YItS<7r|0PT8*>D&Za=%o?m9Aht&>Dax z!lKaky;vDJwlDAfDF3QgVXd$)c*hd@N#@H<6zK4t^aSn}giZ~m2DDI0kQx?q9-WG@ z<4$yuJ#&ak@*Ydvbe-{*1e8#wxYwv)jVMVMMECMER-+_Sj^`~gQm|I-E_|@%3XBdT z>`t3_Yl?y?{Qj)z-4m56re`RdsF_1(pERngG1w=+&(OCCp>MX`R?W?(+my9+y;*Ti z358T=&YnC>@gOq}Ctw~5TLbN-+e`X-B# zP(j%aEwoyj$lP5wd?u9YOxRcB7U-AYANb!o5vV?l;LE@7wi^7Bdr5kmgnSAtkD&3u z)X64PV8|4jdm)Vtd(T-3{6^W#UYqvdAU(OwMykEBoE@W#T-Zy5f8@&p+4R9+Wn~3G zX_rpGQvzss5P#5_r2QKw$+Um#ClUr2ldfjfjDg6coXa;aJ$)U>G{koTQfeO0&^*4| zguY*>GQr^U9eEwelquo7KV7i<%&!wci96u6@LGyg75xy2DzNOpy}7A1Gnq=M%aQ3HT;SMKC@Ck5uR^<;_y%lMC3nrvcY_N z4pzr>%$jaTZZr0*4vS5USQH>z`J2NigE>G^^EI83azzFSaW)v#7~%C$NbW*vJwXY@KTx zOJjv{;{Ad~yF@cHx7~p9I%n=Q?H4!^W^uhLt}F@nGqwQ*6`UTMS8om3fzrfhj1qV7 z_H0wf>uw9Yf$l~=5)7$myNWm!D*)}t<8jkTrk!*_8{J+2DlzQKc@2=t?-%4b3?_Rd za5)wpmgB4}W*Cc+f!$!ex7&J!>2t{|qpsI^P6JUCU{!68%V3AiaEeqTCO&`LR^5|r2)u&$K{9a@4%U( zl2NEB7$@S%gF?mw;YYUcGZ!ZxXnPXS9&su6YOPmLqkAtfo3eQ$k@Ga0Z8t^l5S3Z< zI^jLwx{w|8Kb(Rt`~tkc2cC74{-rnj3WvO+rlEoR{mm1d)&xipZ;P!(G>1dy%q|kcHE43c^TrN>y$l@HK1Kd5Rmy?%p```Z3VzIS&oY7eU z+(lXD%9UJbC&wZa`9t zRx#tB63Vk+9)&&N&WTW67oH?0eURpSgHq=K*B@&F50kHYm!l;`%^Lv2PCfW9qd|i#r9Cv1{ZrdrDssI9^OsZA zZZ<=LsA$4cO?fobmR6UiS7#>|YwqwB$ZSP(yKMJW!hM6PgH7u!SFGwpamP3AWoH{- z&#KYmo)$@c`PAIRJaZKE2Z-shpc*rZy4f_mc zZ%8XK-LcZGQ-HE4G`B@-1Nmf-zZ5+XW^Tbd#Y@0ZQ$b;)8ER9ZvY1^fgm7H>xCidC z*KpzWSz0I|H6x}?U5=f<<^11t>eK~I|I_rg=H)k7X6d$Q{2l_{@I@C_9D>5fM~~_n zw%4<9;36kN&8=0=C69#uhDVB0?G)aTFT25SVb_32BUaiu3bNwBqqY*+&dLnD@cY3B zlXt-NIoM*qGkP^dM2z0nF(!%ft`lwyBh^1fa6Xow?k}kSr!BB_lKq2&LWyWn-taJ^ zacJL1WZ+?rIbb7dQ=iTF~`^f;d?tVE9Rr4s#U&6N2eQ&+4 z{Q*QV3jo({s zffZs7&xS{a-UYZiEf4-#2)W&UHjVdgUW3)X1^;ro;7@cCzT{tW6``Rn`~SQqi+GVe zOZH75vWJ349Svn)jPnan3=>FJvw)Y}><}QC)wx}nXU~A2VU+*%1%9WUO&+8fP7~n8 z3l6N)bD-U#?Fjh8{z50(f6pIsZSajfDXQM3yki@<{~_*c-lzw-ZgW^#oG4x3)f_2820ET9VP#ZQ`1XCk@rVZ3saQI-A#oa5>~= zd4CJ2NwWbJ^4qu`53t_$X|V8!EA@Ff>@m0ZBt7?Q=8vObe_Bu6_ec*hos=m1@`Fyo zpXIBDMKt6g_CI2ZH7S1EcjELCK4w$7envT0^XVhm{tCyPQgg*>aB#wfol}!h0WZIf z&|hP~RJ7~-nfaLOA_9Rx1O@-YnnH(dzv6eh%ugdDfI)#n9Re`woPOc34X~$9jjNRt z41vCG10LXhGI)%Ed(~vkI6ekiqpCRk~{%ZWaDG?Je__jmX=YML#a652qTVci}dAqas z)0%Bpvt(S`$3$62f7f&ec)qQVS)!poSOF(Yem^Mt!6M68peK`}bB`D0pkF+pMpof7 zIp+8%>6d;%9MtSzxgmI{5Ad3~w(+w_Yw1@VC+)L+lIT|Hk$mF98jc47{>m$(I65`> zjKlrctH-0eU=A_^#o! zed4|fm-06uq59Um7$!B(DI;sf#`|jWwhRh~Ll-dRnPOOa`n+UP$BU|PIj2zl=aLeH zU(bhx{{EC3`H#tb>zi97r_Oi8^s(sbd?t}_P@mf@m=TZp?q3POiDgWv_K4g2S9&(S zU($uVa`dYPytW&ud`sq}LoR1WmXe7GSNkQ(xAd(F(|3n~q38cuRb49o04CS2*15E& z*YY@QQ(ZUKta%ROuWiM)jtyBzf7EvcMqUfMpQVs>)wl}KCO>Tfo5~EXz(e*$YEB&? zL#(@=!Kg0_fBdGj!kh*<_jrg|SJ@37E^ddC0z#%|4wq>5O2p(FkS!#~jH4%75fu@z zu&&^DHa+EIHK*d89{Ge;V%&8Klpg*^!Lq;WQCnC>S`$h>c$(k?HGbvX_s^& zW{zl^#MP(qK!~Kw}AgJ@8m|ozIl3uv^`+{tZ0g0`2 zxCG>PlM7}Du*N zrYMfjIHQGxM~oDuZX1Ueb~gQ=m7GxL9Clxn*e-VlzB@77+#8 zLtm53J0(huU&2NOy`Pva8-@1`N=}E(sBCc${*#IvyZn>r4K?8nYoMI#W9ZZyYB;7v zXnt}V`}Wa1Wu(k8Wh`RM<_ zEDb+9z*ETDx^(L1WbALR$qaRV_tA~G9!u|RNj0WV+t%1iAXz)@K0fz_pWK94pBAOA z=}A)eN~@LS)sROIUyW zlEyCkX`gZ=zI~W5;&&u$BE)-~fJD(C9Y2DM1(TQ&MhlKY;&SqTtzahKP}}_=d@O12 zlK8{F*Pa_T4(k!;F3*7Aq+%iX-2`t(^|elZIuxeB2V@0-t!>?Dm=yJ-@egU4bfSWR>GOS-XTG-dF+FvWI1k-AKEl z4MgarIt7`hg~GHX|8&w{-=9VOhoqXD(&0y1+%=)@d(=>O?%Pgk*;OVvj9&Xtb@+&e zdl*5Bn#F8<{JYK|kt>t5F4*dJ*5XwU(3CzldV=vouL(+~;Rqdph)+?u<~PDo;&Un0 zl^9k(V8w>KKio|~1A_Icr=pTA!w!vf9Unx?L!Hu9Hfewm_Hnxf;{Vfu^>)L-^P2MnkBZkW{k1I6!a*4rx;~yc%E6Z3YnS2VzCT4l}En(g7gXf{f zAwi#jj^;fMrd^`X5y@hS39-M`@J4w4d_9>c!TA>k8D=-obtywtbtt7HNntip3&lv~ zMd_vbt>`JW0-~V#`3G<6V}wc^z=O@z2V?%VN_z@BJp;`>B`$JzPb13VT!7oF60{o) zTJh7|w$Q#;Dx$B$%p5?1!C#-Sw0%Pw9*oZ{-urLq-!S*48Gh-mLqhq9s0(_c+GwTR z#)0f6WF3;#K!~D*%~z49+xB8k0I8Oq>#(U;whNu5WTIV1l680Og8W1~SVBMeRPHy8 zsNF*2ZXDxLrP~49U<@XnYsY<~+!zK4WBp|QcSS{1uu7rkQWEd)CTHCzVtLMKXmurS zq@!oQ=8bY?Q6T>u4iH9`P357w<~JFAPnq=QRzqeHN7eA zG^|$IVXR?hf|@0ssdjz(WdaFKAm3ERZ#g{wqmoL%D)JIJ@9DI9|GOq!U$$|`43P;x z;hJ&hMp18aN{W>~9-IZ|%Z$R1?bn>P(EI?o$O0Vzxmux@_8pAN+*aZyvA8yJqn$Z#h&y||3PzIJ%{%y_cW$u(jg8H%amimGM33GU;#=o>W zezTfeFnr$eZb90z9Gtj>L{vH@s*a=!B`}&K^7-h@46R}!f2lw1O>0!k-oqc21~*(- zlA79RW+yP;NSk1lX*JE-XdP0afsER8xwFk<8^eN^8r!0Sjku@bPJYPmK`@v;c2`6LOEv2uU6R8a&Ixy0V9G>2iiK7Q zDpK2eUoV)HJmhF_?|$N`pA_Z)LK8{W*!6Xi9_3xgUq4%7YYGRu{Q&+MA)g0_0)sxjTjy`Y zU-hQ!f(aAm>%btk?;tzxKQu|igEr=HzEzNyT6woYD^q(%%1I+!=JN`g+{H_N>ZMol z$G?dBPu-?G)))L8lx6Q_JQlQfuY38mx`}V!?Vb$kJ8N!#CiNA}L)vV^ri8>uXoewx zX5K%l9CXmqHQUZfoZvYrmR8XfP3zuz|GH30pyL%o^9KVer%{bbYk~(SIvmW_rct`; z!r?L%`OgkFPIpDMeEpuGE>>10C5=Y3qYPA|Om2VU2MH_ibqEI7)dzM*@#=dE3}M4* z9I5e_AsLghzLJ?2mS+{SKZK9$!X&l#`oPWk&LKJbac$Yd61nhAW6mf1h~1lO?qHZR!!9GwYb9pENfFOia%7At45DfG_nXpAV6-DCv~jRU zL`%S%GbBI#^x$;_5I){&J?oVOqzD%u%v%N%vN2^{AQj6+CTZQM{JSA~gn_X_U1t_U z$srG-yOu|?fP5-y#l%`^N|tjzLph(d3kRZKyF!wM$WZ5)fpx{0j0fORz@(yHYqoL@l!aw1x>z68|5&yBRv>isTmcE+H-DL zmT{0#Gf9xSi5YlM5r>c$pYW7uw{RV5&02P{S)QE~gcGVS}EN)KR? zAkEVuiegS+?KNS%{W}_RaLyid3diu%Ko7UfnvwFS!4V6BDUQ#z3HHu%(}X z$N`)lgR2RR#LGqp4pli z?Tk*^@8rjLC428iL%}lngY->$P~yE()8{<1@#Oo5N{Dd2LrV2LhA(R82cfN&S7Q5NhzR>EserLn56Ga+#?IL8e40xvz@dAR*isUNnk1<`E zY)eWbMLdHFM~<2Cs^Tz`jo-Xm2tXu`ml*QxS7)F+MA0J{%cUgv32-%t*1-i*(Ob-` zTQ@!n1v-KD{ye?-@)HqAkkgCJV-tt;BFy@~ymI;dnSQ`!xiBKpaWTeU*6@BuoG%!n z7&(QNDT1ykY{p?#$+3rj>$@v0>oP?N8x3J6Nab;@#Qu^J2rwEr%rr;el~_PEICuQ9 zV#r_#r|G?;nDRNNj{CpzgC8tmKK})%xoq_Zl)sK$6!se*VrWbLGGuU>j?om#&>EkD z3oF|%QJ{=c6b8MQ?DKx7A3AC&P{Tq;)_=w`y4YIeK29_utHf^k zpz@VL%?E-g>+(-o9@oPZ9$98sI;9*2dyRIzBuR4X^-_ou8FH2f*!3ON)qJel_64j-&xBy}mN}H*G?7;7B-7T% z%+TFy(2x10P;@R zH~wpP;A(%M{s>?&;0x|{u{~ls_J(btM|=rmdYTbI_5F#mP+0S94ug+BUH*Xk#B@HvG~ z52*|s7#w~>nvzAssjDukqK$KsY}51fd$bi5qu1t4{cAmR$$i9L7i`VL2YyC47le!W zCAUy#qmw`|t@57VOVc^AO64CWt6D!g`qFj3wX0(f!F&UD^=gw2G zUH#NZ^ab|UERqp?2}aEKYCblS6ii%+{|Xw9%&3{9FNc}O(tVt^g^Czom=X1*8kwfb z9Lcz3QzSnbQ@-7^$WWNFQ}zpz-l%+apg2K|f*gB>*&bpmB!_WN^-j7RdB4UnuED3VG6S` zHYmqD#hXI9*^bMv}e$HLqk5siR+Cv>+lefMMir8zF;puW5lg{TJ@_;C23N=hl$ zLS3pw)Hq`^`M5zcVt3#QiiwrTFGL=?eHaW0Cgdve9)u z+*tYH=~ehph=cQyFV3IxDfy^RHR{ixf;tQ_ywmelMOBp3^CNwO%rn5i$;CX;0(82r zo7H@aFlGnXY-jTYjgGe>gr?lpq-OMJi6x@2GU_jeH25YjQOF2C2o+ZOiCTC9hhh<(BTbY|j zhBlXQ?1?AuiGO4C+;8&QL;oI(M~7NOYE=eyT&7nQjt9zjh^%JmC)P`LW~oNr!=^8Y zYXaeMF)_m_+$x(!@jkh3VW_3D1Pk4Fl*6}?GYFh6LdjWEbX+zZ%*+5t&uA&{Gdv=K zb*I>dWqe+J&Ac~S4qQW~{b%z5_1s;^wJF~qxw12JD9gGs>IVUukfhH2`1UFk7A@}k zj117CBqlikM#>jL3DgpHv-y-064PEF?$HUvT+Afhr42{;2qn#a|VKA-|e@Cx5n6dnY)_sBIEj&+9Ia_X;#n(p=Vm zm~vJ6dLwHXhs4w6CZ2LFwUQhP6{O4RD1{IZ$$Gj8q*c-4z#^xQQl58^xC5;FqS}Ju zUx2d*K8!GcXm)n?p1ae6nNk#MWq8k|ZCh42zyFO->VClZes7=Co>Ukp7rmvq|I4s*S3ZzQw0Z-y3l2}9 z*RZotCiESYts3g1FCF7n)lm-XZ4MKn@XXi@9H=FDB6>)F)@Umfhk)) zG~#$wg-cz#k78LT=f0m%QxzSug3Mna7uipGifq2l2s?WaWfi~W#``Q($I*pt=v;a0 zY0zji4ip|wi^_dY4)k{EauPO-EymTB+*!8HzhWOl;uhZWo;kwqxWG5oy0J8^=u$Uw zs@Ny7+i0hc>4_mbmPvCDa6>|(;xGw?SP5mgEGEHG6H`acX=TQbM$f_nu1Z10Xk8>J zR<9u2b3mDL7yGZ=CnTh z^qo9^(_e`OWmk1xc-Z62$Q5{XJ=3qp{Sk&`ku)y2u}0PMFzeOu36NKGRoF)0MnwYx zk8>^*@-lR{cXs?s&?`meshGl+qmoE!(xyesroFBucMe^N6p5G&kz2zz6&^H*xy|Xm zB}^~??D8Qo)~Hq^x|o~&MnC0J!!~rKv7NVo5lK{#2A_Y(V=~`Rd@U@0J?~&`A@ls# zV^?USLeEO}JbiKeSWcS5Q}WB4?3l;$TBDxxQ;=2O>VjP26=aX0m#E48>(lp;S`9G= z%@ASYmnXPbJ0N{*gUmPSb`7lLP=+Z%XJ%&yo6D?&0h5V;<{JuXEOG{xlS2h@;JRfB zu_~1*KUyIi@2tvLRdi1ork2H`y7*jhOJ!jpYN%X-3k+8q|LE(La#0bd4UCXt5+g#j z1wqx(!5;4%wCLE@=Tf!Bk-$dcni6ljPQbN?b5`#T1&}VguWs`MxK`p|jKG>5`0HLr zn*UhuZxq){gjQRV1N9_Y09rV^`%5$M5-5qZ&<)za=ovQREjI!_4xgRI-J&xA-iir` zdjK{W{NyLC?oZ`R9nzE^Ro&zI_ov17+d+6y~PHtIN8IWPn4mCtn~WAUIT}zy7g{cn{XB`y!?@M8?dJwgg}J9zjb{ z%Xd1NaZ}ii$;|OYZ!C`pD}R?q2h%_sdCtSCD3eBo^8b=pzishJivhym+}#?<;B)>1B&Ljk!sT>aNi2O( zS6|kA9t3rDVioeOJ39HYY3UX~ut3~;ARab2C|OeJ=&h~h|6z*xjXE^TNi92z*MV#k z{If&(!7eZXBJ*Cs^+U(S8!Wh3wct84XmIv12NRe7SP#W?%vNj}PIepO$k@^{ckFzq zYtK1qh(#nH88`>&vI+k(cf@eiIw@h0t#>-|sXSpm`_-}*T3kd*O34s;cLcblz1?<# zFO{#Ldfl;JZ{%bfwqhXT_(Su<#Y2vn%GP#XLouH}y6?Wz_QXJR3Jgb%K#!{=pKrh0_#3T`B~w zYBx||JVN2pL8BaiHP1-F$sW1LJEU;6l@TptL)uQ*<#azU%}ZT|@p)L!orxFKuUPYj zvab`Z+)t>h&3uNshTZ#v6v09HtXNjoQ7efhbVcE#DV!AzKI^uxb3%gRz&t)`ZImtE zjH=wwo*a)D^ghw>F1zF++CWLh&wu}7Bt3{mKGS$-t z_0qc%9j(6*SU6>1V-q8i*_9Tk$+GC$92YM z5nQ^turtS#`zv-^hAr?|X@!dsOTuJlPVHgBs6*eN-UVg|bOJw#@_qSOQx`5`Ro_hymN)HJQgz}YZ3!UoWR`StfOdn(Ca0v7BRuF7At$N@i!m%g4JFt4TP^txQHY+C zFp^=>ByIJBy+Ve5-p|60bb-5{gjiqBIz4|%B;ayDR&Zx!%eYB)L)5%K5VYkm=+Ma| zn|Uw5(F&>rNipvXb98!3NlIEC?My%N;!p=cV1)4=2Hwpo9K^+9DdM2w3)d>(`w0>1 zs|Mhqnt4`7I;xWlXr`!dSMyB@9DH+_ELEzX9Da2HP($3p6y_M{eUo@YGw#R z6sv$D1H?sTW|Bf{Ooc4j+Xku0YZ{d|(gh{}PLC`yk`{{`-)2HvqYX*kxhmG`P+o?N zMhqZxDf#vS%|-))y0uIgB}A9%g?j^B#YHz0_YM6=n8MeniW-VvX-5tjt$c{b#B_E1 zN-q|YzdQK?(B#B2vnZ)ni3PFRdWFjAiWY)zw4flQ`BCsJ(IVL7FX1jk6 zFEOOPu68AX)Q7dw*R`o_;R~RgUxd1eQ1YLZ*9ma{^9peg3U&e3_|gQ%$9G>xj)l2E zwi!Pu7K}^;Q00-qh+hM2OV4Y8$XnJ!42BpQuq3x6rj+B$XWoqgb`hF|# z6~fr+=2UG7$)8TY&v~Yv5rw9nf4|}K;Nj*HT}@8;ztJ7hG)w-Gu z?o)EKf+*T9*YZXWtaW$z>K3w88fUBD-)CE(tKRHbQCJZ=&6N$8xOjW+6^Dnt_Ac7> zIgDzmOjlC39nPNCES97SU77>!=2~x+7u!0cs+;IfahN>>44)Ebof`Z~4B-Ud|4vFO zru6wL8m+sgFIyV%OwCF7?#d24GfN-y@`yI;td!weG|)Js)RB-Zbz<1Ak$XWyV;HV$ z(qgu#*v7JuWsi?3NWWCIpG71|B=7StX=4$2O2mLFIuDLL8ZBCTv_~A9dqJB0x?-)J zFoFrI{^eCzj^C`5tp~DuCGmH5xVm1>kj~Zv5W|X2yMFES`6pNC)TopM9FGi!PtE*f z9v-gk;;&@s6O|tIWpbTNjQ%MP3CCpW&;p&L2ZAq@;@54+s`GfS#Ccz`#dWayo8 zDYkgQ{N~E~^FJtkfbdgs`Borb08=f4$;E9UiU{pagipZ2MWRHsKVD><38+b*glv<=J5tqpat|YNjSOtiG8ch7M6N%$~Nx)<@eRW+`%VopH5-QKr=;80KZ3O%vIwA z?&|V0{1~Gnl-c@lLUwf0zH6QSVVb<@%{Jh&0nmlH|4@HB{KGEM(uRzpyYRnyOFu0P zbEOTh3;3hz3_WKbFaNxu#(JHYW%qb%OEg{c;pU0TgwIV`cb+Q_D!4awCaZB@9U>kl za`0b5qvp2slY)UbmCgnZ-bx_%%pbWvKFlvr8K*BY7evpdy6u+8ImeY^8Dh!5eQATM zP+~`?YhHE1-jGCNRe+G&@+6(0Zw@;uj|DoI5}|MR+#MxS+j>{lE;UgRn!TxTYR5l% zg9{Z~<;$A@r)oZGyXky6E6I0q#x+;Ag_7j2I%(0WX9#bF)fKoQbX9PHY^C6*plm zjopsd+|2ommWWs#IHx>+TdHtYCP}yew$ckJZ{EVw=i&4J64C0w&lX4~=e$0vEgsdV z)%0s@p>xAnoQY?KiYn*{|z*< zMJi>YH37QoC{#!6B$x;7S{9gU-4o%Kmv~(FEYL{6(EK{&@8k(Yy~tk{1G5{x2NAN; zYHBx7gtcw;RaaJG`S|A%wh%hL^T97cpoJ_yrM4yf7oqt}Rft~r?bh}-F*u`zE^u(Q zW>l48dXWReNjGv(etPd6-@*@Pg?afcKbq|w#G1dyIFV?*R2EAhVYB%1*%YgMm!Lfn5s|Ee zj_peK4`z+E!)7eCx-Zy4j%dm*E@XdnSR5}W4$U6(!IaDpz{z~&w|4*G&$eb5^ zZaKDMwezIFrgpOms7-hsCpoCqi3xYADk_w*ueC!%E}ZWUN-||Y>~^(Nsuh?0wc*o3 zrUBSB)5qFbJBYwb9Cx5I4`Y4Ma(d4bt+?E3D?1|QihE*1`%^Bl@$qkZVk|$AnyZ*7 zudigh?{0-$hj3%sW>`)?!8=SkAl|7w@Z!rok2ONGK!ph8zvptuuB=2=PP#6Q0;ZY0 zSVShbn}l{QmVzHKlz^@y&jpp6>prvS;#to=HYV-atlr?TZ^?WO=Sjs~IgL$1%KP@q zOf_mV%{M;*g{yaGs~m!pn7HB_F^hTSA&`B>ukf@p7bk8TtfFZNvu}_05bTj*ONN|( z8oD}6>I&pazSt@&E3d=Xwu+aw+Q%j*HS92;^3)aXIEIaUZQ@m*Jjd;`LgV&lf&4j& z9S%CtxRIOjE$D845hZy|aQ6A7mt~UN5{JtxCVDk9Jk+!{U*X=5aA6^cM2%y0BGFVf znVVCFk8%{4SM3^Wb1q#*R)6Nb!k9gzwVFw5o{W1Gz8#17QvnEFYz$lykhgq|EPPbsJf!J-7i6cBxsNXcY?cHaCZpq5Foe{ zGz5p>p5QLQ-3e~N-QC@t&YkZ&|I=RdjJBf}?G=nYV8dQ(t~pHw{Nqz}-?cPY-iAk!r z#_vn2;#mn$rM!8!+@=%_V~|5Cr`E8{hjvwUfp^Mz8LZ58AIO>W)3-U(HRS<`M!}~# z(8I_kc!a?G;-YJKg!Ku-6tAH4-cy2bG}WvejPa*!tt1VVJW~wy)?dm7SF-&z9oQd= zS4mxTKag2ny=pJ%(=R4bK}6o&rY|NDGTF}fY!+vAzt4WiRc+mKx`~U@RQct2Uphp* z+2yQMndTVRX$%0Me&jo@^q{2kxJ!Z{%MDy5$14U%~B8^~7D81Y@24|_LF4?+&@4MG(gm9s! zOnjAP^Ccluc<3h5jN}Y+lfkCUZN*KIwUf)m230$gWD#38m>7OyukNm6?Ki*jQmY7= zyd;u^7T?}(;LT2T>|Bc$SXx@fQe6rMya6)nX2#}Xrb|`7TqN3|0!^LdmblbTn(#vT zteZSzp;4)hlAoat?uFFk;WqeJ#-^>isRQ2_4G5pz@y`%>yQ?A)T?eT;%~>n5_2A<> zzYaJOD{?pF`8YXyE%23$&C+S|%X!=_N6gO+S5a_lHNp&0>KNvpzwtWZ^Ex5tUw40~ zs&QgvuU46yNQhIz!skt{EpqL+Y7U(`8cwdhAC3AdFvM+dD%MO}DsNL{_&$WImi)AJ zv)@WX7P_L)JKpYsWA>}jGQD<-`SDhAia)G73f>NmTtPv>=qg5(@isf@kyK!4Bh#rU z7PXI#Ctngj?qbyYPZ2Zc8K99|7)ok2{wpo5bf3Y5XEao`OJw+?gw2H3<5^H&iw{9l zje0=~M;Q$t<2}j3b*kg`byLbt@O7z>=&Kzll;`00?PeUk*9Tc?MiG=!eU$r)18a^- zVi!yn3q}o6&10g`jsy~gHnU(?x8{$J#$7!BaM2{qW9dgc#3|O9JScL&6*iiX!}RSf z3x4~C+n85cs>^$kL`R#jUtQCbRI*c2lUHNENWnbS@7X=kUGzi-JpFn^S^KchYCFO zFYMss<|{SFv8cB{W!DL9UL9-!pPFZT$4%*Ti=}}Ay%=}fo*~csQ0WXM;1&jeTu+`j zeEw1bFu8f+8GUk{AP7pRq%}TGUi{-ZS7rX_APwU@rfuH@%2m!HIoP5Yy8=$qZXB6^ zBZXNY1Kxi4aDCjXLQ^@OdwROx)U*leM`+j=I`EnAN|JJ4Y7@u5A*=wy&m|>Cz%C9b zpO$J%Ic<7M!n9t0vYg{E|8vwMX7%-h(Xl6K;Va{bH#UkKyj4N_9DyNW^+Uwd(7D7S9p-z+U+ z2We+6!r99LcV-nHfbH7J;*MmG*G0c<$Uo_UOQb@h&It??8s1J<%8w*~k{khDorwt* zWn~9I91;!;KbUvdclR0<*Scny)fF&NJ=fDMb<^p~0;&;!aHvCkDaNBt$< zW)}sm@&b>0ds`;+Mbq0DHp}%c$1Uh)+2G^M&1ud?*QGUTJqtFX5z#}yND=N(!fYL%mYGlEDBZ66+tJ3G5D!|djp$0^*^AVmEBCvu{s z6~CNs5G2`wyb!TtSP?6$APW$wfG8!uuC5N);+cvcbr;W1+su|b3$Ly@`LhVja9PV8 zl~Hj)_gLKuUtQ^$Y&|kN91pWN3&bj3D17eoB@H1QoOui#{4UOXPJmng7_3%<>~1wc zb8c@+*QeEFef?7w==z41E1blwt&hN9<<+r(?TzjGB~=}r#hIBIu;!jAJr(minRA1X zI1n<7q|8u&!_nIG$(p*eMch?)_va6AJAn`cO>8X2!E8#S!}Qi6EH3-8Mt!yG>{iyX zH8+=y=i}gI@j4aG>)mISxRGu z+iLDxX%0fo`fB6Fcs?zM>y6_D=#!0#3Zu9zTB5sg?DwtX2bytM4;yYI}k{=@ag$fs$7=Arv;3> znoaBFCX@RBy7?)qg%&sAp}k91okoNGEjli(8tabcuRQ0c$(fm%V`CjX5ovAbr}4SD0W~%8CHR5!JoIt7ex%g9 zMfgJSyIBpJ(K84sz<4$!dH3nIsy%^A|L@S<9f2v0(jzwvnj0( z*ELPw>E;pHw>E5Ml;AVYMswR$f4x?-UZ^zeIEr9D?%1Bxaw%PGu;_@_*>^y!v0hGU zByCN%BJqaIK?b6?sF1FBfINt$nUeLW=Aje? zf%0Z!^C980OrO64wIWT;bn-$A3%S%n2#F9B$%xdzRv~qTc}TaQst}o$)(Yl<88|px zdaf1@x#ofIeYus^QO&|({nr~WQ^7wa;M^RctTO@5B5)}2v2pk%9|Y_g_EfB_5~R!z z#XhlWYw}b-^oR~K3gu(|gItooeg_|%8^0Bh+YM%pL2XGDEPWp5gPjb(JH%UPC4@3Q z&O2DDG@U+LY`k`UJXowWU0(9M4{6-!^NIEil*+KRRTCAxEl{SkD6+uW+XFav)lBUW zf*bFPG`!4K3Hk;FyP=dHH_?%yO7glF?U{edOuHZks$%Zf5zn{dI8Vzge{g=`?BfC` zPlmdjT1p|Wq8%{$1$A}6QGgc+49BDA^T@BdVDv)9{~pfeac~lKR*?lVrxA7q&bp$K z61gq6K7!80k405FA*3+LccRd?Z0p5aKW$66PJQ2-Y z!z=Zl4H(j%Rywk>e*r8?K80IDRrTwcifUIMKWS6ImZ0G?C#Cg)*pAZ8jS6Yxfv5s`a116RE4q&8Ln! zZ;^QZO?WqtC^4l8-fmxL(_^kN*U~AX9KLv)RImSlzEqAM6e`OBbT*T6oFUh16qf9< zbH8G|nPlQMu?iH}EXFR}dC(Wn%N7vyM=-Zz2jA0Ja&y033@mkIKz_KWT$tzkymm{u z4gAGi2!BP75F*CKUP{{80Zbyev}!-g!Knus5d|Z&wA9p@!VB^qg2w&8OgoCIOom`U z;tm>gew8Gxms=i5YD*W%p-eU)mN;w{SpD!0fv7@mA5?}?=m=<4=HBY$iS*Mt>gB`m z3M474f(ZeiSI23Kmh&~m)BcexVLi?y!bVB${q9{7#>)S=+8?sNvfrK;~T zpV7FWqrwkZbQxeb_>&aanCToJue!j6>Row?_v2Ar%DEOk0nZ>oc3-4jl+Wt6YQV+oMs z`eGqXg)c1R&^xbv=(=MZ%}5x3@}%wdY$Po z>lHK-@0NrZhej%P;~myg%kUf91V-wqk1|c9%byvYI8GT!%#lPH5TJW8MW68%5%x13 zSS8yXi@6RplBu|TN?&_i<|#vy;zQ+Gi8VcqhOsCa6M`q90aUxGY#76sxy~J&f z-OMF*@Vq~VZmB(#+4NjOnfwW)FX1PdIj=Y4z-&taWs$;`enLh~VEJG2S@hZ>glQ>71<78Q(VT-?M zgmvELiC>pb45oTkI((A<=|~l339}a%WKbKl$-!Pa{!9A(O@3J>cE*xXJP}}}I>J}Y zbG}WwBhe#ip<-Z&V7a8x{MoNp>>Tp${cD*R&U5I)k1jZvbN;(pU|$i+7z4H@-L4Wd z5<%TD!5RLmiKiVKOiZ+27nz=T->C zjwcdev7htLNw_8QjFzO1^AScNUqL+!i(udhFt=CA8*R$ZC5V2AG$WPN8s|Q8m1kxO z8}i?ojT@ET>mb2w7VE+uL+c+&@Mog5=pyV1f|nWV&y#m~`(OVUj}UoT((jTIfT$iC z7?=m_Cq+fYnauDub|t)o7)p6?d|=DZ0Jp8+%lNE2yp&amcM za#=}NH#}Al9ioFTJI6idcDpb$Ffg#Tre6wY?c|_36w3XYkd{Um@6yr}G3<&aL|)o$ z)7SFaXuf6mCo6vR5plrl1r03e*7b7{8Tt?CNBf-9gC>r%qIO9u9gN4PE}cG z#cZ1W33^_$-cSVYAfRBBhg}*5n{OZzZUBvmtB5NY+c@QW+H)-HZ)R!ix+?2Hg=L%SFN2r}E^Gh(z~^eNjbx0R>eF7)nHmN#M#*25xb?9@??& znH<)`3}q8w980tXrLzMAFf|Kg5{rvTuPN!=7seqTm7v_;_Xn^%Id;Dw@!rO%>Hg`$ z<*=@jcZPbKh|J$B&ihx=%Dpk$`GGH`E18x2(wB|W+xXR=NQ_ARwqyW9zkxioc!CpE zrGJJMc+RC#5eg`Fc>(Y@8~Fl)PQtbUXPbrxiYkpy}j zYI1Cwa(VS;x9a9c;9DBa@RP{yOqA~)c=+?4bYbgN!Q!@XBs0OoG=(e_eykBs{HeIV-3;;33;84b73L3i~q44U%;!Wn4Mgumv(`G ziSYwDY;}zC5*s}R1aF*SZwCnJk1xWov`KnKC)nk^hJSIO(0R_BkCs972nio*Fhv|f z<0s9ZK`0Edy9jDrQ3s*?%!~Ef{GVl7C-1`>mnuw$32vVtMg%;xRtp^;7wnRjJ&OuL zP}_UPf@azz-00QIh|G_3Vd=AY;p78KcRAngWg-AHQ$QL%mg~Z=loU@8M(s46>lvhd zYf`41$t5->dmvl3$7s5nDK~nOw#t>LXk(b3hIO8#0Y(I%h!hnH_>CC_I0E>|=Da^6 zP7WjIT6AV7!kt(2DNm%Jq0@JbLY4FxBX?mb|2z7ti{+ z?uC_>r)TrCE$azbOQX(5n+bYA($0p_3nuXa>^n0PN`7R>{x$`alZyH2g)0$VU^Izlm49;K%j+x{0Xr|~VU)XSyTfUS#W63Mfz#`>7^8;ns;Y21QP+|zWEKtsy zcn_i!CGXe#NV+Nt3T5Ww6ds?%VXVP4chX_^R1+=$rF|~{+X&H6eT#c>xY1ZMRODc9 zzhbdAd7^z9#)}nx2Hr8neKklcgM`X=rY~VEi*U=0#CL;vhenn)+t<;FQWg%T`+d&n zn9nsy^`@b$)dMzDwQrz761>Ye2PI4gmDI<Upy|_A9r#W!6P>@BbGDJhV)`W?l~e^8CksRl9$*}+#(v}k<`XiAyCWGs z%mEiK3L6uX9DHM6Lybmfx~1x`=bxK2_fZo=vRlLRcc4#6%IP0eWp#cJ@V~6zN^D@; z4KnfiG6wM5;|wmxOLU6y%!W21<)Ykvs`Zg|g<1-hDIA&EZOql#>G^B)!J!yhT1x22 z(7=uu6eFbbCA9dxpFA!vNALPQEDjyIyhnrDr(-REZNU0Lf5mi|`M_Ak(q<>+VwM;ZY;kXs5-kgon4L|w)K7(! zqH}F#+`!>q984{|c{3=E7BBZ@dTNSfeT_Cf@a0VAhNX}H^IRr|f!udCN+z$mJe=1z zKkeehdNYxkMj^s7Ed1M5aTsDDGS%Yzk#~Zve^TNc$4xHS#p=|k;j|>&rSr2>7?=g5 zzWboI`z92)ux}Cz=_@)bw4+fg^&8W^?#}YHN6Vod%Xz&pEa8HTl&w6wGsdT(1HAm6I2Iodx0 zBd17Jp;Jg>Eg!XQZ%$Urf?w`^%}T0TPKb~1AB$>xw3SQar?W==o>yXv_Y!OBs|{iJ zl~yAr`H_!>0~(cxtfnWfOHXAopr^IcB=pi9iuYtG{bgvvE&-3fZw%WRR;MP^D@=^K zMDfm7$z=6!`bToV#kd%xmJA7xH+2Y~e7Q_?`rG{W1*eQ_wRUc(B-x881m$Ba-BEBN zk}VHpQV8$>zC>;jo5~H>?uvVn7x#@r3E8g|B+}{_ZsR9&_775Lwux_lb03INN%?GL zn~41F8&>E^&g96S{8)&m)97ra|9-mS#j*-v&^sdK1H%okopwO1)7Dgdl+Lugo6(AK~PLLX8s! zY@2lh1SFRLeozLZWSDrL(jl#B5qUQmc=Yf z{^XVALy3}3<#g3EI6Rz?07_p|*O3phP!EfWqblrp!*-8sLAQAV>>W4KfgNLiUWqB+18nD|&J3sf z770UVcVwcR;+YyTscwU7AF{DIBhhQpB}@Z3gD-Dgc9rbCW9Z5JC!i&?W?7*)_Ifcx zYPx&9Tf#rhzS}ivX3PBUA-Ow32}`1vrx3y=s(uM(&Q{2f>=}c4Psb-{roKt1ohknDs z{cPM7f;lQg{yPQP^4PAql2Faj%!!7wQ^z;MMh`&kI!ib!WZonAqZDiLoHujHkk<5|dgG3v{q`J+(~AEP^j?DCV` z*-rz~&Mxm;a_OZ;&=74V*vgPLfkK*>^lN)}ITaLwmCSi-cxn^{&n+xT0Fll>PrDpr8*1jKvt5kf>3W?W$0*&2Tc;+wDX-N_rvnA63~q zQe`TtBp@$CjAQi=apdg~jQTve`xD6lLO?FXMH=7$?Vs9|Ml^oqnY5KZJA)w~jXywJ z-3AhRy~AR7nAFS4lr5;buIsM3Mz1X^aF;9u%Q}gJee~ zaA$oF^DtJYOy8%j<_?B+kcnfdx){GnwXyXCm{P2`TP-!cmqSVA1YoqCW@ zHW=B1$S!={nl0e?1t_5PU7l|bN32W0y2YFS$QR+&s7XN@CkubhAapE<*htC!c)^4* z0+%k85q;pq1z2elzem;-gTKolC`siMiS~g#D!L6Tc;&g@hN{(d+}4cOxp+ zfZHzS^Fa+XYyd9EKZKQqn*honQbqF{prcB-2fUJR8KvZ;*-hDoksHo0ElnuV=HhEh zN(1BnmxSK-eo``O6hPm_gUxpII++P|iIW_zpHS%-y0d z?}XQ~AO8--VJZ;5w}95uSqwYZyASiOLt-`oet<1{)xf{Svqe^nNx;;~#gW@g{{mX6 z`;{0nV-#f`waNsgGosLn5;+fh&Q`YQE)+awr%uf_4zqDk$v||<*C@1#^HM_6R(p66 zLqFpxroBeAxJ2eLjDSCGETA6=tSKpn{`Pg#L?dE8*KvG}<*N`b73^g@G9dWDhatq1SS)R4 zC$0j{Z!-GORAqwIx|^?PDfb4~{cww~WOeapG>&E>Sg6P?_f-XT#3VE{{`{VAYM(4A zD6oU%(x*nT&cn_8BIs{LNzD!CP7zIOn_IA`gOBhdb1JnzMel^%0*L}oOrsJr3ZA|};SO`^DCr^L4iJT4NiCb>tcM5Mn^vV09Av$bv6n*h^=f*sRs!vr*! zUYasi=NK;iTsqn zB;HNJ>2Xu$Cm5%iK3v$-wKI!zb&|=CPR%YnFfed9)C*{%XkoPg94sJ~ImjmFlcP=p z$H!2Soh>r1F>DiMg!NXC@3BrTBJ6mvK+iBAy%0P)2+_!#y+I+UW_t!&0XGI^!R)|{ z5X_s|W%aGd`GL*bji%<77G13I{UE6sgC)Q+Msg54 z^oh8lYv@bVDM1C50Vwz0bloh<3muG%?~ywT^&q}1a5sSaKA|dfq@t##g$?sHZ%_J+ ze(?6=5`-stMt?GimP*3E4K!v(XUXTP9vLJ?45Ff<&ZW9`XZo+;1H#NjxM8*mvW0O9 z@B=Qs?>FH1G0r6)Kw-LnHpyfVSNYxZyQnq;(OBL9rehXC(~t~SB!V$SHy!;QDc$;z zU`$OUWLL+QyEvL)=!8PI073kaL9EX{2hba+Sj<8bLKoA}MnM-#hl$AGL{(E922BQ` z#kEmS69!G8O2vf+2F76sFdWQ7hgwOcp#6KS#;~c!W_AdwK{29Syp^Zf4iddMpo1qP z+mv}vFmmN~J8e3P?!j5pWinQhV$Y^;tJkYE)lZPJG*sbqn`|cu{YKxW>TjVpbMu3$ zuV3A~14=S`V@1VS_oC!vC}(E$jxGUR38qH^X!-DJ|Ek4fg`S-5MC8@eB^$3Q=Ic=3e)+H zT1JzAoB|2;u`JoXKj=x-)RtHbjDM+@PmWXOWc&4@&{5?x&G>=L%fBBMSOv}(6iw=R zoOZ3P8QxRgDkv#sdb*Z2U;SiRPOq+Z0+zgPN7a07a+DI5%Pl%C*JCpg#>4faT%&|T>Dqe1T%>_oN@N6Is zmLVY@&@a%`+lN_(8F)-gM#rX_$`8b3KdRMdf7Yv)0sV^^Y42DaIc zrS#nR8y=@+ZNUCGiWuHPu7SD(2Xj!8gY`Ug3|2jhgu>@xOz=(PRu6)$$Yy#v#{4_3 z@g+y39}W_sO*!S|cHKYT*ZjD?3j#Zki0Gsc&@o^6x$_k(iFrA0)3}4lWX1h<*r|!b zP}FwFURF{*Wg^ad@`1@b$>zOTh+StBT@AniL>lhDF)We_*04;eGn4$|(C&!wFN)$v z1CEQzIy%KV(`#039DJ@PMB1nxiTs`o;pXXzRXWk!XSQb>k|`p71D}Uekpi=-svMVF zJk7Q#WPfId_kys`JYjAiT)4gQxFvKS>_>L%U;&xTA!u(vTwIf>X;fGd?elABPYKyA zX8=N$$OaW3AulKlKJ6X7=BH2b0fKAcK^++YYbk2hB|crp<1o%}Wax&_2d;Uw0B%MK znDQXw$1@>&0!=eE=gQB2D=OPJ5I|*Nf~&q6kOk>uH&O^NK7?00hln@f{HZDJHacWf zbIdiHiR3AaGKNWSY2mk=w0Go|Nd?xV3J5Z#oSj~ZW4C@&$qGO9@BS?bk!TAZX*sV~2 z+sfOIa+A*IytUuxMKg1feE^I}038M@3wTWAF$GrWrv}SeX1)C0ECmLQ{qLii`%2RS zBMp|Wza`hh49A><=6{NaypJ-Zv3Pi4XdHS7(5aHZ|>G#J{JypTM@`pIdY&x6TJb@xrzly8V^{6FJ9$(?IFN&GS>YH7| z05Cj`zJ2xRD5M1judenAOfK7qP0G zlu^6S<@g2VK@zGZ391 zfP*;jVD#M|qZ+i`xG4JD7f#vh_Q;ud`tJb64^%uQ5%+QU+#K~EbJ2HvQTV?(ak(qa z7i8b?+AQ&U!jrsoL~)#-o80pZhW z6J@M58cqoc{;C27F8~C*{8zNH8MGVQnt#yR8UtU?EM*+p6BT<0hZL*O%|lQ(HbVo# z>jTan;3O37iw{OYFqtl;y*gT>1c`MV3>PV?uFdH{is87{u|@Of zO(@nYAfB_eu;n4B03sCD?z$N+v5uF;6q+V=E@0eH_#SKmSk8%_A{`nU8o_Prx>d_V zZg-5WQ~Y>g4c+)F&?F>{?17hVb3~#xa1+z@x#1w7WQs;hT?VeIQPIHHJmSd0YJgxEv&m(a2Be zKUvS1yq-e1G7i)o+Pxp?_g*s|FMInFAi@AtCCeT*>Vum0YMVM|fu^b|Y|*zupRXI6 zo2#u%$~=c2cBw=@zl(}|b#+?3_%dH~j5ukG4%f<`$nu#}?dv3`OO?k_tNq4Twbmd0 z9_IgG{pE|0wry#*=>AeFCC|UjH`R^KZf^QwZiV&8p4-rUXXkpsDd?;2J?s@TLm6)D zk`5CJ<8GRNCieJ<+6^`VfuF07?ok8KRi zT11Z~tj+F6qJt$=N^0Aqmb=cM+{Z|jJd_;c+tELAqkyL>*BF(N;N zb!qW&neLe;wI!VL8Rcwx{S_Bak$!Yg{aX=&d@CPqICG{xSbh!{s2n)H3O(Msl5$Um zKOPRhQg$DRlW9ys*|$P!WVXc7ec%m4wLwF8M=Ym=BN@cSRjf8fETnRgnSVqoiXq_J z4mhZI?3RhY*DD&)1809!((~php<n%eoHqG6@={JvrJ(=H{q-ns{$FVnBXfkn12nRjG4>VDt3tBc8j2d1C(YUf`0Z zo=Z6^*T2v9bi_v~Lr8}!Aru{w--0Cv2DU1=O+cLBWsW(VDjG+|IrFbjn&3&gon|kq zOyu}P^2zg}dYlVP=>n^IBm&;L{QRIKW{`*Q@u>9wr z|IhV|R>`-$!u_uw$X+g1G(i7%Q6UNae_#6ld4v8R-i`miUb_E#AN>E)-S}UsL;O6GO03i#|Amvc2KSh{=EfNYb-0LPPb~dV9I480ByH;3rD0JF)qhX;2Nk#3Z3|1w-yi}5 zva!-qd2Mc*LP`0i8PL1Mr1=DnK(3N!@(e8iCa@S9oto-So_r9!0y!nIsmsC4=+e?q zg$!79k<#+{>f01FH2V&V3!c}Djus^_K-t!Ezj*A`@+(2tt?#p&0AWSsO0iBO))w{Z zG61Tus0>tW(T;5c#fRGW*N`F|s(l{<=Kik`1u$JJ;6BWEt&P4!Es3JDc=~WY{45|W zDJi+8ln9qE_+4SNt%J>Uh#IgTs=0u+p4a2^TDWH$Pib=R5CImj98=MnVUdMCQMcZH9h)F*P!S3O-g3(ELMcT5! z&2~^`zr5=P+TYtnTJv!i}e-$y2T~xw&oM{X+v3rhk~_;2T++ z7d`J4gC&M_7p|yj{d`^}k4dj5W+KKx=*YlJDL5-7I^-c+Fr-&xd(wbday>`ViIW_% zlI{Hw<5Z@VdJcSDuHq1RN%&fda5#g>hhF%%HmlA^A71*5k3$6ggHO0s8ro zkw}#%*l;~I=eLJ0ueg7=+({XIir6Y;I6r9wRkk(EoyI)AOeKgFWqvQt3|R%m%rXY^9v7Bgx8WQ6Quwg$D`@cO$BwO%a!nI^fXS=ulY8i0F5LII?h(T?2v=$ zFb#5ms3j{%nol$I^nJ^MMmYl|Dnds6Z`RaKJ@_uX*9#6{ZWU{EZ5el`FD^bF@BvQ$ zz!ApkIv{9)-s2&^UW>wb0BWzi|2=_pk1VU5B2c0e+Q z0-x8FG5mF?$b5y#KoA-!s)SQ|>*Jx#^P!FRFCe4?(h;af*I$m9n3&*}-*yl_*#dUZ zz~S=URPEDEj{smtVH13rVP&~J19gJB>+9BMK5M}nf$RF=)efTwK8kDZrHrM<4Lk|d z+lsO>g%%CKKwp?L+az*>-p#EARmOQtqO(CDS^}Es=Pi!bTi|F(ePz4oG)(`<((vFf4hA{5 z_R3CSTfPNlJ9Rd@lVt#DI;7FN4S6;A)JHpjx){8O#pPeQO)^G{6MXGtdV|Zzgzj|5#%7!FN(-51%y?oL757u( zZp>*L@l!fIQ zJ%=M*d&s|rM4{TzLga=_j-7bfpa6AW^6U6<-&4OH8V6{C?zsa*lg(j@~y+a-iwn!Rb`mN zN3P{DXK*z)FX)D#L7Zn_Bu@)~*|leeSFO*F$5F3?b#-JSo=LvHrI3k)o+CXIC4;kM zw&fN14nxHQR9$EYpR8wXHq0S1N`bqbEI$`9#2+x;h;KXCB|zR>Gv3$Mfg*sXlY26Y zM$LVa$z|byTF(pSG$89|^p+%QEOvBIH6!03zp(IbJnac1amej&LhHjOSh@oKXz$+T zEfrDi!gS1et55z*Dh9OkAqT#lm`d_2HZw`a(A4wO@pB8nl>!e2pz@dnYT5ha)(D#k z6Q6gzy}c)%dc1Gv*1ey$y)U>Rj^4awKt6_zjSZHfJ`hR4Z?jEnlj8RQa%wiGH?@l4 zD=oi}LHnrj)02`?k4+lan|L}c)Xz7|prQaYhucr*0?*3L&B8>0` z-GDI|(47q@;0t*HsrgN7V`N`@6Iw3F z{WQcyPi$RFxGNmNPSwF87Kutlh8zw1Dt!+*f$!;Noq6;_!QpJoZdRU`iK*#46a6xU zf%(;Uh&27E^h1O9(|OvII{}!J^MiYXJ_-K z5h)pbB~D+NLC1v*E+gnfyYtBGOfRm8HGgjV_A&woREAWM>M^OgGYwzUN)=5)OT5p1 zMGH52Doryowg)fDgCfgMgm23;D29Fu9=DsP>(e>bS(8{yU@>R&bVL3C`N|rK% z5dG8Y735^yM8s^|S4(F;h3uo+NT-%7(R=MEruba|jP|_W`Xt>ZGCF^{MW|&Uh5`B4r}Eabl$yg z2lV#vsCDoOVs=1xET&=NWes*+*~{f++YTgZ;w8^(on>p)ss2n-2@PDd`nu|BO!{iM z&hK-;o@4@B@Yf#+IV;! z9%?ILj%v5}!|8{-Dye=y1WW{HAgL6f_8$w;op~hh2a_Rarq3qg|49lpmk&)3il(3a;nGvsG>Zdt`qWAmZ`s z2p(Bv2LuEF-NVckA|<|JIe(ZF->DxsZ?OT<(BS^Oy{~0A_t(W;QxmTMY`~lM6+mU8 z^F5RP_YrPDqhoH^C4Nz1p-Lje<;}oAx7He8_vNHfMc}qWoHT{G^NA$%xNaS}PsHqn z4m?KBODDgOOW-Se;f4| zmk*8lNJiG~LK6@bv>ySWq8`ceNSem5IERh# Wuba<@KMp;6! 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 F{{r@w0FM9w literal 42184 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

aB+&pibwH(QC5>nES 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

qS2Ga(wh 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 UOP{BIJsE(&)78&qol`;+0HP;dng9R* literal 59642 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�(Q^OZw%P4M z?iPPH6_*P~s;K+T1cs z#}A54Qi*w1Db)ZnrV}L*^3P;;j?D|UBsg<%a(-1}P%-d$xZ|^eT%Yg8TmP9T)9Wp- z5T)t=M>u_lfkbZ3^fzUU3*6LUl!-=&Xkef`Q&d*QH8Y5knElTa5tQvhumy_51U*A5 z-r-o_WtkH3+N}jF@F|AUgyjOLm{-DHcg^|K%0Ain`mdg};3xNbHzFRP3$S68!e3kH z8ZB;)KR${?mw3uG>U#pv;FUIS77sSh)qivrSol2%FiGpWE5K5=ULZRi%o~>iw=gBP zUA$TSXRw`ugqZue0&p{^<@5SW%_r<>hJXdgtUq9&_r71e-6A z9ef7WS@c@Z7h6?Uv+-^Jt?e#GJ=8y^AULz6F@lSWYZK?0%}T4zX8|$t6r-F`9CGMl zWndNxAO;{0l(esR;xV34N?JOy*7<0e+Mm5EuCKA6uyDyK48S4Dv6pI8_ws6LYM$bN zA1VVg{`p?}WTC>);9$h`>};Xx35G7KkdSrh;GkSa<|)g$O8BYsx|pIwhAjRb0FjeQ zPqDlBt1!A^)%%#P};EaZeg5cCDLJ)|!4*|Be@kMZB5N$iC9y}NyNWfw0_P0_ggfL zU8LJTM+#Mt^s&@sBXwNlnou@YR{bgfbJE~({n^kkukxE-Tju}gn=u4%YrHdCK?B(+ z%0*Lo($V-V)7d!K*s0eJ*>482TaPX-F1{=fT6{ZwxOZ<6(KBVd&>H4|x%9p8`bYKp z^B(nf>p|F}2dQ~v$oH@X_juz;{)cwoX97<9W8eM5l-?e-*l$M(d2j#7aJvT(u2#u6 zZxM;KDqPzi=jxtC&*bv@tUnIspcBYZqaljmiXuSTsZmi^#p=J}mScnk`1B$ZA*c9$ zL1DFLdlvL;S)Vkz<+9#p>)OMXl=Kd6dx-D9a}@t_9aRKR7l=L4VE_`u|L+SR8TNnK z;NN@sfApv!V5j)s9pHa@=fC%m|Ir{Z>m4E-+_542N)P~e`73>Z+|xT>fT_a;KY=m+ z!YBTx7yr}yz$*GLAN`kq{|_3#wLjwgQw(8>b&V zTVG#iT>&D|Bx7R@sjJy1atd6)Ab=JbA6HZ#K0G|!-Zl+LfB-ZnA4t&*022ZH<`v20 znQP|b^}RaN_^!hmy816)JTM>(E;uwgI(h|cY-4k@wN*eLCY3jCU6(epwYRr-aB$Gk zAu3Z^R@Tze(!-}&rYZvfjOt&i+UWzU&Ri~x!TjO_m2Q)bGd_9~;VuP>&)u@N8WI6y8Dn2GfC^nfowH@|F&2yLC5 zUYKz6@Synn0$-$nf}a8WAyZSjVQp>g?jC>+6x@AwR{ifEZ4$bhc5L*Q)&6SB&1dCc zR!RBtg*chGlNG{K(frR3DfM<96&+a2Y8?=32ndaT-xC;Zk$wBkT7zkTV>=NW;KcAI zK<3z5*20zn_td?14`3gf>jGZJims+E$31~n7alj_6<{o`0JQX|em!c+k(lrE27ows z9}`8%0Knij%_mY}QNNj9AACO90uXuv0B%>u>8J4&Oi}Ao?et=UJ(fUv|6Y094=PfZ zRbNu069|x%ywG(&-~xC#09_~kDl6aZ8;~bxJ`qC0DR}=yOj*mS5=o&Bz!hZKcA}+j zx1;(O<*2pLL^fLha1FudzBs?+1r8)0>lQ!1%QXHyRrFTv0r?;>tfzigtYz<8(;A^S zP;+iUP&B$G#Lw8+`#vgkYgIkMO(hkfUvzeJKB?e+IzWd)3$2fBJpkaN=AL^VqJAVYz%XZGA>6DhEL(%J){B<0)=SdhbxepHe1{aV)4fjo|X4C zj!{6lpA)WFJW=JORWvx>^;aO_<+A$`!0rk3n$!2kdcmZbVBIy6!shSHI?{txjy}Wc zx=@-FHZTP%c^xEhM1jCC^!x^XFR5mH3u}u2OuJryaRDeg+&P-lbGo`C0wdJQH!dp= zT@SvycTzz(gBhypwoBvRs;6Z6XP+kH>1AOpwNWiB#kAIo&}M0Id5K@>_ppZs*bZ8 zuJ;JPqu0G#B5W>CR?)Q8hJF1!$WVxgI|OHG*k1NaiL3OhQd%H+a3U_zq{opsj$lBU zY6B8^^pexUCxF?oY!v?i+=n;Ezd!W7#&HHP4+>cAtV!_m-QC?H(ye2v-Z!rp0YJqr z`kPW*#P(C#e9@updF!TwdbLkn^Izexdp`NW0Z^J7z>wZ%w=O7PDHQs>MtzGN-QJQD zdNHGQbWpeQ{U2#UAp;dLymeNp3^l!>C@WQwJj?aK^(9DAS|^e}aEZ@HPyuTY=DRKw z=^oI#&&$nkSI`6m%GKRX9PvtTL)-2rO_S#%jKF6CXg$SOGm|Qm@BMr_2zhoumk~HZ zSNaGbAo2#H!q7?YAbmGK1?c0k+uhYkdCR5dI>HYH;7}8M4H~#2^=58FQo7H;?eZ&PGGZyH6--ravNL>a{nJ(^( zjM}&Pr%Qw6 zL>b}UVCb6WJbzX8a7c8|fGij-4inib)gz6tsu`DR>=;$rVTth7*{0C8>j5#029C^| z5t_(CUM*tgPo1nu=oEW2f;xRpNKYT)KWBg@`8^#lk@p6_&(~LLB_tw7w zBI}p&;{ibhP23y6b3Iz-bVixecPPo)B(29LAq(1JAd^`ybQeNQHVnQeP1~CT$BUEg zFw$lMQu|>xx47qMp1xMf{@);k^)6-|j}L#^C`jFQaxSsvF+jI=)r8;~j8J`S{+Y-4q>`r?pw{7%{}Th$6xdCK{MuN+UmM}2mXg2ZA<#S2v*pS;cKoCez(RFkYrZ+< z<`U`|RRNZU5)?|rVG;qb4aB!{fn{p0fd&F^2F7(^3zTMx83PCW-z#Efj)OY;Qo;E6 zG__~iEUi}txUiGtW!I7-b3NE9Ug6K&f9|$%s;FsYYhtjapA6Ur z7$W_w=&_Y>@v%G&-auAu%#Wbx9^aWP5%?+R~Ey1ScR zdEcE_AWF)U{Lr`94;%z`O^_Un-(Wer2w04DHy9xHsX%-sYlmD2puLmqgrKHboFTs; zl9b@mdWbnj+;N4uCc|lD&P?l4bRjVp@iWvn-|8t(SX12GQC;$;^e*<3_mwGe6}T)&%~Q%NZx2bUSs|T$em9 zNi!UX-ZReyU+L;!AlBox_?rdVj|k%m=YIzS?C{D?&MwJM?CRqeu@lP&uUO7Rgpof9 zi%sYHa=)@p_p3)+?@ot~+8%|z89%mdO$Vau+aURVn&Lk2QV}8`G>vt1n_qLPcpNoV`|kRQNV{W?Zx z2Kp=(rfQDiFa$(2JvkrfMq)4$fe^vvgRh1EJIAKp8FJfp_=CB7qX;r~BN_S*^!?TI zZlxoZ1gpl~f>38gWwAf2*Gk5J%|jO!bD~P~pX7BYvibhgB!luvqj!v(QJ(^FqAx zm}!s}S_N!<=zQ#9A}#N71;o$}6^LKf;DRsLr5G|D6gq!an{E?;+xrXYlx{BbfXUea&Ezs4FDb!;cKF2ckje{0^lhMu@7&z zl=B)9e(Y_p9lv%sQPbLBXDp|2U|#>>?z)PMxga7IB70=Z@8O0k11WiRXEAH>89~>u zZAKKPuJA!cjdc~s*&LnanU17_0ss?Bdnxp9TC6g>px%Jwk1qN4gcI(G0SZ4RpYu2y zxtQ$-_+!f+#9Gc%1n8X!49cf0pP%9_`CmwF@!l}D0OvT?c;SyKIR>8Jl$^;~6%-;a zNYT50v}>nue|qUOip8@i@?#M=n?#Tad{^|-ED`hq!hMG6pOqARO4$*D*d~ZpxS}L> zV*WtLmpN2{+SJ%MCa-Ri!(w|_hY#K*lMn7FnmR4SrB33c*&aClzzE;5_>~euLcrX7 z+<8MS!JYv`UkF`4eo3*>-p%YB9x@yBfmA8#OwGo`fMA$pzh+WiR3zqjqy+$^f6oE^+%|E%Mala-iIY4ln$+JSg{~ZP!+$_tVKHhg{vyjiyn<*@#L%3r{oq zb}dMZrlo5a*P=A@vmNWv5B|MUO=IiYjF;0O>Yf>@Qq+1YS(2cCg*)+(7lQer6#!Mt z6aS_vL2i20e|7iQnJVL-t>a|CdCMv?NJ3jgZ_1;Ffn8eCg4aUAigZ|14x*e) zw@h0J=?ccd@f=UD0C{tacz)fH=i7QIEhyTqE?eh_DUgm`tBB#wkF6_0x;jZF%sonMKOD#?n5dR_$f)uCSSIFIUeoHgIxiz@)24(=>h73R!V<7OX*fP;pgdp`Q%(UuU@^;%P8fvMWU+{^WR1I!2n$aPFg)564qzN5W};g zTQ`%mlBOx00Uui0jS5o22OL5UKVQ@$z+Wp=$y}3Rk|6|VAmYD}#$Jq>+oM@vK*k-f zj5FrKs{96oppU=wgOGZ2;A5XLy-U@{IBoDr6R0Fbjy4+m`0Q#>$8lQat7NWSP_o46 zSM%bPyEOR^5^5o$qc)Vi=`qehf&O?_kTYZfr^VtJWVjy3AAH-mM*+A7AUg}Su6#dU zI_0y+N@tYRLBx-6LFGqnU*LB95O4z?A^NflWYoBvPJ`KvJ{%F%*tllj`2=xP^+k{8 zkJ1LbFYdG%Uu*^(76I3d*a>XTM``1&ODC4A4eC%sSMA>(g`u+`!u2+k-wE`(eCqRR z8wH&hWwkDS04hB|9%k56@Kv-nBU`WC;of~=8+NexVLbYzp3W>KW{G&d3Ltf?~Pb^&QprdA*)q3QfqlEJ}cVjG?PingYfh921 z9yn=<^$4~6{em|KR1B3Ne*z5bv2sO6xBNL(Kdpp#pgupXE|2;=gv!svfW!}Q%?V~= z&v}v#qNIZZGS$ zGu?s2*KvmE=Ea4|iZDQmqK6S^wap(m4TuJs+?+fyus|SBPY;jM#UedvY3VR}V`NYi z9WwBKFCnywv8k!4WTw53^8-lUOEy$A&^H?Rq&;N|Mh`o`^|UN|DO}9;MF`c;q`K(O zr17ZYI5&si;119RP7u#jqMpru>A1gHI!h3|z1s zXFRAB7SIYYu|pqHl>B>cetv#&5z|j3es>513=r$CckrGni*QJZy5)p@c7>DU zYJbAPnmKGHuC5xQK$c5d)VQ4UCA;`jHW{urJLMV{2Bghe*rX1~=h3#VV0~R(T^ARQ zAeGdSf*-U60)g45hCox>V>Qygk3&Usy!70xBRRR(PfS3c>{GkTWVWsIb52?OL>AI?skZuhAPab7x18)Z_~$a8w{AT= z`-z&U`FoPHcIKtwkI~V`5Dty}oul&EJvoNVZLXJ*kDv0kBUt><9qOinko`rmG4ste zN%(nr`#ZS4ylsy8{G3KsDF=xIvUzjEkJ(jH^5%XrwyU)!PPL@ArsljM{WMaU%)7Ih zz;6)HB*0=kIjOYpbHm@0jbC5d-`}5tBpF|K?>IG?nws8V()J0fTNVawZEv3qbaDME z*a}QY>nBnUMN)>2m#H}v)91rrxi(>??3W3-J@omdrKK*J+qbRD;w9;)7fu8!iqMjx z%PuL%cvK6(mILyVEv+8hf`WoPJcZT2XwTTT9@RXH74HUa&Zbu`1GBns(Y~S87omX> zLA>Kd6Gwj>t7h~r58J6ODMFrI36mwF!xNknHdEr`!YR@y%AMm5?%N6@_hou%MSgOO*QizGb0K#R~boe{5bpZLa+!@oUWeUEs5Ot2F#x&eyxrU%Er%+dW{7keoF)Q z{&Pbr7Nw=p^bn5ki&kDeBo@+>o(xQ(_+Y5fEy!8UCrqThiUHtU>JOMI6yvHXFte~| z$pSzy$K->W`w>@45gLMgYzP{Jn3_gIvVl7sOTNCXt*xa+#p+o=%AQWlw2&_E+Fube zvlHMF>tu{srUwh!tJd>gW<7&e-H5}3;lVjX6GBL^fS|0>&a&6t1s_3tJCv4piJWWM zAzSc@F_+I^HUI)wZ_=GMPoaZ%{{2+Ll&U z)TXhK({#Tx{83|Ss*&j@b(P5{t^Yc0z(f0MP3@c6(!zqJf0wN0%JJEMdRRyGeuS-m-Te}0t(dQeS1pMqB z5DKDIfG|95Ueo0=kQ)#>SJULrQ+IynQ3RlEaUpo4Qzk@XCIMZ(-udi{8f_ z#GEMk&F-?V@^nZsGPV@pC47F|PE%p-?0B*M{LX?LbqiVHc)77mN8%aLp_edUs~;gsHnsuM zAXZ-9lv4+T(I^;i=eZF}hhoFGHxwRg^zasOleLz!cZ1uVcxYxlelNc&7=UACzNNDT zfBD?+Il@n8Lh(`;Md$+J`^!+T-sAez>ENx$-BqQJTkGZgFMa&t4d9&QpY+!Ka=1Fn zQAcjaC^M-yG=Uql&XkMD74P*k=O40OWU$jagv3yl>>w4m10VZUL<`;Up-x_e8hteV z2D2D{I4157Lft=}4??Oy>pHycDAr7C7!OlofCeFhkJ+J0v=F?UYu8qmbnBbqtV2o_ zT}lCp@3P-3)t##Kl-@sD*xx9NAT7{k5UUMFb!tW)sNj$bVekb!S+mjmJ#(z6bN5iLiL-#G}ciEsPa@GmwjM{%SDAw{}!5wykzYup^J zj=kCv6x;Ff@vAzGsIx0ba9|D`qIy5$5Vp0xX!4N@_?lIgOFU*JD?6_51w8Kx&*)1k{c}p z9h;zdT1dv}IG<=^=@(huWbFvWQ?{?E0lJU8`tF%O3eK_R$7@R*$!-z{3k#7Hv>syn z)gSCNGb9y8OfzvgT1ky!gwMk zk3n25%=zSR)juMH+gF7t@IfhbJ(}v!-mcfZiyG*ZXBdwh`D`dTI?QbB+H0o9qXm;_z7_5uU>pay?^LBCqgz0YI5UFht^$!R~;NB6~xWfrtD74TtZ=nRySjmh>Ro4==~e0EF^Hq{ZGd%su(q~krd z=tLClxVx&TAy%UbT2Y;+gV1@Cv8ByiT8aPa3GX6a27!n&Iznj!=R}jaYVPaaH8iA3 z!1-`TYYLJfphRV})R>Quf^T7|fGPb7HZ`j2r$s80o|$RAkt6!Wo&}{)6)-eJ3`C`u z_Pp}uVx6>*2G)=I5e#-0bLD)32rzvbKXDO?gDU|))L^jLR~;{eOI(PrOQ(HnJ|@k= zxW{rnoX0BiUpvdSEth=`%SNzv|I9Z3`u$Hb_Z{Y8c@6Z~A6AuiU?a3c5deR+_G(f% z^J2)~@2Yu&U)rfJjb2VfpJnQY#8Jac=5{;^cq$~zdHY(C2d7%p2{0b3Wu^T!Oc(e^ z0RC147gzW74MHEbWm+o&8g{OW&}c=L1bjqxrfT3Ch%f;^bgR7zdq%~wv7&lQ7#@L&!Q5twpY zDrCsQ7Rm5UCkh)<)F%icg0II<$+tF0^s=tYYdXA~Aqar1-n35(sywfk*IS36kqaY> zi=!0c-0{cxn$QkGNJuzOWJ3hr4@c=Cx{$6wHnWKjhA@;w@=d+*ofc!GObiX?v$-JE zj9-AXR`DHBytnaTdMi^gkgaoOr;JFOpUxnFMENs{kg!<#o#C$pXQTq!Xx5I?#u^hx z)nIjOTCGnUr{SJ3A>aqgzQXD2@1U`NYWBLH|0wb#H59Yg;%f&x-tl=McPYTcp_gNR5~|f) z;*a-|{~;SNqwho5edWT&CdO`)SJ9J*n31mqMUdtWSQ%7(q~O4>rX#;DYnd-2YA!z# zXqDA&Ujsa#6^5S`0$g0Q`n^A3ZeW!$B;goXTtTTB3M6{<$%c(1{6s2ZCX7#Ln@~(tIOjHA2EG&+SB+1#NZek@!jsNXwHiX*2S^zajXeF#U)YI)*KLsJ#$z z=l8N$L4pRK0S8*|)u+s!a5f;0R7POzNHu{eZtk5O_cH1&gdwXX?koU$V)LGgh4PXs zFo41J1QGna&bAZLVyq{W?w};}JuPJS9qGI{-`NMr(>FNCK1=O66wCXh@SuGZH~Fgm zHg}pp%WW$wyG7U1+CC5DXW)wukpnhzuV?Js8Bq<)c^Xlj;xrX|Y%9#fF30H9@sd^X zH01h_z|YP@VG@*^zUUg6caYD5Sz(ABLakm_L17`NVr$dS67Os=k)c;;1B-6!jFfyo zQ=Z)k_yX7IJ%>d|y5uIFh-YqM66uF0lHDV~fj+Nx5Ad&F_CrJQ#Bho%YiC}a5hKH< zc(`cUf0;G)gy(W{oo<^M*dj_kh}SV7o5q~#`0A`qfIC+OnIXj43KF0vJrP*Y=P3wg zy@js6KE%*ilVl%`&zOlWcyjrDW+F%(56+`XQ4Jw)$FO&J{~3x*${22~wWbypa)r`6 zy@0uxxwHD9@+HmrkVp%U?6{vXw#_>rzs{y-iD*#9iFq>eCzw?{pVY27HgQf=DK#A``qU~<2VZYJi|JSw~iNJ1OG7~(Pd*SapjvjsF1>Z z(o=;O(6e$d5vriKTqb?|!yr`?6N2i#%$ERtCq{P4E=dNaVtURQ+@;UG>|AV?(;wu{;YePA4G4YwK&c zM@PZD*{4xn!#zU(49H)>an^c$yXYhRO16tYw-vp53jHjMXeh40AS-BKg(d4!&4CE3LP?3?=l#MZM_j{2>s?S|oH4z96J$=vgVVA+{!52b#NlrVUb|+?LA%n4T zn%CFo1Cw|_$`|j=QbD~1?xwLOdpHAHR*aUqJ>ME2S!P&Y<3ov z)JmR^2p}$DC_YX7bxweK9$fYNeoyfGyDoODhHO7A{sQRxPr-8UbC8Szoo%L zr?ci1TM_w zjiJz1hpV(Vd_zvU&7!b!z9pfw*;h1@q38(YVbJh9@Ys)=L{~0ot0Q(`k|y6aC1Q-Dfmx6 zQWDiC1uluBzAO_gnFhPn!P@snwV$MUh;|x%{>(J&%XM|WPrcZ{unNPr&Ln+PGdHq3 zQ2qA4XR3jq{rBj8f=k@dsK+o}+B5~unt;BJAs#JPBJno1S@wM@AFw-Rc*hEs$rxq*hapa7ojm%o-iu325u zpR-*(NL~$4yRcc9Jb*2$ESB5E!5kf%^Rs(Mh(R+y>q<{G%xr3y$MSy;0n#Ded z0g>ez%_`sy<~zZ zRSMtW2nEJ|U=^0P$e}`p8az_@I~>PmVYo+Ap@QuAL8Y2SHJmj_b@XdHxP+s+g;Ex< zK3VzEv142vp$v@9dkIj_*Dwk~JuQph^3j?BdD;t;Z-d=c{Dp-GodK8Qg;d1j)>>_& zNr*b5zksY>q(;oA7Rq|eM+Ui_2&P0DvkSvhT%E`nmM4}jI{k6?B3gXH&eTa&6Ozea zSz@lrm-rD7RE7k>>gf!v*e3*SyS^9mxFs0=Ski(ox78aEt+KoyA7aLATE!Fz>8j@m z+%K^+%GNJ#ouPT@>1OX{cy7Kl+o0oD3D#2^to2JN!aSwTe)OTH<~dl)DpZ_!D5=Wc zd=XWpVCq+XJ*UCa_jSkMb@T{|EbG){XVi(PDSOcBQPi@Aaa*VpDg|o3g#YbLy`CT` zo^6736enL|FnXuzOqF~2_3UiM0?(PrwdJ;+dR|zGSS@d&y&}bO(OxgSVvcFy!tOL) z>iJEkpCwzq2?(OqyG#Zw`9uo2hbwgHr*9WJol$vt|l{EV*6(oH3=nqjE`!7)73T-V;mfE}ZIOswwA9oi76|GVCPC>jp^zN_a(G1n(WSo)o25PEuPc z_g0wO-3Bd4{|#|=$G5YBdAAUhnbDW0bo=ZeE;nk;oGtNUuAwER#L&RO=UL5SZ-T=< zi%1lm-pw|m4`CE=1g=(AV-uXB1Xaq0&-vmIlgLJ5vY?<72jhjdT68DshMc%u{^7@u z7^wQz@Eb_S{>6uzqD{K-C1B0>kcB@y7agTOAFbwlI`#a*lC31cC21(E*r8t)MDVS0SoDm-TIqwK0{mr+&Et|L4047DwN_ z;*@HGa)4G~@wW_h`s&jSXL3Pv4M8O=AOW9HA=fq60RGSqyP{BQ^tpg z(!DXB{^@8f`NO}?h_?e294aeGdFz`t$$s<`@XQ+-If#O(p*yZ`Ods`uhs9 ze=_3#_nZ4|Hst*|0)N#ALjqNUIU%Jze(@^DDnfw`|ljzPg;WJeZ=a1nE!W`07K&a%n?J~ zjekFwG^kvvBnSSP?BPc)%&15AmzSP}2x=iWT|kS5bG{SGB|~&G-*c0=F0t?FC&zLw#0EGHmaLq643QRspaM zA3BE_G9cu!@K8`J$e=Ai*h9N?%{vEQhl30zTQ;LUQX5dbbe)?78PeU_gyNykcpH8nUI3e zlt-ckL1krwIWQj}WEnVMk*dKM!3<2Q46=7^*LCOOrydQCuQz?N=*{fshO<7eUV98? z$jsQqP(K&Q@M(_MAq{&7C>N|?MeP`;5XGQ00V;cOHVgB~O+ zM8!h}`sw)FU7QoI#44<6*8chDXQyawsw||JzI3dPL=hbWs}e%lm%g_dhcyN~sjACu zOo_c_{0U8XY->rR1;JzA-4A{G`J{74s8AWxVyVY(KhrLE#Jtf8?=X)wk)%@!W<*^J zV5ir=T8mSBOw3^he8<0Di~UJ#>sXU|I>nK_xCG#XpW!e7~YY; zMyQn`j}0Q?NnoIRqeOw?9gQq{uF?$5W+{T7JE?k@cuREe?y|OQN|l&l%p^Q8K6UZn zE*}Enu*^r7d-EW)b@K!l-AsPz#TM_T5wDURzt*0Iga)|BHLE&Md&!sK3W!{fCCWK- z_pFX>ZSudAe~*9y166Op{Qy0EELdv;X>=X?-z$g+Yf^kJmvuD8Ujy$u;Uu}!AU->l9CW>xI^ zXLQZ|QH7xwUwLpQwom7@OMg1vSs&m_ezu?EzpXUtk6>)xZKy0j2YDe<%2|4VB$GAbLW^`(bm3s44_nR~a?dI5w zBe&5ne%BuH5|ap&4hE_Z+e|>Ekct+n!DVNi0ct@t5GG>D;}bK;59|6eH|Pb)iIPs3 zD$^6hRELpT6r{SyrviR%{v0+=b#*E^C8N(TtDk<Tb~}kc?g{p zc|rH;f!FQFK^+3ODVl zu*wgTaC}g%lC_evc}sb;zJ*ILz{th$y$0px!Mkj#SRrBI@WRnDR7TmFB043N-kwR6 zxcge(;!)p~gFZv$QE7cgUtgm~Hcd)uWs$cPLdYV)J*D)UPw{GhDi_TQR^ZrmMK7pPJaVO-=@{CtACTqCI3EK0{c%NP%)r6Epb?IqA}z@h@B`vd8YE zK%x0F&N^HaaHFmd&yZX0}c^ytBm0i*raC80^?MP&@p0)$U82RJlSv z?ApgTJK<8VPl75GWHDU!0|hkNbEIDH#N`f|J*mC;gH~$aaH0@qyvFhcyuPIeDP3bq ze+ZQv*I!5!S#-Z5=`8$oF4P?bHSu*RW>3+!yxI!JW6GWyKOD1Y8)A(0ue~wIe4)tt z)^iys3#Iy~&{m74$l9Uy@;fj-mi7pMDx?xKedi@k+`*gV_StXhXpOx=6-E9w>ld>J z)5Hu`T5(4@h^0y_7MV`ZNuOtAO}0Er1B|*w96~upkG&H_~=UK#*58rAz^9(5!$m=sa3~HMSkBCT?%?SN( z?a`|JV6po$@`4HU?bb9X;YfBGxxv+=DHF}26)jXb8B;s>`(SbL3jLy4^eX0|4VD;v zejq%mHm$};mlRs`_36=%Dsyzxj4@o+Z!);bgZ)(VnO@92d`xvApHhw0P5@Af5uUgA zgfyuSp_G4Rf8(JrR2WJnAtyv=esw0TMqsSwz%i7u@!h+~NF5 z!hej_JO2<`SjiGpRJj;8fdKeZL?*yK8-tYPOQ#Zm7hGmqy zIu;)F&mxm-RSa879)A2y88PK&CrgXOpUKI3S%8*hU{mMITdGv>c<0focwIXr9|$}? zNS_a`2E3lkqG5Sg$^HY1tT|fMPj9~Ht1pBd81O8fa2Bn9wHeJhAlO-mo&1Mb{CQ=+w~C_>A*H5-NSIb4#< z>novGSUDRVCH^2)31=)YAmXrnldJu~=eI^IsGM$2At1lvi$o5a^IS=w+PhZF&+Qd^!)PQ$^jbfHZAdRaUIW&X`YzbY7PTo*yoE#43h4xbjHqI^7gn zPi*rARay0swkuGKo1&Q;rz&DPrI{D2>0mIv{Rsv|$@k66K-DtmdQ z%5!`_k+UUa{7^s>um7_q5h`{R+Ww_1emymmOizaD4K^Fnb}?QfQ&->9{aWdY3E4aM zQN$E>_>n?2nrm3L`vIdC7>6&$2#S@)CU{>%+A%eRI`xLH=onBofOOlmXvwaLKxLU@ zSVjXY9~-Ml)K|%wpIy}K;||AdW(<^6NtDHn%=WB%u09VFh8~6PTs`|@GX^ZQ0qWE} zyV5}T*kdSEdaeY~l%i_!R~kB>-~w@JeZ#D=A1jLlI6aknWbrNP1QjODKk_T2{BOKS zfeL@F9(tCY(Z^L2Y<_6jG&LnuBfdKUxS;WW9%Abj%i=7r+gd_qs&*L{?XNArahs^f zdZ$(@`HzykB(*Bs8b0mqRd#Su#L=-0OObb{k-HEYY{+8Rr=sb!FD?A>^g zn##rbzM*pukhZ{oD{F-1z3gJyA7%z*@^jd!kCd)yu^JqHF&Z>OfXa(*6cwngweO&} z=6j3tLQr}ce|)U8lOhD&y`(FKb#nrKz3(4jt#lsjD|MY1!II4}P zTJLTyKX+enHWzKG!Cs72H=KzBFbh*dxB5lf9WTqn`o}WD-@+}1zrng2j zC8PCwGH95QFQtMu)FwVTElPV7NbvQEOG_L4rQk;*Pp&aJZ= zg?5-eZ>s7w0)A`eO1lgJ1=LRnvFdK{num}`OH2-c zu+TuGk@oe<2Noe1#8M%&{W67vSuR$D!N;i;#{EA&T!3Hch`BZ7rlvLIsb_j8w`t^L@MHX3N7w@#?{4S|kkAqZJNFg}a? za{)}|r~#mXM4xEG>15x|XFY-n$*4G(`Mb5G^#7wi0WLlOP~%N7;>MA#fJsKBr~rX^ z#1D}9Ok70gDU-b}I(jrKRHT5bx9fZ(NenrS&Oy&Rzq-Co4kRqw<9+|~)c)k8E9@m8 z&n1Mq;!|HR?K*uX_RnvC1#|!8C7>o{PpgoaZX1x@jgRnr`Sk8eXcMkrQ%bb?-xbSn zec{EpZ@ z$J5>7=y}wJKNX9XHHrenGmDsEzy-AIzCB_qoip701xe=e=+4rIR+R3?=P2r*bw1?xq&T^oK}{k4$^htn%R&yFV!Omd-ZPI-Xy*9O67Tq0|d zFH01QyOEF7vf=neLt6V&_A+r?wvLK(T1Xp~vvcldVl&+uIC4WT!1~1iA=Rs`Oi*`$ z_V#WZe6`v`L}jB*9BV_*t1OH|K5cY!4D7#`OMPZIDlYFZGnWIDzK# ze?Hqk@}j}VdX{!}{fB-!|J8+JlXo$IMwky1O>-vK7_hzLE+b?-pyAs z?Foq4ZgiAt_={XWk0N@YfcHB(HsM+kYT70qZykgG89-#3S)v{Ra8m{pp>-agO`G1M zIYefNvFhbuo!yJQ~;%M_vG#Ur}ffM$v3gyJfKVd ziKu?=;&1{^R*WJ`b~qfwEypcfo`tQB_^yVF_Pfi&7bx@W&Ym_6kb2BBa>8HZ{~UST zK_oMoR)M8?3QfZQ+j0s>j#78i157Z4IaoW7z&aO`iR8x09Z5>>rJ9%}Su5^dB!Ul4 zZ3Q?#E9y5g>oN+Ns14n~sX$hs;-6ff9ZoQWsQjECek3Wd(Zcbzgu-PQH;upxEudq% z4AtwYq=;>j?leDKg=y2au^%`DrWHcipoP@c!8O(qY34`^iWQ_8awRXt`L}p2362PV z#7F#yDA2`W2hpm3XuA(Pu5V*>(-+{x8gM@Q0;r;10VcHXd;}<`y#WYyZ!SjyH2i~8 z`9W_aRG2;m-1%$sFlXj^Z%{Jr#M4QMBZXBiv*Kj$B=4y}B#$rx0Pek(^%Hu$JF7FbIGSp?`Qo5z%CH?4q-O74DmW z_gKw~ww*;akLb3ylKu~150qxYN1KI`e`s$41^Llur2${Afb30R#&!J-KeQQYMMX1c zAH(zABl+JL5G7$9(2jlqnkis{?UrGLX=HCo>DLa8qYZ!)hd+}?9Dd7-$S8b8w2Ss) zoVA14!hGf+v~xb94bZyTqKc+0=Vp$F7!^)nfH{(Qwz_tW&#V5ihQ?(0Hs z7A1`cU}QE;7sG=mXI=r6B~RmfJ%)BKwG6k>5rlyhU)EO@4p@|fnP?sMQ9b zx}*-wpDo3H>zv8bw&!dLcB2Lfd#e-;#V9TTJc4hA>8&Cn7Ct|E_7q!is$2nqLP@mB zZhwx?fO37l&&6wnn_#E^$*nwCs{Hy_BOhPHpXoMOm^Jz%4o=DTS1X&Jl9m3fhQk)6 z+_$vKU0tljk?o%=nvVN#BHl(P3h7xa z9p$C%pM+Re)Ymy=^zH@>6$ju{^nJ**wwLr!ntL`<;m+#CZ+ENg?qqd9jo{87$qI}H z*NpY@xqY&(ev%=4V;=vabXgf#xmW(#Ln{|rnIMuVReVO<7~N2~oYblxCUG#FKGwjh z*BdBdE!Cx{Lt45Jj7LQ;WL&ZIGZNmyl&rW?D5-LRic-3UOo!<@{XmJK_Wr6wqs8uz zn~xIj(xFrDDh1$_riELy$iaeAY}~h}%^lUYb7;8-4ZFP15wFOr9`zTxRNn-yLWlAn zJvAjm3yFC4vx8CW`gawt^C@fhS2B-a6nghJe6+C`w@k^iPXmkG_o3qaR}k#aL-=4w zIGhJGq8IVlGuCNLxSfSuwFAIbU%?7}h14Z;Zzgxv=u#W5ZJ_;zTC+n1oI)OzgBRcPlc#F?10znH=BG6KyXz9j5gO zzyoR){z_~Y^h})r`UDm|%J^q9QCt~gYiMv2$BCubP1NBSxr${^Tc_~EkkY(;W0ZPM z`mM= zUu$uEO%bJrl_@^B)XE5F3c+m(*zyMWHXlo^TXHj4-#ji}1eYs#*n=}dRx)@2 zGZMEsv>V2%i1}#y^UxqlFOgR~+b&GuK>ZbI(I|ERvMn!+<@I3ARSg?cq-gJt$V3cS z(zxp1u1x-`D_cXc@)q&3axX0{VoIJ+CiIPQ6=?oPZwiPZ%*P}l$|p7UtqJ&;udS7OiP2pjN#--Yf9*sXm)Tli9OlZlGYv=P# zqYP1i1%^`%=@7R_6GppctnrKNlCA7g4WvKN z{+wDNayf45Grfz0F1@uwiX)oTb0&p@gxiynKMa($8H0(PuBoAy4-0xKWBJY9w&IM@ zkW8ml+|KUE6$+nQ-K-WW(ZE!Evk4bSu=%Y_g$2?A8NAD*>isrw7CZaYN+h;R<)%yn zF|#sc?3B-Bd{BAV7+D!9k@d^I(!gW0R2ewJ8t#Vq;HoJjcCubsC2IT%HN=XWyjKgC zETs8Fw{2AF`)(IPgG)u3co)@b?dKZ#d3|6BD+x0K)5&dvz?*}!f~lZWPP)M4E)TL zRL~X^zO=osjtvC=mpEmNJfh003X8vZ7SSP>_LIByfdQ|0y>~OH>G#5GKa5%pL_0xt zFH)wkmC00Taffv3{TU5kM<=FiEnbFpmf8Q%`(@@c zuZ>;!r@TmIpH`!a`+-}qiF-Nnok~VKHZde#^1Wd@|F{CLc;8Ta%ZB^`-+2cUBdV1X z6H@+<9u{M)qz^6|w4j;LoOC?_`;G+`RuA4E?^Ar8IG$5d5@LlL395{J^^V2k z1KKASg=%@4;#cKpkG-qAQYQsdl9Z|W_1(YAg<54tlZ_;9hIZ`L36Q|s9y(bQ&jiqx zVSrOfOe27;aV_KD?;GMowN*~?SyxZJoypoPyJ%JFJVHT|M&qCpcF33PJ*w*^<+6p)xIjdbEsmRZ z`ovn!9vb#)J$O|NQduFYWNKg{$@bFs@KbQ6)NJR)L?-csF10T#HOJ}(NA*WmKK`qY zWp0OkUL%n)DeDZ-D~6Yv2(6Yza|*F4g-%VN2cQ0KHzFRzFa;7(ak$G<;sWPc4bCQSBP~<;d4L_8x;TO z%F8KDD!XKIY4p>TJ5T3#z{tn4gV1cIJAWw5QIEQcb%RH3I#>L-#^aP}Q9l@Yz1+$DIHdw1CHlK>C<$AuX&(tifU-_-u9Ri6R6{JUl?FDL5) zL+0huA4tT_AaFwQ0#)xOb0aTp;~s?%>Up^Y8kP6~Jj`&kmJc0YK)w|_9NJBBuctn{ z1)^s(lCoz=!!XB)Uw3@TPLcS;s+g<(1d*qB>91?nK&p;79Y(OjLEeX&@`zp)DpSVN zAAe<=4Ui*1wvPcWMYbd!vDt9@uLXK+xmBRk?!VIA0|U0htQ;{uWH2U0ZYvfH6ZYWy zC2)vL?5rjiVJ6WhyauOM@F`)SZ5&-?bv5QZmGh&}zC+R%A}?8^Ik`c=0=S zUpbUs`d2b3ggr!4$8!#{MD?V##E%Sw7 zGl?)G(L%y<)qRdF88$ASb~HtSn5m~*MSTel>ldEveKRP?^n46I$&0@y2(O7o@zib( z`{8{U#8DU^wd-j9E#gU}(K@EcqOaTd2#p%O=l2C}f=E!^-R#DATia0}gQL!~P|7xhzH_(c=F#W%+CmE#4@Z876z4rb?I&UR3cp^;oH8N?C*(ISw z5N`7vnVPg|yPU|U9^KGUx(Q1iD>5Z){v-~k6dpVU%xjGiaq2T%=;*53XS6TLZlBCa z2qINEo)6%FA!|RDb!h;;O(OdX+#YHr#dv3Z3xd^J^hnTYcvs7JN#c)ojwR)D7*y@o z;BsW7@Gx&2HNRcbO*;K|HN4~#K>f52b{Sx-O2wk^;9-e@0k#m5#dCG_FF@$!%0Eqr z_bVfmrR}3P+Z)B&f`Xmoz*(Mny^ih$fE7J2J%K~>>l6S4Uo{*?F<hcS*fF$Uv#2@5#mJU zctnPhF%#|Oc_?&g^G}_kY8as;Vb6NVQGc}m`bq0K-$trWUnLvkrKFP*nD@+$1Jx-` znkDM?JLA7Q*E2P+%ShrER;)eZF0R7>O}dxOYVSg#BvuCK!%{mR6lKvqYV%C@-@`M~ zxfTB?W1vSJ;Ta1+kG4%;fFa`L#P%P91(~2-Y7Per&0!^?ISVjrVgjg4|lHOOi`~Tru)Hj9uF5RI~4@V6ju%| zu0Hp};wK0+ZBnVy>*TXY&3?T&8RFAAM5;zM zT1P~w+8b7vKF))-i*WyBg5#n_q^2ox`|>uRdA!Tv^Z{Z5JzsS^Ww6?MbUJ+m==u9S z^_YWKGi2tq${uAEru|lbTgCj@O$~`AYDAj-=6&V#zNnbG0ow6V5H_9u$>Z2-7j!Z0 z6CIxo4M1~Evcn1e4&PKTqm|$k2l6_2-5m7*Sn&e{2;F;C|55{y1WW^|16%yv!ZS~0 zryA#Y=fvJujy5`ghQR9V2BaBqRK3f?g%JvoRqWTslLXKa9BJ1z)ijx0X8OD2GIE~14fxEFCm42bgxShmP%i=SS~Ke}*_b1Kg2|Mc z2LZ!YN&3yHTy>~mq8H0~*TC))`rWWu`|$fuSNwJi&ZpwtCXFwB~_!qi5K zATl~+yH@CRoi!&qTJus5K-SgzG zwYahT5#@(}dMc;!HkHt^e*FP`q8-Kly&Eq)3Pgni!%XOR;ypT@Oty40oC{6&DGfzQGe7Sbvz8Sj8Hr;Xpi)Wshg7aRpD6;SQP{*}GCfli3; zce$R9tJ7BC4|rq}C8$p<)Did{{P(ZT)9dTSyZA+NX^k6W{{qmX&aFQet8X477JPPj zBKwt+0rJFuUu=o4HSF7obUj{E!9iK3_X_5@gulrJpw<99wKwpvkEUyE9`4am{l#HG zei-lq2bgQL$z`9Y@IT{b*W+Yw*3vxoGuL2Lv~EZ-1qc`xdTW6*(ceqWMb+28-TeWe zhGIZs0b)w1npJLUxHDw0=03k5f~^A{O%_>eq_U4T=>$9Vo#Vfo^g7_r)o!ITBo^v& zyy}{Bf}?Pcyek^$$n>oe*hh~)T6>GILGK#_ypqW*;fyLr0C`0Ei7do6tUSaj7Ncb8 z_oFbeu;U?Zb;MOWFen#2GPiBr%kJyc;pRxv`fri%WqeLKzC#Ad)x4yLad&U@y~$p*!mSh~GFFx?JZ4Hb4Na{^EYZML!K5=MrfAXWk3QM#v*ZBgx}0e>D{ zn}bsi?w@i4xP9*(n%@0@+Ps_&p5|u@i-U5Yvub0e1;fLL_(QGDI1yNB$CEmm<{IYH z8$Uf4yRwiG1!f9uPgnJvkkxyJIG*z^J^f6?F2DP^K$2O{Obs}e}iL;M^@J72jA&qEjF*mj6 z`rnpF3kCBb`%Lp-!JHQz^whRuGILNzdWLLM2?dJ zAlTijWo8Ge+;N_sV+!O7^wpMY(qruY{%+_>EqHuQRg&@Gp*kkg)T+U%hcDaSb?^t$ zwu-8T3F`8HXeB13lhogX?mq*KtZz>SWopseD*PUh=sK_B)FIC|yCdioa*o<6vPZHLGMztXhBaXsyD*5g?Au#dM;l z2oKR!9#Hve!M1mAu5OJo#x`q3s*D839(zB~T&tJN7S{srSf*JZ1uVD3QQ_}ToD!m< zQ(b>YNgtiOqt4I~l@1GlAW1KF$||2itIiD%H~8_F%pikQ7~jb& ziwh43O|%hL3Jr|FbaPdHgPGr9>dp?m#ef5mhL%|xjlMwDHi3z-j?ptyxFN&6pA8V zE*Y7}Y&9JT3&ZUlswscoYNk^hxKIQHu3KIifB!G@wF?Fl|I2lfs|+jaI02Gul`I#}2!YIGGr;7+;{-iv+4)fR;5PI# zo|f;NJ9nmt9gn9+K>PzVyAP!}!z@yf(N|YVdc=HRy31=9K#Mw&pkQwQ0g61$t-CO% zh!|g8zGi^pT$bhO2jHMj7)|Sk07HiK#E6IRl<+QB$AYv-c7!^CgT~=yi)x{aU(4Yb z4QSXIi4Li6TlT|iOo`zr*fO-pJrt{uIqqe4k(yp*CNQ{*;#0-NeCTtJ0$ImFnwqzM z=DyS)*v6)gny-c_H~H~D2F&AaSzx>F%xO^2WA+vxwz870@ZGEgb2W>#MvKscXl&>r zfm*XJLSn$-CXJLMVjPHYte=qObb;~I@(G`F#+W06W9I;J9eFWbwYx$gEPAF_teE0G zR6#Kqu};%-;?_Fszv_YTY9oLQYBA5XyPhHV!eUlA&`Rl9))z}o85*$%!KrUggzh7m zs4#^9zek&)L@eKmutghy6YsKYk_;CPk0U!?luqD~z14bMfdL~l)*MT>_U6PVb?^PL z1EB`R$9Ydq;Vo})DhBsBT!4CWl@#**`pVeZy44I^95`AO%wYRn$hdtM z{M05=xU?2O3me}ghzUdP58%Uy*+wtzGR6Pu#Y;wwb4tNZj?Y#_(n+`!v5u}+H(Wcf zvnO~Hy{IUbqSBW#qT`k3=4;Il#|5K8oqV4szxnfif37w?26eE17q{Ps4?DkGJm`oD zwOLU~j$>NJ>OFglg^a)X@?;@zP-6Ch7ILslVJGkxA;0vbgt`%KXgJyTlZN4svNlup z?;tTZK$P56FPtmcgS$-4kDAj@ls9hj3lQ%kFUP3>FrSeE7iXAIvx_jRv96(N1?f=2KK7ey={T zeFSxBF#JrbcBl2i7PGJN8ia9si|Mj*j~7R#;+GNv4RL@#VBt3dH~ovG3*rA zKCvQ!lkM+9nz6Q&#E^+Wol?$3x5pV=Mw^DemNkCy$rOgJ>?&lWs9#Fn?**Sz$k?E% zgJH)NxPcX~nD_91x-xXu97hD=^~@{7z+BkDL^9Vu)EF_u=hpCytG;_lEn_r|vNk;E zQB{9Y?)JGKfIce0tC0&)(wzJRKrWTzbL^ANz<2}U z$_TX3Okyv+#SrzqBqkH$3i2-v=X@`4rk)w8?1*oa45RnFR)3s>$E8?j$?@VMD5sKC z&?n=GOCZCoF#hMMddCbvo-{ zm_5@z?EZ&l6Ypggimqbq7XJ~%1EH7NPLwkQu{H13Nl_I}aSDSeF^GbKQVu;oG7UP; zD2v^MJ`#@vErF&l(_Yto4&690bj+hsEl^i2_RSfe{yD%8m!mT;G^AK2H=xyqh}F%k zB(h~N+UI>8m^Ni>vou~_gyCwq9|2n_pQD*7z6oE3tGPKT;zFcBoe(PZNPyZ>?DQe)SU%;?;&39&xxiIOVZ-1gmoyJ+_o# zB|F^6BIe88>>>WN0ne^9ZPm@>97w1WX3e zycKF137TD|EAWg_Mo_%^;;vu(@X;RmdW|LUku6+1;C+OATRWLr9_4qbIvROr4YM%QC!+oh*Z|cV z!XH7OEGK0#OQ(#4RyoDLnq>8oXEdtg176JC4ot3!ZvZ&33a-WX%A8HZ6W7M@bjcD< zwD>bec%-W64nE+eNwWxE%V)df8hD{~3pxzFaffhdvqABaTf22|UXDhA)TBYEbf)HW zu_>e>*zcqdv1`ur^7WpM~Qj`;@i2V~*p|hrdjLncz4NGK(G-ga%HOaoo9P zJJm->)aRNW8LILtz|E0KYUdTo3j4hs^Nl3rj1G-L%tmG*9ie^HHQY26?U7?r;&EFy zSWuisw3?G6GTH$HYSS?yAZGUGjD(1GdX{dsiR+4Qy0B}qP9uHYdY_x*_^lMxV9+TE>dmD>@_0an6V9hgi3*DkvV}r zkpBVG2J2lQpby>*eH~IloZe5#@k4%bATCan-<;U|0gF5tY@m*?`N==cXW!&t)$(^m z-2Ss7q=6Noocx17ma-LAM6JV%VnB*Uj;>Zd>a3{x2WG*z1J1^!#oa-cG1zFN=;T7` z_@zT_)%UL;8jjNdYr+N0x@nrcjEdLxT}a8+PayJlSU*5PjZzG9+H`jirn2>+FNT9t zefce!Oh}PT>ZmpUhyirjvi(-(d^lLim3F^fMm#;^lJGCv<>&B>%iv$i5B3Y_&JuN} zKH2_Q&9vH-T&!)BGT!d=SebmiM=ro-@2}*_{_5mmw|+^W)nfzpLih$RC5=nhReY=T z-lT0HCfE9!Ta8+6ztUZq-DFYolU`qwomT!obzONpl+o9>W|=Hu zn8?15JwkSaFi9h$tTBkJS+Ztt#uf%;DO)2k_9e2UY*~^LqbwD&l%ZrPAf zZH(`I)Qch-vhX>_njMFi(LGq@GP* zDAK>f2QOM}oZ5hz;!QPT6-<+-jAW(`FxqpBnVU1 z-ur%*(c_90wsL=)9akBzBZ3JD&uZ+qlTgGNX`BA@X@(sViW@Np(1(D$d1ay;-P zUL7$SkJA5@#i#$41*smD@iM#OzEeu+xwp^xY_43;%U~OOeol66Ko`0ANx4HI$W6#u zXDlW_N)B!9(i3xW8VU~-_e^H7BQDJ7cn=D^Pl^uQ#34V|iKPV41zQj}W*EQXv3vqs zzVyhw{m(j4Nl%8VOc}ol^wT*S*N8N8tD3KmUiqYC)M>mIBDepZOzBa;$| zLo^TlpCgcY-D@Bgkc-z^c4I}j0HiY zzxVp|`@k=+rO(q|-tf;O&8C;%-V7whrgQMe=eWfz2!fnnw%B)@r{|a9ZuB_(Vg2aqt>Opob(xzm4Y#a{mNymRbvm$Z-IzonV^`mtx}m|^zLQ+CeOg0E8>zzESql#b66YaS(?kM*9~iXFc8c z@5dVPO5>zw<&!D%7Z1iIg3aIhJ{u%z|_n1T(nywP^oSE#=}0#6M4echPjn_+!jvYD41Pzee2x3X*Z zDsBZJ=qG&AKZ$5G#s;9l@gkYOWzkD6ZlOx=3B2+b z%k!ks8)bUoCYuW5hc$~GpEf0dO5Bia0v;r5q7+?r?FE}P{w)=qmZ@>`&Z4q$X=qZe zA_^#mNmuus$G;uU2SArC`c4m0d6h49W)@m&nyjlaSj-G0h3;CTc;y2kxX4L{Sn^#fQ@Qn-6- zq9R+^tH+QOri*z?^sN_BkRNj&)8M5r^NUs9^{Rbpmd(9A%~P5kk?NO28cF9*MZXlq zY7geJGdy%=H2MTr;b=N@lPOj_2tRjq6LX3BH&aJODy`zVZTAYt<1XE!odBmaB4(es zs#3CW;#I@RdG8mv;9I;&m+Z@%273ZNSVXIomnb?ndEnlc0{M)kg%jutX_ z0d3~K-0T>>yp59?XH@?^1e(rcLjA^y%YI_KWPIXU95>PgD6vP9vX{fW*vE(21D^vDM~(A+!5#&CQRht>&R(E?d9(6 z8dj$W>J}C!@2UAZ?e(RJ^zB9a9UknD2RW3(IeFv$R0o6*KNZ0>1p)7vf=i~nDyRj~ z`{x7ZB8vvU{<{dYdZ>7Qw%sbu_OM_(dpinUxQtuWp4l!l`pCOios)QYB@!} z?h@}b$5^kiU?iHQ0pyj2WKH*%X%*5}w?dkIKT>=mmDJn{mnkjJEyWO=LA&vu>41}2 zr9+%g)w|OX2VHq_Te2hk=OE(YuXSm>yMEqkcQRC_f;!y_zzF`y{6!anzHU!USr$Dy zZz(Vw_jsD#ehfsn-|~#{AeGYpm5Hk}K|~g9w&|{ayNg`OI}3vM0WoNJ=od=ofSy3~ zB6_Vs`fGm!|3e73ECqR#fGiG(@aS1utpUiY2Oi=e|BW|l^Yc0Wo$d8`6x*w5a86ikbn7Z@^+P3) zro0$~k-A!F&i8(m0`mG!I&C$BIXh5VfuF8M5nLBCM2)i*9Ch5O3fTp6*W#VHEyv?D zGL_w5KfhrAG`wl|lorRl!8x|b>!9~qLbMv~3+(z*f#Yi!MECP)Wu5F(o}avB%=Y_o z{K36bUQ0Y|ogjZPM~HAWx2o@l?Y8m!6yMB|Mdk;cck6Quo_ z{$Xm6PVqOrMXg;Ij)isZ9nXocMBhB26{<+-&(vN7F3aL*DV&KL7TxQq;gxQsU9yi6 zZY83+>QHGT8j2boo*snEnM|P7$)vJh8(1;*@E^qM=KNZG6XiH8v+91foLzjQze`~I zCrfE}tw1a@FBR@h{oVb=mpKOa4w_4jBg9u(`{bJo6H0D4mr57UubIuT4SI20f!gnZ=Ms7lHjL4_!K=+wcBf|Lld0WfZ=3!Drg?)r zkGEh$e!=L?(bws^^BgAgO7>kqZXOccaGJwy1~vgKWBc+GZR@(_we+M{j3*F&Rrr@r zeWn`A(@`0Lr%^Tf2R|CBqj$-Y{EFc}mI5%(7wty52qGv6Ti;71)T++jnykkq{Xj74 z1YLi_S4Ku*L&IQ2Zb`_rI5t^q@LA+WugB@qFTKMV-9w4 zR(OCw(A#CVqzPXmE>LI71V_7+U04luV}z;-hNj$Tha|le9$r3kVK>>~Sn%!X-4xER z3ri-g6BJB+Y7b&DK`=@v&r-pTVM2ruZ;Th{%{F8r#3i)ph!EArV$>2@T|8Q`s2A5v zpJ16UicU@-SR~E!6Q5>j#F<%N$Me@LXUeYAMQy%P+sJcPnQlYrCyQ-)CiW!BjrW;9 ztXdyphkqSgvP(LWuj^T`=O)%4Wc!B}Ewbl5ouO8`K;#`!C))3xDB$ zcj_!7)Y`$$GRYPku|PSW9tM$;lr~zrPV`b1cX9( z^ct^bRzsh%0dZF5RQr?r_2(*S=!=(3;L6W_9+w>O&G%DQ231YP;*yz9_W*>Afi@kB z*Lo8c)%Cqd`K2y{<%7eAtAouYSqR)vheqx$EGW{fEKS>QR?oX+%Z6w|HIVE389m55 ze3XzW@brg6;--8_WkH>OV*q<{qwDJyI_z_?4_^*uC=HTDuieNHw~)#$lm!su$>c;; ziJInNgm{N|H8-66)1&>+fbIs(hTxM-x`aw~+cqLdHKvP-EvdJZj@J6EfaVH|Q?rc; zQJbf`$>}coPnmm{_cjQ2hZZ?|-4u-8N0R$(!NW0TiF?E>*62QQKAzX0M z`YnOJ8YuF>w#eN+A6K=Kbn4GbovcGqdkaMjHr2>B4w=!beIT8MWNpZK+(wPeml#^X z3&0cJy}Stm`xOf#IpN;nCA1EM!!3<~-u(rbU-hULod~0JI8Q&@*TR-1>}(E9yL(+}bYEi46C){QP9!n#ctkK45}InJ-AJZl-W@?aT6+ zT?1>aHPM>*95p9bgELl^cYJ1lnKD0qBE;ntOpesC>mS2=QZ1(?9F;|L%ul)!is`6! zd|ns%I|F0E{Ji&{{|}s!DtIG(iO3j%aONy&r;P0t9P?{sjTX@$Z~JB)jHW~#$`tRu ziDMRU+%?HESlM=G&w4#n;D2iI&|z)lk1UwzGQCt7d(&aTKm zZevS>qraD8rLt*0a+b`cWi2|oTAN4lNWV-e zI#o)52XqVq4S3XmJ)!m+1ds4Dqz51wD8A?I#*!;Xwn!_BuBu_9!4XAvqf&(8%T=~b z%fP;w5}&WB*X7QcUa^+FB%W$LT+&2~xNhOA zM5*X$55h>QDm#FIxr!&(Ui~I!W_BZk9qeqa1FihyVNpp8T9=qi6Z;F){hjHLjm1DH z&Hc;>z2d2HV@sCo81&uMCQVTHVEJvOa8i43VzwLqQ{R>aRxw%hV5_m5__}d88Rl)I;*;bvA3xz ztM?xD|FkHV$kziDKf@fd7h4VJdS@u>4_y*2I1uK+7( zk%*JlDP#%VYGF=wT_rgcPp@}eSc)JYPgu_GJ8--a;#4mTlAMJuFUX?o8ubk5M!5A^ z{2V&zXN>cYP16qF4Bj5mK0Fa54RX`d$Go$>tO1;EcW41Qquy%c&}P1FQWjvrr0Lw$ z+G)8m^UH#j!t{9hPHTUizAc^{r(Z|O@|%hL8-PB3c}EtU+>`s zrP4erx2OSoq?1i{;=ss$IOUT1@aD7c)c;LPINMAivI7?Z Date: Wed, 16 Oct 2019 21:34:27 +0200 Subject: [PATCH 154/289] Update to the current GPSLogger settings Update to the current GPSLogger settings --- source/_integrations/gpslogger.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/gpslogger.markdown b/source/_integrations/gpslogger.markdown index ba18cd3b2b6..1b46c6f2000 100644 --- a/source/_integrations/gpslogger.markdown +++ b/source/_integrations/gpslogger.markdown @@ -25,7 +25,7 @@ After the launch, go to **General Options**. Enable **Start on bootup** and **St GPSLogger Settings

-Go to **Logging details** and disable **Log to GPX**, **Log to KML** and **Log to NMEA**. Enable **Log to custom URL**. +Go to **Logging details** and disable **Log to GPX**. Enable **Log to custom URL**.

@@ -60,7 +60,7 @@ Content-Type: application/x-www-form-urlencoded ``` - Make sure that **HTTP Method** is changed to `POST` -If your battery drains too fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers** +If your battery drains too fast then you can tune the performance of GPSLogger under **Performance**.

From 0c16f873ac470f5f0ff04a024d2a70675a1a3fa3 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Wed, 16 Oct 2019 14:54:30 -0500 Subject: [PATCH 155/289] Lovelace: add double_tap_action (#10808) * add dbltap_action * double_tap_action --- source/_lovelace/entity-button.markdown | 30 ++++++ source/_lovelace/glance.markdown | 30 ++++++ source/_lovelace/picture-elements.markdown | 120 +++++++++++++++++++++ source/_lovelace/picture-entity.markdown | 30 ++++++ source/_lovelace/picture-glance.markdown | 64 ++++++++++- source/_lovelace/picture.markdown | 30 ++++++ 6 files changed, 302 insertions(+), 2 deletions(-) diff --git a/source/_lovelace/entity-button.markdown b/source/_lovelace/entity-button.markdown index ee3ed4a6b4e..f4fe761f98e 100644 --- a/source/_lovelace/entity-button.markdown +++ b/source/_lovelace/entity-button.markdown @@ -110,6 +110,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none theme: required: false description: "Set to any theme within `themes.yaml`" diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index c69af02b1e1..946e4fca3b3 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -135,6 +135,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none {% endconfiguration %} ## Examples diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index f5112d3619b..2294ce9de23 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -139,6 +139,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none style: required: true description: Position and style the element using CSS. @@ -229,6 +259,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none style: required: true description: Position and style the element using CSS. @@ -341,6 +401,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none style: required: true description: Position and style the element using CSS. @@ -423,6 +513,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none image: required: false description: The image to display. diff --git a/source/_lovelace/picture-entity.markdown b/source/_lovelace/picture-entity.markdown index 925449dde05..b983899b5b3 100644 --- a/source/_lovelace/picture-entity.markdown +++ b/source/_lovelace/picture-entity.markdown @@ -119,6 +119,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none {% endconfiguration %} ## How to use state_filter diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown index 494d5d78fa3..e742d3d5544 100644 --- a/source/_lovelace/picture-glance.markdown +++ b/source/_lovelace/picture-glance.markdown @@ -118,6 +118,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none {% endconfiguration %} ## Options For Entities @@ -140,7 +170,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -165,7 +195,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -183,6 +213,36 @@ hold_action: description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none {% endconfiguration %} ## How to use state_filter diff --git a/source/_lovelace/picture.markdown b/source/_lovelace/picture.markdown index 6170f9fe43a..9fc235d5ab8 100644 --- a/source/_lovelace/picture.markdown +++ b/source/_lovelace/picture.markdown @@ -80,6 +80,36 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none {% endconfiguration %} ## Examples From eb9b2aeef26abeecd3cf2cb275387aee48747e8c Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Wed, 16 Oct 2019 14:56:16 -0500 Subject: [PATCH 156/289] Lovelace: Allow hiding tabs (#10458) * Update views.markdown * :ambulance: Fix build error * Update views.markdown * :pencil2: Tweak * :pencil2: Tweak * Update views.markdown * Update views.markdown --- source/lovelace/views.markdown | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/source/lovelace/views.markdown b/source/lovelace/views.markdown index 9e6d4e0f253..1d5f4d1107c 100644 --- a/source/lovelace/views.markdown +++ b/source/lovelace/views.markdown @@ -41,7 +41,7 @@ views: required: false description: Renders the view in panel mode, more info below. type: boolean - default: "false" + default: false background: required: false description: Style the background using CSS, more info below. @@ -50,6 +50,11 @@ views: required: false description: Themes view and cards, more info below. type: string + visible: + required: false + description: "Hide/show the view tab from all users or a list of individual `visible` objects." + type: [boolean, list] + default: true {% endconfiguration %} ## Options For Badges @@ -75,6 +80,17 @@ image: type: string {% endconfiguration %} +## Options For Visible + +If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab: + +{% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string +{% endconfiguration %} + ### Example View config: From 6a232dce5817cb9e77ed7403353626e1e470ffd3 Mon Sep 17 00:00:00 2001 From: Bogdan Vlaicu Date: Wed, 16 Oct 2019 15:57:43 -0400 Subject: [PATCH 157/289] New oru component (#10725) * New oru component * renamed to correct extension * fixed type in configuration * Update source/_integrations/oru.markdown Co-Authored-By: Klaas Schoute * oru integrationlogo * :pencil2: Tweak --- source/_integrations/oru.markdown | 32 +++++++++++++++++++++++++ source/images/supported_brands/oru.png | Bin 0 -> 59090 bytes 2 files changed, 32 insertions(+) create mode 100644 source/_integrations/oru.markdown create mode 100644 source/images/supported_brands/oru.png diff --git a/source/_integrations/oru.markdown b/source/_integrations/oru.markdown new file mode 100644 index 00000000000..a80d95a71bb --- /dev/null +++ b/source/_integrations/oru.markdown @@ -0,0 +1,32 @@ +--- +title: "Orange and Rockland Utility Real-Time Energy Usage Sensor" +description: "Instructions on how to integrate the Orange and Rockland Utility real-time energy usage sensor within Home Assistant." +logo: oru.png +ha_release: 0.101 +ha_category: + - Sensor +ha_iot_class: Cloud Polling +--- + +[Orange and Rockland Utility](https://oru.com) is an energy provider in NY and NJ, USA. +The `oru` sensor platform fetches your current energy usage from your ORU smart meter. + +## Configuration + +To add the `oru` sensor to your installation, add your `meter_number` to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: oru + meter_number: YOUR_METER_NUMBER +``` + +{% configuration %} +meter_number: + description: The meter number of your smart meter with Orange and Rockland Utility. + required: true + type: string +{% endconfiguration %} + +`meter_number` is the smart meter number. It can be found on your energy bill, on the top left corner, alongside your account number. diff --git a/source/images/supported_brands/oru.png b/source/images/supported_brands/oru.png new file mode 100644 index 0000000000000000000000000000000000000000..b06c29e787a7c126154ac04a67aa046dfdf22a42 GIT binary patch literal 59090 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 z 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 literal 0 HcmV?d00001 From fc22f519f4cc65d093ff122872c520de2c73316e Mon Sep 17 00:00:00 2001 From: Rolf K Date: Wed, 16 Oct 2019 22:02:18 +0200 Subject: [PATCH 158/289] Update input_select.markdown (#10795) Adds documentation for improved scene support for input_select. --- source/_integrations/input_select.markdown | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/source/_integrations/input_select.markdown b/source/_integrations/input_select.markdown index cd28d03e547..c380d03e647 100644 --- a/source/_integrations/input_select.markdown +++ b/source/_integrations/input_select.markdown @@ -77,17 +77,32 @@ This integrations provide three services to modify the state of the `input_selec ### Scenes -To specify a target option in a [Scene](/integrations/scene/) you have to specify the target as `option` attribute: +Specifying a target option in a [Scene](/integrations/scene/) is simple: ```yaml # Example configuration.yaml entry scene: - name: Example1 entities: - input_select.who_cooks: - option: Paulus + input_select.who_cooks: Paulus ``` +The list of options can also be set in a [Scene](/integrations/scene). In that case, you also need to specify what the new state will be. + +```yaml +# Example configuration.yaml entry +scene: + - name: Example2 + entities: + input_select.who_cooks: + options: + - Alice + - Bob + - Paulus + state: Bob +``` + + ## Automation Examples The following example shows the usage of the `input_select.select_option` service in an automation: From ba98d2bff05c17e61a4f9ac61de24f7ebba01767 Mon Sep 17 00:00:00 2001 From: Rolf K Date: Wed, 16 Oct 2019 22:13:15 +0200 Subject: [PATCH 159/289] Update input_text.markdown (#10800) Adds documentation for improved scene support in input_text. --- source/_integrations/input_text.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown index a43fa6a3aa4..4f9914cff8d 100644 --- a/source/_integrations/input_text.markdown +++ b/source/_integrations/input_text.markdown @@ -81,6 +81,18 @@ This integrations provide three services to modify the state of the `input_text` This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. +### Scenes + +To set the state of the input_text in a [Scene](/integrations/scene/): + +```yaml +# Example configuration.yaml entry +scene: + - name: Example1 + entities: + input_text.example: Hello! +``` + ## Automation Examples Here's an example using `input_text` in an action in an automation. From 92debf9a159b506e46dee47496d7cd6d89b4a343 Mon Sep 17 00:00:00 2001 From: Rolf K Date: Wed, 16 Oct 2019 22:14:58 +0200 Subject: [PATCH 160/289] Update input_number.markdown (#10802) Add documentation for improved support for input_number in scenes. --- source/_integrations/input_number.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_integrations/input_number.markdown b/source/_integrations/input_number.markdown index 084225cb371..3e46a5bdcfb 100644 --- a/source/_integrations/input_number.markdown +++ b/source/_integrations/input_number.markdown @@ -77,6 +77,18 @@ input_number: This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. +### Scenes + +To set the value of an input_number in a [Scene](/integrations/scene/): + +```yaml +# Example configuration.yaml entry +scene: + - name: Example Scene + entities: + input_number.example_number: 13 +``` + ## Automation Examples Here's an example of `input_number` being used as a trigger in an automation. From a1dc242fc7d8307d7a8dcb2cacbf077b1136bf9f Mon Sep 17 00:00:00 2001 From: shred86 <32663154+shred86@users.noreply.github.com> Date: Wed, 16 Oct 2019 13:19:53 -0700 Subject: [PATCH 161/289] Changes to support config entries (#10467) * Changes to support config entries Sets `ha_config_flow` to `true` and added some additional instructions to the configurations section. This is tied to the following pull request: https://github.com/home-assistant/home-assistant/pull/26699 * Removed references to 'exclude', 'lights' & 'name' The 'exclude', 'light' & 'name' configuration variables are no longer used in the abode component. * Fix for spelling and style Co-Authored-By: Franck Nijhof * Style update for lights Co-Authored-By: Franck Nijhof * Style update for power switches Co-Authored-By: Franck Nijhof * Removed redundant information and restructured * Correction to automations --- source/_integrations/abode.markdown | 47 +++-------------------------- 1 file changed, 4 insertions(+), 43 deletions(-) diff --git a/source/_integrations/abode.markdown b/source/_integrations/abode.markdown index d8dbd0dd207..31ad73696e5 100644 --- a/source/_integrations/abode.markdown +++ b/source/_integrations/abode.markdown @@ -14,6 +14,7 @@ ha_category: - Switch ha_release: 0.52 ha_iot_class: Cloud Push +ha_config_flow: true --- The `abode` integration will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes. @@ -23,31 +24,23 @@ Please visit the [Abode website](https://goabode.com/) for further information a There is currently support for the following device types within Home Assistant: - **Alarm Control Panel**: Reports on the current alarm status and can be used to arm and disarm the system. -- [**Binary Sensor**](/integrations/abode/#binary-sensor): Reports on `Quick Actions`, `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors. +- [**Binary Sensor**](/integrations/abode/#binary-sensor): Reports on `Quick Actions`, `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors. Also lists all Abode `Quick Actions` that are set up. You can trigger these quick actions by passing the `entity_id` of your quick action binary sensor to the [trigger_quick_action service](/integrations/abode/#trigger_quick_action). - **Camera**: Reports on `Camera` devices and will download and show the latest captured still image. - **Cover**: Reports on `Secure Barriers` and can be used to open and close the cover. - **Lock**: Reports on `Door Locks` and can be used to lock and unlock the door. - [**Light**](/integrations/abode/#light): Reports on `Dimmer` lights and can be used to dim or turn the light on and off. -- [**Switch**](/integrations/abode/#switch): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them. +- [**Switch**](/integrations/abode/#switch): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them (does not work with Abode's CUE automations). - **Sensor**: Reports on `Temperature`, `Humidity`, and `Light` sensors. ## Configuration -To use Abode devices in your installation, -add the following `abode` section to your `configuration.yaml` file: +To use Abode devices in your installation, add your Abode account from the integrations page. Two-factor authentication must be disabled on your Abode account. Alternatively, Abode can be configured by adding the following `abode` section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry abode: username: abode_username password: abode_password - name: Abode Alarm System - polling: false - exclude: - - 'ZW:0000000034' - - 'RF:00000011' - lights: - - 'ZW:0000000022' ``` {% configuration %} @@ -59,10 +52,6 @@ password: description: Password for your Abode account. required: true type: string -name: - description: The name for your alarm controller. - required: false - type: string polling: description: > Enable polling if cloud push updating is less reliable. @@ -70,18 +59,6 @@ polling: required: false type: boolean default: false -exclude: - description: > - A list of devices to exclude from Home Assistant by their Abode `device_id` - or `automation_id`, found within the integration attributes. - required: false - type: list -lights: - description: > - A list of switch devices that Home Assistant should treat as lights by the - switches Abode `device_id`, found within the integration attributes. - required: false - type: list {% endconfiguration %} ## Events @@ -141,19 +118,3 @@ Trigger a quick action automation on your Abode system. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | No | String or list of strings that point at `entity_id`s of binary_sensors that represent your Abode quick actions. - -### Binary Sensor - -This integration will add `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors. - -This integration will also list all Abode `Quick Actions` that are set up. You can trigger these quick actions by passing the `entity_id` of your quick action binary sensor to the [trigger_quick_action service](/integrations/abode/#trigger_quick_action). - -### Light - -This integration will automatically add `Lights` configured in your Abode account. You can reclassify `Switches` to show up within Home Assistant as lights by listing the Abode device ID in your [configuration](/integrations/abode/#configuration). - -### Switch - -This integration will automatically add `Power Switches` configured in your Abode account. You can reclassify switches to show up within Home Assistant as `Lights` by listing the Abode device ID in your [configuration](/integrations/abode/#configuration). - -This integration will also list all Abode `Automations` that are set up within the Abode system, allowing you to activate and deactivate the automations. From 26c9bbf49f403d2e6adc8f04ccf1c8eec246d892 Mon Sep 17 00:00:00 2001 From: Nico Hirsch <30938717+noxhirsch@users.noreply.github.com> Date: Wed, 16 Oct 2019 22:23:03 +0200 Subject: [PATCH 162/289] Add notice about imports Sometimes people are confused, because their Python scripts with imports don't work. I added a notice about that topic. --- source/_integrations/python_script.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/python_script.markdown b/source/_integrations/python_script.markdown index 17c43696999..477c6bb1e67 100644 --- a/source/_integrations/python_script.markdown +++ b/source/_integrations/python_script.markdown @@ -19,6 +19,12 @@ This integration allows you to write Python scripts that are exposed as services [hass-api]: /developers/development_hass_object/ [logger-api]: https://docs.python.org/3.4/library/logging.html#logger-objects +
+ +It is not possible to use Python imports with this integration. If you want to do more advanced scripts, you can take a look at [AppDaemon](/docs/ecosystem/appdaemon/) + +
+ ## Writing your first script - Add to `configuration.yaml`: `python_script:` From 7bee02dc2befb44b34dbbaa3942fab5532242c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Conde=20G=C3=B3mez?= Date: Wed, 16 Oct 2019 22:23:15 +0200 Subject: [PATCH 163/289] Add PTZ support to Foscam camera component (#10625) * Add PTZ support to Foscam camera component * Update service name reflecting last changes * Add an example card using the foscam ptz service * Change user input to lowercase snake case --- source/_integrations/foscam.markdown | 128 +++++++++++++++++- .../integrations/foscam/example-card.png | Bin 0 -> 723788 bytes 2 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 source/images/integrations/foscam/example-card.png diff --git a/source/_integrations/foscam.markdown b/source/_integrations/foscam.markdown index 6f21bd1750b..52c8fd022c0 100644 --- a/source/_integrations/foscam.markdown +++ b/source/_integrations/foscam.markdown @@ -56,6 +56,130 @@ name: There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation. -### Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away +### Service `foscam.ptz` - Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry. +If your Foscam camera supports PTZ, you will be able to pan or tilt your camera. + +| Service data attribute | Description | +| -----------------------| ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Else targets all. | +| `movement` | Direction of the movement. Allowed values: `up`, `down`, `left`, `right`, `top_left`, `top_right`, `bottom_left`, `bottom_right` | +| `travel_time` | (Optional) Travel time in seconds. Allowed values: float from 0 to 1. Default: 0.125 | + +### Example card with controls + +

+ Screenshot showing a foscam camera using a picture-elements with PTZ controls. + Example showing a Foscam camera with controls for Pan and Tilt. +

+ + +Using the following card code you can achieve a card displaying the live video feed from a Foscam camera with controls for moving the camera at the bottom right corner. + +```yaml +type: picture-elements +entity: camera.bedroom +camera_image: camera.bedroom +camera_view: live +elements: + - type: icon + icon: 'mdi:arrow-up' + style: + background: 'rgba(255, 255, 255, 0.5)' + right: 25px + bottom: 50px + tap_action: + action: call-service + service: foscam.ptz + service_data: + entity_id: camera.bedroom + movement: up + - type: icon + icon: 'mdi:arrow-down' + style: + background: 'rgba(255, 255, 255, 0.5)' + right: 25px + bottom: 0px + tap_action: + action: call-service + service: foscam.ptz + service_data: + entity_id: camera.bedroom + movement: down + - type: icon + icon: 'mdi:arrow-left' + style: + background: 'rgba(255, 255, 255, 0.5)' + right: 50px + bottom: 25px + tap_action: + action: call-service + service: foscam.ptz + service_data: + entity_id: camera.bedroom + movement: left + - type: icon + icon: 'mdi:arrow-right' + style: + background: 'rgba(255, 255, 255, 0.5)' + right: 0px + bottom: 25px + tap_action: + action: call-service + service: foscam.ptz + service_data: + entity_id: camera.bedroom + movement: right + - type: icon + icon: 'mdi:arrow-top-left' + style: + background: 'rgba(255, 255, 255, 0.5)' + right: 50px + bottom: 50px + tap_action: + action: call-service + service: foscam.ptz + service_data: + entity_id: camera.bedroom + movement: top_left + - type: icon + icon: 'mdi:arrow-top-right' + style: + background: 'rgba(255, 255, 255, 0.5)' + right: 0px + bottom: 50px + tap_action: + action: call-service + service: foscam.ptz + service_data: + entity_id: camera.bedroom + movement: top_right + - type: icon + icon: 'mdi:arrow-bottom-left' + style: + background: 'rgba(255, 255, 255, 0.5)' + right: 50px + bottom: 0px + tap_action: + action: call-service + service: foscam.ptz + service_data: + entity_id: camera.bedroom + movement: bottom_left + - type: icon + icon: 'mdi:arrow-bottom-right' + style: + background: 'rgba(255, 255, 255, 0.5)' + right: 0px + bottom: 0px + tap_action: + action: call-service + service: foscam.ptz + service_data: + entity_id: camera.bedroom + movement: bottom_right +``` + +### Extra CGI Commands + +Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry. diff --git a/source/images/integrations/foscam/example-card.png b/source/images/integrations/foscam/example-card.png new file mode 100644 index 0000000000000000000000000000000000000000..7e65cc3e6f6c3864d59e43a8879c76d00d60c618 GIT binary patch literal 723788 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]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ΝQ3$OwDN(yTdq695DC;HOkOLFHz}$S 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ΠRcPJEWs)e?Y{qdHDX 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Μ<%qWm9pv)s$-E!Q!1tM=mwE zkGRJu^*|on$!r>FW8;(v3@x}*jAi(}{4PZP7pHo0FQpt;HT9KTMU`PcMOFnCnq661 zs;g$ycfHthew}*&!>1EXhG&cobfbj?4VlgBLU=NxFE90Cl{Ou%tdWi1e9#Q->yLb#>)|9O8`Q=R6~XMniROToOx1ksi6a}MxD@Wpph7LS+6waB zEA30I(yKS#=Zzvg7&gOc7~`B%+5QU=kg6@XaUN}fPYPxam#3M^Q>Zo`D%)WCtXceh z_2uWa(kB1wW>Omq@SY-_THvdjrVe1-@0>3xox0LkQsQ?F4Q{$P1B0P_rP;)4*$hp+ z!yKCl{<0hsqeCt~B=vS7FFO(_WUAbGX)qa%EikDL?`wp={>(baoIlVo?Ddh(Gu$l| zzkco6g=wsrawL0<=tfizXL&Vxz4EKp+FFTu1!7+8{lynPG{~91{;s856j*lEY6a5v z`Zw6(>>Qp_>!Fa(b1o7lQ=q*(y98}v>XruP0^%g$)s19IxG+|=DQSmCMd^ILd@*Vb z@5WiR<*8^xb9m6K=GcwHCCKGC@>~EEJDTSUu?!7><8wvfak46%xRhL~>uAY?dc9Fo z6(^1xxi&h523Zsw!pyXE6&=@1!gl@9@u_a%A$Y_ss zVhu8XFAe9Ig>l2ppkda<+lHX^d{1}{`Kqn<4^Sjx_{MYVzJi#YvF;nsdb}lfIi6!1 zlj*Zr-NQ#1zPIHORVL4|RMx9s{_>ZOzxc%;|C7uI$ZcYQ3?;cbLKj;hyivnv6sQicYSL!XTvk%24+2)eUQ)CJor z4K+xPrG~IrGhvJNI8a7rOIs5v@v*&E9^mGwJW;UIa%nf<9K*Q;Cb!#Y zOosc9KKF8r;L5$gc*(0`o2aA_72U4f{BQT2*Oi`j5NF=a0If$_vwWF)&iSRMD&+{A}%M#)Z|{j`q>}+jFT9a zp{q7^Ii`?IIbBX^Q;+5Cwhq^*m&6ZP=|o-d^hs*$P^lv(NAo6Zg;SY;n6%)S&^2Me ze0BYIs)*YOL>!F^-TBXklGk@mw>T+KF1V<5*k}<#>gPvDBcQsRiec7Nd+VIPMBHEX zu9<*A3^%4(bBx5Ve^1G(zw)Kfh9a40sR+|(EX3_Kde=uG8tLA158DVaI(yIGES_4r zrxE=Q)K&XPYE&SaL*ea8U)*kdtoc{u)%bPdlCr(L;h*wqWs5I7aJY67Ab> z1yUccXlbPn6}|KE#~)eN6k(ThKp~@FQSC0%Oldwjf=vs(1~b7S3h#~pBs|Eu zy5f!Miicnyw6TWZ-e6s^U^$+A_#d#0+dsS%+tQTr`1 zXr&T>4P-9AdRduhN3JGZg_>Ol`hrh&7%QRxCHTh8uk49#1qf@n`jdX4urgk{EV zDf1|dbom{IY^2vs8*=2F6$a)vdA3{072t}n*In^ShxW909TqR28`P}VrmjK*fLQ8k zqHgqo7rEzURBu$VwabHnnmE?3-t#$M3%QHTRh}su-ZYRnCR@N;Ef^=fMK2|IwD?g3 zSD2djvjavlr@t|{Tglci#lH2;V409R&di}U?9<2>D{Hza(v^7LLSK7H=3b6@U}mj9 zv(P(R?dhcjquga_(xv3|)K?=dP4!fkLKPc(xhC@hh+!E3RS3l8uRRFXXjM6XPA#LH z0@6#sjqLB_yj)9!9dwGeNh5y>04?{%$VMH4yPTLeDV@gypXCd+bD`{=Mm9FZ1}$dC zOrs^b7hG!x@Rot-&b^HFr9b%O69XT-sg+wK^1MKWtqR1U^diW6?|z``)k|qnAjd`{ z*W&gD|1wzHUZnp{J}?U zRr&qz4fqtniks@CfFgp-8vjPpFgWJ{4AUQ;k(=kw8NPnsYV|z`$e<0X*7*dy38XO= zPp($_Ozb3`NCz;5hw-AJ(b-JQ=)@J6h%T2k7|6X=meX=2N#;KQ^%=&;NV|H7xN} z1_4xVSgMVm+-y^znak(W8b1LT8+T0Q-)9X&6yvshZ3BsM*ZkRuz>*$0#!_|Pd55cW zchz`>qGsAw%D-yYvLyp?QSdj-RgF7|8RI+-5u_9+{E7a({71V%5!#L6$VH!Q+yc4q zzy+~1?h;n@r2T5l7+pwFxZ63{y#i`X_>M+QY0KrRT>8E7i`$$BEC zWQ{=n&#aJzznbs7BkW8ksy1KZfX)_&6Jb5hd)9G&``h0+x3rIQ@Rx?UsrZX-6Yw&D zA(H}~f!=Jby6=4VAO9!+*;D_Y{pUaXPygewpUCMXD~08L9LHW+BC2zbnzU5(1iAtW z(+E#?qvkpxS%PbL0pubtMThpl{{El;xgq$?SpLS}`n&(eU;C?n_Gb;mLF0l-=fh(t zq(i-|5s1Z8PG$R-`yJhbc!*tTaR$a?(D@a*cEVEs`G4_WK4|~hfBvKY;NOEUvkY7O zhri=B-l?L+P$MZ0V^mvfU+?J$45zh{L03Wpeo|sf@S1I=4vkyWDRQandWiY?Ce7SS zjC=7wnw#!ppg$qPHdkW8qHFdBPa`Op)Q{2(w5Dsh!m4EN|FW=xim{P(2*?Q_#IL() zfY|b8d>bd3&_J=k)Fc1BPy6qzA##fv+Kd9h z8)*p9q+9y!t;Y)rQ(w*gnj&RrHjp*J*jN4P#}_E4rg~79u$>Eya5M63Q<8nY`hAnT zBJ4FLUdvDKL>iJcf$BDrsQp9Mbn1`(_>X__Cx3Dxph!r@RV9-@k;uad7+a|c z>+K`c9y<8^mNK<2OFAuVSq~;--?VR}z7_o#Q&qypo1XA&P@@g&rw|nW9+wd`OtDhz zfuVXq*=$_hM%h*ZK*eRl7l=*+D8BWa z)4P<160rLOEHxKY5ffk9xb6 znVr|Q4_5<9>)L`nksLFqa<0E8RQAp6o65pQSjRhgal^RvZ;m<#h5$ca)bg36> zVfMk_-yTA#8=?+KWyI$$F7A>@!xBpXMH6u=w=Ija!NuR8}1i4;$cNmY^d(XNtgbHcaa*)^^KlO2S0|3AM??l)O73 zr=x1*T2Bk`llWnkD#QfS<=5V3TOZBsYd8gpdfrO|o;vHq{N=VGNC^$NfsquLn17U= zpJg490Z{8Gjpl>c&kq<`W;UtOb%PNO&MH~&82*ZCA}=X)g81IY@{;%VH{Ny;bqT}5 zf*Ota%Ip7OsJPR&sTFY-m=lh?J9S-oK0cr4&uj2?osuaThLa1chmx?)QMu5)M(hFT zR5XK(;11!pC-wuMw5u~^R@pqr;>_-*iZHUDJAQaR09swd)}wlLkJ}56Ah;P;qj3FN z<9no+c}ifsM3?iH99CyhI!n$Fq-@eQp%~GM0!ps%G3-;|}qs`W$X- zrL`qlqS;0)8qwe1D)Do_oUw{Irs*|r%%mEMtO2ik`^Ii{*V^!8pUu$--K~)W zEK<9*WB@?s1&CTR5L#RF8#d^=5%#PHT!hk;Afo|EUF@k<73$s&x#bnm^Oarfm@BVJ zl`v!HB0;|T!=HPF%Vy!wuu$Lc-BVfC&uGh%>U!J^n1w0dty;|QMT9+DGyf4#`a(n% zS|Roz!tVtPIeIk_n z7)%e13BK|2d+)@YooC8e8}INpZv5R>Kl}O5KKM^&8{_) z0&x_-^1p|*iII0`sHCW!rW(p=r}t}bv*CoW^8}fuSZxd0Vq|furt`cx5wToC5|rNS z=|*=;WYD2*QCl}ehgiH?yX$=J;J7`_=tjEya5ViR^d=v&ax+W^lHPH=do?r$OgpN$ zR!{~l*Wwy&Hzcz8N%nW|Yc;iQrPgM3-tOS6O~Kx*bvU1UgXe6~+I9}@Lp6%^M~}EP zQXETe1MWEr)_UiaCLde9(iFpK(TPeiUI2Xc(MLZuex;=x)8uZ<<0tW6##>Whfu$v5 zwtm;coeln>tEiiJxQJd?Qw%ZX00p9=VzFlw)5%glELe@{?6_Gw?+YsuqrO**$cT4r3jH z_)NZ+@c!mm~L@a1*B#)6MtHe(3r+VNWUF6x?%q z_v`pP8XMCn{c8J3&)#wWeF5z)}(lFs9uUo0Oo$B&ZI;^!G z{1kYVAXe_4s?k8x^=-`6FaLqye@MVxMLwC@Pp&vo@(ebdO^UZQoIG&y&4;N-c;s$0 zdELs9|EC=fNybH;o(?N1_$|?WjbNFHa18EgP6t@YBQWnO-8$r z$%zYF-9CDpdd-mN%@tvo5)AUJ_laGxa76V?08}(@;VqDp*Ac_38}p(Tqv$4(pyZK& z@49kdPW|byL4M3*%BaX6^pr5^r$p9fW!#IQLD*wCK3d7%(1_N zfWXN_w;#Rvu{XIhlD%}Pg~f=*&nSig-gviQL&3@WI2mVkBSvt?Ci3Jzl&W}!>Bsxr z;F~u;-IxypU(bZ2tI^>gj{3KY24M?>E&1#Z${^INHMT?a{f|ECOH{x6osC)V%=OXC zga%Op7MWGSl`77q4M5)$4t4g%)*pMNU5}~Nr%D<~H@m%3V_Rz|!azi8H10vWrk+T} z3lW|^+cVd2 zZHf3&?Cb+k7=YfTak8pYl=6lY<;@G?6VFcw$dNEF{G)|MwjdZj!5BFjTIuWaucC%S z1dpezR_6kF@?PSK%UhM&LHC;TsaDzZPXmkNSq=wE893V{WQfM218t<^RN`>Ror|nV zw}crcz>ZWXP^Xj?Fp7UC(<%YaK=E-RD07~mZ&|P7gtw(r^oxZXn%55xA4nt?v|C>% zSE5xVo)r>vgP*Nf&gv_T*W<8#P{34qefC%$t#1GE%SoCxVH4StqX+w%dggCq zWlaNz`9I{El!uRJDLglHw+DX>8DeCaRP*uK; zM}=oj!wZ?YStL>|pEw)K+Qz{oJSU%`CRBM6@U`qFz$)GpNRy$5d0jL74}S7fN2N3m zdkR~cbM};>A-HV(YpNk>E^m721+^b7hNn`!UUW~pO(c4$7u8Mt^?GL%^``;4B}Iaa z(Nwl(hNyFS6P37cUVZi4*|?TI3t~p){zRLN4HTWU;p~o^aD(H zgT8YwP0<$44c^)XL_kXqcl#+`6-*)>&y)CZ!YZFc6YHP-fa2)_mP5o{$q%i>>rngp zm4~33_8SyodTgGCRY9JjDMciCJa1k&bdAEoI&RB$@#nw%<=_0<|I=R@f*<2DZB6-W zfAwGcvp@aQxAOjFnI0}vgp}3%(G1sV>F))6r32_@os$f?q{3+uH1NFQrPBZ3UtSxs z;fpT_=T49GHSk_xNp+D*;kX@DzE!0c_Z zGIU?&B3A5Y z4|<-Vz0HYRI24WX=f)76zx~Z`{@&mFdw=vtfApt+`llS)P6C3t?`R|qxjshETpQUg z9E)v=FtZLX=dNo3$jAF#vvA26`)CYHwmqljXkEmIFRlZr~*m`#tY)?5=|Rv07c|AejPO;-sj= z4f#az`T~cN`M_JW>fjAOhK66is(6 zZLCGFF3*mtT*ditqi{9D99LL;FcR?0I-w7h%+%71B@1H!n-e5F=69x$oG2zY zFXG7g*()vvEqOlI*{aNMKJ*A|E3jA%vhh|{J_bf=Ml9kqPoo=C5v6qjex`x6&^V(zl5FRg=P+(_ zryCsxOI7?tRlUW!-f|$ATwlp-`$zYXhhb6yh$lU9_qFmNOcrUDl9MF)kLLlt@LnB{ z{h`F}Dgkj08ZC8ON^B6^yh!Ho^aBjfRp~11=osF;`SwF1?{z1*yoQ@&OigN4F$e}*F<7ByYiJmbt9GR1Xodm&WBTAUlPC@y+A6->}Rq#r{AYhtg$`pI}dE` z$;`F5u`}nTML4232$zLwv@rBRmzD*OM=&GW&xQfXx-%);cT)Go6kAJR3H$R-P)5S1O6E4qN z%1;?yaqELz;~S?J{^fIBtqg`7?9nc$;78Ya9^0^_J4^8+h*^fv@WG68E`QM;ttpD? zI8Z&LeITus2tpuf%n>l2Q{Q~XfB`c)JLHTP8N~e)U{a%my;I1?MYhYJAvncuwXWND zB*hO%wXg@?;6!WYJouKs236_wMh~UaPqvu*0V4>PkP+Nmd@!#5a{5>Qm4EqP`j`Gi zM4_RiD~A4Pz*8SVt`YjnmB)nGpi|jEQTd?W z5mUKWJ7K;thBg!Z$INK`dFUKe9z?L|5lSHnAz>-MIwq!ZEh~X%C1pxx& zK0xw53_&p*MG{F-6J^H<@(LV@q+$dx0tXo^QKTfYXZBF}e1H2q|E_Ln*T2ql&faUU zd9A(AK9eiJ=r1Ek+;3r5dM039-lfrgyEIRK-)C;$Vr(>XqsvSY61Q+!&LZV~71aFM#yoF`mt$D<`@N8}G zs<}WQpG1(4>RDwkonwgI~9%xY-e!?yJ1Qt7lJ9O(brgb8f zLj|N>GPZqasfakUX?W5WJ$p6hKEDiLXg4GbSJN-Z=0B8aDhwZG=w$%zwaV|k>+3db z6tNZ40!V!G5jJ6t3lvKmBy?;35AVJH`fI#e$>d`=CRVTnhr{lt+Jl-n8djjN{qSQS zdvUk!zlkdXPOI;EV3Ttiq)8_U&?iDonsaL^BzU_+ei4$<-Ph%X_BZv`6`Qk+D{e-pN6DdEz~kywQQmn3(}JGjL(l0TuXeO9NknK8(5gb^owF4kvcAsjyAQG7k_;oU+|7u~%`kpOzz#o!h?1zv|%MAN>tE%`~KzV6DYkh@~gYvm@Tv9cRbq)j$Ev zKnCX7XD=zHoMR2`)I#29K@ZF?!Lb1sifTd{#QBQ{elfO}i+Y&S`^}VL*`7@%oc?bW z7yn5ZApH5p5z2P;8tkq%I8=Ytr3E-yts!kbllv0c5pLP7oi=kSupchJ{*|vI+Qg~6Vr32myZ@bC`* z=#T#BFW!hUx*yn_iTHp1pZ$YY#Ibsp1#VE`T8d!m%~Ck%Y1@+0ZB7ErKipy?N#1v% zOZ;j=0hy9IKm|4@NuB;!v8qtcnYt;rl3Qq?U0wZ zrOn0yURb5VQZRG@dGnc>zFC%G(k1e8Yh@~*BvFC@*B3a`i#y|PVPw+p}O$eb^sp#m)eAF4X z@H;2j(2^8pJ5-U&;uf<_-E!|jF(gWY5M120x2auO;~L#t$>XZR;* zmp6uw)Tz~Bv&P;3+GIMp;*{qOcNA2P_n!P+DBXDoPBe|7NrAcprZ{@aIacUK(YmyV zH5TkFYm`(oJ#))jUA&-h8o~UqrDuADaCD^9OMI;e4eMzYB;k}*o_+QO*yym+w(frK z{3J5#!8DR@GL3QCwx;2T-J{V=h^b*}+NuvTIpob$u_!&LYMB?%MrR{nik4>TVhs{? z$(K{$bI=fXfY{PSw+Gcj>wRB$vA{dWD?k!0cJGN~TTYwO#v8QSFtZ(viJ!Y>;BY0w zO*4)WDYUQ9C=9u#ZgFpWOLp)m^}Q`LcEu%dv}&Ry4^B!HU`&ZH=3(GimjQ&|tu*Tz zPFcn2P#;YcP<~awS~r#0dB0bA?|IQ z58ktc@pjkl-g@JOkG_zhJ70pZtjH5oaM;zP7lg_iii30Cr-#y)?Ny`~|0`EM%z}H7 zC;^R~qGpMu^%l%4Ddhbd8fC&JNg+D23|ncYz;CcT!r~$tY+Oba9oKwFjUI7Q>8y{A zC_>0lW}i42=IY02+k{$%uhKA694*9-)ZtTea-C#mup^XQsz!D*B*`b;v#|>T&_M!T zF9y={c$ep1u|SbWd74j-f=U^Dy2W?qT~T?IsX4(hIZpZkw8ENx>$q;3$QkXb64e<6 ze28*~md4ER;tXRCT#D6~_H5NzU0!-gafhEf4H*U05M(Z~fo$TE9(>M$cw!uB^DG^n$WvVj;_?; z0egebOqf&;#z--BUHKEFJ97@hiJc2k&QYC?$7s-GL15U}1mPT(Jq{tg><}J-qk=O2 zWzU2D1KVHum0#84i(mW#%|>?Jr_&vxSLdrggaI6M(FhgiH$CX#iap-oq;4Z%i6pmL z(f{~{qdXytRuRIPi#VE0!T-@O{r9rO>1F%UOP~Gy-~Z;_;m`lwzx^A(`P=6Zm?d-f zi0}1>L zd=NI~Ez|U7noZ8kMEQN|<*fonCsI(4vtpw;HX`pm^VBo$U)FL)%9%V51}~eu`&5s- z9Opvi3=()!c)-~SxU|In#mt?62mYV;!(mX&+B642Wec~2A z1v2K;7pvwHodoO_3lCSMh!rvBS13BQm7w43Riq7~DvxqHM*G~HnC&(bDc+jOoCJzG zRUC>vk(NDOeNx9m zgikPR!RB;6Fo!7^!MT!SkYynS3380t&W_Ml`R2P#8C7asx@=|9Auk%kh>+@j&a|O! z8k*IzyXg^2<$ebVt6JJSeAROz0oZO7RgWb01oMgO)5F$F%%C$GIER9r94LrHn4PZg?f`Y2MKty% zmJ`dT&a3RLKN7`Zk*nKseaU9Ls;3KrLTePkr5nc0>Eqb^z2pFCd}=yE;75(kBr4-Q z_w2KO(%mDS*8yuKc9-VFh|lur?R)`yn)0V!``QOw$4gpm$6TKiSq;iC`KfG>?z@0T z>h42G<0~^t#|xM)@~|m(<9Ix7h_fGN|ASAK+GSO5*U1gudegn@k%L;Adh@OCe)oH3 zO;115vpyy$(9)%ufo?ziVOi`#!o!rX?Wc^GbJEbc9%%H4k?fwPGE+hBoClxHdo%%% zJk9xDedkq#PGs3hv7Kj9%jHhUKoY(o4W`{B>b%0!V4ypf=(U(b6}_4}cTH_9@6fd1 z2n9wvAdP1Q2Y!(SWx+d2CJ(4!hNF3}&k=QER1J)IRL+{E0zqRHTuo-f-Ol%>11#OS zYnP{vapxf2O1l%XBTmx-B=D?bGWb7{GvbNsiK7Mn**18Q!Zg@Ml?b!7aq8{8)PGY{ z>UBrNZB6HIaBY-7)7lI8wQ%N7AfSp zl}iGkx569O*qn92VLtGN)2CFt+c~t-=b!(%XKgWwTuj30f}DN9Yw1atIAH)LWer=> z*{4HvC{kYwbDnMctAF*c?q)wM1p@;IATr=#t}@C^Z&Kp~CsFl>lkLU-{~9+|~Wc|M;t1=!>8KJmh6Ik=tMrtwR^& zu&+n;9WTAB?pHV~_D&KwR*)8&2-NBHCJhkS)9qFGTPM9>-~FRM{?0%CC%^LK6#V6v zKKCF0!p}cB3pXi;?#YRGuP`yS{rsOm@-+a>={-RW^V1_nz_w+VDt zQJdeVhf2D@q+XmZljf0Y8Os!$!dzAl(_G^Z|?t{F$et5b=$8xfDAM{j<~jWl!HC+|GLo({VOoQE{6 zYJhDNVJYv5j9vH*%JhNxDyGcyg0enz5aTK8Hc@q ztQ7ak4}Rc7R$0z%&0a7pBf6N-z4{XaLvsL~mP(6_hWX*2WQ8%)bbmu7Bl3u; z3j#OQ#lM2r?dvX7k#fy24TNTQQ5)D0?M!F47i1_LD|@yNBz?@u zL+Jm}517M`AOpG~CvqmE4Ds<#d?K8^*j=Hj^bgZ3ue{2Rj$>f2vY`Z)lEIujcvWBA zW-01}KTaH^4D-)2d9!jhrWyF-M9dbVCqFSz1;RX{f=z|!p?bef?SR) zATz;HZo?CEKk#1pz5=7n+ml@GrHwJuJq&hG6kk?VI~QruB%Kn_);@rkVNP#T$>m9@ zM_JZsee5kAaWgqFr|!1KoaAV}ajjb&dQw3p25_#1IHkYo0{g*qQFCKc&#Yz{3bS=$ z`H`oedFxFVY^VRaNt;a8xdcpyC+tCfwq6-Sdma^oc4bT8=+=o0`dnTI|B&dKCuqVW z2`Li42RRHVssy=|m9rhApD7mrZbPf7rEs`rv@ux*D`D(YlvZoRR$^ zpS(%Rg8uQ3zbGWt6nM8hKuT7=v9Ws&C(TW$Bb_s)=09RZ zS1gec7R;b~1U&AYhr>8;#=ip3UHSayU$*~&iTJPls@(JW&%cD7!hb8OaIT|Y<&M#W zjhjjkyh7Mcv5ndXFnB=ecwqeG=3Q{6e8-7j7k>7~-}&$q+=ScNLXb}sLYbOF{PibS z#CwnUKWIh#4mKwCZ>%T(Rx6NWZIX_;Nd$k4#tR-BWn{LA*CACDY7M)oVCArcZCz5u z{d?c~_8DaUnW@mDH z7hzT?YfhFZVjG7pk%K%dSekOUAr9xwHo4!DZsOf;_M%E(6es??^NhIZozP1w&Eq-Y zk#|Jf9GsBb-_|Ca>Z7*U*j@lKmhG-Kbc0PZ!UXKJ8=nsOTzW69T#2Zxyq!N{tH#UUtZh0v%B4g}jm8 znc9Ucjj>E%DPyztF zi84EQ*F5|U%nteNblVg^2Ntta09Zh$zsO@mubgC_k*&F(HU5qGxv#v8A>{(SgP1G!;0ab9uJC{yjU<@end0-S97 z(w-Uavf-w!&e(hHDZvbediyg-=ZaP+mQ3eo;i4rn^?QBQB8vh8n`yA(^wUFHkGt)` zn>@gqCIYIZ#CR;1JK1B^sXHX+f9!6MCIvDoO(gsrU(MVP9=g*Ea&OPWf9KV;HQwo2EI^Nz?-I!$m(>Q>;Vi+&Z-=VC+K{CqJzwD6sC%ruV+%pW(QqJ`i@uQIDxKoh06+jqL_t(=kI=wu&b1D1 z?7hkF89jJI7D(`{Y&#NJ4f7(XC8&oFy>`l*cDWWdfMlt$vHTFXNudUXv+-7@N6n?) zeDn45i0p(d#uY$B+%`TZBjwhW{@@szA|pEIaIet?1 z5&yMc{|cgC`26R=gleaDhyN(9Hkx+h`YJUY|9E`wTuEa`HQW;DVGOdfP~cFLEEzv2 z@S(JQ@BjXP{@-8z$Nz(A(hcjqmp=E|zyJ4s?nAV+9_haD@=Fx>TfhCg2VO_FrZf@n z9`W(6!S8%y28jJz>ADlTP|+!v)8(#}hKZQ~{%IQ?t&50BMEvPvUGD$IDfr*{*}wIv zpZFVAc5XQP<*qR_dPVv?KRq5EFtglvx-jEK!JY)PWt*#M-p-L)uz9;DD;5z=Fko%Q zMXTB@h3If7Emf7Qj{3Ges_g5&{!X;>Y|qX3_$nk6q`)wSb1bvEaezuQ9c+YO5Nw3N z1V6)7D$BXMK7_-?WJnI_8^R;_`&+8+rL-dl738FFc&N~v?uP;7i8roVkT@_5a_r6V zbh0l{!*=_uec%4-?;_r4qi(P8aV&WqOn8Iyk z`<*i()Eo{d*}FOZS%g7_5u}a%F3)DZQ&;7jF5S>tLvmC@e6~}v%~kH-H=9PMX$zC> zs@H^Vc5do}4~w!;Kr*LE)g1fiJPO5OX#yclQM%zK_hDbf5i?8n6n}Y8*DZCpg)uXj zW2nEmYv2nmP*5h_WNb&1m{DI)Eync1--K%NiX$qCvygCj+f+0@V@^Opqy`( zBe*R{6A*#cFu65Is&nhd+nxG(!KgFCyrnZ$??3ri1LX_PzhGO9EY$tVeGT#Lx4n+7 zyF2g@I|^^liMo}uTE4-27@ZIGF_gUtfmFNw>BMzwy|BWAW195R3_V|awI?j$AvI=T zBZ=-MuIZ8VxxsvrK6R(CbmCs~2amLv?UBn!e`IH|(-&9iYyZ>DJ{yT8$PviYsWhiL zxgx|lQ;Tz0C6=#m*{%!jy2O#`$$l>4g<)Z9;w}Mpvs|x2n#sg_gm8j|nY|2v0?Ggg zg6CPB3C{g3&ArHJ>;&e-1pLfuVZtlhyI8D-IjG$(5ddM;gNRSPS6t+fd1L-cpMb%b zfM=-UPU+V_3@9hcNW|hOx>=u3qB;@XC)$&9z&Iz{o^>$0Qb{U+q!e;j@^AumQ~1LN zKGwsLEVLhc&A51O3_6jLP11bs7)6SoT`avgyu}x&3f^L=9=SoVje9QtQTQ4mn!>w3`+q!{Nv-afmoQUVRSF}Dl;fT*&sqE{6L*S zrztxh8#Ba2>NtR3ogBB>9q&wh2tk6S*d5Dp7a>vE1In7RMxfKYW*29ihXA&1KAk$B z+UGU8X{ThhN7BI$C-lb@VZdk5j2q+eoF`wG4yM43CLoK!QkF8NRTYe4@M%`yNSr;V zy*+%1ni`&aq;^>2jB;v@W2lFzz}=%MWW!~%qGnlmoAyDhK%?TsEFSo6sruCT6a!M&IYEpcQwyQda`}&)b4+KJN(wSzx_KOyb;9|9B;H9 z@+S(fh=&vP+FF$!mc!B#0*?bT#Bmib7Y3?oQmPQcdLn+WN%nUs8SKLpHo*n7b2heR~?oy40QiZwbAe0zfEY!;m>uEW(P|=%QuE zp46Lvzw2;ftRsLUk*xw49)D%6h>Tl;nNz=)7Tx_A;(NS*dOUb`I+SES}x1vE{GfkY{wNUk%F+fJi;?a+}^@I?E}p;VW^k3Br9KbG$Ysj zb{03_mgMn)TX+(?T$6^?$dXXbm1?;wb&sHz67)hhltGdKGKY%cPo$YQ z*arrcrsKdmsx(nR&P2?YZ2*`8f+2-UJEWAs$3=_8I)XW&6|$Ak`rjtL>LzBV2(%3K zH^`j@?VflclM*&gMCBm3;NYFVbf>b&>jDH3w^AF)pwmyo#K^Ia!=yuBTRYpG$m1u4 zq~E3je8GOh>PcGx?^MKux_yPQ{j&mu6IMG!6Y4lXmZa3yrXfAdk5-pr4KPShL(aM9 zp-tB6kZI#NM_BGN-oN|K8?V0lnxT%`wf|TjeQ1?8y6-fJRF8zOhkW7_pK$6ZJDHT2 zpN)eCX1ozbAp*20x=qIVtOfV1oG#03BpwH?VPlR44CkgD?!ExvB@CoMsEpOv&=Met z&g}D8ALh5-?&dco#DM!kpt|Yw8uta~!>SNJ$c*EqcxQ;xr!S8+toptb#=$ zovPTo4vPg2!LTX_LO=Y@emtecZr@=U3}Y;A%k4a;v;+PI*@cC5i7sXo`q%4VvvWx5 zZ?;E6xdhu-lBU)79`9+unBD}d?+```8-BaBpodu@b2N%VAjbXIeC{MXs&Z`Fx^%2kA=fzSf}ZInE}Q1L zYv@Y#fq@0a9Ck2W

_j4v`~%ECK8abMqAh4H2^hj%68?ykkpzx)#XU-|0S z?wWq}*S^A%pMU9dYDlG3$ft<$n4+g_hwFmz8aT#luf7VpMYl1aSpz^C3MxDTtXb|yT_ou%3t#AF#H~#64uFc>6TVL+< zK&w9Iyz|x!KAel4QLaJFN<8r0u=?Li%<|MFD^G%_G5#c4rjkVi%z=&{${C5+fLubjaNjU@IEu$wsc0XKJ{Z<` z9CNWcrpA-(Szed*8wiy7I$Sa~+XvF)PN_MAmlWDv8 z5T1ljbA`nK*`bTxDMjK&kx+%q_@oP(@)FDxI_~tCaGjaQCH7d4Z<;F%M8a(yF`iA} zB(?%US3Z9LT6)3L+$OC01LB;Bf-_-+bFCVp*-x=k7k~It=sqbsPZYXS|uV7%lr@d3D6p;RxJ;sj#NJmn0Hy#q(*0;__cDqWi6&g3f z^~RDHo_~J#oS1ld*+e%0N-C((R7Ue#)MGe{1_6U@ zGmJ&0@Z|!O{!Z`OPH&0&{#A(e>8uP)k8*~pbB8ij7E?;V5mhg!RFue$ZPuPbjT2Gb4DXy-$dE=o4q0zI|a)#y*Q9@Cm z$btCA+40tBb49$l>*s{j#64gc=R{d4WrLS(mfoaoK2@A51=mUksWc6ORbT6Mbon8{ z-Dw8R_?hkAefN#my?eLh!|?#nvtM&*;x_UYv-rH}qf;Tyi_0i@*vc%+tvqgIQ zknhAJm4XKY_`qwzDiTqKp5*&I^xl@rZxVYi5E}@M#xkVf|Ny68)kXN=k z{6{NRE4f1Eyec$(^IPBk&=mYKT>Wf} z0ff1|GXfv9G1qZebNvKf3q|&kbHT+*fu$^hnLw;}F#I@;^&fg&G9p=25l0p2fyKj2 zNS()lkQQx|Mk|WP`nYZCagsH(hZUMyZ*#rQfMtw$Oi%Ie%>B9NpF8iYMfaf7e3K5Hj*bqx0|2^4}_p~9UGw3VJt=+*wVMrbl`{IQf&>i zE^9kOJMWo*^bA+S2Fb)d76*Kp01KKZ4Lj+x65{~IhQs4_XD5o+*f0;!7sK-S33Wh? zDw}mpko2Ll{niOm6RGooww?IJcx#P@b2Gx821?ItQGlcy2#@B2LvOLGW4lwkHRbi*8t-=lMJFj=wafsNZ# z;52iGl$rl?d_v`KgD?1{oePCe?~!ggfLFD znuY5-Yg~>&MpPhIKLwkJq|kJckJJ|zruU*xz?@4)0CJHBdvM~Zr#xODgx~e9058e8 z*W1$}6iVq9s_-`3KI5D_Fc1*F=Rwu9I+aE-dX_+wsuba;VK}cq&4yWJyUnQ{T6%Pv z@ySno;!Xr$%)K#G`h5$D+;YNT0B-gtl;O)wX*}L|8-J*9V~}}BddPvN0bLY6RN~;b zXrE6A_i~$Oteyq8LWep6c62m1WYm;YIFH1b+w^F7x4|v@QHQjWJp6K6~)wnArw8QO3b?>B)Y2cIMVea)D^&pP0#X31CeFr8462dT$LbmK4lHX{ zMrAazuS5N;qmlP=5;ZW0Mm0v>?dNOu757vR|CuDb?RLb8v$Ls`Mhe|=bqF0@MFK6| z$#Qs@0#n3IeASi1-gZiK#&H=-cRB}*Py3enOzydvEmJ@X$#DiSibGcyUD`U5OWk1L zH1wHtT2GnikvqldM3ejOO=?89BJTIehc$ogD_^Bh^^n6EmkBuwZQrJWh}2wei#TrQ zVeYb4Z4G&cvG@Z!9ii2kVzxRjCH(Lz_E|K3sE;gfnk#Cf=v6%31Zc*^HrdI|ck z|JM7jFZ|_y{7-)IAO5F((1(+N*=iRRF)9UGSh1BxGC2z-&gfiTQ_5NCc*1wozMn*C z|C??^`Nr?na4SFecYgLKe&TOnek<1*`iOaJ?+C>x4NE^m<%a?J+ts0TcHH%@Ydcz# zwu_T7g+TMH`@JWFv0+8J#SPvO@w3Pgu?XqtrzODUhmu!gYL52N7d!}(RK{cD!JBWc zyGU>_H_B1YJ*J^j3c{Q|K0362S|o@$r5F}VL_HZO!Ij_^6}Bzq?6!3pX-p`*fj5cw zH%Q02#2B0~g}D=Sj@`8IdcPHjnZ(xMs_E|V2yVLwl$BtLpUfTBhNZFHSfQ5!lv3Bx z?wPTHa`Is+S~yLY30xL$wdT5&d>C8KnUl2!j1wFaa((LRoL@(foR8h0a+RotC&~ai zrrX2E4y+24ubBfus%?PfEz=Bv{23n|@`OAj>yYN|nq5kq79z)Knhn!nQ@tZ^-_bcr zS+q?-DLuu2JX5Hi{XfKJ#N6i^Y+y&>_~m7 z5i6y<6d;*krV(deLFz7K51vr01g*wp@NAKa>P}{Jlx{_Eh*mlvMUhpcsO-6H&m^^4 zz(Bp30y?Q+Zj(|8(N=fA1hh!sV^5|2t%5_7-qT!w6kQ0Qg7@BpxX#S#N-acmsfIV ze;R_p%GM*N{iOAeY|@3xlF%C79y~HP?F|eV!k7~txd)@R&psD6i0H{z?f^V?rk_aJ zH!n=X8N%%L{@#ME?s&M$Gt$#Ac%lL3a(=^uhsOr;?n8Al``Uer=7Ff-bDMxmIKPQ##bmoq^o3Qq$C7%KPo+h@y5 zk0>qPf=LL{Eq%ek(0Q=ieyZR3M2q%mf2yfAJ%ksiNcYS(_R4PqJ6=B~Jq+6OvO3ba z9I`t*a$WkEd=sSPp1E%nu#LaWfMBYg>1U!;3cnZqJ6Utx-=&ft`H>&>P$!PO*_Com zFU(N}ghfR<+I?}o=c*MShdoii`#0a>e$T(~yc0qkAe?Fv5li%4F;X3efL!6jlpeo3 z1nKuE=Lp4ACPwJfh@nI?moP*K(69|QlXs6CidjCpuc$eHu!A>-s}^hTyz`oILBaJ1 zhJ}{mH*OOgyaPdmLpv}WBpG*7FACxo2B*Yh`{G>P{?wh)D(``DJk!J~v<_iYH&?}N zgoM`zyI)jJU*|~fEipIMk+6y%ICJUT3~*7_QrB*%fa=IHK;9xbG=Ps0oO`M@r_u!; z`NVU&;yR;`HF#6YHzp$tD;AK13IR4G~tS4M2Y{W5Dld5`$7e&wqK`}9x#1pBo%3)|cw zZ_YppE1bPJf;D#UjIfS5o1;VBMwHC zwvYe7D)@)*1^@C(FMZCdc8)I*JXoEdD5+{G@`<_zRA9Iea_KY+&M8Z$T>w8S1yfEV zg;_xg2!|L1>%mQlC3YuWa@JLY#P}6}Pi;CEqA|SM1=g!w#4SurUS2btIy4hxY1Y9^9x}=;{?~ALQ*KQwUsf z81SNTjtpp^8HJ;>q{O9B4IcMfH@@_w8cuYKJI9v{@isRt?7O{H6F$l6im(yL zJ)|yYlQFT)`QOPbC8 z@q-VDhVtGMYbTgtt0v<}M6MxZwBz$C5Ux1n0l=sSvR-v(;Nj1kaor~@X(vQ| z51)+;5b~oF3$eLKxOs2X0P*3amS$ZX0C|FtFt((pz;sUR8qAtalEC3XG>&asf(MS%J^ zC*RU6DxS%aOBYfE>NF$x@T9k82D+gtpJa0jHO9LpQ+`JVD{g0MMBoQHwvw@7VdntT z#z8g%rQ*1WOI~H|JU1pF!|)E$LYKC+P7tBS`5r#qyyx(x6;1cwcjD?(we`&8{!$zZ zj=~(W9FE8BF#NCuwqA(UKTE_A2}O2P~BmqPbBxm$94f@P`nnJ(%Vt)vUk> zhBi=YXE(7Ju!O9O-LHS-b=OkBT(E4kd0a|6s+?Olv)TL)SQ;zyAokcT2r`W1(`jlC z1jd2Z$A>5 z$d0YoYBQ$~?g@YcsS@Yn(y0-mPC00s6l3+k zuhaOqA>H9kFUe$p2b{*7AVmak>i0-n32HX$8aUGdkTY1OB#;hE6goh$33r2+S6iHL zs3~>C07%9f@=L&RRGhYO64_x=anFeR&gN!yJcY|z4oAYZeN3Ee;$cnw_NJ5z%>LUy z_jmvLU;p=aW4FqDB}El0f^uNC+tF|&&#p5J*f^1raFMeebxeRQv_tsS-3jxVPk-v~ z{oLP~>5?gp^k-+k7dy9~p_R&FMBP&1=RRv9e*bG<|1A}N`)9vwPLEjJ3M=I2)noG< zHEqQsUmmlQq0|z}I@-Z**K%9`u!D~y)VIF%haZ}PfB8#4{h96sANmcWLOZeR^??HO z@qVZn3VS$nQ7Y$;WQE+bViirA{r2ucS-QnAXNZsj8&`44qXacPX9YxrJMW3`;eaC( z{$zZ}^`tmSL`f-4k2)xLm(iZxotkgF{+gUkQ8 zCAnnZ?pKR}B0o+NW>dp6KRda=jcWSNkvD66UpvLynC+Krx*xslVs3-|iLH55a{vpl zkDoTdji??iq~T;UqN9m0OmS3@E?w*0*PBi?wskBLQ(ZLmvN8VAv4cs`kPoby(pmne z2x!gfA&EV?HM{hWvB}$R14e0&IZPuChj4{gb1Vim!xu$^->n_m+!gnxyW#tu0=^-a z!rIrjYakWySS?L-!rkl7E{-AXVi(xz7}{BW?9nJKv7-;S>7MN$WQ--d(8(g3Q)$%* zdWkVJbq!-S?P`2|d)(8Ga$LeBf*?>K7phtsFDXje<$hD4mWHJMH8YMmRlt;bRQj63 z5ae08Xv%os_oP&JB{h$24#efq7kY(+lRV%#_9it{sw|-1X7@R1N{+@vBdqekX11F_RSl3?|C3Za40rhnrqCEQsD50Fy`8INqd zPX(0Ite}vxeO&A+IS4t`-uyh?#BV(GC|EWx=Y+vujB_;`>TLC>^>1d5q8>5cf+t$Q z1{u0YZzu|D%_ZebzCvmYtlyZoEYbkOp|4lnVG2D9dH)f)tmDG#Q>wzsasW^ea?dubw$E0Opo7gRl@jZ`NwTaGxEtpz5naM^HM># z!5prKJnux~l(Wn0tmjFRD$6J3q`tfelHpHLDM>Zlob27B8tIlhwf?NK{4man*Is6D zY{a|egV5%c#B2(#3IDb_GMUx?^xHWuI20V9Gy!xBO+G5|YPClKJMbA~uP`w+IT@~(t>FGx7+ z$}9o{%BTQ7I?O>(qlLCBHwBms)LUw8n{(}&nu@PiSpi+OQF@yaVJe4*opKEUyn6W(HFn)vhe&@ z|LXtz@|S+8H_+4eJyJ**OyA6zoc8 zNbkz~veCum*cuUKAD=ERoHy{PJb~j^ke-Y;c^Wuyn>xAsiL5C|PB(?YcGHeS5k&bS zo{-B|kZH}uEbU<{#}uS$VUvLr1LjPagQ}2wB}d_{E2<|oFeAUj8D0@;=DGQn=CM_@ zr`S$rrtqP*4-5~1t(;g=sRpCE7@u5<1b+BW2lIZ%4Cd&qd)`myG34?itx0BuY@V&_ zQ;*81v;cnr9~bk+a@?(`DIRvu_X4S8N3QbX=2dbiC5C30F_Uf@oCL&s> z;1^C5YMZboGi<>m0XJjYv@AYD3Pxq17xOU}dCF`&&67+W2-7*@2w>U1zS2Ez=f2Y$ z_NOh_nuPBLIFni79icRtAbInMrKPSIz|jYG$Yn}OX=q8BXHtfso(6&z`_?->k6TE> zI9%=C&}z*Y(1Es7piTzt93}GL5sx7hr}ngavBWVp;UFR@Fk%z|=9{1>l(?rcO?^Sn zjPP-E`KmFh%l&k}WXXSd%+RlAaB%Nv+M}X8d6;f)*4dX{!Gl5PP?~=XkcQHe^uP@+ zRa_>DA>jVVI@P9sIxKZ)tAC@GqzoU%5VgHDzez@HsA}HR1Og>^@Z*n}_IAQvZHvUi z`#o^hgx|&S6!2WPitHXov~U5{Iu`I~d+HPF!yci|#7h!e)J&5Yuhe&;d2VYi)Ao$+ z5(WR1RaALzqWK)inYFn)+1_`*4c^5`FPV0k@D0{Rk>2ump2}A-HK$!-Xet(XPSWFI z&cMUj%%E`{TgOEK5x?ZzSmxYS$}vl8lwz_}o!!RCymTrrjqI-`e~Rr9b^8wLcwA*j z7EAPSpzEa!+pRZs49VIIJByBQp7H$_W)2U`Hhi%0$H$PJQ)a zJFE&iDMh7Q(hfocxj@Et=37z-atRYoJNOnuP}xsJ|4QLq#9&h%NNP?(7-Gww&J?+l zq(MJiTZ$dFDCQNhhQGcyBj~u>((IdT^oC z-mJ^*tW;#p%IbJs_!R)a^v2z^&Np3LSac1#6*>_M$_R!V?FU+A&k4afAS~(hL^++Xl6(uHP!!v zmKxofE&xAh!9UCt^_fq9`V4{*yfk9qK0IXQI4PN5%@70ycqt+G*o-oAPi#g%J~l~B#^nk|JQyOR^pm+cmSynn z2ZA?QahFC8Jk|OKSA;Tn%I>D>poavWI(VbgUV)h~;b@iyhJ(ssDo+Qa7cf0qm}(>| z<7iT2+5yps#rg!RNngEB0I0MBdC{=Bbvz6;&JWDt3JVl#UlAKRj^CtGbM{Xq(uV;% ziu-1XGwKP5Z*yJn6rPcu>i+3ea~6+#onqYTXy-Ecz&rO!7C&qG;NG+ zhu5GYjj0i~2j&3d0TN=IN)*j*7&lM3-C%H|lJu8yKV|CKR33HXwrU?!} zEtbTHr5D!GipiY1E4)r|VbBXBn#2q!ylpMKC9a`8n>seVO+zb)Z;}ufxmtclC?aUC zu1McG-f@vR`BoKoQ(8;QrhfIQTSZ4i%n09gig3oxYBAh*rl|HnBx>DYEU@!Ro!?#HPIZ{O;Nq(*;f)R38UjX9rU(dMYOl`J?c&+ zS5(Rj+)!Nms47WaiaGv_Tk!04dOiRAbA~(*y3J#|Me6X`n%M1jXIfo!)JP=we8YfH zQ7n$Gv)SV&2FcvR`|@3N-lW<6>u@^B{6VrL&{UF6iq#%R;c?QD3RthJ*$#+I3LVHO zRjLWI9QYBRk?Pr@wf3}wj+)@PsTwSM6|B1Ba9cV#hCl{DE@wOYcKD%k`U=U_>j3v* zQ3cF72JZ0xWQG9}T)qdyeqaal>PNV?-04_v2R^RBLwbQoi{Fz;v zpsz551Ol?;enzWQ?IpY1Td_VQ%ttr3ryWhb7 z7r*d@h4-bjOO5@Equsm*iPL5YOKlE!c+0yT^pmansn`iuHaa{X%>-~@K0s+*7UAo) zZtYDFvQXU-Y6OM=-gq0C9Qt4#>CDaQo4ROcivy?gdTED~IKVWy7yK`of`7UxxB@R2 zhR}zYOkmN>_tnPowK~m;RmXPH&rq{I7kk+fv!y~_hOc@zQF^vFuni}LiMsxrEa}TL)K_v?qx3Cs~rR~kIH(z>kQlc>d`WX*nVHoBlNjTdaR*|3}vap42-gG0gM>}sZ z)gwx>Y@7qwUH;s9tc{IXeRL968P$jPpU%3c=0n>BW>zVsu58s~rp62v;4E9WN=!&Y z6w6TvEoE4={Y$E=i+v=HIQB~rgB;ZV0(KWlZNYA{qCG+q(4G`!Lh9 zCj1&kL$cEW@4^WCjH{a4^D&WY{OVz!B(P|-oC z<(!+~!rLc^3VF^xOCguJ@4HOw^CI3i;^?e51e0cW&#~eDU|amLONr>HI^W~G?pUvT zGO9N@Q|!;}8*WKBc)rI&%rl;bL9|b$wk1G5OuzzaYKMWOuBtB}TAF5JI(Idb-u>tL8Y}l1ZO-X*<9HforeqwJNshwj5089_c6o1B(5C-#m&taH zaldbcFnKw-#wCrNz|22YTtzt8o1_oK3!FsoAA87=>7<~P+HHrBR$Cl2lQ>9L6Ov-n zuc;RROxWtcByeJacR~j$o)~Zo&o@SLY;n3s=LYDER62hA!#Ce@ZR*93y@;`Cy`^1Z zxfT&sbg;C!m+0lrknE~eqmMuD_BXh|;Dz)*{%`*^QXHZuf!IGu=|m{bhBE$j29s&K zin38)qb$xG(!|l8Exp-tY&vwWZSLJSQy;$a`VTw-^4c@6nV=h(80z?#?iT4k`q38= z)#U`FO63@n+FyUe>+{Kyu3)o|>b@@YR@Wp0Yy{zw?uOZjx%s-J8n{CAbOC4P%i;UX zkbeBo@;sLKKf8u}r#hpbMjd$yWP@jQ(?I6t&LYCjT#1@xZsB= zrIAahd1A_o_0x6z=MAyU8RYTpvF5@%m!IU)U!>-QsL%+{yC#_L~1D;of@m=im46{khFrFWoUF znArEV*It(pM7?!%z|_f=oPNV#y%Ak@kwEOIIR&4j%kN4yV$lm*-{kzm)>++kw^*gA4p?YCl zj}H|ToW9|q=CwCukS&Awsifr{-YP&Rd$UhXVvR-?&kc|3rB5SEK8END!Z82emvg_t~ywP@ucq@I z`;IQ;N64caN1Aa#*i6vUSEmqxRLT2o7y#Qn7ppDR66+jWu{3^qt0>HMR)QbhW)}JHweuK?o z4+T=#IZSz}I+8l7V{s7=O$Pwa{m66PGtchE*P{@Gl!AqICh=$gkMLkaakq1wsPK2XsBse6-?97MJhm>05QP$Xqv^y^*zzJ+IOJdrpo8Kx>D3aVMgPxmia%P@n^aegviuTXso-&pdp%&zIQtT83#l(T+n-GMjwOWtMPW zLiRaHGuHz!C+P_UhbFT0cIsgR^MfCJ-+aps{F}R5Z+gen85p0rh(37gx#ymBI}wlL zI|7AFG>Q|W9Tm`&74#j-7JhR)NdT{zImd|i!#V0+%3zyCsZo9Vl9He zIW`)5!;F-}GdoE2y-o*jCfBaq$!({oh4;D=irc0Z|B%`lk>^)Udn2W;*8ls&1Re2@6ofAhB)>wM@Z==BRUr|bT! z5sZg}aJdH*FK4^sG<FBOp$D;`C9peDFch63R!a=&- z{skI|5Qa(9m~6{yhvnM(DWbaE)O-oDKm5ag`A`3+|GE8J`O?q))Tcl7ld&lKR(Y5z zeIO#$Fh3NO{9pf9|E1jJ!WZlCk`$JLQ&;=|24Pa0{9o&jOut=0LQI;@)n~SKI&n*P$)r~mszV~X&CvO6N z@9~S684ft%-p#2EMP#gE%)h(aOOuP^-f8njHqGIvLwnaIwZe9TIW4-9DxI&M=9)AB z1AF=%oeTzsSTZUD<^oXE9i`FQ`Ai5YHd7X~88R7keM^RCI%j`B>_B zX9#2;!TKnf%NoFjoS9E@f8fbe2}vI^#9>_LG~qa?+RgRV(H=Y6HPQ0=6l%x$Y{y0u(=mmUxEC$+ha7V9rP(ZZy6Kqk$Ndsy&KpSbg`t}GJ{{6bU`IA}xdLvDQrXVd7Ujkh$vbDP<)ffiY4k?2nI zz;w+6g}fAWW?E^aFUTyuikqg4ET(T3w3OePS%*;3ky#f-$-+cqh*E*)N#1g|KMl|l4#OS-76r0hb-h%L@ zTQD$?mGm-AD8s;&i(f!IYvpMSQ=E@)pWTA10-GF-nfbi<mC#(yE)}E}SKJ~7NY-@y8!DXi{M0NKFH_l8m z6whJEPOS?ane_-u^JwMXP#y6>;xqfNvr2+9_>o9!!8bk5iRK}xMqQ4w8TS3|oqF@F zhc7f8M~+HqW7)6HsKdskQI{A=P4@s4;5ow_&o+0goZ08JSc2uZ{t6cR&57a%#~eY_ zUM~OvKv$FW`1zUQ7YpDOJ9yhJueM{`2)p{SD<&~>_)$qkwhm)+{K6E9#=dw{Ic&9U z=Y2xSR!Mw3Z_1PiMDtodYdVk*PgXO7WoTz;$1_nF7f~MXI>H|b)G@h}uEJ2IOu%2W zUW3SNf6+}*c8?vYUH5e<`V5P*s0x)c4cVJ<;o+56UgwJMzWeOSCnzeKl!V?NHI$ei zb<=GAGu~Qd6``PUT9?ynDp=nyeBosb{O0Xd+z_5gc^|C|`l8bQF0*{(anB`Bc6C=t z5esx|S9Q9jn+kZG)n(2)O%%U(tvA3^ac#qSt4NkI_axkoePZ6Yt19^Bc)1n^J*wSL zg)8UTB16qVnV&Qgwf&d>^8fhI6#T4$54jHhoqnZ^!<2Juh>kxT^T|cB74;7!suwAA zRjn&6I8Y$bJ)|+4Kj^MP>|i#lcj7co16MY(CvL1T=V4>W5<~ZfC<4m=Oz@FMuC9kS zZylZs8((gO==_YPTv>%Kc4D`E_B&}|^NhM`8uIsC0lc!|uGefljuB-<+J(V(@F(nZ zK0$54zIyVFw6jpgJD(Ghk1!e7agO4j_g;fNE^!3wn;yj|#pw5*S77L3oEzKvA$n0? zCgOthd!;aR*V-*#;CDzUtlA3Cv}EU;<2v6Z_#L(bylq^iGnu!OolCbFWTZXYgr!%0 z@Jc`)vhGFIB?4vaU6?vnb5j)0I5*zNndTZNPcYo+f{bohMa({ot(#4PtrUA3a9^l8 ze94orQg@UNnd7Y=WB^k@tiNEbk++jV=2ulJ)m;S#Y>*^V+J^QG15J$L;Vybnv^rqo zar_}iY$nhkz?qH4*Rhne*MDHm04m|4bg18!|I1wr4F1Li7a~p+=db0zA9}qV z2TqNX0pi@p4o$?KSY~>K~>DcZvu3vMyC2J z_?JkkF_2R)Jm#@-#XIk|80q47alNb6^KCfBMRYFwr#=){r5I^~%VK7PZnZRqb%o?@ zS1R5_xS?wjFtIp=$Ier4`hM+k04G$ggmemxjgZgokON4^oBeOXWTbn`#E2@GK0EKE z_jt>df4WXhw~1~uBh=pN_C{JL9cwY*Qyl zH0Uqj002M$NklT_-#R8Aoq(`!ei@So|vC|L*_Wk-RJEbwn^QzAh zP>F+3xKYGQX%zCJGTpWyjBmm|dZycd=L_N-6I5^H!WCjhUoY#FtVfnZSF>jB&8`@%=A+Sab~?~ zFvq6g%|a5R&Ja#NLz-0#7>AHMb6W9-#ucP@B;UxSy!u1jOfV7Qy| zv8?`}oCoSMIbu_}6m`IKEb@Ain0f`p3A*{j><%%70N4?3Wj=a##-ch`Jf{R>K;Prl z&giD3dnGy^rSCZ&1K0kkv5ltzOcPa)|7*wo06IKHjdD9WzZcHq!)2ehrGiTK*#`tX z4`2ygCP77a45NeYcEiRiI3W#x|NB26$ep6(HffD-aPPXk_t;0T2`?X+&FZM?L^?jt zAfm>E8-ApXIK4onr-3ts1O-fp>(aXCj~`heL?fF+fg*0Vj_;2mtOj8u%~RsD1?p@Qo+&tliI(o>YU`ThT!s?4Hiul z$-?JiJG8X8-#a81v8ft+8EpPP;1qv%Rj1h+lMG2>$mV z2je)@&1#EJ-s$~Y3`0guY~zju`-cbH!a_Rh=}%s5zE!y9ZeViw7#@*=24X;K&q$rt4PecWhh8Ycd3ZUHwyh@mnfzm+K|MQVGQf=w zDS8*3Cu|WV0tdC8^A~*;oQp{gx>yQk)e)TvuQcSCijL4xFcA^iyL-OzbsC^yb0P?d zb{HIfN0r>OMQTk!M8LhJ5Bm<0R($q-ywz*gwoZ0tK;zc9IhD64(rNU)B~uaytN(uN!e-!<>B*8l zq-}~GEijv%syOEA{mx5;z``?9P)!rF-60f(TH}2l6~hDXcOyE?z34{e{1#L%y5etq z^&p8TZxrutg)@r3N%yfw~p3P$}U#;Qr!8Y5?%FXvTd3UC02Ea#>QgL;d>4L0gGu28Jo#}f`e8MOKo zx*Cck9N_eTWTc}-X&xK^Tnm)O{^l9=;iB7mEgGqL}lkB zJBuzVo4X+GjE;fK!Nf(JguF|3cGZI$f2jqM(<@K7$%GQb7sbx~ydCclst$%TY;Bl7 z6JK%(oVA8CCL92e<#Lr4lD%&y521WF;e7PP7XdhQ8391+n7wf#JSEpFzF-8>ewH)8!6eFdIy~dk__;OpZZn6~gey zW`K3ajJ|dlf(^lt9R{r!bM={ezyIfdZvNFJ*S)n6D&4n;HML|~e^h0Y!($@y(=QdB z9a>P~XzFZ>#7WBs7}zwEx=u}|oku}&k{%e#A}sO7t8X;UHq~p~eC?H2QN6gmyhWz2SfQ6V-`E{(=QPNK|Pa7SwY z#-*;cVBm1B$4j649G!b*VGS!^|IJ>@{qoD7JJ5;f_;zhG5XYl?upQLbRy~*B0jRi{ za-qtZ&k{iGjYn~PtQFF~q#Pm#CaHJM=J4>d-zEOBqjJ{Zid_=S$I3~SP)8FJV9Lq= z;$Qs!ljk1Vzx2~T_32OlM6l~%lPGmj*S~3T@0h0j0waYR@>pESUep?;%D}Ik4lfkL z<0!a64^CD)HaZa#)m$`!0r_7RQOv?S^q1jL&2PCugswt7)e|&XuA3HoiR-o3j0$?G z<->X+DxM0?MQSPkWWdAT7?h8g&U(2*7HLYPBh`vkyk+Z^3F5xryHQ~}3Zli#5<1llc*(s1e4|>qo^G28 zfEj=tRE)Dq5;e2QEu%9*a;B?XRB|7sIoVk=yPE&vPgG(CzWN-Z8Rp<01xL85?!r50 zEN>cGlSO`<)H_ZX+VD0(O7Rnu2MYJnKs0Vm1D%n7VcFqjLZ0AVJ6 z{>JNXHf4d?w}0l$see*X+PWKbuUR-j(13dmGtcjAxl=ebN&r2T95*&R1uR3YpylpMROaAm zI32}mK0jVMd8=}1nSO|aJC%0iOxO8f6GItsqcCiGQ;QgJws}PO&L4m0bvOPk^&Q!# z-UJ*w?T~%eh^cnxpW(*W975HRVvfX2bBq|aUje2w#;n~Eks6^NxwNN*sktICFNZig zQtOt077Q1a!)D17{?Tnk9Ku5mA(Yp8`53m52x4OBzuyR{0p6z2J@8jOMG;P`w)I6Z z-HMte>ZmI!_vdPPd4`*LJeRqxa9ei}xuG8Q?6QLK@zQ9ef{)!`x|NG7x(IKe7sXVk z>2$=%;`-u;$kHLw5)ys#WMImH&*KeH-ATm_TJPgw$v5q)*{HgM8C9<+VKul7h)FjI z(@vAo!@Lhe+Wp#Zd~hOu|6X5@KOnYp#hh~};Pjh|rT?j!EMbEvOJo|dIgVT8R4wRI zdrVxw`Tmoo>M8fC9Bh5B^fIp+$@L4f622rNZ$s+D7CoxBjiuar$RYk0|J(0>?TNDv zHEu-dUhpvm=h)3C;XW)(O3Vv`r=Mz|$EU=k#9S9EdIacXEeL8J(2)k7i`8XIEx}OH zb=YDG$Wmgl&vEl2Qk{;_iE_nlj_pJyzCz-U#IoH6AVYIX;3{=ho_flQnIx${{j)!_ zs+!l+R zKmg!T6j{4KG#~Ebta$0tHec7N*og5EP7zu61WdksQ|V++H^7gsZSm7PTwC5QCt4Ly zCS8!4FT823^jGI{fd$<@uP8eA%%9qm8p0@SsAZgF3mV24nZej%6VW_GX@A;SUcjxx zLowg$oCBuv%TqpR**Q#Q9sC|w30~=@ouT^R>D4;iZ6XTWd?gf|zf0hF#GblFdGwL^=U5yqRFF5&$l#mm$M8ga@ZC6fqoafcw|)f-W!j?v!^w z!l@1iN8UpYs}>%;HzlF#F$86vVq8UGm{d77h2$8Rixa9-@u24@pLwo#k2n=~?a!oE z?Y&+Hp&UFznuim4G*URMhSg_4G^&|A_nHgrkPS0)o@_1l)uYkkYZ^LC#++7t0V^j& zP9p}+C_5^F5&V81v%3Cd(H7n}x8qC1C?0pO`OMgWbo!IKw2~yDos#bqM5BkR zILuRGRbO_pe_H8zMa#7}azO$RG0-N$yIrC=(c2o(P2|&;q#{CPbT&ZfrDSoo(dBNzsUCgM4HG?H7T z){CPlA5N88!9aq42lm}+Mlt6yYBdxw$#s1($Yla0P#r z(NS5$DdmgQw5(FSzWcMu13yp>M>F(YOPQf~!EnGU>u+8~{S%E;vBk1;R2E$P(8BoVqD-0IrO#b{D&SH=plstmlcH zR?YW$*MF_K#vJ_^vsqnuDD6;0b*fV7>?EZx`8UBIlDJs5`Op9J|KgWK|AYV8|MY+G z@BX{g74L^9GY(`av60x^wA0HQogM^>SOav3DRNgChNlEJ;y5X;6KR;NtaSg#6*b1q z@d;_8nl8jezRhW$#lbw!d38&hku(r{05HOltm6@Q|16k~%2Q@%e|mlO#;TLg|0XeV`9 zR>@>c3+LKm$p*@)X+7%}fg(e$Wa-(gBQ)^IdHPPWE_-7Leq=T)>3y+zgL9ER!-R(p zkinm26<5BRTW_s2wDI7UMCmMR9rX;repxf*zbG;5ke(3{nMU(qlx+Q4S~7M8;JTcf zh|fG}QfvR?C(TT^ID{cP<}}Jb!j+b!j{@%>l_Xq|;&cg6_07?)XlIe=tN;n$piy&R zY7l9*(2ZEX?CL?F!;YmIlP(^|DqS>4*kI0&+}WDUd;oH096X228`Tf^C=Bm_L)#)^ zLt$IwI4XbRW*(8zHrrW9%YHH%!@Q%n`Seqd$o%w<4^4IfT+iM0Mze;!o$nLADp}Ls zdb<%w2KL5-%k*wqeWiF)Ui{!Zl}zNI@mn-4rKKO|{L5$EHjsyt#FY&@DjDwD*oNa# zZgqKz)hSPnweZ=9yteuxpULct;WWjoYjGun?hhNn3v%_-eFLd5jsgp?1zl}Kcu&n6 z@O^KA9R`KM>Rj^4%<6sx#{jD3P7`$&DJoXLp1sSMnz{K=6}vRlX;~L_TFIGvUF5&G3{Px%9<@IrMi3Qq05hm4V-jL_#80J>MV4!XEG0Y7P zD*!uQt4I0yi_G7p-xQciYSL{07>7}P8Q|@AeIKYD$FY_ZqJ`UBRF{HjiyFb}h`V)- zQ*|mZXu4BKYAl-O#;(^D1+xnne&UwZVm<(V_@RNqdwY>0@y+U!I`G6KNUXYb(i@Rm z>Q7UNlt*O=ws$(~jX(gF@cm>_00s4(g%;;A>|%I_ zn4+FBW48GO2ZL6fl;nqHz@2a&@Y>&-c) z0TR%2&K9}%JYL1b6BDGOavG*8fZTxEO^LmSB|1xZLhqdLi91v+1(a~SFqDYnu^L%|0QPoRRZ%L z4BbtlDwk1)x0gr$Y#{FEzB%uU@&DrQ|K|fb z%8yA>@L%i|4j7K)WU2Q!KN)&hZw$~$3eP1+dn_FKhv9JjqJ*dOd&|mX^@%R6s!~f_1>;G;0_y6I4@bCSP{)dbh=5x~ooR(?N z{Ih0!4_zQ7^Wy5pswp@l!6PZyf?Qj>xH?(4r&-Ey&8_j|u^Y?546jfUjNxluq2JIs zL^pXRU-uLK=vw4hd9%Cmgdz!@g~dBE7k;6~Q^St(AfGn%t1p!|eL1e-QvI9@$`d%H zltC`P<4r46*_FKIllHLrd5qfb7j3e$RN{qmQPrjr6MKZuwCN<6| z4z*XtZ47~w$CkpnQPLUfU^T-_`gpq)n`baqyPD+E@uAFvkLS(-c(q7_#?;<$VQo?q zSr}erbx+S9Dz+#A?bNW260maCTz)3d5Dd+u>v1as7d57E%&`eqt8T!LPs!KWc^X*= zWq?(;$AxF*df)lRWx6!BhBjiMNg4nMm!l~sjb^21szVAVTMXuv+TaU-oROh$j`kqt zN9z5OCib0&i#80e*5nb^@_UAPxBm6~hmI&9%KPZ|qsCu!`6;se(8Y@RUhA)^TY2fj z{PI#kMRfEdO$I4!`(p-EYtf0M-djW#dVeu!lqS$)zKoN-(ugfBl{R|b(FpQw&&xH| z`r+FT-&hkZ|00{vKXxPRd+*=6QF@Ajh%1fHV)f0NU#$v7(@`+~AUGJhah2IAZqPg_ z_la+|vNL34tQH}+6f?%hAAhP!PS)e%%EB0*(J&nitFt=MB;16&`07Mz+)|upTi+$5 zI4#c830s#OaSKMiB3iO^O9o$Vkc}sq5F&d_bhZ=qa>FzR5BF<)$O$1?HcQeVTf%sc z56I@dFLqSq5NwoaUzor^qvW($38RUeq`&McdqC?X(|D?c?-}_vEOzB;?4ESAq}?=z z_8b(I#Sv92v^qma1U_C9p)yP%dok|JVTgaTslossZcO^t#Y_xqSewyuFNzm=(^Bs9 z{m&l8J?5FldJ?b*1)l!fPAeq28cI;o(@czq+o8(W{V%@w;&;FM-SDtrk()?jQm=`tYfkCV} zdfdP%f4oCv9JdpY!qI8)Fq}0pQk^tv5Q+h{nv`uGoLOqUQqIE>2I=G@BeE%C$-%D^ zg5@&sFvRu?^7!8&BAq;d9K90$m4KGC!YtJYANZ$K@z`+Oq2!Ex zXwVtc0=G0D*F*5LZ#3D_5Q@;9svnRtJPkT(4a5HAB?AmXCM1VvikYLOd?ulPZ%48F zU;bDB)xY?U{(kLVv_*|`jF^~8x3i7<@wWOJJxANKPcQ9av)=9We-!@_tb^AAOB(VI zTcinRqj@@>3K~zu@<6m|e@CO;iQ6f4XtSlmP)tT<()>UEU;IZ-{rCR6|DAvS&;NaD zQ4{Ncv&hM+j@}_})$y^|TkleO!`oEbe-rZ7LF}D3CqtcREX>K{ErOo)w_9SyZ`pzef05%KCx<+ zjXm*y8OOocNfF&~@nUHzawDKurkoOp5Ez|oKtvnvCN+xDZ|a@}!*#Bhn4jgTL36Ya z7So7gNqw?B!P7pnL|lCqQFAP%ZmmiQA*eHNVcQyfJsb?HNLQ)1hFVANkVIX{UEglF z#fl9+y56FeLQ5gF#u#o=?heqhgV`<_Ys<=Bh})X90g&nnz%jg3HPZ32op1s$h*T)t zLbyj^ATqwO&PSQDD zm0?c(<2C!@?L|3&>9628&bf-e2B~|q2ezWLkrv`vry?SnReM1?Y($$^6g`t8^y=r) zvAD>MKxUh+EMNA%iH7wzG53Ng9aM_sxY@2~p-yN1YznY$w z{;qyb5Mc=(MHE|l92ld_d0MveVYWnFB;Fu)-tM%Sez2UqS1IRbPMILST>f zy(7}Q=8&qh8I{n61QM&E>}Cv1!r9$x(mp&gDV~rkJ$(~#_cb}SBKZjI-kD>) z>|g)ufBosFpYa4prt`!RO#pP4WYkyNznA^DPyKQRuhx%JcxTy;_(F#wJ7XqA zpwPVi*8k*x{Lej?dHC0Qc*_DM8Er3E*1T*pgkwNeNhYdx1%WOI5o{+zJ0+b%2W~`n z^otFAfho{v6ZZD;2`vWHJOJ6QQ$Y=Dkj|>#&a)XFO+r;EtH1;1KmHegpWzpQ*JN9+ z#$+HK=R6k1c+Iz@+M*2nP_BP3<8?j(6(CUGCORF)8O#s2KI^08T^HR2B%e;Ve0 z@b-JuG;8!>6O>vFY*|%xoWrPef!peGH5&=y#Zm(r#b@Gu29GrN}PJ{`ke0 zUt+ZSWe2>}rN3L|HElSeV>OE71j|ueZyJxwM$XFVEYeIO2xT0~-QhO$kB9}i`HJ?H zJhg$+Mmdgog(&^uhcEx(AO1l$eDmfLTnTb$%bat&`h|5!Cmo~&$)I-1JMXz=!V@Iu zr`K^2r6C7nN2nY9eDwB57Kw~RD7?7K1sZM8ZcZ{8&uP@}aYGE0S;94AX>$89hFtlb zs?8zu%R^!76g}!&Ra&zQL!uPPq;ndwj$cXuo$UeVJZ%LMV;H-Iw701!<8lm?LaNB2 zdwf%gZno?d(@0RD!ywL?2CPX(Tk2Tu_Vu#6ov~YlcPW2&Qk`ftv)5m2X-$H5O}F@= zIVP61;otaygO|&;Jg3`xo(f>HmwcDeM>iSm@*r$(&207YM%+ZaW5E9A{+iU0H_qT3 zpLnm&$3m2%gamNnU)rjAFmJIieBUK*v} zr8ReT+JS0Dv0q0yO>_+!ox0OK6mD+zp-&b1q*ph0T1Q|3LrgwU_SBgYpR4f1F}AcZ zB?u1bM%tWCl0DNTKym%z3yx#hHtI`v`A&?5Wm-+^8f)Wt4qzu3`&<+Q1YDB_6Ar)s z{@-xanU(1k00|zx%3~}Pi62wP);vaYl_c`BiF#+R$?MiBEyiEtS4VRL?I+%%Hxa!z z@cq7{M3Xu0Q5vn;HF%YHLqMz}=a4G2gne@-Vl}q;>8DS`vJue$c5fxMPwH2+kX&=x zm}fRfRSb?oie25sGAhOn26pAM&p!Qk{+<6me!uCS;6B{rtimY`+W=so>(Os}lKam+ zIqV9In0uVj`FbLowDMBa+Py7xfn|Ssu+PEpX)elp6Cv4oRgsvHy49>zT}*t=tS{{8nqhgrzp$oO=^#2ex7nd@!G2T zM%BnKrPS4LsK7J^k#4IA+Y60TBicSa-pvcysGcYxX3AI4Sia7!_J1k)z{F9t9purR zbWwrD4~7%7B$ysX|KZ^pRnv-JB|WzUkOFE&?4x1#X{73QCo7Tw;x3Vow-cZ2NFVhe ztniB4!x`x5Dtcku2<-&be+*ODz{ic9VmkEQsk$?MhEp=QTnWrv zh_6~0Db>2geU7JIa#WnjtG7=1>Ic}mM9)SIeA8!cV_1}GrXqYnIQAjSi$sR$&}tSl zx7Q+8ENhf2%O_1=5 zvhFVeeeF5>LpNkv2_Q>j$H3j3w{Vfc;Jc|HG;!qcZ~ppkkdM2{MO&E1-p{(|ufG1; zY(Rq{Y{ER!v3)Eg@=)zKJb|0w}$Q4dt+(p|fm`VXF-D&MoZ^tWC<<;{om-;z%%~ z6$gnBHv9c&!G`j!X~K3qkmWc5g~bjTW!QB2%YN$h!TemKU=O*ZI$z2tFtReLPLrto zn0K8vp43VpkO7n{65D2gC5n{e=c##DTK?OA`nUh;U;V2;{NWFL5~#7Bvt*zm7=(-g zufv21)wAEkc!NT%c+pTUo2_#|F0ITo_>sKhro1hh-?J(tBhk|_KbJdjwe&p%k<*xG~9M)!Pgnt zkK5Fg+hYfSvZ`E;I2k%sh^f2p$v} zHY^gXBw6Dyc1k%^i{j4sKRx2VoCZMiqQ14RiwpHXcE?oJWNpNQ@N4p-|M;H%TXCxx zjcfw*3c0~@bQ6}>d6t8MZU7o%?&HYJWFPK)$KL<(|M0($;W)t5&dn`Au8=gRVy)ev zl~)f6!r2i}9n&N4@DRQMfJ(KlC$fm#@xCjQ>dPi&8$0o&gx$X1vA!x5_?)liOQZMz zx6i%7_I{~?njKUB&Uct`pJ(|(7Wj~NP(e^$I4PX0KVC23RDL^Dlv&uW*LHfWJ)Pyc|U|D8Gg7)pGXxKE4ZA7>?;+ao3 zEZ!sh08kXk$&GM$=2Z#*5K=w8!34BUi4E=Z)jLnC}6mPd~9#g9l5eoq}`H zGR6))wcFf%wCZLcM;qFt+87j0tR#)jZ_QH^HeOf)c51}Q&%HTA-?Zrhuf5UVM4^RQ zg!zAxzuXJ*cAtB*_ESEl&+~qa_4%df#p!u|M`;}4?ApVDgi?{_g@*N^I>_RCKyjGO z=5^&J2SF1V`EZn6dVE!rzB$(-Y9CJ-P~uQpLA_<0$018Gbw$Ip?z1;lo#v_}D~Fsa z5YP0{qPtk#fTQ2oO0i`w1FVH^QzH#BTuX+~21u24tW>gnLSLR@K&Dgq-C<9Pon=5q6<5Pj(vs6de~4 zVL*=D#r1+3!jC`sq&J-Gdo(JwnsPwpx)@leQVw*M+BuA^2$?RrFv1WW&Xm{o=1A-` zc$bV@rM5rh?|OM+bFl_AJzHWIa({Z*Pd@$Bg_f_rawqr4&Hkxt8jg(%B?jp&2lAjM zEB)U8N9P4^p`Fq-8FaQ%wyx#}Jl@fLujMzYqfTJG1ZF1dr@gH^$ZS}mNC@~j{06?x<{m4J z6Svgjh}#HM+$i8*cJiZF0g-bGNzROf{nr8mFcN91Nl_=hI8my3xPnt6lxi?wwU3jy z)=!hmir|&Dng~{8ZHG2yFiO_qXLUqG>&|K-I*y-ITBcoZefD_ZTPxMNRy_ybU|mDN zuxfh^9omN$2Jq)*?rS=D?)RI|KmYc@ajS;AQ~G<=^_<>Q~RHT^`FrfZa;8efqHn{#KRMk^&v{I z{6 zU+0{i7K5%7AWyS9J=a~f@5Cu>klW+|1CP=MxN;8t?6$h+N+Uf-MOISlh*eZVmg^Bkyvmi>N@*vTW{Llcngb7A|5I7Z8yvziL+Q~%T}``usT+F1 zspe^ss1r8DQ0@*X;CQcp*qzx<6%$joOx?arBNh%jWayFfZlH3vG z?@`d6SV}E0J;F?)R~Hpz@5#TZI{uzA%})?br@%$E(J7^EWw|(l#Mo|}lws_k0)t%) zP)^$AR9l8@@1>OG{%u8bqd3vSdB~?ZS2Fs)i>(={%d@0TZ{{wkdAdbvejg74fB>bTAGFD#R=mLG_qyG*2S{CJGClRFl*0xSe!Pkb2h6jMd z*8;ZE+#?Hh_O8|}i}w79qz@_;VFo6&fZ2ki_I{VafEj8;gGMFl2^Y?_tI^Ze9`|XcAa78@I=opwLNCyOgAZH& zVsISWc5GDVEaO(L*Gh~SObZ^Z#!GA;&Re>k^rx>F zPSSgCwVWm+1l2@%j5VQJPCD9ckB23|yK0v*HulA>asV-0w-~1aX(A*Z0N6x{j@3Q~ z3FFXHaVhMD;p&yOp;Pr?KikZ3+YRKj;S{l)S@tN(a?Fj2xDu#AQbjn<6Jb?P6#i| z0H5#ig;_;*d)bbwEHoTBM?Mouurn~oYp_;>Z!^pfnvvIZCkOV+joPr6ri`+{S{{

P-TDPLo^6YVC1}v1_@y-* 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

`5C<1I}*(^F56 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 q1SCAvEFm12&L`^w|;c#Zbg*?D;0+sLF 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 literal 0 HcmV?d00001 From 226acf805342e08a44a203392d356b0391e4bb44 Mon Sep 17 00:00:00 2001 From: mvn23 Date: Wed, 16 Oct 2019 22:27:25 +0200 Subject: [PATCH 164/289] Update opentherm_gw docs to reflect config entry support. (#10584) * Update opentherm_gw docs to reflect config entry support. * Update to reflect requested changes on parent PR * Add remark to gw_id --- source/_integrations/opentherm_gw.markdown | 81 +++++++--------------- 1 file changed, 25 insertions(+), 56 deletions(-) diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown index e4ba6feb5f3..9be3e2cd154 100644 --- a/source/_integrations/opentherm_gw.markdown +++ b/source/_integrations/opentherm_gw.markdown @@ -27,42 +27,29 @@ The OpenTherm protocol is based on polling. The thermostat sends requests to the # Configuration -In this example, one gateway is configured with `gateway_id` `living_room`. -```yaml -# Example configuration.yaml entry -opentherm_gw: - living_room: - device: /dev/ttyUSB0 -``` - -Each configured gateway accepts the following configuration options. +The OpenTherm Gateway can be added to Home Assistant through the `Integrations` panel in the `Configuration` page of the web interface. +The following configuration options are available: {% configuration %} -device: - description: "Path to OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)." +name: + description: "The friendly name used for the OpenTherm Gateway and its entities." required: true type: string -name: - description: "The friendly name used for the entities added for the gateway." +path: + description: "Path to the OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)." + required: true + type: string +id: + description: "The `gateway_id` for this OpenTherm Gateway's entity IDs and services. The entered value will be slugified." required: false type: string - default: "The `gateway_id` of the gateway." -climate: - description: "Settings for the `opentherm_gw` climate entity." - required: false - type: map - keys: - precision: - description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Supported values are `0.1`, `0.5` and `1.0`." - required: false - type: float - default: "`0.5` for Celsius and `1.0` for Fahrenheit." - floor_temperature: - description: "Some thermostats round all temperatures down to the lower value according to their precision. Default behavior for Home Assistant is to round temperatures to the nearest value. Set this to `true` to override this behavior and round to the lower value according to the configured `precision`." - required: false - type: boolean - default: false + default: "The slugified `name` of this OpenTherm Gateway." {% endconfiguration %} +

+ + ## Services ### Service `opentherm_gw.reset_gateway` @@ -71,7 +58,7 @@ Reset the OpenTherm Gateway. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | The `gateway_id` as specified during configuration. ### Service `opentherm_gw.set_clock` @@ -79,7 +66,7 @@ Provide the time and day of week to the OpenTherm Gateway. The value provided he | Service data attribute | Optional | Default | Description | | ---------------------- | -------- | ------- | ----------- | -| `gateway_id` | no | N/A | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | N/A | The `gateway_id` as specified during configuration. | `date` | yes | Today's date | Date from which the day of week will be extracted. Format: `YYYY-MM-DD`. | `time` | yes | Current time | Time in 24h format. @@ -95,7 +82,7 @@ In a normal situation, the thermostat will calculate and control the central hea | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | The `gateway_id` as specified during configuration. | `temperature` | no | The central heating setpoint. Values between `0.0` and `90.0` are accepted, but your boiler may not support the full range. Set to `0` to disable the override.
@@ -114,7 +101,7 @@ that. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | The `gateway_id` as specified during configuration. | `dhw_override` | no | The domestic hot water override state. Value should be 0 or 1 to enable the override in off or on state, or "A" to disable the override. ### Service `opentherm_gw.set_gpio_mode` @@ -124,7 +111,7 @@ For an explanation of the possible modes, see [GPIO modes](#gpio-modes) | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | The `gateway_id` as specified during configuration. | `id` | no | The GPIO ID, `A` or `B`. | `mode` | no | The GPIO mode to be set. @@ -135,7 +122,7 @@ For a list of possible modes with explanation, see [LED modes](#led-modes) | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | The `gateway_id` as specified during configuration. | `id` | no | The LED ID, accepted values are `A` through `F`. | `mode` | no | The LED mode to be set. @@ -151,7 +138,7 @@ In a normal situation, the thermostat will control the maximum modulation level | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | The `gateway_id` as specified during configuration. | `level` | no | The maximum modulation level. Accepted values are `-1` through `100`. Set to `-1` to disable the override.
@@ -167,7 +154,7 @@ If your thermostat is unable to display an outside temperature and does not supp | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | The `gateway_id` as specified during configuration. | `temperature` | no | The outside temperature to provide to the thermostat. Accepted values are `-40.0` through `64.0`. Any value above `64.0` will clear a previously configured value (suggestion: `99`). ### Service `opentherm_gw.set_setback_temperature` @@ -177,7 +164,7 @@ The value you provide here will be used with the GPIO `home` (5) and `away` (6) | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`. +| `gateway_id` | no | The `gateway_id` as specified during configuration. | `temperature` | no | The setback temperature. Accepted values are `0.0` through `30.0`. ## Sensors @@ -521,21 +508,3 @@ Possible LED modes and their meaning are listed here: * X. Transmission error has been detected. * M. Boiler requires maintenance. * P. Raised power mode active on thermostat interface. - -# Example - -A full configuration example with two configured OpenTherm Gateways - one connected via USB, the other over the network - looks like the one below. - -```yaml -# Full example configuration.yaml entry -opentherm_gw: - living_room: - device: /dev/ttyUSB0 - name: "Living" - holiday_home: - device: socket://otgw.example.org:2345 - name: "Holiday Home" - climate: - precision: 0.5 - floor_temperature: true -``` From 420aec4b7b8603055af2894911065af9c246af99 Mon Sep 17 00:00:00 2001 From: Chris Caron Date: Wed, 16 Oct 2019 16:29:06 -0400 Subject: [PATCH 165/289] Add Apprise notification integration (#10451) * Add Apprise notification integration * updated to accomodate code review * updated to reference apprise tagging support * ha_version + grammer as per code review * :pencil2: Tweaks --- source/_components/apprise.markdown | 85 +++++++++++++++++++++ source/images/supported_brands/apprise.png | Bin 0 -> 27015 bytes 2 files changed, 85 insertions(+) create mode 100644 source/_components/apprise.markdown create mode 100644 source/images/supported_brands/apprise.png diff --git a/source/_components/apprise.markdown b/source/_components/apprise.markdown new file mode 100644 index 00000000000..082997a01e0 --- /dev/null +++ b/source/_components/apprise.markdown @@ -0,0 +1,85 @@ +--- +title: "Apprise" +description: "Instructions on how to add Apprise notifications to Home Assistant." +logo: apprise.png +ha_category: + - Notifications +ha_release: "0.101" +--- + +The [Apprise service](https://github.com/caronc/apprise/) is an all-in-one solution to open up Home Assistant to _just about_ every Notification platform (such as Amazon SNS, Discord, Telegram, Slack, MSTeams, Twilio, etc. + +To use Apprise supported notifications, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry using URLs +notify: + - platform: apprise + url: YOUR_APPRISE_URLS +``` + +You can also pre-define your own configuration files while storing them either remotely or locally. Simply just use the `config` option. + +```yaml +# Example configuration.yaml entry using externally located Apprise +# Configuration Files/Sites: +notify: + - platform: apprise + config: YOUR_APPRISE_CONFIG_URLS +``` + +There is no restriction on the number of URLs or Apprise Configuration locations you wish to define. You can also use both of the lines in conjunction with one another: + +```yaml +# Example configuration.yaml entry using all options +notify: + - platform: apprise + config: YOUR_APPRISE_CONFIG_URLS + url: YOUR_APPRISE_URLS +``` + +{% configuration %} +name: + description: The notifier will bind to the service `notify.NAME`. + required: false + type: string + default: notify +url: + description: One or more Apprise URLs + required: false + type: string +config: + description: One or more Apprise Configuration URLs + required: false + type: string +{% endconfiguration %} + +#### Example service call + +```yaml +- service: notify.apprise + data: + message: "A message from Home Assistant" +``` + +If you're using configuration files to store your Apprise URLs in, then you have the added bonus of associating tags with them. By default, Apprise in Home Assistant will only notify the elements that have no tags associated with them. You can optionally focus on only notifying a specific service based on the tag(s) you assigned them like so: + +```yaml +- service: notify.apprise + data: + message: "A message from Home Assistant" + target: [ + "tag_name1", + ] +``` + +The tag `all` is reserved to notify absolutely everything, whether you have a tag associated with a URL or not. + +### Notes + +There are over 50 supported Notification services supported by Apprise. Each has their own tweaks and customizations you can leverage. + +- For instructions on how to construct the URLs, visit [here](https://github.com/caronc/apprise/wiki#notification-services). +- For instructions on how you can customize your own Apprise configuration files (referenced through the `config` directive), check out the following: + - [Text Formatted URLs](https://github.com/caronc/apprise/wiki/config_text) + - [YAML Formatted URLs](https://github.com/caronc/apprise/wiki/config_yaml) diff --git a/source/images/supported_brands/apprise.png b/source/images/supported_brands/apprise.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc869a1aeaba19c76179c1acea78a488568537f GIT binary patch literal 27015 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 literal 0 HcmV?d00001 From ceddb2bbbacbcfd2353afb22686e18b1ba5c8817 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Fri, 20 Sep 2019 04:16:50 -0400 Subject: [PATCH 166/289] Add action_topic and action_template parameters to configuration --- source/_integrations/climate.mqtt.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown index 98194bb63b9..b489ebf96c0 100644 --- a/source/_integrations/climate.mqtt.markdown +++ b/source/_integrations/climate.mqtt.markdown @@ -121,6 +121,14 @@ modes: required: false default: ['auto', 'off', 'cool', 'heat', 'dry', 'fan_only'] type: list +action_topic: + description: The MQTT topic on which to listen for the current action state of the HVAC. Expects `idle`, `cool`, or `heat`. + required: false + type: string +action_template: + description: A template to render the value received on the `action_topic` with. + requred: false + type: template temperature_command_topic: description: The MQTT topic to publish commands to change the target temperature. required: false From a7617f5c5aceff8aaffafc4fbc3e8d57f0d08935 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Fri, 20 Sep 2019 04:49:43 -0400 Subject: [PATCH 167/289] updated possible action_topic values to be more accurate --- source/_integrations/climate.mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown index b489ebf96c0..13695adc756 100644 --- a/source/_integrations/climate.mqtt.markdown +++ b/source/_integrations/climate.mqtt.markdown @@ -122,7 +122,7 @@ modes: default: ['auto', 'off', 'cool', 'heat', 'dry', 'fan_only'] type: list action_topic: - description: The MQTT topic on which to listen for the current action state of the HVAC. Expects `idle`, `cool`, or `heat`. + description: The MQTT topic on which to listen for the current action state of the HVAC. Expects `idle`, `cooling`, `heating`, `drying`, or `off`. required: false type: string action_template: From 12e3fd77698e6c09b7ba4c4284e61910cee72d98 Mon Sep 17 00:00:00 2001 From: Zach Date: Wed, 16 Oct 2019 16:34:58 -0400 Subject: [PATCH 168/289] Doods component - Update for contains flag (#10471) * Update for contains flag * Added timeout option * Change contains to covers --- source/_integrations/doods.markdown | 51 +++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/source/_integrations/doods.markdown b/source/_integrations/doods.markdown index f5d59569ed7..54e2582e0df 100644 --- a/source/_integrations/doods.markdown +++ b/source/_integrations/doods.markdown @@ -46,6 +46,11 @@ url: description: The URL of the DOODS server required: true type: string +timeout: + description: Timeout for requests (in seconds) + required: false + type: integer + default: 90 detector: description: The DOODS detector to use required: true @@ -54,6 +59,36 @@ confidence: description: The default confidence for any detected objects where not explicitly set required: false type: float +area: + description: Global detection area. Objects in this box will be reported. Top of image is 0, bottom is 1. Same left to right. + required: false + type: map + keys: + top: + description: Top line defined as % from top of image. + required: false + type: float + default: 0 + left: + description: Left line defined as % from left of image. + required: false + type: float + default: 0 + bottom: + description: Bottom line defined as % from top of image. + required: false + type: float + default: 1 + right: + description: Right line defined as % from left of image. + required: false + type: float + default: 1 + covers: + description: If true the detection must be fully in this box. If false any part of the detection in the box will trigger. + required: false + type: boolean + default: true file_out: description: A [template](/docs/configuration/templating/#processing-incoming-data) for the integration to save processed images including bounding boxes. `camera_entity` is available as the `entity_id` string of the triggered source camera. required: false @@ -96,6 +131,11 @@ labels: required: false type: float default: 1 + covers: + description: If true the detection must be fully in this box. If false any part of the detection in the box will trigger. + required: false + type: boolean + default: true {% endconfiguration %} @@ -106,6 +146,7 @@ image_processing: - platform: doods scan_interval: 1000 url: "http://:8080" + timeout: 60 detector: default source: - entity_id: camera.front_yard @@ -113,6 +154,14 @@ image_processing: - "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}{% endraw %}_latest.jpg" - "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}{% endraw %}.jpg" confidence: 50 + # This global detection area is required for all labels + area: + # Exclude top 10% of image + top: 0.1 + # Exclude right 5% of image + right: 0.95 + # The entire detection must be inside this box + covers: true labels: - name: person confidence: 40 @@ -121,6 +170,8 @@ image_processing: top: 0.1 # Exclude right 15% of image right: 0.85 + # Any part of the detection inside this area will trigger + covers: false - car - truck ``` From 144947575afbef5a1c7ddc728ede7d8712b03434 Mon Sep 17 00:00:00 2001 From: foxy82 Date: Wed, 16 Oct 2019 21:39:35 +0100 Subject: [PATCH 169/289] Update documentation for pioneer volume fix (#10627) * Update documentation for pioneer volume fix * Fix CI errors * :pencil2: Tweak --- source/_integrations/onkyo.markdown | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown index e9cfd7f758a..18ff6e598cf 100644 --- a/source/_integrations/onkyo.markdown +++ b/source/_integrations/onkyo.markdown @@ -9,7 +9,8 @@ ha_iot_class: Local Polling --- The `onkyo` platform allows you to control a [Onkyo](http://www.onkyo.com/), [Integra](http://www.integrahometheater.com/) - and some recent [Pioneer](http://www.pioneerelectronics.com) receivers from Home Assistant. Please be aware that you need to enable "Network Standby" for this integration to work in your Hardware. +and some recent [Pioneer](http://www.pioneerelectronics.com) receivers from Home Assistant. +Please be aware that you need to enable "Network Standby" for this integration to work in your Hardware. ## Configuration @@ -37,8 +38,14 @@ name: required: false type: string max_volume: - description: Maximum volume. Defaults to 80. + description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this wil set Home Assistant's 100% volume to be this setting on the amp. i.e. if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of it's maximum volume. required: false + default: 100 + type: integer +receiver_max_volume: + description: The maximum volume of the receiver. For older Onkyo receivers this was 80, newer Onkyo receivers use 200. + required: false + default: 80 type: integer sources: description: A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified. @@ -75,6 +82,14 @@ List of source names: - xm - sirius +To find your receivers max volume use the onkyo-eiscp python module set the receiver to its maximum volume +(don't do this whilst playing something!) and run: + +```bash +onkyo --host 192.168.0.100 volume=query +unknown-model: master-volume = 191 +``` + ### Service `onkyo_select_hdmi_output` Changes HDMI output of your receiver @@ -109,7 +124,6 @@ script: entity_id: media_player.onkyo media_content_type: "radio" media_content_id: "1" - ``` ### Example `onkyo_select_hdmi_output` script @@ -125,5 +139,4 @@ script: service_data: entity_id: media_player.onkyo hdmi_output: out-sub - ``` From 4f7fdc1b3a99c5cb1c9e46245b2854cb166817ff Mon Sep 17 00:00:00 2001 From: Santobert Date: Wed, 16 Oct 2019 22:40:44 +0200 Subject: [PATCH 170/289] Add initial state to Flux Switch (#10515) * flux restore state * update documentation --- source/_integrations/flux.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/flux.markdown b/source/_integrations/flux.markdown index 47bb976f126..c888b5cee97 100644 --- a/source/_integrations/flux.markdown +++ b/source/_integrations/flux.markdown @@ -8,7 +8,7 @@ logo: home-assistant.png ha_qa_scale: internal --- -The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night. +The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night. The `flux` switch restores its last state after startup. The integration will update your lights based on the time of day. It will only affect lights that are turned on and listed in the flux configuration. From ce7dc2c1dffecf157bfc344e598a155ab409c37a Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 16 Oct 2019 22:41:07 +0200 Subject: [PATCH 171/289] Add action_topic and action_template parameters to MQTT Climate component documentation (#10403) * Add action_topic and action_template parameters to configuration * updated possible action_topic values to be more accurate --- source/_integrations/climate.mqtt.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown index 98194bb63b9..13695adc756 100644 --- a/source/_integrations/climate.mqtt.markdown +++ b/source/_integrations/climate.mqtt.markdown @@ -121,6 +121,14 @@ modes: required: false default: ['auto', 'off', 'cool', 'heat', 'dry', 'fan_only'] type: list +action_topic: + description: The MQTT topic on which to listen for the current action state of the HVAC. Expects `idle`, `cooling`, `heating`, `drying`, or `off`. + required: false + type: string +action_template: + description: A template to render the value received on the `action_topic` with. + requred: false + type: template temperature_command_topic: description: The MQTT topic to publish commands to change the target temperature. required: false From 7ad24ebb0990b13122b9cecf983331186f65d370 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 16 Oct 2019 23:14:03 +0200 Subject: [PATCH 172/289] :pencil2: Tweaks --- source/lovelace/yaml-mode.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/lovelace/yaml-mode.markdown b/source/lovelace/yaml-mode.markdown index f8367645a1e..e05d2ecb584 100644 --- a/source/lovelace/yaml-mode.markdown +++ b/source/lovelace/yaml-mode.markdown @@ -97,4 +97,4 @@ Your previously customized Lovelace UI won't be modifiable anymore and won't fol Navigate to `/lovelace`. When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI. -To revert to using the UI to edit Lovelace, remove the `configuration.yaml` Lovelace entry and copy your `lovelace.yaml` content back into the raw config section of Home Assiatant and restart. +To revert back to using the UI to edit your Lovelace interface, remove the `lovelace` sections from your `configuration.yaml` and copy the contents of your `ui-lovelace.yaml` into the raw config section of Home Assistant and restart. From 37d1c730a7ca1141bcfaa526bfe5db37449bd87b Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 16 Oct 2019 23:24:46 +0200 Subject: [PATCH 173/289] :pencil2: Tweak --- CLA.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CLA.md b/CLA.md index 757a5a0675d..25f85f744ff 100644 --- a/CLA.md +++ b/CLA.md @@ -38,6 +38,10 @@ is covered under an appropriate open source license and you have the right under whether created in whole or in part by you, or you have clearly identified the source of the contribution and any license or other restriction (like related patents, trademarks, and license agreements) of which you are personally aware. +## Attribution + +This Contributor License Agreement is adapted from the GitHub CLA. + ## Signing To sign this CLA you must first submit a pull request to a repository under the Home Assistant organization. @@ -46,5 +50,4 @@ To sign this CLA you must first submit a pull request to a repository under the This Contributor License Agreement (CLA) was first announced on January 21st, 2017 in [this][cla-blog] blog post and adopted January 28th, 2017. -[github-cla]: https://cla.github.com/agreement [cla-blog]: https://home-assistant.io/blog/2017/01/21/home-assistant-governance/ From 84b13f359a95cb34262ab94e354e028f8d1be68f Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 16 Oct 2019 23:25:04 +0200 Subject: [PATCH 174/289] :pencil2: Tweak --- CLA.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLA.md b/CLA.md index 25f85f744ff..885090e5ec2 100644 --- a/CLA.md +++ b/CLA.md @@ -38,7 +38,7 @@ is covered under an appropriate open source license and you have the right under whether created in whole or in part by you, or you have clearly identified the source of the contribution and any license or other restriction (like related patents, trademarks, and license agreements) of which you are personally aware. -## Attribution +## Attribution This Contributor License Agreement is adapted from the GitHub CLA. From c7f1f2c688ce6e267f918a11620613433c8d1da4 Mon Sep 17 00:00:00 2001 From: Tobias Efinger Date: Thu, 17 Oct 2019 00:00:11 +0200 Subject: [PATCH 175/289] Add D6100 to the supported Samsung TV models --- source/_integrations/samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index 4f6850422b6..724886ec6a2 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -54,6 +54,7 @@ Currently known supported models: - C7700 - D5500 +- D6100 - D6300SF - D6500 - D6505 From 0d66e71214869a8a21c0d0986947e3377d2bb0d5 Mon Sep 17 00:00:00 2001 From: akasma74 Date: Wed, 16 Oct 2019 23:09:59 +0100 Subject: [PATCH 176/289] Update source/_integrations/generic_thermostat.markdown Co-Authored-By: Franck Nijhof --- source/_integrations/generic_thermostat.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/generic_thermostat.markdown b/source/_integrations/generic_thermostat.markdown index 79bb0a2847b..64595dde846 100644 --- a/source/_integrations/generic_thermostat.markdown +++ b/source/_integrations/generic_thermostat.markdown @@ -92,7 +92,8 @@ Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and Please note that when changing the preset mode to away, you will force a target temperature change as well that will get restored once the preset mode is set to none again. -__Example__ +## Full configuration example + ```yaml # Full example configuration.yaml entry climate: From 9acfb35d5f8f3ac5fa45f6e7f6b79b3f3afc201d Mon Sep 17 00:00:00 2001 From: akasma74 Date: Wed, 16 Oct 2019 23:15:48 +0100 Subject: [PATCH 177/289] in response to reviewer's comments Hope it looks better now --- source/_integrations/generic_thermostat.markdown | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/source/_integrations/generic_thermostat.markdown b/source/_integrations/generic_thermostat.markdown index 64595dde846..2525bc02131 100644 --- a/source/_integrations/generic_thermostat.markdown +++ b/source/_integrations/generic_thermostat.markdown @@ -55,7 +55,7 @@ ac_mode: min_cycle_duration: description: Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on. required: false - type: time + type: [time, integer] cold_tolerance: description: Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5. required: false @@ -69,7 +69,7 @@ hot_tolerance: keep_alive: description: Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate integration state (either on or off). required: false - type: time + type: [time, integer] initial_hvac_mode: description: Set the initial HVAC mode. Valid values are `off`, `heat` or `cool`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. required: false @@ -85,8 +85,8 @@ precision: default: "`0.5` for Celsius and `1.0` for Fahrenheit." {% endconfiguration %} -__Notes__ -Time for `min_cycle_duration` and `keep_alive` must be set as wrapped in quotes representation of time in form of "hh:mm:ss", time in seconds (without quotes) or it must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:` +Notes +Time for `min_cycle_duration` and `keep_alive` must be set as "hh:mm:ss" or it must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. Alternatively, it can be an integer that represents time in seconds. Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' hvac modes. You can force your `generic_thermostat` to avoid starting by setting HVAC mode to 'off'. @@ -95,7 +95,6 @@ Please note that when changing the preset mode to away, you will force a target ## Full configuration example ```yaml -# Full example configuration.yaml entry climate: - platform: generic_thermostat name: Study From da129637103eb74e96338bce448bf68b62262c2f Mon Sep 17 00:00:00 2001 From: Sean Mooney Date: Wed, 16 Oct 2019 21:40:30 -0400 Subject: [PATCH 178/289] Update directions to user profile page User profile page was moved from the top of sidebar to bottom of sidebar starting in 0.96, this text was outdated. --- source/_integrations/frontend.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown index a059eb35475..2abaf4600fd 100644 --- a/source/_integrations/frontend.markdown +++ b/source/_integrations/frontend.markdown @@ -111,7 +111,7 @@ automation: ### Manual Theme Selection -When themes are enabled in the `configuration.yaml` file, a new option will show up in the user profile menu (accessed by clicking your user account initials at the top of the sidebar). You can then choose any installed theme from the dropdown list and it will be applied immediately. +When themes are enabled in the `configuration.yaml` file, a new option will show up in the user profile page (accessed by clicking your user account initials at the bottom of the sidebar). You can then choose any installed theme from the dropdown list and it will be applied immediately.

@@ -138,7 +138,7 @@ HTML will be loaded via `` on an ### Manual Language Selection -The browser language is automatically detected. To use a different language, go to the user profile menu (accessed by clicking your user account initials at the top of the sidebar) and select one. It will be applied immediately. +The browser language is automatically detected. To use a different language, go to the user profile page (accessed by clicking your user account initials at the bottom of the sidebar) and select one. It will be applied immediately.

From 452cb7fef0c231674fd4c4b280a642cdbdd83fb0 Mon Sep 17 00:00:00 2001 From: Yann Jajkiewicz Date: Thu, 17 Oct 2019 10:42:48 +0200 Subject: [PATCH 179/289] Fix markdown table syntax for system log --- source/_integrations/system_log.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/system_log.markdown b/source/_integrations/system_log.markdown index b1a14f1d906..3f8fa87f588 100644 --- a/source/_integrations/system_log.markdown +++ b/source/_integrations/system_log.markdown @@ -53,7 +53,7 @@ Write a log entry Errors and warnings are posted as the event `system_log_event`, so it is possible to write automations that trigger whenever a warning or error occurs. The following information is included in each event: | Field | Description | -|-------------------------------------------------------------------------------------------| +|-------------|-----------------------------------------------------------------------------| | `level` | Either `WARNING` or `ERROR` depending on severity. | | `source` | File that triggered the error, e.g., `core.py` or `media_player/yamaha.py`. | | `exception` | Full stack trace if available, an empty string otherwise. | From b009ca8fd9be612939a0f132a12bb6c5dfa61eaa Mon Sep 17 00:00:00 2001 From: Melvin Date: Thu, 17 Oct 2019 11:07:56 +0200 Subject: [PATCH 180/289] Update todoist page for spelling mistake --- source/_integrations/todoist.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown index 1632d27aaff..7c82331fc4d 100644 --- a/source/_integrations/todoist.markdown +++ b/source/_integrations/todoist.markdown @@ -156,7 +156,7 @@ Here are two example JSON payloads resulting in the same task: - **due_date_string** (*Optional*): When the task should be due, in [natural language](https://support.todoist.com/hc/en-us/articles/205325931-Dates-and-Times). Mutually exclusive with `due_date` -- **due_date_lang** (*Optional*): When `due_date_string` is set, it is posisble to set the language. +- **due_date_lang** (*Optional*): When `due_date_string` is set, it is possible to set the language. Valid languages are: `en`, `da`, `pl`, `zh`, `ko`, `de`, `pt`, `ja`, `it`, `fr`, `sv`, `ru`, `es`, `nl` - **due_date** (*Optional*): When the task should be due, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format. Mutually exclusive with `due_date_string`. From ebab213867fb9ecfdc5427d43053c45e0f2c4c8e Mon Sep 17 00:00:00 2001 From: Tobias Efinger Date: Thu, 17 Oct 2019 11:27:16 +0200 Subject: [PATCH 181/289] Add service description for route53 --- source/_integrations/route53.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/route53.markdown b/source/_integrations/route53.markdown index b682f582fa1..0d9e2264d34 100644 --- a/source/_integrations/route53.markdown +++ b/source/_integrations/route53.markdown @@ -101,3 +101,7 @@ ttl: type: integer default: 300 {% endconfiguration %} + +### Service `route53.update_records` + +Use this service to manually trigger an update of the dns records. From 4f0bd105bafc487740a83b98a2bcfbb781119055 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 17 Oct 2019 11:32:42 +0200 Subject: [PATCH 182/289] :pencil2: Tweak --- source/_integrations/route53.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_integrations/route53.markdown b/source/_integrations/route53.markdown index 0d9e2264d34..d0274ee8717 100644 --- a/source/_integrations/route53.markdown +++ b/source/_integrations/route53.markdown @@ -102,6 +102,8 @@ ttl: default: 300 {% endconfiguration %} +## Services + ### Service `route53.update_records` -Use this service to manually trigger an update of the dns records. +Use this service to manually trigger an update of the DNS records. From de2e65bd0960b71985fee24c9b9c238eeccdd9da Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 17 Oct 2019 12:21:39 +0200 Subject: [PATCH 183/289] :pencil2: Tweak --- source/_integrations/generic_thermostat.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/generic_thermostat.markdown b/source/_integrations/generic_thermostat.markdown index 2525bc02131..abadb298863 100644 --- a/source/_integrations/generic_thermostat.markdown +++ b/source/_integrations/generic_thermostat.markdown @@ -85,7 +85,6 @@ precision: default: "`0.5` for Celsius and `1.0` for Fahrenheit." {% endconfiguration %} -Notes Time for `min_cycle_duration` and `keep_alive` must be set as "hh:mm:ss" or it must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. Alternatively, it can be an integer that represents time in seconds. Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' hvac modes. You can force your `generic_thermostat` to avoid starting by setting HVAC mode to 'off'. From 9bd098655f9bd39aa2e2ae1a02a4b0cb34952b6e Mon Sep 17 00:00:00 2001 From: mar005 Date: Thu, 17 Oct 2019 09:15:24 -0500 Subject: [PATCH 184/289] Updated information on supported countries (#10832) Added the link and the verbiage to warn users that not all countries support sender ID such as the US, and added the link. --- source/_integrations/twilio_sms.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/twilio_sms.markdown b/source/_integrations/twilio_sms.markdown index 04b774b4c40..4b7b01a9445 100644 --- a/source/_integrations/twilio_sms.markdown +++ b/source/_integrations/twilio_sms.markdown @@ -23,7 +23,7 @@ notify: {% configuration %} from_number: - description: An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. Alternatively, a sender ID can be used instead of a phone number. The sender ID must be formatted according to Twilio's guidelines. See [Twilio's guide to sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Getting-started-with-Alphanumeric-Sender-ID) for more information. + description: An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. Alternatively, a sender ID can be used instead of a phone number. The sender ID must be formatted according to Twilio's guidelines. See [Twilio's guide to sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Getting-started-with-Alphanumeric-Sender-ID) for more information. Do keep in mind that not all countries support sender ID. See [Twilio's page of supported countries](https://support.twilio.com/hc/en-us/articles/223133767-International-support-for-Alphanumeric-Sender-ID) for more information. required: true type: string name: From 248f0e33790ed9ed7a7055665fa0fc9b7cdef115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren?= Date: Thu, 17 Oct 2019 17:29:04 +0200 Subject: [PATCH 185/289] Insolvency warning updated (#10851) --- source/_integrations/nello.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/nello.markdown b/source/_integrations/nello.markdown index fc1d5492e3b..b6f189168fa 100644 --- a/source/_integrations/nello.markdown +++ b/source/_integrations/nello.markdown @@ -10,7 +10,7 @@ ha_iot_class: Cloud Polling ---

-Locumi Labs, the manufacturer of Nello, entered insolvency on the 2nd of October 2019 closed their cloud service. Since Nello One locks require this cloud service, the locks will cease to operate as of the 18th October 2019. +Locumi Labs, the manufacturer of Nello, went bankrupt on 2 October 2019. Since Nello One locks require this cloud service, the locks will no longer work if the Nello shuts down the servers, which according to the official announcement should not happen for the time being. Nello has promised existing users via email that they will work on an alternative to use the lock without a server.
The `nello` platform allows you to control [Nello](https://www.nello.io) intercoms. From 816660cdbb5829bebf60daa317b4cf59a4fbc9f5 Mon Sep 17 00:00:00 2001 From: Hadi Victorya <33802468+hadipsy27@users.noreply.github.com> Date: Thu, 17 Oct 2019 22:31:30 +0700 Subject: [PATCH 186/289] update readme link (#10518) this link {https://travis-ci.org/home-assistant/home-assistant.github.io} doesn't work, I am deleted from README --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 728fc3c4a93..5fd4c6e2389 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ [![Discord](https://img.shields.io/discord/330944238910963714.svg)](https://discord.gg/CxqDrfU) -[![Travis branch](https://img.shields.io/travis/home-assistant/home-assistant.github.io/next.svg)](https://travis-ci.org/home-assistant/home-assistant.github.io) [![Krihelimeter](https://img.shields.io/badge/Krihelimeter-unknown-brightgreen.svg)](http://www.krihelinator.xyz) [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) From d3d8ad8f58fcc18d25b3caffcd6d8d21d6ad78a1 Mon Sep 17 00:00:00 2001 From: KaiboshOz <16894159+KaiboshOz@users.noreply.github.com> Date: Fri, 18 Oct 2019 02:44:48 +1100 Subject: [PATCH 187/289] username-host field - clarify use of '%' (#10347) * username-host field - clarify use of '%' Clarify that '%' is used in host field when wanting to connect *from* multiple hosts * :pencil2: Tweak --- source/_addons/mariadb.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_addons/mariadb.markdown b/source/_addons/mariadb.markdown index a945d69f12b..844f77a88ae 100644 --- a/source/_addons/mariadb.markdown +++ b/source/_addons/mariadb.markdown @@ -41,7 +41,7 @@ logins: required: true type: string host: - description: Host for account. If you need an account on multiple hosts, use '%'. + description: Host for account. Use '%', to accept connections for this account from any host. required: true type: string password: From 9c465abc77d4930a6bc735e69dd6918502be2655 Mon Sep 17 00:00:00 2001 From: xelprep Date: Thu, 17 Oct 2019 09:30:31 -0700 Subject: [PATCH 188/289] Snips Doc - Fix link (#10772) * Snips Doc - Fix link The original author intended to link to a specific `if` statement that strips a username from an intent. * :pencil2: Removed the link --- source/_integrations/snips.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/snips.markdown b/source/_integrations/snips.markdown index ebcc67f9548..1937ef70490 100644 --- a/source/_integrations/snips.markdown +++ b/source/_integrations/snips.markdown @@ -135,7 +135,7 @@ Alternatively, MQTT can be configured to bridge messages between servers if usin In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/integrations/intent_script) component. For instance, the following block handles a `ActivateLightColor` intent to change light colors: -Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips integration in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/integrations/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips integration is trying to match the non-username version of the intent (i.e., just `playmusic`). +Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips integration in Home Assistant will try and strip off the username. Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips integration is trying to match the non-username version of the intent (i.e., just `playmusic`). {% raw %} ```yaml From 591332afb537a3bdcc9d444da1ca442214fd791c Mon Sep 17 00:00:00 2001 From: Caleb Mah Date: Fri, 18 Oct 2019 16:11:30 +0800 Subject: [PATCH 189/289] Fix mqtt discovery link (#10858) --- source/_posts/2017-07-02-release-48.markdown | 2 +- source/_posts/2017-11-18-release-58.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_posts/2017-07-02-release-48.markdown b/source/_posts/2017-07-02-release-48.markdown index c72da3d136e..1c80069d819 100644 --- a/source/_posts/2017-07-02-release-48.markdown +++ b/source/_posts/2017-07-02-release-48.markdown @@ -469,7 +469,7 @@ light: [media_player.plex docs]: /integrations/plex#media-player [media_player.soundtouch docs]: /integrations/soundtouch [mqtt docs]: /integrations/mqtt/ -[mqtt.discovery docs]: /integrations/mqtt.discovery/ +[mqtt.discovery docs]: /docs/mqtt/discovery/ [notify.clicksend docs]: /integrations/clicksend [notify.html5 docs]: /integrations/html5 [notify.smtp docs]: /integrations/smtp diff --git a/source/_posts/2017-11-18-release-58.markdown b/source/_posts/2017-11-18-release-58.markdown index 7193cb8751f..6a32e4ca6c4 100644 --- a/source/_posts/2017-11-18-release-58.markdown +++ b/source/_posts/2017-11-18-release-58.markdown @@ -428,7 +428,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [media_player.webostv docs]: /integrations/webostv#media-player [media_player.yamaha_musiccast docs]: /integrations/yamaha_musiccast/ [mqtt docs]: /integrations/mqtt/ -[mqtt.discovery docs]: /integrations/mqtt.discovery/ +[mqtt.discovery docs]: /docs/mqtt/discovery/ [mqtt.server docs]: /integrations/mqtt.server/ [mqtt_statestream docs]: /integrations/mqtt_statestream/ [neato docs]: /integrations/neato/ From b81fb3ebd7b0040a32d28460bc923f16d3b233c6 Mon Sep 17 00:00:00 2001 From: Jonathan Jefferies Date: Fri, 18 Oct 2019 12:23:52 +0100 Subject: [PATCH 190/289] Fix incorrect summary of services (#10860) --- source/_integrations/input_text.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown index a43fa6a3aa4..1ae093a378c 100644 --- a/source/_integrations/input_text.markdown +++ b/source/_integrations/input_text.markdown @@ -71,7 +71,7 @@ input_text: ### Services -This integrations provide three services to modify the state of the `input_text`. +This integration provides a single service to modify the state of the `input_text`. | Service | Data | Description | | ------- | ---- | ----------- | From 749d08efa934a21c46f6bdedfd381b8ea868b4f4 Mon Sep 17 00:00:00 2001 From: Caleb Mah Date: Fri, 18 Oct 2019 21:42:32 +0800 Subject: [PATCH 191/289] Fix broken links (#10855) * fix generic camera link * fix hassbian.local link * fix mqtt discovery link --- .../2016-08-27-notifications-hue-fake-unification.markdown | 2 +- source/_posts/2017-02-03-hassbian-toybox.markdown | 2 +- source/_posts/2017-06-04-release-46.markdown | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown b/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown index a12c1353ee3..09472ee18ac 100644 --- a/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown +++ b/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown @@ -253,7 +253,7 @@ Talk to you soon on Discord and in your pull request comments! [Wunderground]: /integrations/wunderground [monitoring]: /integrations/ffmpeg_motion [MJPEG]: /integrations/mjpeg -[Generic]: /integrations/generic +[Generic]: /integrations/generic_ip_camera [positions]: /integrations/zwave#cover [forecast]: /integrations/darksky [Bluetooth]: /integrations/bluetooth_le_tracker diff --git a/source/_posts/2017-02-03-hassbian-toybox.markdown b/source/_posts/2017-02-03-hassbian-toybox.markdown index 561510383e3..1dc2e7ceca5 100644 --- a/source/_posts/2017-02-03-hassbian-toybox.markdown +++ b/source/_posts/2017-02-03-hassbian-toybox.markdown @@ -54,7 +54,7 @@ To get started with the new image, check out the installation instructions in th [cec]: /integrations/hdmi_cec/ [hassbian-repo]: https://github.com/home-assistant/hassbian-scripts -[hassbian-avahi]: hassbian.local +[hassbian-avahi]: https://hassbian.local [landrash-github]: https://github.com/Landrash [gs-image]: /docs/installation/hassbian/installation/ [discord]: https://discord.gg/8X8DTH4 diff --git a/source/_posts/2017-06-04-release-46.markdown b/source/_posts/2017-06-04-release-46.markdown index de6ecb3d5ee..e9de42940d8 100644 --- a/source/_posts/2017-06-04-release-46.markdown +++ b/source/_posts/2017-06-04-release-46.markdown @@ -346,7 +346,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [media_player.spotify docs]: /integrations/spotify [media_player.volumio docs]: /integrations/volumio [modbus docs]: /integrations/modbus/ -[mqtt.discovery docs]: /integrations/mqtt.discovery/ +[mqtt.discovery docs]: /docs/mqtt/discovery/ [notify.ios docs]: /docs/ecosystem/ios/notifications/basic/ [notify.rest docs]: /integrations/notify.rest/ [notify.slack docs]: /integrations/slack From 784b14ef39f3486ab06c19fbda79a8bec7742593 Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 15:53:36 +0200 Subject: [PATCH 192/289] Updated link to luci wiki page (#10886) --- source/_integrations/luci.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/luci.markdown b/source/_integrations/luci.markdown index 49761c7377b..172aa93f219 100644 --- a/source/_integrations/luci.markdown +++ b/source/_integrations/luci.markdown @@ -9,7 +9,7 @@ ha_release: pre 0.7 _This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/integrations/openwrt/)._ -This is a presence detection scanner for OpenWRT using [luci](http://wiki.openwrt.org/doc/techref/luci). +This is a presence detection scanner for OpenWRT using [luci](https://openwrt.org/docs/techref/luci).
From 497eb00e8f2c8521da2ffc00fde700ceee457b30 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 19 Oct 2019 16:02:28 +0200 Subject: [PATCH 193/289] =?UTF-8?q?=F0=9F=94=97=20Updating=20broken=20link?= =?UTF-8?q?s=20in=20"oasa=5Ftelematics"=20(#10884)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_integrations/oasa_telematics.markdown | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/_integrations/oasa_telematics.markdown b/source/_integrations/oasa_telematics.markdown index b71b3b986db..c761c32c005 100644 --- a/source/_integrations/oasa_telematics.markdown +++ b/source/_integrations/oasa_telematics.markdown @@ -29,13 +29,11 @@ The `route_id` can be obtained by looking up the "LineCode" of the route you wan Then getting the "RouteCode" from this link: - -(Replace "LINE_CODE" with the "LineCode" you copied from the first link) find the route you need and copy the `RouteCode` field. +`http://telematics.oasa.gr/api/?act=webGetRoutes&p1=LINE_CODE` (Replace "LINE_CODE" with the "LineCode" you copied from the first link) find the route you need and copy the `RouteCode` field. Next, get the `stop_id` from this link: - -(Replace "ROUTE_CODE" with the "RouteCode" you got from the previous link) find the stop you need and copy the `StopID` field. The route must pass from this stop in order for the sensor to work. +`http://telematics.oasa.gr/api/?act=webGetStops&p1=ROUTE_CODE` (Replace "ROUTE_CODE" with the "RouteCode" you got from the previous link) find the stop you need and copy the `StopID` field. The route must pass from this stop in order for the sensor to work. {% configuration %} route_id: From 74c4427bdc06150f60d2608f46ad3f88c7711366 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 19 Oct 2019 16:03:38 +0200 Subject: [PATCH 194/289] =?UTF-8?q?=F0=9F=94=97=20Updating=20broken=20link?= =?UTF-8?q?=20in=20"discord"=20(#10883)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_integrations/discord.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown index 15d5024a48d..a3331c40ebb 100644 --- a/source/_integrations/discord.markdown +++ b/source/_integrations/discord.markdown @@ -46,7 +46,7 @@ Bots can only send messages to servers or attach local available images. To add Now use the Discord Authorization page with the **Client ID** of your [bot](https://discordapp.com/developers/docs/topics/oauth2#bots). -[https://discordapp.com/api/oauth2/authorize?client_id=[CLIENT_ID]&scope=bot&permissions=0](https://discordapp.com/api/oauth2/authorize?client_id=[CLIENT_ID]&scope=bot&permissions=0) +`https://discordapp.com/api/oauth2/authorize?client_id=[CLIENT_ID]&scope=bot&permissions=0`

From b64dc1bedb8f8faf70ff0ff64b81cfb134fa75fe Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 16:05:28 +0200 Subject: [PATCH 195/289] Added status for Samsung Q6F (#10879) --- source/_integrations/samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index 724886ec6a2..aa87ba37614 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -112,6 +112,7 @@ Currently tested but not working models: - JU7500 - Unable to see state and unable to control - MU6125 - Unable to see state and unable to control (Tested on UE58MU6125 on port 8001 and 8801) - MU6300 - Port set to 8001, turning on works, status not working reliably, turning off is not permanent (it comes back on) +- Q6F – Port set to 8001, turning on works, turning off does not work, status not working reliably. - Q7F - State is always "off" and unable to control via port 8001. None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, since Samsung have used a different (encrypted) type of interface for these. From b49d13c42b7f42cc6483fb88588390ae50ab2ea4 Mon Sep 17 00:00:00 2001 From: Caleb Mah Date: Sat, 19 Oct 2019 22:24:02 +0800 Subject: [PATCH 196/289] Fix blog link (#10876) --- source/_posts/2017-11-18-release-58.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2017-11-18-release-58.markdown b/source/_posts/2017-11-18-release-58.markdown index 6a32e4ca6c4..253ca44b625 100644 --- a/source/_posts/2017-11-18-release-58.markdown +++ b/source/_posts/2017-11-18-release-58.markdown @@ -23,7 +23,7 @@ Talking about our translators, we now have 445 people with an account to help wi And because more translations is more better, [@robbiet480] has added the iOS app to Lokalise, our translation management platform. The iOS app is currently supported in 7 different languages. -[Learn more about how to help with translations](/2017/11/06/frontend-translations/) +[Learn more about how to help with translations](/blog/2017/11/06/frontend-translations/) ## Frontend improvements continue From a301435004869064dac80217d47dfc8d251596b3 Mon Sep 17 00:00:00 2001 From: Caleb Mah Date: Sat, 19 Oct 2019 22:26:03 +0800 Subject: [PATCH 197/289] Fix websocket sensor link (#10877) --- source/_posts/2018-10-29-release-81.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2018-10-29-release-81.markdown b/source/_posts/2018-10-29-release-81.markdown index 8312fb5ee2e..8ac74a3bdb7 100644 --- a/source/_posts/2018-10-29-release-81.markdown +++ b/source/_posts/2018-10-29-release-81.markdown @@ -790,7 +790,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [rflink docs]: /integrations/rflink/ [route53 docs]: /integrations/route53/ [sabnzbd docs]: /integrations/sabnzbd/ -[sensor.api_streams docs]: /integrations/sensor.websocket_apis/ +[sensor.api_streams docs]: /integrations/sensor.websocket_api/ [sensor.bloomsky docs]: /integrations/bloomsky/#sensor [sensor.bmw_connected_drive docs]: /integrations/bmw_connected_drive [sensor.dnsip docs]: /integrations/dnsip From 942db484f71070599644e91e2f337f9bcf4b9b86 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 19 Oct 2019 16:54:38 +0200 Subject: [PATCH 198/289] =?UTF-8?q?=F0=9F=94=97=20Updating=20broken=20link?= =?UTF-8?q?s=20in=20"Hass.IO=20installation"=20(#10882)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/hassio/installation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index a262396b468..9c33585d450 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -47,7 +47,7 @@ The following will take you through the steps required to install Hass.io. -6. You will be able to reach your installation at [http://hassio.local:8123][local] (if your router supports mDNS, otherwise see below). +6. You will be able to reach your installation at `http://hassio.local:8123` (if your router supports mDNS, otherwise see below). 7. Enable either the [Samba add-on][samba] or the [SSH add-on][ssh] to manage your configuration in `/config/` (From the UI choose **Hass.io** which is located in the sidebar). From 64beb2b7a03970200887d03f05fa9190baaefb89 Mon Sep 17 00:00:00 2001 From: chriscla Date: Sat, 19 Oct 2019 07:55:09 -0700 Subject: [PATCH 199/289] Fix Transmission example message formatting (#10875) * Fix message formatting * :pencil2: Tweak --- source/_integrations/transmission.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown index 067bfafb791..0c0f62080db 100644 --- a/source/_integrations/transmission.markdown +++ b/source/_integrations/transmission.markdown @@ -97,6 +97,7 @@ Inside of the event, there is the name of the torrent that is started or complet Example of configuration of an automation with completed torrents: +{% raw %} ```yaml - alias: Completed Torrent trigger: @@ -108,6 +109,7 @@ Example of configuration of an automation with completed torrents: title: "Torrent completed!" message: "{{trigger.event.data.name}}" ``` +{% endraw %} ## Services From b5c601bad99696a91fd2ad6e1d041d05776387f6 Mon Sep 17 00:00:00 2001 From: Caleb Mah Date: Sat, 19 Oct 2019 22:56:15 +0800 Subject: [PATCH 200/289] Fix openalpr_local links (#10878) --- source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown | 2 +- source/_posts/2017-01-14-iss-usps-images-packages.markdown | 2 +- source/_posts/2017-11-04-release-57.markdown | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown index c7e1047e04f..57f421e33ee 100644 --- a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown +++ b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown @@ -172,7 +172,7 @@ Since 0.28 [automation rules](/blog/2016/09/10/notify-group-reload-api-pihole/#r [Modbus]: /integrations/modbus/ [Nest]: /integrations/nest/ [Nuimo]: /integrations/nuimo_controller/ -[OpenALPR]: /integrations/openalpr_local_local +[OpenALPR]: /integrations/openalpr_local/ [passwordless]: /integrations/http/ [Simplepush]: /integrations/simplepush [Slack]: /integrations/slack diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index da1a7741a30..a170f771391 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -176,7 +176,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [packages]: /topics/packages/ [pico]: /integrations/picotts [ping]: /integrations/ping -[plates]: /integrations/openalpr_local_local +[plates]: /integrations/openalpr_local/ [quebec]: /integrations/hydroquebec [rest]: /integrations/rest_command/ [sma]: /integrations/sma#sensors diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown index 08a7e03b44b..38f721c9348 100644 --- a/source/_posts/2017-11-04-release-57.markdown +++ b/source/_posts/2017-11-04-release-57.markdown @@ -562,7 +562,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [hassio docs]: /integrations/hassio/ [history docs]: /integrations/history/ [http docs]: /integrations/http/ -[image_processing.openalpr_local docs]: /integrations/openalpr_local_local +[image_processing.openalpr_local docs]: /integrations/openalpr_local/ [input_number docs]: /integrations/input_number/ [input_text docs]: /integrations/input_text/ [introduction docs]: /integrations/introduction/ From 9bfe20dce733279861cc80b51e5bd29494475b83 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 19 Oct 2019 16:57:35 +0200 Subject: [PATCH 201/289] Updating broken links (#10880) Replaced links to non-existing domains with code blocks. --- source/getting-started/index.markdown | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 8b5bebb9eda..f19a4bcb014 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -62,11 +62,9 @@ We will need a few things to get started with installing Home Assistant. The lat 5. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too. 6. Connect your Raspberry Pi to the power supply, so it turns on. 7. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes. -8. Home Assistant will be available at [http://hassio.local:8123][local]. If you are running an older Windows or have stricter network configuration, you might need to access Home Assistant at [http://hassio:8123][host]. +8. Home Assistant will be available at `http://hassio.local:8123`. If you are running an older Windows or have stricter network configuration, you might need to access Home Assistant at `http://hassio:8123`. 9. If you have used a USB-stick for configuring the network, it can now be removed. -[local]: http://hassio.local:8123 -[host]: http://hassio:8123 [the examples]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md ### [Next step: Onboarding »][next-step] From 36cab8a46b565d8135f84c6847f4b993b1eef292 Mon Sep 17 00:00:00 2001 From: claughinghouse Date: Sat, 19 Oct 2019 11:08:02 -0400 Subject: [PATCH 202/289] Remove analytics-receiver source ref (#10870) Ref #10491 --- source/_posts/2016-10-24-explaining-the-updater.markdown | 5 ----- 1 file changed, 5 deletions(-) diff --git a/source/_posts/2016-10-24-explaining-the-updater.markdown b/source/_posts/2016-10-24-explaining-the-updater.markdown index b81c1b0257e..ed9a4ecf1ce 100644 --- a/source/_posts/2016-10-24-explaining-the-updater.markdown +++ b/source/_posts/2016-10-24-explaining-the-updater.markdown @@ -45,12 +45,7 @@ We decided to have it enabled by default because we consider the information tha It is in our short-term planning to add an option to control this to our frontend. -## Source Code -The source code of our updater AWS Lambda function is now available [here][source]. - - [0.31]: /blog/2016/10/22/flash-briefing-updater-hacktoberfest/#comment-2965607849 [geolite]: https://dev.maxmind.com/geoip/geoip2/geolite2/ [opt-out]: /integrations/updater/ [rpi-image]: /blog/2016/10/01/we-have-raspberry-image-now/ -[source]: https://github.com/home-assistant/Analytics-Receiver From 82cd77b6cb757acdbd5a2d3fa7a760c960b1e153 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 19 Oct 2019 17:08:35 +0200 Subject: [PATCH 203/289] =?UTF-8?q?=F0=9F=94=97=20Fix=20broken=20local=20l?= =?UTF-8?q?ink=20(#10881)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_integrations/sabnzbd.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/sabnzbd.markdown b/source/_integrations/sabnzbd.markdown index 6deb13f40c4..9f41839fe57 100644 --- a/source/_integrations/sabnzbd.markdown +++ b/source/_integrations/sabnzbd.markdown @@ -101,7 +101,7 @@ sabnzbd: - total_size ``` -This will attempt to access your SABnzbd instance at https://192.168.1.32:9090 and will create sensors named +This will attempt to access your SABnzbd instance at `https://192.168.1.32:9090` and will create sensors named `sensor.sab_status`, `sensor.sab_speed`, etc. ## Services From 58636e76c77fe6a6a85daf2e0bc5d3e185898e0a Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 19 Oct 2019 21:47:16 +0200 Subject: [PATCH 204/289] Remove stride (#10897) * Remove stride * Remove stride * Remove Stride --- source/_integrations/stride.markdown | 64 ---------------------- source/_redirects | 1 - source/images/supported_brands/stride.png | Bin 1615 -> 0 bytes 3 files changed, 65 deletions(-) delete mode 100644 source/_integrations/stride.markdown delete mode 100644 source/images/supported_brands/stride.png diff --git a/source/_integrations/stride.markdown b/source/_integrations/stride.markdown deleted file mode 100644 index ef8a6e48397..00000000000 --- a/source/_integrations/stride.markdown +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "Stride" -description: "Instructions how to add Stride notifications to Home Assistant." -logo: stride.png -ha_category: - - Notifications -ha_release: 0.66 ---- - -

- -Slack has taken over Hipchat and Stride and will, therefore, discontinue these platforms. Stride will be discontinued after February 15th, 2019. For more information [read the announcement](https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership). - -
- -The `stride` platform allows you to send notifications from Home Assistant to [Stride](https://stride.com/). - -You need to obtain a [Stride API token](https://developer.atlassian.com/cloud/stride/security/authentication/#using-room-tokens) to be able to send notifications. When creating the token, you'll see a section labeled "Use this conversation URL to post messages" - it will look something like "https://api.atlassian.com/site/55872e9f-047e-a619-b32c-19d37fbc6038/conversation/26c98c26-0ffd-a11e-3a55-1b397cb71fe0/message". The first set of numbers and letters (`55872e9f-047e-a619-b32c-19d37fbc6038`) is the Cloud ID, and the second set (`26c98c26-0ffd-a11e-3a55-1b397cb71fe0`) is the Room ID. - -To enable the Stride notification in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -notify: - - platform: stride - cloudid: CLOUD-ID - token: TOKEN - room: ROOM-ID -``` - -{% configuration %} -name: - description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. - required: false - default: notify - type: string -cloudid: - description: The Stride Cloud ID to use for sending Stride notification. - required: true - type: string -token: - description: The Stride API token to use for sending Stride notifications. - required: true - type: string -room: - description: The default room to post to if no room is explicitly specified when sending the notification. - required: true - type: string -panel: - description: Setting panel will override the default panel type (`None`) for the notification. By default not setting this will post to Stride without using a panel type. Valid options are 'None', 'info', 'note', 'tip', 'warning'. - required: false - type: string -{% endconfiguration %} - -### Stride service data - -The following attributes can be placed `data` for extended functionality. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `room` | yes | (int) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml. -| `panel` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml. - -To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_redirects b/source/_redirects index 4663b8f21e9..59b2ef6626a 100644 --- a/source/_redirects +++ b/source/_redirects @@ -596,7 +596,6 @@ /components/notify.simplepush /integrations/simplepush /components/notify.slack /integrations/slack /components/notify.smtp /integrations/smtp -/components/notify.stride /integrations/stride /components/notify.synology_chat /integrations/synology_chat /components/notify.syslog /integrations/syslog /components/notify.telegram /integrations/telegram diff --git a/source/images/supported_brands/stride.png b/source/images/supported_brands/stride.png deleted file mode 100644 index 4d91980ce8abf95fef28b1cfdcd78ab814b4ae75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1615 zcmV-V2C(^wP)Px#V^B;~MMrQ;r{R?5+9eDHw zS=1#sSS5u23SZg+RnHuE@)K+3W1W-{0000RbW%=J0A8e$2h{W&;t)*7w>xj|C_02; zrg)3Z%I>Mt0dA5G}f?k!l>I zG4zolnEoKh>mJ(iw8RZI%y0I(oH|WrJvCYr3UaCP>13;aPhuuf2KxIRIc23NtySadv^a92 z)1POaBsKOk(x`<3a~giB8we>Bik4^(;wDG*XDK96*~1H0&GBKn?DsOMP@b8R^fK%4 z(#%G}MUVz1zUD!k-vuEIH4%vQym0U0B77tX|9U(!B|+`z(K-^g6JeG>BtOi90K2Zj zIK*WDg6s_;N`p$Y2RJ_-*^=n}bX35Ls{RNB92P)|Y4UU74~`K(-nqDtQw0lN3(})x zq<7ljI2J~(zW@>sB>=ITtYpRWz}dk}QDnWU7%#uPAA2M*dtDht_Ao&$fMC7=VrM+v zVg)KS$?Ok`i9rv|@!lngQMU$Aj4)Vjfrup#J1ChvZp7ARJYz=n*Rj?7eTn_7K|LO zx9{)Q%X5q*`H}?rX(NK9 zFMi%9iLZsgUT2@%bGEUwcM!~&0dbmm5{vTZbf9}B5n+VP1+ndnwC4y%ncz(L_0}sA zt*xs`^!p@<6KyWYOy>5E5hO&37C?GU29&F5?(CGrJ$CQXLSjk zcaw{I%%&uqF7>*GA_Gnft5pz}{GyW5`Gp5@6{O_LiUcH{W7|uVXjOX9?H7i{(N0U< zbr3fX)pV=iLm6;i_!3C4wywiPTauJ!o7bwKk%N358RCxHJ~VWEE42aQrko8TqKd^E zE8*)o6qQJH0O>vc>pWb6_=Y5|z9v}03Y1EzvhqdBSiZV_QioyF6cBv?(%%#+ju4_{ zp}(>)x%i%j-U`>0BhINR8)?9M5X

jRMAoBr52W5Mx6(9wnXjX**~U#Jhxo-%dpr&3lurtuBVAR zuS>##m_Z@2C-S~~@F~clmPykpEx<}S2Xea~kH_2PJo}=JUo_{@|GVEN?#@e?u&^Qx zWXSY4jro=-?#L8`gu5x;4x3H}YqOa2s*PHv@m7vtbJgj5UU^%{&w From 044e26c6e12f5da50981931dae59063c5eaa1a60 Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 21:53:30 +0200 Subject: [PATCH 205/289] Updated http to https in URL (#10896) --- source/_integrations/buienradar.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/buienradar.markdown b/source/_integrations/buienradar.markdown index 3db8a463997..522e3470558 100644 --- a/source/_integrations/buienradar.markdown +++ b/source/_integrations/buienradar.markdown @@ -9,7 +9,7 @@ ha_release: 0.47 ha_iot_class: Cloud Polling --- -The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. +The `buienradar` platform uses [buienradar.nl](https://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the Buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). From 37109df81212a303ae686361bacac95ab44ce72b Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 22:02:34 +0200 Subject: [PATCH 206/289] Updated http to https in URL (#10895) --- source/_integrations/sensor.buienradar.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/sensor.buienradar.markdown b/source/_integrations/sensor.buienradar.markdown index 11d257668f1..2ba53e22811 100644 --- a/source/_integrations/sensor.buienradar.markdown +++ b/source/_integrations/sensor.buienradar.markdown @@ -8,7 +8,7 @@ ha_release: 0.47 ha_iot_class: Cloud Polling --- -The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a webservice that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). +The `buienradar` platform uses [buienradar.nl](https://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a webservice that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). The selected weather station will provide all weather data, with the exception of the forecasted precipitation. The forecasted precipitation data will be retrieved from buienradar using your actual gps-location (and not the location of the nearest weather station). From 132314e15afab5cb723ff4e458a54905bfc5e09c Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 22:03:26 +0200 Subject: [PATCH 207/289] Updated http to https in URL (#10894) --- source/_cookbook/foscam_away_mode_PTZ.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_cookbook/foscam_away_mode_PTZ.markdown b/source/_cookbook/foscam_away_mode_PTZ.markdown index ed1d29e8bf8..c5460a41cb9 100644 --- a/source/_cookbook/foscam_away_mode_PTZ.markdown +++ b/source/_cookbook/foscam_away_mode_PTZ.markdown @@ -4,7 +4,7 @@ description: "Example of how to set Foscam to only have Motion Detection Recordi ha_category: Automation Examples --- -This requires a [Foscam IP Camera](/integrations/foscam) camera with PTZ (Pan, Tilt, Zoom) and CGI functionality ([Source](http://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf)) +This requires a [Foscam IP Camera](/integrations/foscam) camera with PTZ (Pan, Tilt, Zoom) and CGI functionality ([Source](https://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf)) Foscam Cameras can be controlled by Home Assistant through a number of CGI commands. The following outlines examples of the switch, services, and scripts required to move between 2 preset destinations while controlling motion detection, but many other options of movement are provided in the Foscam CGI User Guide linked above. From 9b027281c7a07d92a0279b421814fe3e3a8ce07a Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 22:06:25 +0200 Subject: [PATCH 208/289] Updated http to https in link URL (#10893) --- source/_docs/automation/trigger.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index adf436e668d..2be3ee4b435 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -226,7 +226,7 @@ automation: {% endraw %} -If you want to get more precise, start with the US Naval Observatory [tool](http://aa.usno.navy.mil/data/docs/AltAz.php) which will help you estimate what the solar elevation will be at any specific time. Then from this, you can select from the defined twilight numbers. +If you want to get more precise, start with the US Naval Observatory [tool](https://aa.usno.navy.mil/data/docs/AltAz.php) which will help you estimate what the solar elevation will be at any specific time. Then from this, you can select from the defined twilight numbers. Although the actual amount of light depends on weather, topography and land cover, they are defined as: From 9885723eb1c4f807ae77c6d889c173e20e3df027 Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 22:10:40 +0200 Subject: [PATCH 209/289] Removed dead link (#10891) --- source/help/index.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/help/index.markdown b/source/help/index.markdown index 918566b4ee2..b46e2c6fa5e 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -74,7 +74,6 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/). - [Paulus Schoutsen and Home Assistant - Episode 8](http://codepop.com/open-sourcecraft/episodes/paulus-schoutsen/) - 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 - [Episode #11](https://pythonbytes.fm/episodes/show/11/django-2.0-is-dropping-python-2-entirely-pipenv-for-profile-functionality-and-pythonic-home-automation) at minute 15:20 by [Python Bytes](https://pythonbytes.fm/) - January 2017 - [Now you can hide your smart home on the darknet](https://www.wired.com/2016/07/now-can-hide-smart-home-darknet/) - July 2016 From 6d4bd26880b94c6faa50cb98ce32425c9d8d871e Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Sat, 19 Oct 2019 22:10:52 +0200 Subject: [PATCH 210/289] Add documentation for google assistant local config report state (#10885) * Add documentation for report state * :ambulance: Fix the Netlify build error * :pencil2: Tweaks * :pencil2: Tweaks --- .../_integrations/google_assistant.markdown | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index c3a277e9bf3..f73d616eaec 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -27,6 +27,7 @@ To use Google Assistant, your Home Assistant configuration has to be [externally

## Migrate to release 0.80 and above +
If this is the first time setting up your Google Assistant integration, you can skip this section and continue with the [manual setup instructions](#first-time-setup) below. @@ -98,7 +99,16 @@ If you've added Home Assistant to the home screen, you have to first remove it f 2. Copy and share the link with the new user. 3. When the new user opens the link with their own Google account, it will enable your draft test app under their account. 3. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account. -2. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project: +2. If you want to support actively reporting of state to Google's server (config option `report_state`) and support `google_assistant.request_sync`, you need to generate a service account. + 1. In the GCP Console, go to the [Create Service account key](https://console.cloud.google.com/apis/credentials/serviceaccountkey) page. + 2. From the Service account list, select New service account. + 3. In the Service account name field, enter a name. + 4. In the Service account ID field, enter an ID. + 5. From the Role list, select Service Accounts > Service Account Token Creator. + 6. For the Key type, select the JSON option. + 7. Click Create. A JSON file that contains your key downloads to your computer. + 8. Use the information in this file or the file directly to add to the `service_account`key in the configuration. +3. If you didn't specify a service account and want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project: 1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview). 2. Select your project and click Enable Homegraph API. 3. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials. @@ -113,6 +123,8 @@ Now add the following lines to your `configuration.yaml` file: google_assistant: project_id: YOUR_PROJECT_ID api_key: YOUR_API_KEY + service_account: !include SERVICE_ACCOUNT.JSON + report_state: true exposed_domains: - switch - light @@ -140,9 +152,27 @@ secure_devices_pin: type: string default: "" api_key: - description: Your Homegraph API key (for the `google_assistant.request_sync` service) + description: Your Homegraph API key (for the `google_assistant.request_sync` service). This is not required if a service_account is specified. required: false type: string +service_account: + description: Service account information. You can use an include statement with your downloaded JSON file, enter data here directly or use secrets file to populate. + required: false + type: map + keys: + private_key: + description: Private key in PEM format + requried: true + type: string + client_email: + description: Service email address + required: true + type: string +report_state: + description: Actively report state changes on entities. This speeds up response time for actions affecting multiple entities since Google Assistant knows pre-hand what state they are. It is also required for some features on visual controls. + required: false + default: false + type: boolean expose_by_default: description: "Expose devices in all supported domains by default. If `exposed_domains` domains is set, only these domains are exposed by default. If `expose_by_default` is set to false, devices have to be manually exposed in `entity_config`." required: false From 8935d683c4f0cfc3a1faeabd68884800262799eb Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 22:11:32 +0200 Subject: [PATCH 211/289] Updated Avion URL to https (#10890) --- source/_integrations/avion.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/avion.markdown b/source/_integrations/avion.markdown index e786dd7a92e..5313cfc4eff 100644 --- a/source/_integrations/avion.markdown +++ b/source/_integrations/avion.markdown @@ -8,7 +8,7 @@ logo: avi-on.png ha_release: 0.37 --- -Support for the Avi-on Bluetooth dimmer switch [Avi-On](http://avi-on.com/). +Support for the Avi-on Bluetooth dimmer switch [Avi-On](https://avi-on.com/). ## Setup From 718c4a00e3717b8f9f95b7e167cc2f3d954e59c6 Mon Sep 17 00:00:00 2001 From: SukramJ Date: Sat, 19 Oct 2019 22:12:27 +0200 Subject: [PATCH 212/289] Add climate service to Homematic IP Cloud (#10842) * Add climate service to Homematic IP Cloud ... to select the active profile * fix stale name * Fixed service name --- .../_integrations/homematicip_cloud.markdown | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown index 3dd165384ec..920b69d2412 100644 --- a/source/_integrations/homematicip_cloud.markdown +++ b/source/_integrations/homematicip_cloud.markdown @@ -159,6 +159,7 @@ Within this delay the device registration should be completed in the App, otherw - `homematicip_cloud.activate_vacation`: Activates the vacation mode until the given time. - `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately. - `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately. +- `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index. ### Service Examples @@ -214,11 +215,26 @@ Deactivates the vacation mode immediately. ```yaml ... action: - service: homematicip_cloud.deactivate_vacation_mode + service: homematicip_cloud.deactivate_vacation data: accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx ``` +Set the active climate profile index. + +The index of the climate profile is 1-based. +You can get the required index from the native Homematic IP App. + +```yaml +... +action: + service: homematicip_cloud.set_active_climate_profile + data: + entity_id: climate.livingroom + climate_profile_index: 1 +``` + + ## Additional info Push button devices are only available with a battery sensor. This is due to a limitation of the vendor API (eq3). From e08514cb1415f745d2df93a147f56ab9d3ec2908 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 19 Oct 2019 22:33:23 +0200 Subject: [PATCH 213/289] =?UTF-8?q?=F0=9F=94=97=20Updating=20broken=20link?= =?UTF-8?q?s=20in=20"habitica"=20and=20"html5"=20(#10889)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🔗 Updating broken links in "habitica" * 🔗 Updating broken links in "HTML5" --- source/_integrations/habitica.markdown | 4 ++-- source/_integrations/html5.markdown | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown index b5abb3922a0..7b1c1ca31f3 100644 --- a/source/_integrations/habitica.markdown +++ b/source/_integrations/habitica.markdown @@ -49,7 +49,7 @@ url: description: "URL to your Habitica instance, if you are hosting your own" required: false type: string - default: http://habitica.com + default: https://habitica.com sensors: description: List of sensors to generate for this user. If you don't specify this entry then the default (all sensors) will be generated. If you specify this entry empty then no sensors will be generated. required: false @@ -84,7 +84,7 @@ So let's call the API on `habitica.api_call`. * The `name` key becomes `xxxNotAValidNickxxx`. * The `path` key is trickier. - * Remove 'https://habitica.com/api/v3/' at the beginning of the endpoint URL. + * Remove `https://habitica.com/api/v3/` at the beginning of the endpoint URL. * Split the remaining on slashes (/) and **append the lowercase method** at the end. * You should get `["tasks", "user", "post"]`. To get a better idea of the API you are recommended to try all of the API calls in IPython console [using this package](https://github.com/ASMfreaK/habitipy/blob/master/README.md). * The `args` key is more or less described in the [docs](https://habitica.com/apidoc/). diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown index 08aa479bfc7..21e1396fcaf 100644 --- a/source/_integrations/html5.markdown +++ b/source/_integrations/html5.markdown @@ -341,5 +341,5 @@ If you need to verify domain ownership with Google Webmaster Central/Search Cons 2. Create a directory named `www` in your Home Assistant configuration directory (`/config/` share from Samba add-on). 3. Place the downloaded `google*.html` file in the `www` directory. 4. RESTART Home Assistant. **This is important!** -5. Verify the file can be accessed in the browser, e.g., **https://example.com:8123/local/google123456789.html** (change filename). You should see a plain text message saying "google-site-verification: ...". If you see "404: Not Found" or something else, retry the above steps. +5. Verify the file can be accessed in the browser, e.g., `https://example.com:8123/local/google123456789.html` (change filename). You should see a plain text message saying "google-site-verification: ...". If you see "404: Not Found" or something else, retry the above steps. 6. Go back to Google Webmaster Central/Search Console and proceed with the verification. From 48d2785390015c33ce70895ad329084c71093a90 Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sat, 19 Oct 2019 23:15:39 +0200 Subject: [PATCH 214/289] Removed dead link (#10887) --- source/_integrations/flux_led.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/flux_led.markdown b/source/_integrations/flux_led.markdown index edc02e1ae93..5627d9b881b 100644 --- a/source/_integrations/flux_led.markdown +++ b/source/_integrations/flux_led.markdown @@ -13,7 +13,6 @@ The `flux_led` support is integrated into Home Assistant as a light platform. Se Example of bulbs: - [Flux Smart Lighting](http://www.fluxsmartlighting.com/) -- [MagicLight® Plus - WiFi Smart LED Light Bulb4](https://amzn.to/2X0Zath) - [Flux WiFi Smart LED Light Bulb4](https://amzn.to/2X0dVwu) - [WIFI smart LED light Bulb1](https://amzn.to/2J2fksr) From e9e904705ce1d8cc788adb5b0daf9fa7c79b912d Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Sun, 20 Oct 2019 09:20:10 +0200 Subject: [PATCH 215/289] Updated Jinja URLs (#10892) --- source/_docs/configuration/templating.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 47c20e0daa8..6f130540c94 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -17,13 +17,13 @@ Templating is a powerful feature that allows you to control information going in ## Building templates -Templating in Home Assistant is powered by the [Jinja2](http://jinja.pocoo.org/) templating engine. This means that we are using their syntax and make some custom Home Assistant variables available to templates during rendering. Jinja2 supports a wide variety of operations: +Templating in Home Assistant is powered by the [Jinja2](https://palletsprojects.com/p/jinja) templating engine. This means that we are using their syntax and make some custom Home Assistant variables available to templates during rendering. Jinja2 supports a wide variety of operations: -- [Mathematical operation](http://jinja.pocoo.org/docs/dev/templates/#math) -- [Comparisons](http://jinja.pocoo.org/docs/dev/templates/#comparisons) -- [Logic](http://jinja.pocoo.org/docs/dev/templates/#logic) +- [Mathematical operation](https://jinja.palletsprojects.com/en/master/templates/#math) +- [Comparisons](https://jinja.palletsprojects.com/en/master/templates/#comparisons) +- [Logic](https://jinja.palletsprojects.com/en/master/templates/#logic) -We will not go over the basics of the syntax, as Jinja2 does a great job of this in their [templates documentation](http://jinja.pocoo.org/docs/dev/templates/). +We will not go over the basics of the syntax, as Jinja2 does a great job of this in their [templates documentation](https://jinja.palletsprojects.com/en/master/templates/). The frontend has a template editor tool to help develop and debug templates. Click on the template developer tool icon icon, create your template in the _Template editor_ and check the results on the right. @@ -262,7 +262,7 @@ Closest to some entity: ### Numeric functions and filters -Some of these functions can also be used in a [filter](http://jinja.pocoo.org/docs/dev/templates/#id11). This means they can act as a normal function like this `sqrt(2)`, or as part of a filter like this `2|sqrt`. +Some of these functions can also be used in a [filter](https://jinja.palletsprojects.com/en/master/templates/#id11). This means they can act as a normal function like this `sqrt(2)`, or as part of a filter like this `2|sqrt`. - `log(value, base)` will take the logarithm of the input. When the base is omitted, it defaults to `e` - the natural logarithm. Can also be used as a filter. - `sin(value)` will return the sine of the input. Can be used as a filter. From 4b35f6547736ddcb0a6bb0694a2fdcce4318799b Mon Sep 17 00:00:00 2001 From: a-r-j-a-n Date: Sun, 20 Oct 2019 09:21:53 +0200 Subject: [PATCH 216/289] Update secrets.markdown (#10864) Change because http password moved to auth providers. --- source/_docs/configuration/secrets.markdown | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/_docs/configuration/secrets.markdown b/source/_docs/configuration/secrets.markdown index 4264c7dbe6c..c9d108f9282 100644 --- a/source/_docs/configuration/secrets.markdown +++ b/source/_docs/configuration/secrets.markdown @@ -13,15 +13,19 @@ The workflow for moving private information to `secrets.yaml` is very similar to The entries for password and API keys in the `configuration.yaml` file usually looks like the example below. ```yaml -http: - api_password: YOUR_PASSWORD +homeassistant: + auth_providers: + - type: legacy_api_password + api_password: YOUR_PASSWORD ``` Those entries need to be replaced with `!secret` and an identifier. ```yaml -http: - api_password: !secret http_password +homeassistant: + auth_providers: + - type: legacy_api_password + api_password: !secret http_password ``` The `secrets.yaml` file contains the corresponding password assigned to the identifier. From 4613654bfa633d533f99f76bd0024881824c290e Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Sun, 20 Oct 2019 09:22:11 +0200 Subject: [PATCH 217/289] write water_heater in monospaced font (#10861) --- source/_integrations/homekit.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown index bbeaa1023c8..218af288be1 100644 --- a/source/_integrations/homekit.markdown +++ b/source/_integrations/homekit.markdown @@ -352,7 +352,7 @@ The following integrations are currently supported: | sensor | CarbonDioxideSensor | All sensors that have `co2` as part of their `entity_id` or `co2` as their `device_class` | | sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` | | switch | Switch | Represented as a switch by default but can be changed by using `type` within `entity_config`. | -| water_heater | WaterHeater | All water_heater devices. | +| water_heater | WaterHeater | All `water_heater` devices. | ## Troubleshooting From c270342ddef03cda45551224dec032f88cd3b5b9 Mon Sep 17 00:00:00 2001 From: Robin Date: Sun, 20 Oct 2019 12:10:25 +0200 Subject: [PATCH 218/289] Add instructions for upgrading Home Assistant on FreeNAS (#10900) --- source/_docs/installation/freenas.markdown | 36 +++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown index 0e854549c12..ec7fae5a854 100644 --- a/source/_docs/installation/freenas.markdown +++ b/source/_docs/installation/freenas.markdown @@ -7,6 +7,12 @@ description: "Installation of Home Assistant on your FreeNAS." This has been tested on FreeNAS 11.2 and should also work on FreeBSD 11.x as well. These instructions assume you already have a running and accessible jail. For more information on creating a jail read the official FreeNAS User Guide regarding [Jails](https://www.ixsystems.com/documentation/freenas/11.2/jails.html). Once you have the jail available, follow the steps below. Directories used follow standard BSD conventions but can be adjusted as you wish. +Enter the Home Assistant jail. If you don't know which name you have given the jail, you can use the `iocage list` command to check. +```bash +# If the jail is called 'HomeAssistant' +iocage exec HomeAssistant +``` + Create the user and group that Home Assistant will run as. The user/group ID of `8123` can be replaced if this is already in use in your environment. ```bash @@ -149,7 +155,7 @@ run_rc_command "$1" Make the `rc.d` script executable: ```bash -# chmod +x /usr/local/etc/rc.d/homeassistant +chmod +x /usr/local/etc/rc.d/homeassistant ``` Configure the service to start on boot and start the Home Assistant service: @@ -166,3 +172,31 @@ You can also restart the jail to ensure that Home Assistant starts on boot. USB Z-wave sticks may give `dmesg` warnings similar to "data interface 1, has no CM over data, has no break". This doesn't impact the function of the Z-Wave stick in Home Assistant. Just make sure the proper `/dev/cu*` is used in the Home Assistant `configuration.yaml` file.
+ +# Updating +Before updating, read the changelog to see what has changed and how it affects your Home Assistant instance. Enter the jail using `iocage exec `. Stop the Home Assistant service: + +```bash +service homeassistant stop +``` + +Then, enter the `venv`: + +```bash +su homeassistant +cd /usr/local/share/homeassistant +source ./bin/activate.csh +``` + +Upgrade Home Assistant: + +```bash +pip3 install homeassistant --upgrade +``` + +Log out of the `homeassistant` user and start Home Assistant: + +```bash +exit +service homeassistant start +``` From 4f0f3e289ea8b5050c12cf1400870f478f1fd8c8 Mon Sep 17 00:00:00 2001 From: StephanVinkenborg Date: Sun, 20 Oct 2019 12:17:43 +0200 Subject: [PATCH 219/289] Propose adding test rights to usergroup. (#10859) I got an error without the test rights that it couldn't perform a ping. Ping rights in mikrotik are in the test policy. --- source/_integrations/mikrotik.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/mikrotik.markdown b/source/_integrations/mikrotik.markdown index 9a2a2ffa3a5..909260201a7 100644 --- a/source/_integrations/mikrotik.markdown +++ b/source/_integrations/mikrotik.markdown @@ -112,10 +112,10 @@ If everything is working fine you can disable the pure `api` service in RouterOS ## The user privileges in RouterOS -To use this device tracker you need restricted privileges only. To enhance the security of your MikroTik device create a "read only" user who is able to connect to API only: +To use this device tracker you need restricted privileges only. To enhance the security of your MikroTik device create a "read only" user who is able to connect to API and perform ping test only: ```bash -/user group add name=homeassistant policy=read,api,!local,!telnet,!ssh,!ftp,!reboot,!write,!policy,!test,!winbox,!password,!web,!sniff,!sensitive,!romon,!dude,!tikapp +/user group add name=homeassistant policy=read,api,!local,!telnet,!ssh,!ftp,!reboot,!write,!policy,test,!winbox,!password,!web,!sniff,!sensitive,!romon,!dude,!tikapp /user add group=homeassistant name=homeassistant /user set password="YOUR_PASSWORD" homeassistant ``` From 1518447766340604c8b6019e4df67839587cfea9 Mon Sep 17 00:00:00 2001 From: Sharif Nassar Date: Sun, 20 Oct 2019 03:53:56 -0700 Subject: [PATCH 220/289] nginx_proxy: Add documentation for `cloudflare` flag (#10857) Partial fix for: https://github.com/home-assistant/hassio-addons/issues/776 See also: https://github.com/home-assistant/hassio-addons/pull/795 --- source/_addons/nginx_proxy.markdown | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/_addons/nginx_proxy.markdown b/source/_addons/nginx_proxy.markdown index 1fc02fbd891..53d45c6d607 100644 --- a/source/_addons/nginx_proxy.markdown +++ b/source/_addons/nginx_proxy.markdown @@ -17,7 +17,8 @@ In the `http` section of the `configuration.yaml` file remove `ssl_certificate`, "active": false, "default": "nginx_proxy_default*.conf", "servers": "nginx_proxy/*.conf" - } + }, + "cloudflare": false } ``` @@ -43,6 +44,11 @@ customize: required: false type: boolean default: false +cloudflare: + description: If enabled, configure Nginx with a list of IP addresses directly from Cloudflare that will be used for `set_real_ip_from` directive Nginx config. + required: false + type: boolean + default: false {% endconfiguration %}
From 81dd8c61c9f4c4e4d5a7c446000abfe59c84feda Mon Sep 17 00:00:00 2001 From: Melvin Date: Sun, 20 Oct 2019 13:27:03 +0200 Subject: [PATCH 221/289] =?UTF-8?q?Xiaomi=20Aqara=20Documentation:=20Add?= =?UTF-8?q?=20example=20of=20notifying=20user=20when=E2=80=A6=20(#10846)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Melvin Blokhuijzen --- .../binary_sensor.xiaomi_aqara.markdown | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/_integrations/binary_sensor.xiaomi_aqara.markdown b/source/_integrations/binary_sensor.xiaomi_aqara.markdown index 0103f255b27..d8457fbb018 100644 --- a/source/_integrations/binary_sensor.xiaomi_aqara.markdown +++ b/source/_integrations/binary_sensor.xiaomi_aqara.markdown @@ -99,6 +99,20 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra entity_id: climate.livingroom data: operation_mode: 'Smart schedule' +- alias: Notify if door is opened when away + trigger: + platform: state + entity_id: binary_sensor.door_window_sensor_15xxxxxxc9xx6b + from: 'off' + to: 'on' + condition: + - condition: state + entity_id: group.family + state: 'not_home' + action: + - service: notify.notify_person + data: + message: 'The door has been opened' ``` #### Smoke From bb642159c12fc0b6d82f08a8a36c34cb2d8b4f7b Mon Sep 17 00:00:00 2001 From: akasma74 Date: Sun, 20 Oct 2019 12:29:07 +0100 Subject: [PATCH 222/289] time: relative_time function - description added (#10847) It seems like the function itself has been there for a while but no mention of it in HA docs. --- source/_docs/configuration/templating.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 6f130540c94..9719eb1c148 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -175,6 +175,7 @@ The same thing can also be expressed as a filter: - For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`. - `as_timestamp()` will convert datetime object or string to UNIX timestamp. This function also be used as a filter. - `strptime(string, format)` will parse a string to a datetime based on a [format](https://docs.python.org/3.6/library/datetime.html#strftime-and-strptime-behavior). +- `relative_time` will convert datetime object to its human-friendly "age" string. The age can be in second, minute, hour, day, month or year (but only the biggest unit is considered, e.g. if it's 2 days and 3 hours, "2 days" will be returned). Note that it only works for dates _in the past_. - Filter `timestamp_local` will convert an UNIX timestamp to local time/data. - Filter `timestamp_utc` will convert a UNIX timestamp to UTC time/data. - Filter `timestamp_custom(format_string, local_boolean)` will convert a UNIX timestamp to a custom format, the use of a local timestamp is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime). From a6aaf66be0fd96fb1114bed9c5d711652257a304 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Sun, 20 Oct 2019 07:05:28 -0500 Subject: [PATCH 223/289] Lovelace: missing theme option for thermostat card (#10868) --- source/_lovelace/thermostat.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_lovelace/thermostat.markdown b/source/_lovelace/thermostat.markdown index ba54973011a..941092e775e 100644 --- a/source/_lovelace/thermostat.markdown +++ b/source/_lovelace/thermostat.markdown @@ -25,6 +25,10 @@ name: description: Overwrites friendly name. type: string default: Name of Entity. +theme: + required: false + description: Set to any theme within `themes.yaml` + type: string {% endconfiguration %} ## Example From 87be4e22e188e650028fbb124087d95cf7b4b69b Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Sun, 20 Oct 2019 07:05:48 -0500 Subject: [PATCH 224/289] Lovelace: missing theme option on light card (#10867) --- source/_lovelace/light.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_lovelace/light.markdown b/source/_lovelace/light.markdown index abf5493d8b6..7f47b443c6a 100644 --- a/source/_lovelace/light.markdown +++ b/source/_lovelace/light.markdown @@ -30,6 +30,10 @@ name: description: Overwrites friendly name. type: string default: Name of Entity +theme: + required: false + description: Set to any theme within `themes.yaml`. + type: string {% endconfiguration %} ## Examples From 170f746117de2cef94346570e3f3824dc1b736f2 Mon Sep 17 00:00:00 2001 From: Greg Rapp Date: Sun, 20 Oct 2019 09:15:54 -0400 Subject: [PATCH 225/289] Add documentation for Envisalink alarm_arm_night (#10510) --- source/_integrations/envisalink.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/envisalink.markdown b/source/_integrations/envisalink.markdown index c8ba1b3c277..db77a771c3f 100644 --- a/source/_integrations/envisalink.markdown +++ b/source/_integrations/envisalink.markdown @@ -135,6 +135,7 @@ The following services are supported by Envisalink and can be used to script or - **alarm_disarm**: Disarms the alarm with the user code provided, or the code specified in the configuration. - **alarm_arm_home**: Arms the alarm in home mode. - **alarm_arm_away**: Arms the alarm in standard away mode. +- **alarm_arm_night**: Arms the alarm in night mode. - **alarm_trigger**: Trigger an alarm on the Envisalink connected alarm system. For example, a newer zwave/zigbee sensor can now be integrated into a legacy alarm system using a Home Assistant automation. - **envisalink_alarm_keypress**: Sends a string of up to 6 characters to the alarm. *DSC alarms only* - **invoke_custom_function**: Invokes a custom PGM function. *DSC alarms only* From db460c26fb8af198bfb4f93f6ea1c65862cc11c2 Mon Sep 17 00:00:00 2001 From: Bendik Brenne Date: Sun, 20 Oct 2019 15:20:09 +0200 Subject: [PATCH 226/289] Add sinch component (#10384) * Added sinch component (home-assistant/home-assistant#26502) * Update source/_components/sinch.markdown Co-Authored-By: Franck Nijhof * Minor fixes after review * :pencil2: Tweak Co-authored-by: Klaas Schoute --- source/_components/sinch.markdown | 65 +++++++++++++++++++++++ source/images/supported_brands/sinch.png | Bin 0 -> 5884 bytes 2 files changed, 65 insertions(+) create mode 100644 source/_components/sinch.markdown create mode 100644 source/images/supported_brands/sinch.png diff --git a/source/_components/sinch.markdown b/source/_components/sinch.markdown new file mode 100644 index 00000000000..d1c8c2e07a4 --- /dev/null +++ b/source/_components/sinch.markdown @@ -0,0 +1,65 @@ +--- +title: "Sinch SMS" +description: "Instructions on how to add Sinch notifications to Home Assistant." +logo: sinch.png +ha_category: + - Notifications +ha_release: 0.100 +--- + +The `sinch` platform uses [Sinch](https://www.sinch.com/products/messaging/sms/) to deliver notifications from Home Assistant. + +## Prerequisites + +Go to your [Sinch Dashboard](https://dashboard.sinch.com/sms/api/rest) and click "Add new REST API". You should now be able to obtain your `service_plan_id` and `api_key`. + +## Configuration + +To add Sinch to your installation, add the following to your Home Assistant `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +notify: + - platform: sinch + service_plan_id: SINCH_SERVICE_PLAN_ID + api_key: SINCH_API_KEY +``` + +{% configuration %} +name: + description: "Setting the optional parameter name allows multiple notifiers to be created. The default value is `Sinch`. The notifier will bind to the service `notify.NOTIFIER_NAME`." + required: false + type: string +service_plan_id: + description: Your Sinch Service Plan ID. + required: true + type: string +api_key: + description: Your API Token. + required: true + type: string +default_recipient: + description: "A single or multiple phone numbers. This is where you want to send your SMS notification messages by default (when not specifying `target` in the service call), e.g., `09171234567` or `[09171234567, 09177654321]`." + required: false + type: [string, list] +sender: + description: The name or number of the sender. + required: false + type: string + default: 'Home Assistant' +{% endconfiguration %} + +To use notifications, please see the [getting started with automation page](/getting-started/automation/). + +### Full configuration example + +```yaml +# Example configuration.yaml entry +notify: + - platform: sinch + name: Sinch + service_plan_id: SINCH_SERVICE_PLAN_ID + api_key: SINCH_API_KEY + default_recipient: [PHONE_NO1, PHONE_NO2] + sender: Home assistant +``` diff --git a/source/images/supported_brands/sinch.png b/source/images/supported_brands/sinch.png new file mode 100644 index 0000000000000000000000000000000000000000..53a28454eac86234c66c10df2bdf69f0466c1768 GIT binary patch literal 5884 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 S4*6yP0000 Date: Sun, 20 Oct 2019 16:21:22 +0300 Subject: [PATCH 227/289] Cleanup info about holiday sensor (#10817) Cleanup for holiday sensor. Parent PR: home-assistant/home-assistant#27654 --- source/_integrations/jewish_calendar.markdown | 62 +++++++++++++++---- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/source/_integrations/jewish_calendar.markdown b/source/_integrations/jewish_calendar.markdown index 9c6034bf43e..1fd34e689fb 100644 --- a/source/_integrations/jewish_calendar.markdown +++ b/source/_integrations/jewish_calendar.markdown @@ -56,8 +56,7 @@ havdalah_minutes_after_sunset: ### Data sensors - date: Shows the hebrew date for today. - weekly_portion: Shows the weekly portion (parshat hashavu'a). -- holiday_name: If it is a holiday, shows the name of the holiday. -- holiday_type: Shows the type of the holiday _(see below)_. +- holiday: If it is a holiday, shows the name of the holiday _(see below for more info)_. - omer_count: An integer sensor indicating the day of the Omer (1-49) or 0 if it is not currently the Omer. ### Time sensors @@ -81,17 +80,56 @@ For easier use in automations, all time sensors have a `timestamp` attribute, wh - issur_melacha_in_effect: A boolean sensor indicating if melacha is currently not permitted. The value is true when it is currently Shabbat or Yom Tov and false otherwise. -### Holiday types +### Holiday sensor + +The holiday sensor includes two attibutes: *type* and *id*. + +The following is the list of holidays the sensor knows about with their selected type: + + +| ID | English | Hebrew | Type | +|----------------------|----------------------------|-----------------------|---------------------------| +| erev_rosh_hashana | Erev Rosh Hashana | ערב ראש השנה | EREV_YOM_TOV | +| rosh_hashana_i | Rosh Hashana I | א' ראש השנה | YOM_TOV | +| rosh_hashana_ii | Rosh Hashana II | ב' ראש השנה | YOM_TOV | +| tzom_gedaliah | Tzom Gedaliah | צום גדליה | FAST_DAY | +| erev_yom_kippur | Erev Yom Kippur | עיוה"כ | EREV_YOM_TOV | +| yom_kippur | Yom Kippur | יום הכפורים | YOM_TOV | +| erev_sukkot | Erev Sukkot | ערב סוכות | EREV_YOM_TOV | +| sukkot | Sukkot | סוכות | YOM_TOV | +| hol_hamoed_sukkot | Hol hamoed Sukkot | חול המועד סוכות | HOL_HAMOED | +| hoshana_raba | Hoshana Raba | הושענא רבה | EREV_YOM_TOV | +| simchat_torah | Simchat Torah | שמחת תורה | YOM_TOV | +| chanukah | Chanukah | חנוכה | MELACHA_PERMITTED_HOLIDAY | +| asara_btevet | Asara B'Tevet | צום עשרה בטבת | FAST_DAY | +| tu_bshvat | Tu B'Shvat | ט"ו בשבט | MINOR_HOLIDAY | +| taanit_esther | Ta'anit Esther | תענית אסתר | FAST_DAY | +| purim | Purim | פורים | MELACHA_PERMITTED_HOLIDAY | +| shushan_purim | Shushan Purim | שושן פורים | MELACHA_PERMITTED_HOLIDAY | +| erev_pesach | Erev Pesach | ערב פסח | EREV_YOM_TOV | +| pesach | Pesach | פסח | YOM_TOV | +| hol_hamoed_pesach | Hol hamoed Pesach | חול המועד פסח | HOL_HAMOED | +| pesach_vii | Pesach VII | שביעי פסח | YOM_TOV | +| yom_haatzmaut | Yom HaAtzma'ut | יום העצמאות | MODERN_HOLIDAY | +| lag_bomer | Lag B'Omer | ל"ג בעומר | MINOR_HOLIDAY | +| erev_shavuot | Erev Shavuot | ערב שבועות | EREV_YOM_TOV | +| shavuot | Shavuot | שבועות | YOM_TOV | +| tzom_tammuz | Tzom Tammuz | צום שבעה עשר בתמוז | FAST_DAY | +| tisha_bav | Tish'a B'Av | תשעה באב | FAST_DAY | +| tu_bav | Tu B'Av | ט"ו באב | MINOR_HOLIDAY | +| yom_hashoah | Yom HaShoah | יום השואה | MEMORIAL_DAY | +| yom_hazikaron | Yom HaZikaron | יום הזכרון | MEMORIAL_DAY | +| yom_yerushalayim | Yom Yerushalayim | יום ירושלים | MODERN_HOLIDAY | +| shmini_atzeret | Shmini Atzeret | שמיני עצרת | YOM_TOV | +| pesach_viii | Pesach VIII | אחרון של פסח | YOM_TOV | +| shavuot_ii | Shavuot II | שני של שבועות | YOM_TOV | +| sukkot_ii | Sukkot II | שני של סוכות | YOM_TOV | +| pesach_ii | Pesach II | שני של פסח | YOM_TOV | +| family_day | Family Day | יום המשפחה | ISRAEL_NATIONAL_HOLIDAY | +| memorial_day_unknown | Memorial day for fallen whose place of burial is unknown | יום זכרון... | MEMORIAL_DAY | +| rabin_memorial_day | Yitzhak Rabin memorial day | יום הזכרון ליצחק רבין | MEMORIAL_DAY | +| zeev_zhabotinsky_day | Zeev Zhabotinsky day | יום ז'בוטינסקי | MEMORIAL_DAY | -1. Mido'rayta - by Torah ordination (Rosh Hashana, Yom Kippur, Pesach, Shavuot, Sukkot) -2. Erev Yom Tov -3. Hol Hamo'ed -4. Hanukka and Purim -5. Fast days -6. Modern holidays, e.g. Yom Yerushalayim and Yom Haatsmaut -7. Minor holidays, e.g. Lag ba'omer and Tu bishvat -8. Memorial days: yom hazikaron and yom hashoah -9. Days mentioned by the Israeli parliament: Rabin memorial day, Ze'ev Zhabotinsky day, etc. ## Full configuration sample From e8e9af12e3543c9228c73a64067800ea5cc46b94 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Sun, 20 Oct 2019 09:53:53 -0400 Subject: [PATCH 228/289] Update MQTT Device Tracker mapping payloads to zones/states (#10581) * Add action_topic and action_template parameters to configuration * updated possible action_topic values to be more accurate * update MQTT device tracker documentation to add custom payload to location mapping parameter * update new parameter name * revert MQTT climate changes that are submitted in separate PR * support for payload_home, payload_not_home, and payload_custom * fix grammar * move optional fields to complete configuration example * fix tabs * :pencil2: Tweak * fix parameter type as designed * change parameter types * match formatting of original doc * match formatting of original doc * match formatting of original doc * update docs based on code changes * change parameter name for custom mapping payloads to other zones and improve description * update complete configuration example to reflect parameter name change * revert description for 'devices' and simplify explanation for 'payload_other_zones' * fix qos parameter value in example * remove 'payload_other_zones' per balloobs review * final cleanup * :pencil2: Manual fix bad rebase * :pencil2: Whitespace * :pencil2: Whitespace Co-authored-by: Klaas Schoute Co-authored-by: Franck Nijhof --- .../device_tracker.mqtt.markdown | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/source/_integrations/device_tracker.mqtt.markdown b/source/_integrations/device_tracker.mqtt.markdown index 5cdf62e3558..6694029cf0f 100644 --- a/source/_integrations/device_tracker.mqtt.markdown +++ b/source/_integrations/device_tracker.mqtt.markdown @@ -33,8 +33,31 @@ qos: description: The QoS level of the topic. required: false type: integer +payload_home: + description: The payload value that represents the 'home' state for the device. + required: false + type: string + default: 'home' +payload_not_home: + description: The payload value that represents the 'not_home' state for the device. + required: false + type: string + default: 'not_home' {% endconfiguration %} +## Complete example configuration + +```yaml +# Complete configuration.yaml entry +device_tracker: + devices: + paulus_oneplus: 'location/paulus' + annetherese_n4: 'location/annetherese' + qos: 1 + payload_home: 'present' + payload_not_home: 'not present' +``` + ## Usage Example JSON you can publish to the topic (e.g., via mqtt.publish service): From 18d53ec9cb750024be1bbcf07d21679a7d076a02 Mon Sep 17 00:00:00 2001 From: mvn23 Date: Sun, 20 Oct 2019 16:03:48 +0200 Subject: [PATCH 229/289] Document opentherm_gw options flow (#10661) --- source/_integrations/opentherm_gw.markdown | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown index 9be3e2cd154..bb38a6313a8 100644 --- a/source/_integrations/opentherm_gw.markdown +++ b/source/_integrations/opentherm_gw.markdown @@ -46,9 +46,23 @@ id: {% endconfiguration %}
-The precision and floor_temperature settings that were supported in configuration.yaml entries have been temporarily removed. The values will be lost upon import of the configuration.yaml entry into the Integrations panel. These features will be re-added soon. +The precision and floor_temperature settings that were supported in configuration.yaml entries have been lost upon import of the configuration.yaml entry into the Integrations panel. You can now configure them as per the following Options paragraph.
+# Options + +The OpenTherm Gateway can be further configured through the integration settings in the web interface +The following options are available: +{% configuration %} +Precision: + description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Set to `0` to use the default value for your unit preference." + type: float + default: "`0.5` for Celsius and `1.0` for Fahrenheit." +Floor Temperature: + description: "Some thermostats round all temperatures down to the lower value according to their precision. Default behavior for Home Assistant is to round temperatures to the nearest value. Enable this setting to override this behavior and round to the lower value according to the configured precision." + type: boolean + default: Disabled +{% endconfiguration %} ## Services From 6882906805a006fbff77402406960acb4f5427b7 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Sun, 20 Oct 2019 09:07:26 -0500 Subject: [PATCH 230/289] Lovelace: add confirmation action (#10834) * Lovelace: add confirmation action * add default * Update lovelace_navigation.html --- source/_lovelace/entity-button.markdown | 38 ++++++++++ source/_lovelace/glance.markdown | 38 ++++++++++ source/_lovelace/picture-elements.markdown | 83 ++++++++++++++++++++++ source/_lovelace/picture-entity.markdown | 38 ++++++++++ source/_lovelace/picture-glance.markdown | 53 ++++++++++++++ source/_lovelace/picture.markdown | 38 ++++++++++ 6 files changed, 288 insertions(+) diff --git a/source/_lovelace/entity-button.markdown b/source/_lovelace/entity-button.markdown index f4fe761f98e..812c77eb185 100644 --- a/source/_lovelace/entity-button.markdown +++ b/source/_lovelace/entity-button.markdown @@ -80,6 +80,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -110,6 +115,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -140,12 +150,40 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" theme: required: false description: "Set to any theme within `themes.yaml`" type: string {% endconfiguration %} +## Options For Confirmation + +If you define confirmation as an object instead of boolean, you can add more customization and configurations: +{% configuration %} +text: + required: false + description: Text to present in the confirmation dialog. + type: string +exemptions: + required: false + description: "List of `exemption` objects. See below" + type: list +{% endconfiguration %} + +## Options For Exemptions + +{% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string +{% endconfiguration %} + ## Examples Title and Script Service Example: diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index 946e4fca3b3..3efaa32bba7 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -105,6 +105,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -135,6 +140,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -165,6 +175,34 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +{% endconfiguration %} + +## Options For Confirmation + +If you define confirmation as an object instead of boolean, you can add more customization and configurations: +{% configuration %} +text: + required: false + description: Text to present in the confirmation dialog. + type: string +exemptions: + required: false + description: "List of `exemption` objects. See below" + type: list +{% endconfiguration %} + +## Options For Exemptions + +{% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string {% endconfiguration %} ## Examples diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 2294ce9de23..62feacd31db 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -109,6 +109,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -139,6 +144,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -169,6 +179,11 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" style: required: true description: Position and style the element using CSS. @@ -229,6 +244,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -259,6 +279,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -289,6 +314,11 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" style: required: true description: Position and style the element using CSS. @@ -371,6 +401,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -401,6 +436,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -431,6 +471,11 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" style: required: true description: Position and style the element using CSS. @@ -483,6 +528,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -513,6 +563,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -543,6 +598,11 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" image: required: false description: The image to display. @@ -612,6 +672,29 @@ elements: type: list {% endconfiguration %} +## Options For Confirmation + +If you define confirmation as an object instead of boolean, you can add more customization and configurations: +{% configuration %} +text: + required: false + description: Text to present in the confirmation dialog. + type: string +exemptions: + required: false + description: "List of `exemption` objects. See below" + type: list +{% endconfiguration %} + +## Options For Exemptions + +{% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string +{% endconfiguration %} + ### Custom Elements {% configuration %} diff --git a/source/_lovelace/picture-entity.markdown b/source/_lovelace/picture-entity.markdown index b983899b5b3..3249ea78265 100644 --- a/source/_lovelace/picture-entity.markdown +++ b/source/_lovelace/picture-entity.markdown @@ -89,6 +89,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -119,6 +124,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -149,6 +159,34 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +{% endconfiguration %} + +## Options For Confirmation + +If you define confirmation as an object instead of boolean, you can add more customization and configurations: +{% configuration %} +text: + required: false + description: Text to present in the confirmation dialog. + type: string +exemptions: + required: false + description: "List of `exemption` objects. See below" + type: list +{% endconfiguration %} + +## Options For Exemptions + +{% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string {% endconfiguration %} ## How to use state_filter diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown index e742d3d5544..2f5dee6b478 100644 --- a/source/_lovelace/picture-glance.markdown +++ b/source/_lovelace/picture-glance.markdown @@ -88,6 +88,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -118,6 +123,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -148,6 +158,11 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" {% endconfiguration %} ## Options For Entities @@ -188,6 +203,11 @@ tap_action: description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -213,6 +233,11 @@ hold_action: description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -243,6 +268,34 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +{% endconfiguration %} + +## Options For Confirmation + +If you define confirmation as an object instead of boolean, you can add more customization and configurations: +{% configuration %} +text: + required: false + description: Text to present in the confirmation dialog. + type: string +exemptions: + required: false + description: "List of `exemption` objects. See below" + type: list +{% endconfiguration %} + +## Options For Exemptions + +{% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string {% endconfiguration %} ## How to use state_filter diff --git a/source/_lovelace/picture.markdown b/source/_lovelace/picture.markdown index 9fc235d5ab8..5b9b3a3fb81 100644 --- a/source/_lovelace/picture.markdown +++ b/source/_lovelace/picture.markdown @@ -50,6 +50,11 @@ tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" hold_action: required: false description: Action to take on tap-and-hold @@ -80,6 +85,11 @@ hold_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" double_tap_action: required: false description: Action to take on double tap @@ -110,6 +120,34 @@ double_tap_action: description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" type: string default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +{% endconfiguration %} + +## Options For Confirmation + +If you define confirmation as an object instead of boolean, you can add more customization and configurations: +{% configuration %} +text: + required: false + description: Text to present in the confirmation dialog. + type: string +exemptions: + required: false + description: "List of `exemption` objects. See below" + type: list +{% endconfiguration %} + +## Options For Exemptions + +{% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string {% endconfiguration %} ## Examples From 80d6ad6adfe78e55bd48c961cd868174544f8d99 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Sun, 20 Oct 2019 16:09:32 +0200 Subject: [PATCH 231/289] Add H801-mqtt-json implementation (#10763) * Add H801-mqtt-json implementation * Update light.mqtt.markdown --- source/_integrations/light.mqtt.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown index 508628c401f..99405735d26 100644 --- a/source/_integrations/light.mqtt.markdown +++ b/source/_integrations/light.mqtt.markdown @@ -650,6 +650,8 @@ light: - [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/integrations/light.mqtt) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well. +- [h801-mqtt-json](https://github.com/starkillerOG/h801-mqtt-json) is a custom firmware for the H801 LED dimmer, a 5 channel (RGBWWCW) WiFi LED strip controller for 12V LED strips. The firmware is meant to control the 5 channels of the H801 to simultaneously control an RGB and a Warm-white/Cold-white Led strip such as an 5050 RGB LED strip and a 5025 Dual White strip. It implements the [MQTT JSON light](/integrations/light.mqtt) platform and supports ON/OFF, RGBW colours (RGB strip), brightness, color temperature (CW/WW strip) and transitions. + ## Template schema The `mqtt` light platform with template schema lets you control a MQTT-enabled light that receive commands on a command topic and optionally sends status update on a state topic. From aa6ad5d8a80532a10f7c358407967499cc5de96d Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Sun, 20 Oct 2019 17:05:26 +0200 Subject: [PATCH 232/289] Remove pre 0.80 upgrade help (#10904) --- .../_integrations/google_assistant.markdown | 37 +------------------ 1 file changed, 1 insertion(+), 36 deletions(-) diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index f73d616eaec..669600b83d1 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -26,41 +26,6 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
-## Migrate to release 0.80 and above - -
- -If this is the first time setting up your Google Assistant integration, you can skip this section and continue with the [manual setup instructions](#first-time-setup) below. - -
- -Since release 0.80, the `Authorization Code` type of `OAuth` account linking is supported. To migrate your existing configuration from release 0.79 or below, you need: - -1. Change your `Account linking` setting in [Actions on Google console](https://console.actions.google.com/). Select the `Develop` tab at the top of the page. Then select `Account linking` from the left side menu. - - Change `Linking type` to `OAuth` and `Authorization Code`. - - In the `OAuth Client information` section: - - Change `Client ID` to `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important. - - Input any string you like into `Client Secret`, Home Assistant doesn't need this field. - - Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL). - - Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL). - - In the `Configure your client` section: - - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - - Click `Save` at the top right corner, then click `Test` (also at the top right corner) to generate a new draft version of the Test App. -2. Change your `configuration.yaml` file: - - Remove `client_id`, `access_token`, `agent_user_id` config from `google_assistant:` since they are no longer needed. -3. Restart Home Assistant, open the `Google Home` app on your mobile phone then go to `Account > Settings > Assistant > Home Control`, press the `3 dot icon in the top right > Manage accounts > [test] your app name > Unlink account` Then relink your account by selecting `[test] your app name` again. -4. A browser will open and ask you to login to your Home Assistant instance and will redirect back to the `Google Assistant` app right afterward. - -
- -If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app. - -If you're still having trouble, make sure that you're not connected to the same network Home Assistant is running on, e.g., use 4G/LTE instead. - -
- -## First time setup - You need to create an API Key with the [Google Cloud API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide one, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration. 1. Create a new project in the [Actions on Google console](https://console.actions.google.com/). @@ -114,7 +79,7 @@ If you've added Home Assistant to the home screen, you have to first remove it f 3. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials. 4. Note down the generated API Key and use this in the configuration. -## Configuration +### Configuration Now add the following lines to your `configuration.yaml` file: From 177e5061a6d4299695d683851b919c73d409ccf6 Mon Sep 17 00:00:00 2001 From: Peter Clarke <3912102+peteclarkez@users.noreply.github.com> Date: Sun, 20 Oct 2019 16:09:53 +0100 Subject: [PATCH 233/289] Fix Client ID in setup instructions (#10903) Hi I've just setup an alexa skill using these instructions. All seemed to work well. 2 Issues 1. The Client ID for EU doesn't seem to be correct. I've fixed it here. 2. Error linking lambda and skill When attaching the lamdba reference to the Skill I came across the issue and solution below (found from the error msg) https://forums.developer.amazon.com/questions/183361/failed-to-save-skill-information.html I could add a note for that , but I'm assuming it's something local to what I did. Hope it helps Peter --- source/_integrations/alexa.smart_home.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index 416a4e947da..0d37ab7be55 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -168,7 +168,7 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom * `Access Token URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/token * `Client ID`: - https://pitangui.amazon.com/ if you are in US - - https://layla.amazon.co.uk/ if you are in EU + - https://layla.amazon.com/ if you are in EU - https://alexa.amazon.co.jp/ if you are in JP and AU (not verified yet) The trailing slash is important here. From ccc7b2de30c65def88ed626771c3ef04294d97bf Mon Sep 17 00:00:00 2001 From: Jeff Irion Date: Sun, 20 Oct 2019 08:11:22 -0700 Subject: [PATCH 234/289] Simplify Android TV setup instructions (#10743) * Simplify Android TV setup instructions Now that HA can generate a key, it is no longer necessary for the user to first connect to the device from another computer, copy the key to their HA configuration directory, and add it to their configuration. * Minor tweaks and improvements --- source/_integrations/androidtv.markdown | 75 ++++++++++--------------- 1 file changed, 29 insertions(+), 46 deletions(-) diff --git a/source/_integrations/androidtv.markdown b/source/_integrations/androidtv.markdown index ef6cfbd1103..d2f856283c2 100644 --- a/source/_integrations/androidtv.markdown +++ b/source/_integrations/androidtv.markdown @@ -29,21 +29,15 @@ For Fire TV devices, the instructions are as follows: ```yaml # Example configuration.yaml entry media_player: - # Use the Python ADB implementation without authentication + # Use the Python ADB implementation - platform: androidtv name: Android TV 1 host: 192.168.0.111 - # Use the Python ADB implementation with authentication + # Use an ADB server for sending ADB commands - platform: androidtv name: Android TV 2 host: 192.168.0.222 - adbkey: "/config/android/adbkey" - - # Use an ADB server for sending ADB commands - - platform: androidtv - name: Android TV 3 - host: 192.168.0.123 adb_server_ip: 127.0.0.1 ``` @@ -63,11 +57,11 @@ port: default: 5555 type: integer adbkey: - description: The path to your `adbkey` file. + description: The path to your `adbkey` file; if not provided, Home Assistant will generate a key for you (if necessary). required: false type: string adb_server_ip: - description: The IP address of the ADB server. + description: The IP address of the ADB server. If this is provided, the integration will utilize an [ADB server](#1-adb-server) to communicate with the device. required: false type: string adb_server_port: @@ -110,14 +104,14 @@ turn_off_command: ```yaml # Example configuration.yaml entry media_player: - # Use an ADB server to setup an Android TV device, provide - # an app name, override the default turn on/off commands, - # and provide custom state detection rules + # Use the Python ADB implementation with a user-provided key to setup an + # Android TV device. Provide an app name, override the default turn on/off + # commands, and provide custom state detection rules. - platform: androidtv name: Android TV device_class: androidtv host: 192.168.0.222 - adb_server_ip: 127.0.0.1 + adbkey: "/config/android/adbkey" apps: com.amazon.tv.launcher: "Fire TV" turn_on_command: "input keyevent 3" @@ -138,19 +132,23 @@ media_player: 'wake_lock_size': 1 # this indentation is important! - 'standby' - # Use the Python ADB implementation with authentication - # to setup a Fire TV device and don't get the running apps + # Use an ADB server to setup a Fire TV device and don't get the running apps. - platform: androidtv name: Fire TV device_class: firetv host: 192.168.0.222 - adbkey: "/config/android/adbkey" + adb_server_ip: 127.0.0.1 + adb_server_port: 5037 get_sources: false ``` ## ADB Setup -This integration works by sending ADB commands to your Android TV / Fire TV device. There are two ways to accomplish this: +This integration works by sending ADB commands to your Android TV / Fire TV device. There are two ways to accomplish this. + +
+When connecting to your device for the first time, a dialog will appear on your Android TV / Fire TV asking you to approve the connection. Check the box that says "always allow connections from this device" and hit OK. +
### 1. ADB Server @@ -160,46 +158,29 @@ For Hass.io users, you can install the [Android Debug Bridge](https://github.com ### 2. Python ADB Implementation -The second option is to connect to your device using the `adb-shell` Python package. +The second option is to connect to your device using the `adb-shell` Python package. As of Home Assistant 0.101, if a key is needed for authentication and it is not provided by the `adbkey` configuration option, then Home Assistant will generate a key for you. -If your device requires ADB authentication, you will need to follow the instructions in the [ADB Authentication](#adb-authentication) section below. Once you have an authenticated key, this approach does not require any additional setup or addons. However, users with newer devices may find that the ADB connection is unstable. For a Fire TV device, you can try setting the `get_sources` configuration option to `false`. If the problem cannot be resolved, you should use the ADB server option. - -#### ADB Authentication - -If you get a "Device authentication required, no keys available" error when trying to set up your Android TV or Fire TV, then you'll need to create an adbkey and add its path to your configuration. Follow the instructions on this page to connect to your device from your computer: [Connecting to Fire TV Through adb](https://developer.amazon.com/zh/docs/fire-tv/connecting-adb-to-device.html). - -
-In the dialog appearing on your Android TV / Fire TV, you must check the box that says "always allow connections from this device." ADB authentication in Home Assistant will only work using a trusted key. -
- -Once you've successfully connected to your Android TV / Fire TV via the command `adb connect :5555`, the file `adbkey` will be created on your computer. The default locations for this file are (from [https://developer.android.com/studio/command-line/adb](https://developer.android.com/studio/command-line/adb)): - -- Linux and Mac: `$HOME/.android.` -- Windows: `%userprofile%\.android.` - -Copy the `adbkey` file to your Home Assistant folder and add the path to the `adbkey` file to your configuration. +Prior to Home Assistant 0.101, this approach did not work well for newer devices. Efforts have been made to resolve these issues, but if you experience problems then you should use the ADB server option. ## ADB Troubleshooting -If you receive the error message `Error while setting up platform androidtv` in your log when trying to set up an Android TV or Fire TV device, then there is probably an issue with your ADB connection. Here are some possible causes. +If the setup for your Android TV or Fire TV device fails, then there is probably an issue with your ADB connection. Here are some possible causes. -1. ADB is not enabled on your device. +1. You have the wrong IP address for the device. -2. You are already connected to the Android TV / Fire TV via ADB from another device. Only one device can be connected, so disconnect the other device, restart the Android TV / Fire TV (for good measure), and then restart Home Assistant. +2. ADB is not enabled on your device. -3. If you are using the [Python ADB implementation](#2-python-adb-implementation): +3. You are already connected to the Android TV / Fire TV via ADB from another device. Only one device can be connected, so disconnect the other device, restart the Android TV / Fire TV (for good measure), and then restart Home Assistant. - * This method often does not work for newer devices. Use the [ADB server](#1-adb-server) approach instead. +4. You need to approve the ADB connection; see the note in the [ADB Setup](#adb-setup) section above. - * Your key is not pre-authenticated. Before using the `adbkey` in Home Assistant, you _**must**_ connect to your device using the ADB binary and tell it to always allow connections from this computer. For more information, see the section [ADB Authentication](#adb-authentication) above. +5. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well. - * Home Assistant does not have the appropriate permissions for the `adbkey` file and so it is not able to use it. Once you fix the permissions, the integration should work. - -4. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well. +6. If you are using the [Python ADB implementation](#2-python-adb-implementation) approach, as mentioned above, there may be some issues with newer devices. In this case, you should use the [ADB server](#1-adb-server) approach instead. ## Services -### `media_player.select_source` +### (Fire TV devices only) `media_player.select_source` For Fire TV devices, you can launch an app using the `media_player.select_source` command. Simply provide the app ID as the `source`. You can also stop an app by prefixing the app ID with a `!`. For example, you could define [scripts](/docs/scripts) to start and stop Netflix as follows: @@ -253,7 +234,9 @@ Available key commands include: The full list of key commands can be found [here](https://github.com/JeffLIrion/python-androidtv/blob/bf1058a2f746535921b3f5247801469c4567e51a/androidtv/constants.py#L143-L186). -You can also use the command `GET_PROPERTIES` to retrieve the properties used by Home Assistant to update the device's state. These will be stored in the media player's `'adb_response'` attribute and logged at the INFO level, this information can be used to help improve state detection in the backend [androidtv](https://github.com/JeffLIrion/python-androidtv) package. +You can also use the command `GET_PROPERTIES` to retrieve the properties used by Home Assistant to update the device's state. These will be stored in the media player's `'adb_response'` attribute and logged at the INFO level. This information can be used to help improve state detection in the backend [androidtv](https://github.com/JeffLIrion/python-androidtv) package, and also to define your own [custom state detection](#custom-state-detection) rules. + +A list of various intents can be found [here](https://gist.github.com/mcfrojd/9e6875e1db5c089b1e3ddeb7dba0f304). ## Custom State Detection From a9f0ddbb18cc316bc5d3077b367b3f5586a1c025 Mon Sep 17 00:00:00 2001 From: Gil Peeters Date: Sun, 20 Oct 2019 23:19:19 +0800 Subject: [PATCH 235/289] Added 'availability_template' to all Template Switch platform (#10310) * Added 'availability_template' to all Template Swicth platform * Fixed Syntax and default * Removed optional parameter from example config * Apply suggestions from code review Co-Authored-By: Franck Nijhof --- source/_integrations/switch.template.markdown | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/_integrations/switch.template.markdown b/source/_integrations/switch.template.markdown index d98e57f85eb..050b3f2b16a 100644 --- a/source/_integrations/switch.template.markdown +++ b/source/_integrations/switch.template.markdown @@ -20,6 +20,7 @@ This can simplify the GUI and make it easier to write automations. You can mark To enable Template Switches in your installation, add the following to your `configuration.yaml` file: {% raw %} + ```yaml # Example configuration.yaml entry switch: @@ -36,6 +37,7 @@ switch: data: entity_id: switch.skylight_close ``` + {% endraw %} {% configuration %} @@ -56,6 +58,11 @@ switch: description: Defines a template to set the state of the switch. required: true type: template + availability_template: + description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`. + required: false + type: template + default: true turn_on: description: Defines an action to run when the switch is turned on. required: true @@ -87,6 +94,7 @@ In this section you find some real-life examples of how to use this switch. This example shows a switch that copies another switch. {% raw %} + ```yaml switch: - platform: template @@ -102,6 +110,7 @@ switch: data: entity_id: switch.source ``` + {% endraw %} ### Toggle Switch @@ -109,6 +118,7 @@ switch: This example shows a switch that takes its state from a sensor and toggles a switch. {% raw %} + ```yaml switch: - platform: template @@ -125,6 +135,7 @@ switch: data: entity_id: switch.blind_toggle ``` + {% endraw %} ### Sensor and Two Switches @@ -133,6 +144,7 @@ This example shows a switch that takes its state from a sensor, and uses two momentary switches to control a device. {% raw %} + ```yaml switch: - platform: template @@ -149,6 +161,7 @@ switch: data: entity_id: switch.skylight_close ``` + {% endraw %} ### Change The Icon @@ -156,6 +169,7 @@ switch: This example shows how to change the icon based on the day/night cycle. {% raw %} + ```yaml switch: - platform: template @@ -177,6 +191,7 @@ switch: mdi:garage {% endif %} ``` + {% endraw %} ### Change The Entity Picture @@ -184,6 +199,7 @@ switch: This example shows how to change the entity picture based on the day/night cycle. {% raw %} + ```yaml switch: - platform: template @@ -205,4 +221,5 @@ switch: /local/garage-closed.png {% endif %} ``` + {% endraw %} From d1fc29873de07f69e7d128d5cf012788bd3e106f Mon Sep 17 00:00:00 2001 From: Teemu R Date: Sun, 20 Oct 2019 18:12:02 +0200 Subject: [PATCH 236/289] remove tplink presence detection (#10906) --- source/_integrations/tplink.markdown | 58 ---------------------------- 1 file changed, 58 deletions(-) diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index b2da28f417f..6ce87e65cf5 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -6,7 +6,6 @@ ha_category: - Hub - Switch - Light - - Presence Detection ha_release: 0.89 ha_iot_class: Local Polling --- @@ -17,7 +16,6 @@ There is currently support for the following device types within Home Assistant: - **Light** - **Switch** -- [Presence Detection](#presence-detection) In order to activate the support, you will have to enable the integration inside the config panel. The supported devices in your network are automatically discovered, but if you want to control devices residing in other networks you will need to configure them manually as shown below. @@ -142,59 +140,3 @@ sensor: unit_of_measurement: 'kWh' ``` {% endraw %} - -## Presence detection - -The `tplink` platform allows you to detect presence by looking at connected devices to a [TP-Link](https://www.tp-link.com) router. - -Currently supported devices includes the following: - -- Archer C7 firmware version 150427 -- Archer C9 firmware version 150811 -- EAP-225 AP with latest firmware version -- Archer D9 firmware version 0.9.1 0.1 v0041.0 Build 160224 Rel.59129n - -
-TP-Link devices typically only allow one login at a time to the admin console. This integration will count towards your one allowed login. Depending on how aggressively you configure device_tracker you may not be able to access the admin console of your TP-Link device without first stopping Home Assistant. Home Assistant takes a few seconds to login, collect data, and log out. If you log into the admin console manually, remember to log out so that Home Assistant can log in again. -
- -### Configuration - -To enable this device tracker, add the following lines to your `configuration.yaml`: - -```yaml -# Example configuration.yaml entry -device_tracker: - - platform: tplink - host: YOUR_ROUTER_IP - username: YOUR_ADMIN_USERNAME - password: YOUR_ADMIN_PASSWORD -``` - -{% configuration %} -host: - description: The IP address of your router, e.g., 192.168.1.1. - required: true - type: string -username: - description: The username of an user with administrative privileges, usually *admin*. The Archer D9 last firmware does not require a username. - required: true - type: string -password: - description: The password for your given admin account. - required: true - type: string -{% endconfiguration %} - -For Archer C9 models running firmware version 150811 or later please use the encrypted password you can retrieve like this: - -1. Go to the login page of your router. (default: 192.168.0.1) -2. Type in the password you use to login into the password field. -3. Click somewhere else on the page so that the password field is not selected anymore. -4. Open the JavaScript console of your browser (usually by pressing F12 and then clicking on "Console"). -5. Type `document.getElementById("login-password").value;` or `document.getElementById("pcPassword").value;`, depending on your firmware version. -6. Copy the returned value to your Home Assistant configuration as password. - -See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked. - -For Archer D9 model the default IP is 192.168.1.1, the username is not necessary and you can leave that field blank. From b66d3292669335c5dc01373f1b882820b121f93c Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Sun, 20 Oct 2019 17:05:26 +0200 Subject: [PATCH 237/289] Remove pre 0.80 upgrade help (#10904) --- .../_integrations/google_assistant.markdown | 36 +------------------ 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index c3a277e9bf3..0571445d77e 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -26,40 +26,6 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
-## Migrate to release 0.80 and above -
- -If this is the first time setting up your Google Assistant integration, you can skip this section and continue with the [manual setup instructions](#first-time-setup) below. - -
- -Since release 0.80, the `Authorization Code` type of `OAuth` account linking is supported. To migrate your existing configuration from release 0.79 or below, you need: - -1. Change your `Account linking` setting in [Actions on Google console](https://console.actions.google.com/). Select the `Develop` tab at the top of the page. Then select `Account linking` from the left side menu. - - Change `Linking type` to `OAuth` and `Authorization Code`. - - In the `OAuth Client information` section: - - Change `Client ID` to `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important. - - Input any string you like into `Client Secret`, Home Assistant doesn't need this field. - - Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL). - - Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL). - - In the `Configure your client` section: - - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - - Click `Save` at the top right corner, then click `Test` (also at the top right corner) to generate a new draft version of the Test App. -2. Change your `configuration.yaml` file: - - Remove `client_id`, `access_token`, `agent_user_id` config from `google_assistant:` since they are no longer needed. -3. Restart Home Assistant, open the `Google Home` app on your mobile phone then go to `Account > Settings > Assistant > Home Control`, press the `3 dot icon in the top right > Manage accounts > [test] your app name > Unlink account` Then relink your account by selecting `[test] your app name` again. -4. A browser will open and ask you to login to your Home Assistant instance and will redirect back to the `Google Assistant` app right afterward. - -
- -If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app. - -If you're still having trouble, make sure that you're not connected to the same network Home Assistant is running on, e.g., use 4G/LTE instead. - -
- -## First time setup - You need to create an API Key with the [Google Cloud API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide one, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration. 1. Create a new project in the [Actions on Google console](https://console.actions.google.com/). @@ -104,7 +70,7 @@ If you've added Home Assistant to the home screen, you have to first remove it f 3. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials. 4. Note down the generated API Key and use this in the configuration. -## Configuration +### Configuration Now add the following lines to your `configuration.yaml` file: From bc606048328593fdc6e265fa6b9646c587335c41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=BDdrale?= Date: Sun, 20 Oct 2019 18:44:20 +0200 Subject: [PATCH 238/289] Add option to disable HTTPS verification in Luci component (#10898) --- source/_integrations/luci.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/luci.markdown b/source/_integrations/luci.markdown index 49761c7377b..d15abcb8c0b 100644 --- a/source/_integrations/luci.markdown +++ b/source/_integrations/luci.markdown @@ -52,6 +52,11 @@ ssl: required: false default: false type: boolean +verify_ssl: + description: If SSL/TLS verification for HTTPS resources needs to be turned off (for self-signed certs, etc.) + required: false + type: boolean + default: true {% endconfiguration %} See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked. From b10c087c0a53b34407ba7f9652aa33df6aa4428d Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 20 Oct 2019 20:24:39 +0200 Subject: [PATCH 239/289] =?UTF-8?q?=F0=9F=9A=9A=20Move=20integrations=20to?= =?UTF-8?q?=20the=20right=20folder=20(#10909)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/{_components => _integrations}/apprise.markdown | 4 ++-- source/{_components => _integrations}/sinch.markdown | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename source/{_components => _integrations}/apprise.markdown (98%) rename source/{_components => _integrations}/sinch.markdown (99%) diff --git a/source/_components/apprise.markdown b/source/_integrations/apprise.markdown similarity index 98% rename from source/_components/apprise.markdown rename to source/_integrations/apprise.markdown index 082997a01e0..b2759586a5d 100644 --- a/source/_components/apprise.markdown +++ b/source/_integrations/apprise.markdown @@ -4,10 +4,10 @@ description: "Instructions on how to add Apprise notifications to Home Assistant logo: apprise.png ha_category: - Notifications -ha_release: "0.101" +ha_release: 0.101 --- -The [Apprise service](https://github.com/caronc/apprise/) is an all-in-one solution to open up Home Assistant to _just about_ every Notification platform (such as Amazon SNS, Discord, Telegram, Slack, MSTeams, Twilio, etc. +The [Apprise service](https://github.com/caronc/apprise/) is an all-in-one solution to open up Home Assistant to _just about_ every Notification platform (such as Amazon SNS, Discord, Telegram, Slack, MSTeams, Twilio, etc.) To use Apprise supported notifications, add the following to your `configuration.yaml` file: diff --git a/source/_components/sinch.markdown b/source/_integrations/sinch.markdown similarity index 99% rename from source/_components/sinch.markdown rename to source/_integrations/sinch.markdown index d1c8c2e07a4..e2ed441979f 100644 --- a/source/_components/sinch.markdown +++ b/source/_integrations/sinch.markdown @@ -4,7 +4,7 @@ description: "Instructions on how to add Sinch notifications to Home Assistant." logo: sinch.png ha_category: - Notifications -ha_release: 0.100 +ha_release: 0.101 --- The `sinch` platform uses [Sinch](https://www.sinch.com/products/messaging/sms/) to deliver notifications from Home Assistant. From 5d844c9a388d62b18719e88134e06ad860bea857 Mon Sep 17 00:00:00 2001 From: Rami Mosleh Date: Mon, 21 Oct 2019 11:18:12 +0300 Subject: [PATCH 240/289] Update glances.markdown (#10711) --- source/_integrations/glances.markdown | 93 ++++++++++----------------- 1 file changed, 35 insertions(+), 58 deletions(-) diff --git a/source/_integrations/glances.markdown b/source/_integrations/glances.markdown index 6f1d4a1a774..a4029b1cc01 100644 --- a/source/_integrations/glances.markdown +++ b/source/_integrations/glances.markdown @@ -9,42 +9,39 @@ ha_release: 0.7.3 --- -The `glances` sensor platform is consuming the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant. +The `glances` integration allows you to monitor the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant. ## Setup -This sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3. -To start a Glances RESTful API server on its default port 61208, the a test the following command can be used: +These sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3. +To start a Glances RESTful API server on its default port 61208 then test you can use the following command: ```bash $ sudo glances -w Glances web server started on http://0.0.0.0:61208/ ``` -Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/2`. Don't use `-s` as this will start the XMLRPC server on port 61209. Home Assistant only supports the REST API of GLANCES. +Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/3`. Don't use `-s` as this will start the XMLRPC server on port 61209. Home Assistant only supports the REST API of GLANCES. The details about your memory usage is provided as a JSON response. If so, you are good to proceed. ```bash -$ curl -X GET http://IP_ADDRESS:61208/api/2/mem/free +$ curl -X GET http://IP_ADDRESS:61208/api/3/mem/free {"free": 203943936} ``` -If this doesn't work, try changing the `2` for `3`, if you have installed the latest version of Glances. +If this doesn't work, try changing the `3` to `2`, if you don't have the latest version of Glances installed. -For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd). +For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd). ## Configuration -To enable the Glances sensor, add the following lines to your `configuration.yaml`: +Set up the integration through **Configuration -> Integrations -> Glances**. To import the configuration from `configuration.yaml` remove any previously configured sensors with platform type `glances` and add the following lines: ```yaml # Example configuration.yaml entry -sensor: - - platform: glances - host: IP_ADDRESS - resources: - - 'disk_use_percent' +glances: + - host: IP_ADDRESS ``` {% configuration %} @@ -85,51 +82,31 @@ version: description: "The version of the Glances API. Supported version: `2` and `3`." required: false type: integer - default: 2 -resources: - description: Entries to monitor. - required: false - type: list - default: disk_use - keys: - disk_use_percent: - description: The used disk space in percent. - disk_use: - description: The used disk space. - disk_free: - description: The free disk space. - memory_use_percent: - description: The used memory in percent. - memory_use: - description: The used memory. - memory_free: - description: The free memory. - swap_use_percent: - description: The used swap space in percent. - swap_use: - description: The used swap space. - swap_free: - description: The free swap space. - processor_load: - description: The load. - process_running: - description: The number of running processes. - process_total: - description: The total number of processes. - process_thread: - description: The number of threads. - process_sleeping: - description: The number of sleeping processes. - cpu_use_percent: - description: The used CPU in percent. - cpu_temp: - description: The CPU temperature (may not be available on all platforms). - docker_active: - description: The count of active Docker containers. - docker_cpu_use: - description: The total CPU usage in percent of Docker containers. - docker_memory_use: - description: The total memory used by Docker containers. + default: 3 {% endconfiguration %} +## Integration Entities + +Glances integration will add the following sensors: + +- disk_use_percent: The used disk space in percent. +- disk_use: The used disk space. +- disk_free: The free disk space. +- memory_use_percent: The used memory in percent. +- memory_use: The used memory. +- memory_free: The free memory. +- swap_use_percent: The used swap space in percent. +- swap_use: The used swap space. +- swap_free: The free swap space. +- processor_load: The load. +- process_running: The number of running processes. +- process_total: The total number of processes. +- process_thread: The number of threads. +- process_sleeping: The number of sleeping processes. +- cpu_use_percent: The used CPU in percent. +- cpu_temp: The CPU temperature (may not be available on all platforms). +- docker_active: The count of active Docker containers. +- docker_cpu_use: The total CPU usage in percent of Docker containers. +- docker_memory_use: The total memory used by Docker containers. + Not all platforms are able to provide all metrics. For instance `cpu_temp` is requires installing and configuring `lmsensors` in Ubuntu, and may not be available at all in other platforms. From f3fa6c74a2e93601e8239547921931702df179db Mon Sep 17 00:00:00 2001 From: Pertti Roitto Date: Mon, 21 Oct 2019 11:42:30 +0300 Subject: [PATCH 241/289] Add more info about bluestacks token method (#10853) * Add more info about bluestacks token method The bluestacks method didn't really tell enough how to get the token using the Bluestacks tweaker. * Update vacuum.xiaomi_miio.markdown Fix small typos. --- source/_integrations/vacuum.xiaomi_miio.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/vacuum.xiaomi_miio.markdown b/source/_integrations/vacuum.xiaomi_miio.markdown index b00631d5f9d..61eb90f249b 100644 --- a/source/_integrations/vacuum.xiaomi_miio.markdown +++ b/source/_integrations/vacuum.xiaomi_miio.markdown @@ -355,6 +355,11 @@ To fetch the token follow these instructions depending on your mobile phone plat 2. Install [BlueStacks](https://www.bluestacks.com). 3. Set up [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) in BlueStacks and login to synchronize devices. 4. Use [BlueStacks Tweaker](https://forum.xda-developers.com/general/general/bluestacks-tweaker-2-tool-modifing-t3622681) to access the filesystem and retrieve the token. +5. Copy `/data/data/com.xiaomi.smarthome/databases/miio2.db` file to your computer using the Bluestacks Tweakers filesystem tool. +6. Install [DB Browser for SQLite](https://sqlitebrowser.org/). +7. Open the DB Browser and load the `miio2.db` from your computer. +8. Select `Browse Data` tab from the DB Browser and switch to table called `devicerecord` +9. This will display all the connected devices information with the token. ### Selecting token manually (Windows and Android) From 98c80b453ba5093de652eccac01a3228e15d9c71 Mon Sep 17 00:00:00 2001 From: Matthew Turney Date: Mon, 21 Oct 2019 04:20:06 -0500 Subject: [PATCH 242/289] rest_command now supports PATCH request method (#10913) --- source/_integrations/rest_command.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/rest_command.markdown b/source/_integrations/rest_command.markdown index 4653c06b139..5893f5c41fb 100644 --- a/source/_integrations/rest_command.markdown +++ b/source/_integrations/rest_command.markdown @@ -33,7 +33,7 @@ service_name: required: true type: [string, template] method: - description: HTTP method to use (get, post, put, or delete). + description: HTTP method to use (get, patch, post, put, or delete). required: false default: get type: string @@ -57,7 +57,7 @@ service_name: description: Timeout for requests in seconds. required: false type: string - defaut: 10 + default: 10 content_type: description: Content type for the request. required: false From 5d8e01b7b3d5629f8a57402f303c18b8a324db64 Mon Sep 17 00:00:00 2001 From: claughinghouse Date: Mon, 21 Oct 2019 05:23:31 -0400 Subject: [PATCH 243/289] Remove dispatcher docs (#10872) * Remove dispatcher docs. Ref #10491 and #6579 * Remove image. * Revert "Remove image." This reverts commit c9de0b4dd85db0c320dabeeeaa2406a977589bde. --- source/_integrations/dispatcher.markdown | 45 ------------------------ 1 file changed, 45 deletions(-) delete mode 100644 source/_integrations/dispatcher.markdown diff --git a/source/_integrations/dispatcher.markdown b/source/_integrations/dispatcher.markdown deleted file mode 100644 index b7e5f098755..00000000000 --- a/source/_integrations/dispatcher.markdown +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Dispatcher IP Camera" -description: "Instructions on how to integrate internal dispatcher cameras within Home Assistant." -ha_category: - - Camera -logo: camcorder.png -ha_release: "0.40" -ha_iot_class: Configurable ---- - -
-This platform is meant for developers only. -
- -The `dispatcher` camera platform allows developers to create virtual camera's. - -## Configuration - -You would normally not add this camera to your configuration directly but have it be discovered by one of the integrations that uses it. - -```yaml -# Example configuration.yaml entry -camera: - - platform: dispatcher - signal: name_of_dispatcher_signal -``` - -To update the image from another piece of code, run this from an async context: - -```python -from homeassistant.helpers.dispatcher import async_dispatcher_send - -async_dispatcher_send(hass, 'name_of_dispatcher_signal', image_data) -``` - -{% configuration %} -signal: - description: The signal name of dispatcher signal they send image data to this camera. - required: true - type: string -name: - description: This parameter allows you to override the name of your camera. - required: false - type: string -{% endconfiguration %} From 6cd4d2316a8d53a9a9316c1bc33c32d19b8e2293 Mon Sep 17 00:00:00 2001 From: Jussi Vatjus-Anttila Date: Mon, 21 Oct 2019 17:32:55 +0300 Subject: [PATCH 244/289] Add mention about Samsung TV Q60 (#10919) * add mention about Samsung TV Q60 * Update samsungtv.markdown --- source/_integrations/samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index aa87ba37614..7ddde044a7d 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -112,6 +112,7 @@ Currently tested but not working models: - JU7500 - Unable to see state and unable to control - MU6125 - Unable to see state and unable to control (Tested on UE58MU6125 on port 8001 and 8801) - MU6300 - Port set to 8001, turning on works, status not working reliably, turning off is not permanent (it comes back on) +- Q60 – turning on works, turning off does not work, State is always "off". - Q6F – Port set to 8001, turning on works, turning off does not work, status not working reliably. - Q7F - State is always "off" and unable to control via port 8001. From 42b4a5542ec7247feddd13ab2b72ca266aee6b98 Mon Sep 17 00:00:00 2001 From: J <49540618+Tediore@users.noreply.github.com> Date: Mon, 21 Oct 2019 09:46:52 -0500 Subject: [PATCH 245/289] Improve clarity/formatting (#10921) Probably the simplest pull request on the planet --- source/_integrations/esphome.markdown | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/source/_integrations/esphome.markdown b/source/_integrations/esphome.markdown index 0bc62f8a076..1b774de5fe4 100644 --- a/source/_integrations/esphome.markdown +++ b/source/_integrations/esphome.markdown @@ -9,15 +9,14 @@ ha_release: 0.85 ha_iot_class: Local Push --- -This integration allows you to connect your [ESPHome](https://esphome.io) devices directly into Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html). +This integration allows you to connect your [ESPHome](https://esphome.io) devices directly to Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html). -## Setup the integration via the integrations screen +## Set up the integration via the integrations screen -Menu: *Configuration* -> *Integrations* +Menu: *Configuration* > *Integrations* Press on **ESPHome** and configure the integration: -* Enter the address and port of your ESP. For example if the node is called `livingroom`, the address would be `livingroom.local` and the port number `6053` (default). -* Then Home Assistant will try to connect to the device. If you have a password set Home Assistant will additionally ask you for the password. +* Enter the address and port of your node. For example, if the node is called `livingroom`, the address would be `livingroom.local` and the port number would be `6053` (default). -After that, all the entities you have configured on your ESPHome node will automatically show up in Home Assistant. +Home Assistant will then try to connect to the device. If you have a password set, Home Assistant will also ask you for it. After that, all the entities you have configured on your ESPHome node will automatically appear in Home Assistant. From 41b250aa503e3f62c7fc4011782ed7fb04befecb Mon Sep 17 00:00:00 2001 From: erlendmoland <56839803+erlendmoland@users.noreply.github.com> Date: Mon, 21 Oct 2019 18:48:40 +0200 Subject: [PATCH 246/289] Changed http URLs to https (#10925) --- source/_integrations/doorbird.markdown | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/_integrations/doorbird.markdown b/source/_integrations/doorbird.markdown index e0889e97823..30f830c00fe 100644 --- a/source/_integrations/doorbird.markdown +++ b/source/_integrations/doorbird.markdown @@ -10,7 +10,7 @@ ha_release: 0.54 ha_iot_class: Local Push --- -The `doorbird` implementation allows you to integrate your [DoorBird](http://www.doorbird.com/) device in Home Assistant. +The `doorbird` implementation allows you to integrate your [DoorBird](https://www.doorbird.com/) device in Home Assistant. There is currently support for the following device types within Home Assistant: @@ -43,7 +43,7 @@ devices: type: list keys: host: - description: The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](http://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box. + description: The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](https://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box. required: true type: string username: @@ -114,7 +114,8 @@ Events will not be received in Home Assistant until a schedule is defined via th #### Clearing Registered Events Events can be cleared from DoorBird devices by visiting a special URL. -Simply open a new browser window and navigate to `{Home Assistant URL}/api/doorbird/clear?token={DEVICE_TOKEN}`. Replace `{Home Assistant URL}` with the full path to your running instance, such as `http://localhost:8123`. Replace `{DEVICE_TOKEN}` with the token specified in your configuration for the device you would like to clear. +Simply open a new browser window and navigate to `{Home Assistant URL}/api/doorbird/clear?token={DEVICE_TOKEN}`. Replace `{Home Assistant URL}` with the full path to your running instance, such as ` +localhost:8123`. Replace `{DEVICE_TOKEN}` with the token specified in your configuration for the device you would like to clear.

Please note that clearing device events will require configuration steps above to be taken again. It could also affect other third-party applications you may use with your DoorBird device. It will not break the official mobile app in any way, so mobile push notifications will still work. @@ -166,7 +167,7 @@ Remember to complete the schedule assignment steps above for each event type tha ## Camera -The `doorbird` implementation allows you to view the live video, the last doorbell ring image, and the last motion sensor image from your [DoorBird](http://www.doorbird.com/) device in Home Assistant. +The `doorbird` implementation allows you to view the live video, the last doorbell ring image, and the last motion sensor image from your [DoorBird](https://www.doorbird.com/) device in Home Assistant. ### Configuration @@ -180,7 +181,7 @@ camera: ## Switch -The `doorbird` switch platform allows you to power connected relays and trigger the IR array in your [DoorBird](http://www.doorbird.com/) video doorbell device. +The `doorbird` switch platform allows you to power connected relays and trigger the IR array in your [DoorBird](https://www.doorbird.com/) video doorbell device. To enable this switch, add the following lines to your `configuration.yaml` file: From f8fd280618326691c68e34b74a8a7a323ea0445c Mon Sep 17 00:00:00 2001 From: erlendmoland <56839803+erlendmoland@users.noreply.github.com> Date: Mon, 21 Oct 2019 20:15:43 +0200 Subject: [PATCH 247/289] Updated URL to https:// (#10928) --- source/_integrations/foscam.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/foscam.markdown b/source/_integrations/foscam.markdown index 6f21bd1750b..2c3a4bdb7cb 100644 --- a/source/_integrations/foscam.markdown +++ b/source/_integrations/foscam.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.7.3 --- -The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant. +The `foscam` platform allows you to watch the live stream of your [Foscam](https://www.foscam.com) IP camera in Home Assistant. ## Configuration From 0102a45cb4c0118ef03dbbd64dc0449e6d154e28 Mon Sep 17 00:00:00 2001 From: Jay <49540618+Tediore@users.noreply.github.com> Date: Mon, 21 Oct 2019 13:17:26 -0500 Subject: [PATCH 248/289] Correct grammar and improve clarity (#10922) * Correct grammar and improve clarity The current version of this documentation refers to the Raspberry Pi 3 B+ as "the latest version" which is no longer correct with the release of the Pi 4. I changed this to explicitly refer to the 3 B+ instead of saying "the latest version." Do we want to continue saying "the latest version" and change the other references to the Pi 4? The Hass.io installer for the Pi 4 is still an RC which is why I ask. * Revert "flash drive" change back to "USB stick" * Sorry, one more quick change --- source/getting-started/index.markdown | 38 +++++++++++++-------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index f19a4bcb014..37ee3eec285 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -7,7 +7,7 @@ description: "Getting started: How to install Home Assistant." Note for contributors: -The getting started guide aims at getting new users get Home Assistant up and +The getting started guide aims at getting new users get Home Assistant up and running as fast as possible. Nothing else. All other things should not be written down, as it creates a spaghetti of links and the user will lose focus. @@ -25,20 +25,20 @@ So here are guidelines: {% endcomment %} -The goal of this getting started guide is to get Home Assistant running on a Raspberry Pi. The easiest way to do this is by using [Hass.io](/hassio/), which is our own all in one solution that turns Raspberry Pi's and other devices into the ultimate home automation hubs. +This guide will help you get Home Assistant running on a Raspberry Pi. The easiest way to do this is by using the [Hass.io](/hassio/) installer, which is our all-in-one solution that turns Raspberry Pis and other devices into the ultimate home automation hub. -Follow this guide if you want to get started with Home Assistant easily, or if you have little or no Linux experience. For advanced users or if you don't have a [device that is supported by this guide][supported], check our [alternative installation methods](/docs/installation/). Once you finish your alternative installation, you can continue at the [next step][next-step]. +Follow this guide if you want to get started with Home Assistant easily or if you have little to no Linux experience. For advanced users (or if you don't have a [device that is supported by this guide][supported]), check out our [alternative installation methods](/docs/installation/). Once you finish your alternative installation, you can continue at the [next step][next-step]. [supported]: /hassio/installation/ ### Suggested hardware -We will need a few things to get started with installing Home Assistant. The latest Raspberry Pi model makes a good and affordable starting point for your home automation journey. Links below lead to Amazon US. If you're not in the US, you should be able to find these items in web stores in your country. +We will need a few things to get started with installing Home Assistant. The Raspberry Pi 3 Model B+ is a good, affordable starting point for your home automation journey. Links below lead to Amazon US. If you're not in the US, you should be able to find these items in web stores in your country. - [Raspberry Pi 3 Model B+](https://amzn.to/2IAyNl0) + [Power Supply](https://www.raspberrypi.org/help/faqs/#powerReqs) (at least 2.5A) -- [Micro SD Card](https://amzn.to/2X0Z2di). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. Size 32 GB or bigger recommended. -- SD Card reader. Part of most laptops, and also available as [standalone USB sticks](https://amzn.to/2WWxntY) (the brand doesn't matter, just pick the cheapest) -- Ethernet cable (optional, Hass.io can work with WiFi as well) +- [Micro SD Card](https://amzn.to/2X0Z2di). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. A 32 GB or bigger card is recommended. +- SD Card reader. This is already part of most laptops, but you can purchase a [standalone USB adapter](https://amzn.to/2WWxntY) if you don't have one. The brand doesn't matter, just pick the cheapest. +- Ethernet cable. Hass.io can work with Wi-Fi, but an Ethernet connection would be more reliable. ### Software requirements @@ -49,21 +49,21 @@ We will need a few things to get started with installing Home Assistant. The lat ### Installing Hass.io -1. Put the SD card in your SD card reader. +1. Put the SD card in your card reader. 2. Open balenaEtcher, select the Hass.io image and flash it to the SD card. -3. Unmount the SD card and remove it from your SD card reader. -4. Only if you want to configure WiFi or a Static IP (requires USB stick): - - Format a USB-Stick to FAT32 with volume-name `CONFIG`. - - Create a folder named `network` in the root of the newly formatted USB-stick. - - Within that folder create a file named `my-network` without extension. +3. Unmount the SD card and remove it from your card reader. +4. Follow this step if you want to configure Wi-Fi or a static IP address (this step requires a USB stick). Otherwise, move to step 5. + - Format a USB stick to FAT32 with the volume name `CONFIG`. + - Create a folder named `network` in the root of the newly-formatted USB stick. + - Within that folder, create a file named `my-network` without a file extension. - Copy one of [the examples] to the `my-network` file and adjust accordingly. - - Plug the USB-stick into the Raspberry Pi 3. + - Plug the USB stick into the Raspberry Pi. -5. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too. -6. Connect your Raspberry Pi to the power supply, so it turns on. -7. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes. -8. Home Assistant will be available at `http://hassio.local:8123`. If you are running an older Windows or have stricter network configuration, you might need to access Home Assistant at `http://hassio:8123`. -9. If you have used a USB-stick for configuring the network, it can now be removed. +5. Insert the SD card into your Raspberry Pi. If you are going to use an Ethernet cable, connect that too. +6. Connect your power supply to the Raspberry Pi. +7. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant. This will take about 20 minutes. +8. Home Assistant will be available at `http://hassio.local:8123`. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at `http://hassio:8123`. +9. If you used a USB stick for configuring the network, you can now remove it. [the examples]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md From 98be2d58941bd518a6b5aa597d8358d83235c1b9 Mon Sep 17 00:00:00 2001 From: Villhellm Date: Mon, 21 Oct 2019 11:18:57 -0700 Subject: [PATCH 249/289] Added missing information about reload core service (#10923) --- source/_docs/configuration/basic.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index 3cfa87fc8a1..0e16aa27714 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -63,3 +63,7 @@ whitelist_external_dirs: required: false type: list {% endconfiguration %} + +### Reload Core Service + +Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change any of the above sections and see it being applied without having to restart Home Assistant. To call this service, go to the "Service" tab under Developer Tools, select the `homeassistant.reload_core_config` service and click the "CALL SERVICE" button. Alternatively, you can press the "Reload Core" button under Configuration > Server Control. From a2d6ef6a287bd97991859dc283bd90a588de0c1e Mon Sep 17 00:00:00 2001 From: erlendmoland <56839803+erlendmoland@users.noreply.github.com> Date: Mon, 21 Oct 2019 20:19:13 +0200 Subject: [PATCH 250/289] Updated URL to https:// (#10927) --- source/_integrations/fritz.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/fritz.markdown b/source/_integrations/fritz.markdown index 4c74c082e6d..6b3c0e32ece 100644 --- a/source/_integrations/fritz.markdown +++ b/source/_integrations/fritz.markdown @@ -8,7 +8,7 @@ ha_release: "0.10" --- -The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) based router. +The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) based router. ## Setup From 5417fa4f7f376acb62ade41c2dae26262a90208d Mon Sep 17 00:00:00 2001 From: erlendmoland <56839803+erlendmoland@users.noreply.github.com> Date: Mon, 21 Oct 2019 20:20:12 +0200 Subject: [PATCH 251/289] Updated http URLs to https (#10926) --- source/_integrations/egardia.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/egardia.markdown b/source/_integrations/egardia.markdown index 888b8609dcc..415e5790116 100644 --- a/source/_integrations/egardia.markdown +++ b/source/_integrations/egardia.markdown @@ -10,7 +10,7 @@ ha_release: 0.65 ha_iot_class: Local Polling --- -The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/[Woonveilig](http://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the WL-1716, GATE-01, GATE-02 and GATE-03 versions of the Egardia/Woonveilig platform. Not only will you integrate your alarm control panel, supported sensors (door contacts at this moment) will be added automatically (hidden by default). +The `egardia` platform enables the ability to control an [Egardia](https://egardia.com/)/[Woonveilig](https://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the WL-1716, GATE-01, GATE-02 and GATE-03 versions of the Egardia/Woonveilig platform. Not only will you integrate your alarm control panel, supported sensors (door contacts at this moment) will be added automatically (hidden by default). You will need to know the IP of your alarm panel on your local network. Test if you can login to the panel by browsing to the IP address and log in using your Egardia/Woonveilig account. @@ -119,5 +119,5 @@ Note that for all code groups (*arm*,*disarm*, etc) multiple codes can be entere ## Binary Sensor -The `egardia` platform allows you to get data from your [Egardia](http://www.egardia.com)/[Woonveilig](http://www.woonveilig.nl) binary sensors from within Home Assistant. +The `egardia` platform allows you to get data from your [Egardia](https://www.egardia.com)/[Woonveilig](https://www.woonveilig.nl) binary sensors from within Home Assistant. Currently only door contacts are supported. IR sensors are not supported and will probably never be since their status cannot be read outside of the alarm control panel. Smoke sensors and others might be added but currently are not supported. From 533bb3866f68b98b8394d26bcd63f6160b99f512 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 21 Oct 2019 23:11:12 +0200 Subject: [PATCH 252/289] HTTPS-everywhere (update links in our website) (#10932) * HTTPS-everywhere (update links in our website) * HTTPS-everywhere (round 2) * HTTPS-everywhere (round 3) --- source/_integrations/acer_projector.markdown | 2 +- source/_integrations/actiontec.markdown | 2 +- source/_integrations/ads.markdown | 2 +- source/_integrations/airvisual.markdown | 2 +- .../alexa.flash_briefings.markdown | 2 +- source/_integrations/amazon_polly.markdown | 4 ++-- source/_integrations/ambiclimate.markdown | 2 +- source/_integrations/anel_pwrctrl.markdown | 2 +- source/_integrations/anthemav.markdown | 2 +- source/_integrations/apcupsd.markdown | 2 +- source/_integrations/apple_tv.markdown | 2 +- source/_integrations/arest.markdown | 6 +++--- source/_integrations/aruba.markdown | 2 +- source/_integrations/arwn.markdown | 2 +- source/_integrations/asuswrt.markdown | 2 +- source/_integrations/atome.markdown | 2 +- source/_integrations/august.markdown | 4 ++-- source/_integrations/aurora.markdown | 2 +- source/_integrations/automatic.markdown | 2 +- source/_integrations/aws.markdown | 8 ++++---- source/_integrations/bbb_gpio.markdown | 4 ++-- .../_integrations/binary_sensor.knx.markdown | 2 +- .../binary_sensor.mysensors.markdown | 8 ++++---- .../binary_sensor.xiaomi_aqara.markdown | 2 +- source/_integrations/bizkaibus.markdown | 4 ++-- source/_integrations/blink.markdown | 2 +- source/_integrations/bluesound.markdown | 2 +- .../bluetooth_le_tracker.markdown | 2 +- source/_integrations/braviatv.markdown | 4 ++-- source/_integrations/broadlink.markdown | 6 +++--- source/_integrations/buienradar.markdown | 2 +- source/_integrations/camera.ffmpeg.markdown | 2 +- source/_integrations/cisco_ios.markdown | 2 +- .../_integrations/climate.mysensors.markdown | 10 +++++----- source/_integrations/co2signal.markdown | 2 +- source/_integrations/coinmarketcap.markdown | 2 +- source/_integrations/comfoconnect.markdown | 2 +- source/_integrations/command_line.markdown | 2 +- source/_integrations/cover.mysensors.markdown | 4 ++-- .../_integrations/cover.xiaomi_aqara.markdown | 2 +- source/_integrations/darksky.markdown | 2 +- source/_integrations/datadog.markdown | 2 +- source/_integrations/deconz.markdown | 4 ++-- source/_integrations/decora_wifi.markdown | 2 +- source/_integrations/deluge.markdown | 4 ++-- source/_integrations/denon.markdown | 2 +- source/_integrations/denonavr.markdown | 2 +- source/_integrations/deutsche_bahn.markdown | 2 +- .../device_tracker.mysensors.markdown | 8 ++++---- source/_integrations/digitalloggers.markdown | 2 +- source/_integrations/directv.markdown | 2 +- source/_integrations/dlink.markdown | 2 +- source/_integrations/dovado.markdown | 6 +++--- source/_integrations/dunehd.markdown | 2 +- source/_integrations/dweet.markdown | 2 +- source/_integrations/econet.markdown | 2 +- .../eddystone_temperature.markdown | 2 +- source/_integrations/eliqonline.markdown | 2 +- source/_integrations/emby.markdown | 2 +- source/_integrations/enocean.markdown | 2 +- source/_integrations/ephember.markdown | 2 +- source/_integrations/ffmpeg.markdown | 2 +- source/_integrations/ffmpeg_motion.markdown | 2 +- source/_integrations/ffmpeg_noise.markdown | 2 +- source/_integrations/fibaro.markdown | 2 +- source/_integrations/fitbit.markdown | 2 +- source/_integrations/fixer.markdown | 4 ++-- source/_integrations/flux_led.markdown | 2 +- source/_integrations/freebox.markdown | 4 ++-- .../fritzbox_callmonitor.markdown | 2 +- .../fritzbox_netmonitor.markdown | 2 +- source/_integrations/fronius.markdown | 2 +- .../_integrations/frontier_silicon.markdown | 4 ++-- source/_integrations/futurenow.markdown | 6 +++--- source/_integrations/garadget.markdown | 2 +- source/_integrations/geo_rss_events.markdown | 6 +++--- source/_integrations/geofency.markdown | 2 +- source/_integrations/geonetnz_quakes.markdown | 2 +- source/_integrations/gpmdp.markdown | 2 +- .../_integrations/greeneye_monitor.markdown | 2 +- source/_integrations/gtfs.markdown | 4 ++-- source/_integrations/hangouts.markdown | 4 ++-- source/_integrations/harmony.markdown | 2 +- source/_integrations/hddtemp.markdown | 2 +- source/_integrations/hikvision.markdown | 2 +- source/_integrations/hikvisioncam.markdown | 2 +- source/_integrations/homematic.markdown | 4 ++-- .../_integrations/homematicip_cloud.markdown | 2 +- source/_integrations/hp_ilo.markdown | 2 +- .../hunterdouglas_powerview.markdown | 2 +- source/_integrations/ign_sismologia.markdown | 2 +- source/_integrations/input_select.markdown | 2 +- source/_integrations/insteon.markdown | 2 +- source/_integrations/iota.markdown | 2 +- source/_integrations/iperf3.markdown | 4 ++-- source/_integrations/ipma.markdown | 2 +- source/_integrations/itach.markdown | 2 +- source/_integrations/itunes.markdown | 2 +- source/_integrations/joaoapps_join.markdown | 4 ++-- source/_integrations/keyboard.markdown | 4 ++-- source/_integrations/kodi.markdown | 4 ++-- source/_integrations/lametric.markdown | 2 +- source/_integrations/lannouncer.markdown | 4 ++-- source/_integrations/lastfm.markdown | 4 ++-- source/_integrations/launch_library.markdown | 2 +- source/_integrations/lcn.markdown | 16 +++++++-------- source/_integrations/light.mysensors.markdown | 14 ++++++------- source/_integrations/limitlessled.markdown | 2 +- .../_integrations/lock.xiaomi_aqara.markdown | 2 +- source/_integrations/london_air.markdown | 4 ++-- source/_integrations/luftdaten.markdown | 6 +++--- source/_integrations/lutron_caseta.markdown | 4 ++-- source/_integrations/matrix.markdown | 2 +- source/_integrations/maxcube.markdown | 2 +- source/_integrations/melissa.markdown | 2 +- source/_integrations/meteo_france.markdown | 8 ++++---- source/_integrations/metoffice.markdown | 4 ++-- source/_integrations/microsoft.markdown | 2 +- source/_integrations/mikrotik.markdown | 2 +- source/_integrations/mpd.markdown | 4 ++-- source/_integrations/mvglive.markdown | 2 +- source/_integrations/mysensors.markdown | 8 ++++---- source/_integrations/nad.markdown | 2 +- source/_integrations/netdata.markdown | 2 +- source/_integrations/netgear.markdown | 2 +- source/_integrations/netio.markdown | 2 +- source/_integrations/neurio_energy.markdown | 2 +- source/_integrations/nissan_leaf.markdown | 2 +- source/_integrations/notify.knx.markdown | 2 +- .../_integrations/notify.mysensors.markdown | 6 +++--- source/_integrations/nuheat.markdown | 2 +- .../_integrations/nuimo_controller.markdown | 2 +- source/_integrations/nut.markdown | 2 +- source/_integrations/nx584.markdown | 2 +- source/_integrations/nzbget.markdown | 2 +- source/_integrations/octoprint.markdown | 4 ++-- source/_integrations/oem.markdown | 2 +- source/_integrations/onewire.markdown | 2 +- source/_integrations/openalpr_cloud.markdown | 2 +- source/_integrations/openalpr_local.markdown | 2 +- source/_integrations/opencv.markdown | 2 +- .../openhardwaremonitor.markdown | 2 +- source/_integrations/openweathermap.markdown | 10 +++++----- source/_integrations/owntracks.markdown | 8 ++++---- source/_integrations/pjlink.markdown | 2 +- source/_integrations/pvoutput.markdown | 2 +- source/_integrations/qwikswitch.markdown | 4 ++-- source/_integrations/rachio.markdown | 6 +++--- source/_integrations/radiotherm.markdown | 2 +- source/_integrations/rainbird.markdown | 6 +++--- source/_integrations/rainmachine.markdown | 4 ++-- source/_integrations/raspihats.markdown | 8 ++++---- source/_integrations/recorder.markdown | 2 +- source/_integrations/rejseplanen.markdown | 2 +- source/_integrations/rest.markdown | 12 +++++------ source/_integrations/roku.markdown | 2 +- source/_integrations/roomba.markdown | 2 +- source/_integrations/rpi_gpio_pwm.markdown | 4 ++-- source/_integrations/samsungtv.markdown | 2 +- source/_integrations/scene.knx.markdown | 2 +- source/_integrations/scrape.markdown | 4 ++-- source/_integrations/scsgate.markdown | 2 +- source/_integrations/sensor.knx.markdown | 2 +- .../_integrations/sensor.mysensors.markdown | 14 ++++++------- .../sensor.xiaomi_aqara.markdown | 2 +- source/_integrations/sky_hub.markdown | 2 +- source/_integrations/skybeacon.markdown | 2 +- source/_integrations/slack.markdown | 4 ++-- source/_integrations/sleepiq.markdown | 2 +- source/_integrations/sma.markdown | 2 +- source/_integrations/smarthab.markdown | 2 +- source/_integrations/smhi.markdown | 4 ++-- source/_integrations/songpal.markdown | 2 +- source/_integrations/sony_projector.markdown | 2 +- source/_integrations/spaceapi.markdown | 2 +- source/_integrations/spc.markdown | 2 +- source/_integrations/splunk.markdown | 2 +- source/_integrations/squeezebox.markdown | 2 +- source/_integrations/supla.markdown | 2 +- .../swiss_hydrological_data.markdown | 2 +- .../swiss_public_transport.markdown | 6 +++--- .../switch.command_line.markdown | 2 +- .../_integrations/switch.mysensors.markdown | 14 ++++++------- .../switch.xiaomi_aqara.markdown | 2 +- source/_integrations/syslog.markdown | 4 ++-- source/_integrations/tapsaff.markdown | 2 +- source/_integrations/ted5000.markdown | 2 +- source/_integrations/thinkingcleaner.markdown | 4 ++-- source/_integrations/thomson.markdown | 2 +- source/_integrations/tikteck.markdown | 2 +- source/_integrations/time_date.markdown | 2 +- source/_integrations/tomato.markdown | 2 +- source/_integrations/torque.markdown | 2 +- source/_integrations/transmission.markdown | 2 +- source/_integrations/twitch.markdown | 2 +- source/_integrations/ubee.markdown | 2 +- source/_integrations/ubus.markdown | 2 +- source/_integrations/uk_transport.markdown | 8 ++++---- source/_integrations/unifi.markdown | 2 +- source/_integrations/velux.markdown | 2 +- source/_integrations/venstar.markdown | 2 +- source/_integrations/vera.markdown | 4 ++-- source/_integrations/vlc.markdown | 4 ++-- source/_integrations/vlc_telnet.markdown | 2 +- source/_integrations/volumio.markdown | 2 +- source/_integrations/volvooncall.markdown | 2 +- source/_integrations/webostv.markdown | 6 +++--- source/_integrations/wemo.markdown | 6 +++--- source/_integrations/wink.markdown | 20 +++++++++---------- source/_integrations/wirelesstag.markdown | 10 +++++----- source/_integrations/wsdot.markdown | 6 +++--- source/_integrations/wunderground.markdown | 2 +- source/_integrations/wwlln.markdown | 2 +- source/_integrations/x10.markdown | 2 +- source/_integrations/xbox_live.markdown | 8 ++++---- source/_integrations/xeoma.markdown | 2 +- source/_integrations/xiaomi_aqara.markdown | 4 ++-- source/_integrations/xiaomi_tv.markdown | 2 +- source/_integrations/xmpp.markdown | 2 +- source/_integrations/yamaha.markdown | 4 ++-- source/_integrations/yr.markdown | 2 +- source/_integrations/zabbix.markdown | 4 ++-- source/_integrations/zamg.markdown | 2 +- source/_integrations/zha.markdown | 2 +- source/_integrations/zigbee.markdown | 6 +++--- source/_integrations/zwave.markdown | 2 +- 226 files changed, 370 insertions(+), 370 deletions(-) diff --git a/source/_integrations/acer_projector.markdown b/source/_integrations/acer_projector.markdown index d711e9242dc..ea66c086330 100644 --- a/source/_integrations/acer_projector.markdown +++ b/source/_integrations/acer_projector.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.19 --- -The `acer_projector` switch platform allows you to control the state of RS232 connected projectors from [Acer](http://www.acer.com). +The `acer_projector` switch platform allows you to control the state of RS232 connected projectors from [Acer](https://www.acer.com/). ## Configuration diff --git a/source/_integrations/actiontec.markdown b/source/_integrations/actiontec.markdown index ada052fc1dc..2ec05057621 100644 --- a/source/_integrations/actiontec.markdown +++ b/source/_integrations/actiontec.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.7 --- -This platform allows you to detect presence by looking at connected devices to an [Actiontec](http://www.actiontec.com/) device. +This platform allows you to detect presence by looking at connected devices to an [Actiontec](https://www.actiontec.com/) device. Supported devices (tested): diff --git a/source/_integrations/ads.markdown b/source/_integrations/ads.markdown index 249dd932cd6..61742c7b38e 100644 --- a/source/_integrations/ads.markdown +++ b/source/_integrations/ads.markdown @@ -13,7 +13,7 @@ ha_release: "0.60" ha_iot_class: Local Push --- -The ADS (automation device specification) describes a device-independent and fieldbus independent interface for communication between [Beckhoff](https://www.beckhoff.com/) automation devices running [TwinCAT](http://www.beckhoff.hu/english.asp?twincat/default.htm) and other devices implementing this interface. +The ADS (automation device specification) describes a device-independent and fieldbus independent interface for communication between [Beckhoff](https://www.beckhoff.com/) automation devices running [TwinCAT](https://www.beckhoff.hu/english.asp?twincat/default.htm) and other devices implementing this interface. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/airvisual.markdown b/source/_integrations/airvisual.markdown index 0f56195ebf8..c95b3562d5e 100644 --- a/source/_integrations/airvisual.markdown +++ b/source/_integrations/airvisual.markdown @@ -8,7 +8,7 @@ ha_release: 0.53 ha_iot_class: Cloud Polling --- -The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) can be created. +The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](https://www.clm.com/publication.cfm?ID=366) can be created. This platform requires an AirVisual API key, which can be obtained [here](https://airvisual.com/api). Note that the platform was designed using the "Community" package; the "Startup" and "Enterprise" package keys should continue to function, but actual results may vary (or not work at all). diff --git a/source/_integrations/alexa.flash_briefings.markdown b/source/_integrations/alexa.flash_briefings.markdown index eb4bacd926b..e8fd786621f 100644 --- a/source/_integrations/alexa.flash_briefings.markdown +++ b/source/_integrations/alexa.flash_briefings.markdown @@ -78,5 +78,5 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf [small-icon]: /images/integrations/alexa/alexa-108x108.png [templates]: /topics/templating/ [zero-three-one]: /blog/2016/10/22/flash-briefing-updater-hacktoberfest/ -[alexa-settings-site]: http://alexa.amazon.com/ +[alexa-settings-site]: https://alexa.amazon.com/ [emulated-hue-component]: /integrations/emulated_hue/ diff --git a/source/_integrations/amazon_polly.markdown b/source/_integrations/amazon_polly.markdown index 6307a57c604..7a63388dfba 100644 --- a/source/_integrations/amazon_polly.markdown +++ b/source/_integrations/amazon_polly.markdown @@ -12,9 +12,9 @@ Polly is a paid service via Amazon Web Services. There is a [free tier](https:/ ## Setup -For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions. +For more information, please read the [AWS General Reference regarding Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](https://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions. -Available voices are listed in the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html). +Available voices are listed in the [Amazon Documentation](https://docs.aws.amazon.com/polly/latest/dg/voicelist.html). ## Configuration diff --git a/source/_integrations/ambiclimate.markdown b/source/_integrations/ambiclimate.markdown index 7960e646ce1..a5e64074fd3 100644 --- a/source/_integrations/ambiclimate.markdown +++ b/source/_integrations/ambiclimate.markdown @@ -7,7 +7,7 @@ ha_release: 0.93 ha_iot_class: Cloud Polling --- -Integrates [Ambiclimate](https://Ambiclimate.com) Air Conditioning controller into Home Assistant. +Integrates [Ambiclimate](https://ambiclimate.com/) Air Conditioning controller into Home Assistant. You must create an application [here](https://api.ambiclimate.com/clients) to obtain a `client_id` and `client_secret`. The `callback url` should be configured as your Home Assistant `base_url` + `/api/ambiclimate`, e.g. `https://example.com/api/ambiclimate`. diff --git a/source/_integrations/anel_pwrctrl.markdown b/source/_integrations/anel_pwrctrl.markdown index 193edd1b187..e146f69fb6e 100644 --- a/source/_integrations/anel_pwrctrl.markdown +++ b/source/_integrations/anel_pwrctrl.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: "0.30" --- -The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](http://anel-elektronik.de/SITE/produkte/produkte.htm) devices. +The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://anel-elektronik.de/SITE/produkte/produkte.htm) devices. Supported devices (tested): diff --git a/source/_integrations/anthemav.markdown b/source/_integrations/anthemav.markdown index 08bcbe64910..7994f1334f4 100644 --- a/source/_integrations/anthemav.markdown +++ b/source/_integrations/anthemav.markdown @@ -17,7 +17,7 @@ Both [Anthem]'s current and last generation of A/V Receivers and Processors supp Support is provided through the Python [anthemav] module. Older, RS-232 serial-based units like the [D2v](https://www.anthemav.com/products-current/type=av-processor/model=d2v-3d/page=overview) use a different protocol entirely and are not currently supported. -[Anthem]: http://www.anthemav.com/ +[Anthem]: https://www.anthemav.com/ [anthemav]: https://github.com/nugget/python-anthemav diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown index ffacda23099..93649d924b7 100644 --- a/source/_integrations/apcupsd.markdown +++ b/source/_integrations/apcupsd.markdown @@ -75,7 +75,7 @@ name: ## Sensor - The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](http://linux.die.net/man/8/apcaccess) command. + The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](https://linux.die.net/man/8/apcaccess) command. ### Configuration diff --git a/source/_integrations/apple_tv.markdown b/source/_integrations/apple_tv.markdown index f17e597a314..eeec08c3d4a 100644 --- a/source/_integrations/apple_tv.markdown +++ b/source/_integrations/apple_tv.markdown @@ -100,7 +100,7 @@ Found Apple TVs: Note: You must use 'pair' with devices that have home sharing disabled ``` -Just copy and paste the `login_id` from the device you want to add. For more details about `atvremote`, see: [this page](http://pyatv.readthedocs.io/en/master/atvremote.html). +Just copy and paste the `login_id` from the device you want to add. For more details about `atvremote`, see: [this page](https://pyatv.readthedocs.io/en/master/atvremote.html). ### Setting up device authentication diff --git a/source/_integrations/arest.markdown b/source/_integrations/arest.markdown index 4cfe510e6cf..88ee5984748 100644 --- a/source/_integrations/arest.markdown +++ b/source/_integrations/arest.markdown @@ -19,7 +19,7 @@ There is currently support for the following device types within Home Assistant: ## Binary Sensor -The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with an ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. +The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with an ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](https://arest.io/) RESTful framework. To use your aREST binary sensor in your installation, add the following to your `configuration.yaml` file: @@ -70,7 +70,7 @@ This sensor is not suitable for fast state changes because there is a high possi ## Sensor -The `arest` sensor platform allows you to get all data from your devices (like Arduinos with a Ethernet/Wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. +The `arest` sensor platform allows you to get all data from your devices (like Arduinos with a Ethernet/Wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](https://arest.io/) RESTful framework. To use your aREST enabled device in your installation, add the following to your `configuration.yaml` file: @@ -173,7 +173,7 @@ The root will give you a JSON response that contains all variables and their cur ## Switch -The `arest` switch platform allows you to toggle pins of your devices (like Arduino boards with an Ethernet/Wifi connection, ESP8266 based devices, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. +The `arest` switch platform allows you to toggle pins of your devices (like Arduino boards with an Ethernet/Wifi connection, ESP8266 based devices, and the Raspberry Pi) running the [aREST](https://arest.io/) RESTful framework. To use your aREST enabled device with pins in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/aruba.markdown b/source/_integrations/aruba.markdown index 5a5a9de25e3..723ae4765a7 100644 --- a/source/_integrations/aruba.markdown +++ b/source/_integrations/aruba.markdown @@ -8,7 +8,7 @@ ha_release: 0.7 --- -This platform allows you to detect presence by looking at connected devices to an [Aruba Instant](http://www.arubanetworks.com/products/networking/aruba-instant/) device. +This platform allows you to detect presence by looking at connected devices to an [Aruba Instant](https://www.arubanetworks.com/products/networking/aruba-instant/) device. Supported devices (tested): diff --git a/source/_integrations/arwn.markdown b/source/_integrations/arwn.markdown index d1c4da78690..b1eb557a99f 100644 --- a/source/_integrations/arwn.markdown +++ b/source/_integrations/arwn.markdown @@ -7,7 +7,7 @@ ha_release: 0.31 ha_iot_class: Local Polling --- -The `arwn` sensor platform is a client for the [Ambient Radio Weather Network](http://github.com/sdague/arwn) project. This collects weather station data and makes it available in an MQTT subtree. +The `arwn` sensor platform is a client for the [Ambient Radio Weather Network](https://github.com/sdague/arwn) project. This collects weather station data and makes it available in an MQTT subtree. To use your ARWN setup, you must already have configured the [MQTT](/integrations/mqtt/) platform. Then add the following to your `configuration.yaml` file: diff --git a/source/_integrations/asuswrt.markdown b/source/_integrations/asuswrt.markdown index 7c573c94243..82aa97b7ef1 100644 --- a/source/_integrations/asuswrt.markdown +++ b/source/_integrations/asuswrt.markdown @@ -10,7 +10,7 @@ ha_release: 0.83 ha_iot_class: Local Polling --- -The `asuswrt` integration is the main integration to connect to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router. +The `asuswrt` integration is the main integration to connect to a [ASUSWRT](https://event.asus.com/2013/nw/ASUSWRT/) based router. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/atome.markdown b/source/_integrations/atome.markdown index 154340087f7..f0f71f152e5 100644 --- a/source/_integrations/atome.markdown +++ b/source/_integrations/atome.markdown @@ -12,7 +12,7 @@ ha_iot_class: Cloud Polling The `atome` sensor platform is retrieving the consumption of your home from the [Direct Energy Atome electric meter](https://total.direct-energie.com/particuliers/electricite/compteur-linky/atome). This special little device is connected to a Linky Electric Meter, and sends live data to a cloud platform. -As there is no official documentation for the API, the component retrieves data from the API used in the Atome mobile app, [hosted here](http://esoftlink.esoftthings.com). +As there is no official documentation for the API, the component retrieves data from the API used in the Atome mobile app, [hosted here](https://esoftlink.esoftthings.com/). ## Configuration diff --git a/source/_integrations/august.markdown b/source/_integrations/august.markdown index 06e70a946a7..a4c956714c2 100644 --- a/source/_integrations/august.markdown +++ b/source/_integrations/august.markdown @@ -11,7 +11,7 @@ ha_release: 0.64 ha_iot_class: Cloud Polling --- -The `august` integration allows you to integrate your [August](http://august.com) devices in Home Assistant. +The `august` integration allows you to integrate your [August](https://august.com/) devices in Home Assistant. There is currently support for the following device types within Home Assistant: @@ -74,4 +74,4 @@ If you have August Smart Lock with DoorSense, once you have enabled the August c ### Camera -The `august` camera platform allows you to view the latest camera image (triggered by motion) by your [August](http://august.com) device in Home Assistant. +The `august` camera platform allows you to view the latest camera image (triggered by motion) by your [August](https://august.com/) device in Home Assistant. diff --git a/source/_integrations/aurora.markdown b/source/_integrations/aurora.markdown index 57e7c5fa6f7..b4d12cacc29 100644 --- a/source/_integrations/aurora.markdown +++ b/source/_integrations/aurora.markdown @@ -7,7 +7,7 @@ ha_release: 0.39 logo: noaa.png --- -The `aurora` platform uses the [NOAA aurora forecast](http://www.swpc.noaa.gov/products/aurora-30-minute-forecast) service to let you know if an aurora might be visible at your home location in the next 30 minutes, based off of current solar flare activity. +The `aurora` platform uses the [NOAA aurora forecast](https://www.swpc.noaa.gov/products/aurora-30-minute-forecast) service to let you know if an aurora might be visible at your home location in the next 30 minutes, based off of current solar flare activity. This service gives a number 0-100 representing the current likelihood of visible auroras at your latitude/longitude. By default this sensor is set up to trigger when the reported likelihood for your location is > 75. It updates every 5 minutes. diff --git a/source/_integrations/automatic.markdown b/source/_integrations/automatic.markdown index 8aa3063d249..fb9db70b934 100644 --- a/source/_integrations/automatic.markdown +++ b/source/_integrations/automatic.markdown @@ -9,7 +9,7 @@ ha_iot_class: Cloud Push --- -The `automatic` device tracker platform offers presence detection by retrieving your car's information from the [Automatic](http://automatic.com/) cloud service. +The `automatic` device tracker platform offers presence detection by retrieving your car's information from the [Automatic](https://automatic.com/) cloud service. ## Setup diff --git a/source/_integrations/aws.markdown b/source/_integrations/aws.markdown index 8325a46dc5a..0c501748cea 100644 --- a/source/_integrations/aws.markdown +++ b/source/_integrations/aws.markdown @@ -100,7 +100,7 @@ context: ## Lambda Notify Usage -AWS Lambda is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will invoke a Lambda for all targets given in the notification payload. A target can be formatted as a function name, an entire ARN ([Amazon Resource Name](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)) or a partial ARN. For more information, please see the [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html#Lambda.Client.invoke). +AWS Lambda is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will invoke a Lambda for all targets given in the notification payload. A target can be formatted as a function name, an entire ARN ([Amazon Resource Name](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)) or a partial ARN. For more information, please see the [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html#Lambda.Client.invoke). The Lambda event payload will contain everything passed in the service call payload. Here is an example payload that would be sent to Lambda: @@ -128,7 +128,7 @@ The context will look like this: ## SNS Notify Usage -AWS SNS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to all targets given in the notification payload. A target must be a SNS topic or endpoint ARN ([Amazon Resource Name](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)). For more information, please see the [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html#SNS.Client.publish). +AWS SNS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to all targets given in the notification payload. A target must be a SNS topic or endpoint ARN ([Amazon Resource Name](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)). For more information, please see the [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html#SNS.Client.publish). If one exists, the SNS Subject will be set to the title. All attributes from the payload, except the message, will be sent as stringified message attributes. @@ -154,14 +154,14 @@ If you do not download them, you will lose them and will have to recreate a new ## SQS Notify Usage -AWS SQS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the queue for all targets given in the notification payload. A target must be a SQS topic URL. For more information, please see the [SQS docs](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ImportantIdentifiers.html) and [bototcore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.send_message) +AWS SQS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the queue for all targets given in the notification payload. A target must be a SQS topic URL. For more information, please see the [SQS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ImportantIdentifiers.html) and [bototcore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.send_message) The SQS event payload will contain everything passed in the service call payload. SQS payloads will be published as stringified JSON. All attributes from the payload, except message, will also be sent as stringified message attributes. Here is an example message that would be published to the SQS queue: ```json { "title": "Test message!", - "target": "http://sqs.us-east-1.amazonaws.com/123456789012/queue2", + "target": "https://sqs.us-east-1.amazonaws.com/123456789012/queue2%22, "data": { "test": "okay" }, diff --git a/source/_integrations/bbb_gpio.markdown b/source/_integrations/bbb_gpio.markdown index f977d033f4f..389315e7f50 100644 --- a/source/_integrations/bbb_gpio.markdown +++ b/source/_integrations/bbb_gpio.markdown @@ -64,7 +64,7 @@ pins: default: UP {% endconfiguration %} -For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. +For more details about the GPIO layout, visit the [article](https://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. ## Switch @@ -112,4 +112,4 @@ pins: type: boolean {% endconfiguration %} -For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. +For more details about the GPIO layout, visit the [article](https://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. diff --git a/source/_integrations/binary_sensor.knx.markdown b/source/_integrations/binary_sensor.knx.markdown index 47bba637991..2818ad36a1b 100644 --- a/source/_integrations/binary_sensor.knx.markdown +++ b/source/_integrations/binary_sensor.knx.markdown @@ -14,7 +14,7 @@ The `knx` integration must be configured correctly to use this integration, see
-The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) binary sensors. +The `knx` sensor platform allows you to monitor [KNX](https://www.knx.org/) binary sensors. Binary sensors are read-only. To write to the knx-bus configure an exposure [KNX Integration - Expose](/integrations/knx/#exposing-sensor-values-or-time-to-knx-bus). diff --git a/source/_integrations/binary_sensor.mysensors.markdown b/source/_integrations/binary_sensor.mysensors.markdown index a6d7cafb5c2..8b42a3c5504 100644 --- a/source/_integrations/binary_sensor.mysensors.markdown +++ b/source/_integrations/binary_sensor.mysensors.markdown @@ -37,10 +37,10 @@ For more information, visit the [serial api] of MySensors. ```cpp /** - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * - * http://www.mysensors.org/build/binary + * https://www.mysensors.org/build/binary */ @@ -82,4 +82,4 @@ void loop() ``` [main component]: /integrations/mysensors/ -[serial api]: http://www.mysensors.org/download +[serial api]: https://www.mysensors.org/download diff --git a/source/_integrations/binary_sensor.xiaomi_aqara.markdown b/source/_integrations/binary_sensor.xiaomi_aqara.markdown index d8457fbb018..b25eb39897e 100644 --- a/source/_integrations/binary_sensor.xiaomi_aqara.markdown +++ b/source/_integrations/binary_sensor.xiaomi_aqara.markdown @@ -8,7 +8,7 @@ ha_release: "0.50" ha_iot_class: Local Push --- -The `xiaomi aqara` binary sensor platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) binary sensors. +The `xiaomi aqara` binary sensor platform allows you to get data from your [Xiaomi](https://www.mi.com/en/) binary sensors. The requirement is that you have setup the [`xiaomi aqara` integration](/integrations/xiaomi_aqara/). diff --git a/source/_integrations/bizkaibus.markdown b/source/_integrations/bizkaibus.markdown index bd5b94cbe84..c2fa349ffe0 100644 --- a/source/_integrations/bizkaibus.markdown +++ b/source/_integrations/bizkaibus.markdown @@ -11,7 +11,7 @@ ha_release: 0.93 The `bizkaibus` sensor will give you the time until the next bus in the selected stop. -The next website can help to determine the id of your bus stop. You can check if this is correct by going to [next link](http://apli.bizkaia.net/APPS/DANOK/TQ/DATOS_PARADAS/DATOS_Paradas.xml) and look the PR_CODE for the STOP_ID. +The next website can help to determine the id of your bus stop. You can check if this is correct by going to [next link](https://apli.bizkaia.net/APPS/DANOK/TQ/DATOS_PARADAS/DATOS_Paradas.xml) and look the PR_CODE for the STOP_ID. For a correct use of the sensor the selected route must stop in the selected stop. @@ -41,4 +41,4 @@ name: type: string {% endconfiguration %} -The public RTPI information is coming from [Bizkaibus API](http://apli.bizkaia.net/APPS/DANOK/TQWS/TQ.ASMX). +The public RTPI information is coming from [Bizkaibus API](https://apli.bizkaia.net/APPS/DANOK/TQWS/TQ.ASMX). diff --git a/source/_integrations/blink.markdown b/source/_integrations/blink.markdown index 9fd9274e4e6..0639b502f63 100644 --- a/source/_integrations/blink.markdown +++ b/source/_integrations/blink.markdown @@ -12,7 +12,7 @@ ha_release: "0.40" ha_iot_class: Cloud Polling --- -The `blink` integration lets you view camera images and motion events from [Blink](http://blinkforhome.com) camera and security systems. +The `blink` integration lets you view camera images and motion events from [Blink](https://blinkforhome.com/) camera and security systems. ## Setup diff --git a/source/_integrations/bluesound.markdown b/source/_integrations/bluesound.markdown index b83195ed7a8..3deaec8ce09 100644 --- a/source/_integrations/bluesound.markdown +++ b/source/_integrations/bluesound.markdown @@ -8,7 +8,7 @@ ha_release: 0.51 ha_iot_class: Local Polling --- -The `bluesound` platform allows you to control your [Bluesound](http://www.bluesound.com/) HiFi wireless speakers and audio integrations from Home Assistant. +The `bluesound` platform allows you to control your [Bluesound](https://www.bluesound.com/) HiFi wireless speakers and audio integrations from Home Assistant. If you want to automatically discover new devices, just make sure you have discovery: in your configuration.yaml file. To manually add a Bluesound device to your installation, add the following to your configuration.yaml file: diff --git a/source/_integrations/bluetooth_le_tracker.markdown b/source/_integrations/bluetooth_le_tracker.markdown index 130bac4db10..3154c973979 100644 --- a/source/_integrations/bluetooth_le_tracker.markdown +++ b/source/_integrations/bluetooth_le_tracker.markdown @@ -49,7 +49,7 @@ Some BTLE devices (e.g., fitness trackers) are only visible to the devices that ## Rootless Setup -Normally accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 and hcitool the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see [Stack Exchange](http://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root) for more information). +Normally accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 and hcitool the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see [Stack Exchange](https://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root) for more information). ```bash sudo apt-get install libcap2-bin diff --git a/source/_integrations/braviatv.markdown b/source/_integrations/braviatv.markdown index 6c1054e7b7b..0708f5314a7 100644 --- a/source/_integrations/braviatv.markdown +++ b/source/_integrations/braviatv.markdown @@ -8,9 +8,9 @@ ha_release: 0.23 ha_iot_class: Local Polling --- -The `braviatv` platform allows you to control a [Sony Bravia TV](http://www.sony.com). +The `braviatv` platform allows you to control a [Sony Bravia TV](https://www.sony.com/). -Almost all [Sony Bravia TV 2013 and newer](http://info.tvsideview.sony.net/en_ww/home_device.html#bravia) are supported. A more generic method for older TVs connected to a Raspberry Pi with HDMI-CEC is explained further below. +Almost all [Sony Bravia TV 2013 and newer](https://info.tvsideview.sony.net/en_ww/home_device.html#bravia) are supported. A more generic method for older TVs connected to a Raspberry Pi with HDMI-CEC is explained further below. You will need to configure your TV to allow the Home Assistant for remote usage. To do that, ensure that your TV is turned on. Open the configuration popup on Home Assistant and enter a random PIN (for example 0000). After that, the TV will show you a PIN and Home Assistant will allow you to re-enter that PIN. Enter the PIN shown on your TV and Home Assistant will be able to control your Sony Bravia TV. diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown index ccb7e4a7f81..28c92e02850 100644 --- a/source/_integrations/broadlink.markdown +++ b/source/_integrations/broadlink.markdown @@ -119,7 +119,7 @@ pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCryp ## Switch -This `Broadlink` switch platform allow to you control Broadlink [devices](http://www.ibroadlink.com/). +This `Broadlink` switch platform allow to you control Broadlink [devices](https://www.ibroadlink.com/). ### Configuration @@ -357,7 +357,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro Not every code works. 8. Convert the HEX codes to base64. - Use [this](http://tomeko.net/online_tools/hex_to_base64.php?lang=en1) tool to convert the hex codes to base64 for use with Home Assistant. + Use [this](https://tomeko.net/online_tools/hex_to_base64.php?lang=en1) tool to convert the hex codes to base64 for use with Home Assistant. ### Using iOS and Windows to obtain codes @@ -367,7 +367,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro - Download and install Python 2.7 on your windows PC. - Run `pip install simplejson`. You must install simplejson in the same python version you will use to run the scripts. You can ensure that the current version is installed by attempting to install again and confirming that you see "Requirement already satisfied". - - Download and install [iBackup Viewer](http://www.imactools.com/iphonebackupviewer/). + - Download and install [iBackup Viewer](https://www.imactools.com/iphonebackupviewer/). - Download [these](https://github.com/NightRang3r/Broadlink-e-control-db-dump) github files. Make sure you place them in the \Python27 path in Windows. Be sure that the getBroadlinkSharedData.py from the download is in this directory. 3. Plug your iphone into your windows PC, open iTunes and create a non-encrypted backup of your device. diff --git a/source/_integrations/buienradar.markdown b/source/_integrations/buienradar.markdown index 522e3470558..35ce1f630e8 100644 --- a/source/_integrations/buienradar.markdown +++ b/source/_integrations/buienradar.markdown @@ -73,7 +73,7 @@ The weather platform is easier to configure but less customizable. ## Camera -The `buienradar` camera platform uses [buienradar.nl](http://buienradar.nl/) as a source for the last rain radar map. The overview image of the whole of the Netherlands is loaded and shown as a camera in Home Assistant. +The `buienradar` camera platform uses [buienradar.nl](https://buienradar.nl/) as a source for the last rain radar map. The overview image of the whole of the Netherlands is loaded and shown as a camera in Home Assistant. Internally this component uses the radar map image as [documented](https://www.buienradar.nl/overbuienradar/gratis-weerdata) on buienradar.nl. The downloaded image is cached to prevent Home Assistant from making a new request to buienradar.nl multiple times a minute when Home Assistant checks for new stills from the camera. diff --git a/source/_integrations/camera.ffmpeg.markdown b/source/_integrations/camera.ffmpeg.markdown index a3e33350977..b8f497cc3b2 100644 --- a/source/_integrations/camera.ffmpeg.markdown +++ b/source/_integrations/camera.ffmpeg.markdown @@ -8,7 +8,7 @@ ha_release: 0.26 ha_iot_class: Local Polling --- -The `ffmpeg` platform allows you to use any video feed as a camera in Home Assistant via [FFmpeg](http://www.ffmpeg.org/). This video source must support multiple simultaneous reads, because for every concurrent Home Assistant user, a connection will be made to the source every 10 seconds. Normally this should not be a problem. +The `ffmpeg` platform allows you to use any video feed as a camera in Home Assistant via [FFmpeg](https://www.ffmpeg.org/). This video source must support multiple simultaneous reads, because for every concurrent Home Assistant user, a connection will be made to the source every 10 seconds. Normally this should not be a problem. ## Configuration diff --git a/source/_integrations/cisco_ios.markdown b/source/_integrations/cisco_ios.markdown index 4960c9582f1..4b6fad84935 100644 --- a/source/_integrations/cisco_ios.markdown +++ b/source/_integrations/cisco_ios.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.33 --- -This is a presence detection scanner for [Cisco](http://www.cisco.com) IOS devices. +This is a presence detection scanner for [Cisco](https://www.cisco.com/) IOS devices.
This device tracker needs SSH to be enabled on the router. diff --git a/source/_integrations/climate.mysensors.markdown b/source/_integrations/climate.mysensors.markdown index e5bab774b6e..542e21a4d56 100644 --- a/source/_integrations/climate.mysensors.markdown +++ b/source/_integrations/climate.mysensors.markdown @@ -42,8 +42,8 @@ For more information, visit the [serial api] of MySensors. ```cpp /* -* Documentation: http://www.mysensors.org -* Support Forum: http://forum.mysensors.org +* Documentation: https://www.mysensors.org +* Support Forum: https://forum.mysensors.org */ #define MY_RADIO_NRF24 @@ -187,8 +187,8 @@ void sendHeatpumpCommand() { ```cpp /* -* Documentation: http://www.mysensors.org -* Support Forum: http://forum.mysensors.org +* Documentation: https://www.mysensors.org +* Support Forum: https://forum.mysensors.org */ #include @@ -257,4 +257,4 @@ void incomingMessage(const MyMessage &message) { ``` [main component]: /integrations/mysensors/ -[serial api]: http://www.mysensors.org/download +[serial api]: https://www.mysensors.org/download diff --git a/source/_integrations/co2signal.markdown b/source/_integrations/co2signal.markdown index 260c02b7419..48808af9f26 100644 --- a/source/_integrations/co2signal.markdown +++ b/source/_integrations/co2signal.markdown @@ -8,7 +8,7 @@ ha_release: 0.87 ha_iot_class: Cloud Polling --- -The `co2signal` sensor platform queries the [CO2Signal](https://www.co2signal.com/) API for the CO2 intensity of a specific region. Data can be collected via latitude/longitude or by country code. This API uses the same data as https://www.electricitymap.org/. Not all countries/regions in the world are supported so please consult this website to check local availability. +The `co2signal` sensor platform queries the [CO2Signal](https://www.co2signal.com/) API for the CO2 intensity of a specific region. Data can be collected via latitude/longitude or by country code. This API uses the same data as Not all countries/regions in the world are supported so please consult this website to check local availability. This platform requires a CO2Signal API key, which can be obtained [here](https://www.co2signal.com/). Note that this API key is for personal use only and other options exist when the data is used commercially. diff --git a/source/_integrations/coinmarketcap.markdown b/source/_integrations/coinmarketcap.markdown index 3f143ccd8a0..a5d8d3d2e6a 100644 --- a/source/_integrations/coinmarketcap.markdown +++ b/source/_integrations/coinmarketcap.markdown @@ -9,7 +9,7 @@ ha_iot_class: Cloud Polling --- -The `coinmarketcap` sensor platform displays various details about a cryptocurrency provided by [CoinMarketCap](http://coinmarketcap.com/). +The `coinmarketcap` sensor platform displays various details about a cryptocurrency provided by [CoinMarketCap](https://coinmarketcap.com/). To add the CoinMarketCap sensor to your installation, add the following lines to your `configuration.yaml`: diff --git a/source/_integrations/comfoconnect.markdown b/source/_integrations/comfoconnect.markdown index 54a8545aa0b..476d13a786d 100644 --- a/source/_integrations/comfoconnect.markdown +++ b/source/_integrations/comfoconnect.markdown @@ -9,7 +9,7 @@ ha_release: 0.48 --- The `comfoconnect` integration lets you control Zehnder ComfoAir [Q350](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-tr)/[Q450](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-tr)/[Q600](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st) -ventilation units from Home Assistant. You need a [ComfoConnect LAN C](http://www.zehnder.co.uk/products-and-systems/comfortable-indoor-ventilation/ms-comfoair-q/ideal-control#node-21233) +ventilation units from Home Assistant. You need a [ComfoConnect LAN C](https://www.zehnder.co.uk/products-and-systems/comfortable-indoor-ventilation/ms-comfoair-q/ideal-control#node-21233) bridge to connect the unit to your local network. There is an official iPhone and Android app to configure and control your unit. This platform connects with the help of diff --git a/source/_integrations/command_line.markdown b/source/_integrations/command_line.markdown index 36a194af115..988422d584c 100644 --- a/source/_integrations/command_line.markdown +++ b/source/_integrations/command_line.markdown @@ -88,7 +88,7 @@ binary_sensor: ### Check RasPlex -Check if [RasPlex](http://www.rasplex.com/) is `online`. +Check if [RasPlex](https://www.rasplex.com/) is `online`. ```yaml binary_sensor: diff --git a/source/_integrations/cover.mysensors.markdown b/source/_integrations/cover.mysensors.markdown index 0d159b96938..075f99a2e10 100644 --- a/source/_integrations/cover.mysensors.markdown +++ b/source/_integrations/cover.mysensors.markdown @@ -33,8 +33,8 @@ For more information, visit the [serial api] of MySensors. ```cpp /* - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org */ // Enable debug prints to serial monitor diff --git a/source/_integrations/cover.xiaomi_aqara.markdown b/source/_integrations/cover.xiaomi_aqara.markdown index 1b39657a022..d7808d03955 100644 --- a/source/_integrations/cover.xiaomi_aqara.markdown +++ b/source/_integrations/cover.xiaomi_aqara.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push --- -The `xiaomi aqara` cover platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) covers. +The `xiaomi aqara` cover platform allows you to get data from your [Xiaomi](https://www.mi.com/en/) covers. The requirement is that you have setup [Xiaomi aqara](/integrations/xiaomi_aqara/). diff --git a/source/_integrations/darksky.markdown b/source/_integrations/darksky.markdown index 0e2c765c8f7..cea4581810b 100644 --- a/source/_integrations/darksky.markdown +++ b/source/_integrations/darksky.markdown @@ -8,7 +8,7 @@ ha_release: "0.30" ha_iot_class: Cloud Polling --- -The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/). +The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](https://www.openstreetmap.org/). ## Setup diff --git a/source/_integrations/datadog.markdown b/source/_integrations/datadog.markdown index 1198064ad6b..7a0152f82c6 100644 --- a/source/_integrations/datadog.markdown +++ b/source/_integrations/datadog.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.45 --- -The `datadog` integration sends all state changes to [Datadog](https://www.datadoghq.com/) using a [Datadog Agent](http://docs.datadoghq.com/guides/basic_agent_usage/). +The `datadog` integration sends all state changes to [Datadog](https://www.datadoghq.com/) using a [Datadog Agent](https://docs.datadoghq.com/guides/basic_agent_usage/). Datadog allows you to analyze, monitor, cross-reference and alert upon your data. You can use it to detect statistical anomalies, see graphs across multiple sources in real-time, send critical alerts to Slack, etc. diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown index abacadf5046..c7771e14040 100644 --- a/source/_integrations/deconz.markdown +++ b/source/_integrations/deconz.markdown @@ -18,7 +18,7 @@ ha_config_flow: true [deCONZ](https://www.dresden-elektronik.de/funktechnik/products/software/pc/deconz/) by [Dresden Elektronik](https://www.dresden-elektronik.de) is a software that communicates with Conbee/Raspbee Zigbee gateways and exposes Zigbee devices that are connected to the gateway. -[deCONZ REST API](http://dresden-elektronik.github.io/deconz-rest-doc/). +[deCONZ REST API](https://dresden-elektronik.github.io/deconz-rest-doc/). There is currently support for the following device types within Home Assistant: @@ -69,7 +69,7 @@ Available services: `configure` and `deconz.device_refresh`. ### Service `deconz.configure` -Set attribute of device in deCONZ using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/). +Set attribute of device in deCONZ using [Rest API](https://dresden-elektronik.github.io/deconz-rest-doc/rest/). | Service data attribute | Optional | Description | |-----------|----------|-------------| diff --git a/source/_integrations/decora_wifi.markdown b/source/_integrations/decora_wifi.markdown index aef1c6a0063..9566535d2d3 100644 --- a/source/_integrations/decora_wifi.markdown +++ b/source/_integrations/decora_wifi.markdown @@ -8,7 +8,7 @@ logo: leviton.png ha_release: 0.51 --- -Support for [Leviton Decora Wi-Fi](http://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches via the MyLeviton API. +Support for [Leviton Decora Wi-Fi](https://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches via the MyLeviton API. Supported devices (tested): diff --git a/source/_integrations/deluge.markdown b/source/_integrations/deluge.markdown index cbabe6d717f..14993ca1416 100644 --- a/source/_integrations/deluge.markdown +++ b/source/_integrations/deluge.markdown @@ -17,7 +17,7 @@ There is currently support for the following device types within Home Assistant: ## Sensor -The `deluge` platform allows you to monitor your downloads with [Deluge](http://deluge-torrent.org/) from within Home Assistant and setup automation based on the information. +The `deluge` platform allows you to monitor your downloads with [Deluge](https://deluge-torrent.org/) from within Home Assistant and setup automation based on the information. To enable this sensor, add the following lines to your `configuration.yaml`: @@ -72,7 +72,7 @@ monitored_variables: ## Switch -The `deluge` switch platform allows you to control your [Deluge](http://deluge-torrent.org/) client from within Home Assistant. The platform enables you switch all your torrents in pause, and then unpause them all. +The `deluge` switch platform allows you to control your [Deluge](https://deluge-torrent.org/) client from within Home Assistant. The platform enables you switch all your torrents in pause, and then unpause them all. To add Deluge to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/denon.markdown b/source/_integrations/denon.markdown index 6ec69f974fc..30af1e719db 100644 --- a/source/_integrations/denon.markdown +++ b/source/_integrations/denon.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.7.2 --- -The `denon` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon AVR] platform. +The `denon` platform allows you to control a [Denon Network Receivers](https://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon AVR] platform. Supported devices: diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown index c294edaf491..d2cc4a62955 100644 --- a/source/_integrations/denonavr.markdown +++ b/source/_integrations/denonavr.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.7.2 --- -The `denonavr` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform. +The `denonavr` platform allows you to control a [Denon Network Receivers](https://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform. Supported devices: diff --git a/source/_integrations/deutsche_bahn.markdown b/source/_integrations/deutsche_bahn.markdown index fa956f6313e..1ce069e50b1 100644 --- a/source/_integrations/deutsche_bahn.markdown +++ b/source/_integrations/deutsche_bahn.markdown @@ -53,4 +53,4 @@ sensor: friendly_name: 'Next departure' ``` -The data is coming from the [bahn.de](http://www.bahn.de/p/view/index.shtml) website. +The data is coming from the [bahn.de](https://www.bahn.de/p/view/index.shtml) website. diff --git a/source/_integrations/device_tracker.mysensors.markdown b/source/_integrations/device_tracker.mysensors.markdown index 3e392917c9b..88d645f68b6 100644 --- a/source/_integrations/device_tracker.mysensors.markdown +++ b/source/_integrations/device_tracker.mysensors.markdown @@ -25,10 +25,10 @@ For more information, visit the [serial api] of MySensors. ```cpp /** - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * - * http://www.mysensors.org/build/gps + * https://www.mysensors.org/build/gps */ // Enable debug prints to serial monitor @@ -97,4 +97,4 @@ void loop() ``` [main component]: /integrations/mysensors/ -[serial api]: http://www.mysensors.org/download +[serial api]: https://www.mysensors.org/download diff --git a/source/_integrations/digitalloggers.markdown b/source/_integrations/digitalloggers.markdown index fbbdfa510ee..c725facab7f 100644 --- a/source/_integrations/digitalloggers.markdown +++ b/source/_integrations/digitalloggers.markdown @@ -8,7 +8,7 @@ ha_release: 0.35 ha_iot_class: Local Polling --- -The `digitalloggers` switch platform allows you to control the state of your [Digital Loggers](http://www.digital-loggers.com/dinfaqs.html) switches. +The `digitalloggers` switch platform allows you to control the state of your [Digital Loggers](https://www.digital-loggers.com/dinfaqs.html) switches. ## Configuration diff --git a/source/_integrations/directv.markdown b/source/_integrations/directv.markdown index 593c94baad4..2f28a1a3df8 100644 --- a/source/_integrations/directv.markdown +++ b/source/_integrations/directv.markdown @@ -8,7 +8,7 @@ ha_release: 0.25 ha_iot_class: Local Polling --- -Master [DirecTV](http://www.directv.com/) receivers (ie: those that have tuners) will be automatically discovered if you enable the [discovery integration](/integrations/discovery/) and the receiver is powered-on. Slave/RVU client/Genie boxes will also be discovered, but only if they are also online at the time of discovery. +Master [DirecTV](https://www.directv.com/) receivers (ie: those that have tuners) will be automatically discovered if you enable the [discovery integration](/integrations/discovery/) and the receiver is powered-on. Slave/RVU client/Genie boxes will also be discovered, but only if they are also online at the time of discovery. To ensure that your DirecTV boxes are always found and configured, they should be added into your `configuration.yaml`. diff --git a/source/_integrations/dlink.markdown b/source/_integrations/dlink.markdown index 54e2d1192f0..e43e03c10f4 100644 --- a/source/_integrations/dlink.markdown +++ b/source/_integrations/dlink.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.14 --- -The `dlink` switch platform allows you to control the state of your [D-Link Wi-Fi Smart Plugs](http://us.dlink.com/product-category/home-solutions/connected-home/smart-plugs/). +The `dlink` switch platform allows you to control the state of your [D-Link Wi-Fi Smart Plugs](https://us.dlink.com/en/consumer/smart-plugs). Supported devices (tested): diff --git a/source/_integrations/dovado.markdown b/source/_integrations/dovado.markdown index 1ff6ea7ad24..2319ce09adc 100644 --- a/source/_integrations/dovado.markdown +++ b/source/_integrations/dovado.markdown @@ -10,7 +10,7 @@ ha_release: 0.87 ha_iot_class: Local Polling --- -The `dovado` integration manages communication with the [Dovado](http://www.dovado.com/) router. +The `dovado` integration manages communication with the [Dovado](https://www.dovado.com/) router. There is currently support for the following device types within Home Assistant: @@ -49,7 +49,7 @@ port: ## Notifications -The `dovado` notify platform allows you to send SMS from your [Dovado](http://www.dovado.com/) router, if it supports it. +The `dovado` notify platform allows you to send SMS from your [Dovado](https://www.dovado.com/) router, if it supports it. To add the Dovado notify platform to your installation, add the following to your `configuration.yaml` file: @@ -79,7 +79,7 @@ automation: ## Sensor -The `dovado` sensor platform let you monitor your [Dovado](http://www.dovado.com/) router. +The `dovado` sensor platform let you monitor your [Dovado](https://www.dovado.com/) router. To add a Dovado sensor to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/dunehd.markdown b/source/_integrations/dunehd.markdown index 73d41fc50b0..5357d950138 100644 --- a/source/_integrations/dunehd.markdown +++ b/source/_integrations/dunehd.markdown @@ -9,7 +9,7 @@ ha_release: 0.34 --- -The `dunehd` media player platform allows you to control a [Dune HD media player](http://dune-hd.com/eng/products/full_hd_media_players) from Home Assistant. Support is based on the official [IP protocol](http://dune-hd.com/support/ip_control/dune_ip_control_overview.txt) published by Dune. +The `dunehd` media player platform allows you to control a [Dune HD media player](https://dune-hd.com/eng/products/full_hd_media_players) from Home Assistant. Support is based on the official [IP protocol](https://dune-hd.com/support/ip_control/dune_ip_control_overview.txt) published by Dune. Devices with firmware 110127_2105_beta or above are supported. Some functions may depend on the version of the protocol (volume / mute control is only available with version 2 onwards). diff --git a/source/_integrations/dweet.markdown b/source/_integrations/dweet.markdown index c2ffcb58d5a..cded98a4cef 100644 --- a/source/_integrations/dweet.markdown +++ b/source/_integrations/dweet.markdown @@ -9,7 +9,7 @@ ha_release: 0.19 ha_iot_class: Cloud Polling --- -The `dweet` integration makes it possible to transfer details collected with Home Assistant to [Dweet.io](http://dweet.io/) and visualize them with [freeboard.io](https://freeboard.io). Keep in mind that your information will be public! +The `dweet` integration makes it possible to transfer details collected with Home Assistant to [Dweet.io](https://dweet.io/) and visualize them with [freeboard.io](https://freeboard.io). Keep in mind that your information will be public!

diff --git a/source/_integrations/econet.markdown b/source/_integrations/econet.markdown index 8a311db2424..da50296d305 100644 --- a/source/_integrations/econet.markdown +++ b/source/_integrations/econet.markdown @@ -8,7 +8,7 @@ ha_release: 0.61 ha_iot_class: Cloud Polling --- -The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](http://www.rheem.com/EcoNet/Home). This platform allows you to set the temperature, the operation mode, and enable vacation mode. +The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](https://www.rheem.com/EcoNet/Home). This platform allows you to set the temperature, the operation mode, and enable vacation mode. ## Configuration diff --git a/source/_integrations/eddystone_temperature.markdown b/source/_integrations/eddystone_temperature.markdown index d40aada885b..076b5c6b5e2 100644 --- a/source/_integrations/eddystone_temperature.markdown +++ b/source/_integrations/eddystone_temperature.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Polling --- The `eddystone_temperature` sensor platform reads temperature information from Bluetooth LE advertisements transmitted by [Eddystone](https://en.wikipedia.org/wiki/Eddystone_(Google)) beacons. Your beacons must be configured to transmit UID frames (for identification) and TLM frames (for temperature). -All beacons that support the Eddystone protocol, have a temperature sensor and can transmit TLM frames are compatible with this platform. For example [Gimbal](https://store.gimbal.com/collections/beacons/), [Estimote](http://estimote.com/) or [kontakt.io](https://kontakt.io/). For more manufacturers see [this overview](https://developers.google.com/beacons/eddystone#beacon_manufacturers) by Google. +All beacons that support the Eddystone protocol, have a temperature sensor and can transmit TLM frames are compatible with this platform. For example [Gimbal](https://store.gimbal.com/collections/beacons/), [Estimote](https://estimote.com/) or [kontakt.io](https://kontakt.io/). For more manufacturers see [this overview](https://developers.google.com/beacons/eddystone#beacon_manufacturers) by Google. ## Requirements diff --git a/source/_integrations/eliqonline.markdown b/source/_integrations/eliqonline.markdown index 0c41d7551a9..c580bb41fb1 100644 --- a/source/_integrations/eliqonline.markdown +++ b/source/_integrations/eliqonline.markdown @@ -8,7 +8,7 @@ ha_release: "0.10" ha_iot_class: Cloud Polling --- -Integrate your [ELIQ Online](http://eliq.io) smart meter information into Home Assistant. To get an [access token](https://my.eliq.io/user/settings/api) and the [Channel ID](https://my.eliq.io/user/settings/locations), log in to your account. +Integrate your [ELIQ Online](https://eliq.io/) smart meter information into Home Assistant. To get an [access token](https://my.eliq.io/user/settings/api) and the [Channel ID](https://my.eliq.io/user/settings/locations), log in to your account. To enable this sensor in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/emby.markdown b/source/_integrations/emby.markdown index ce768cd0490..8d3efa65613 100644 --- a/source/_integrations/emby.markdown +++ b/source/_integrations/emby.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push --- -The `emby` platform allows you to control a [Emby](http://emby.media/) multimedia system from Home Assistant. +The `emby` platform allows you to control a [Emby](https://emby.media/) multimedia system from Home Assistant. To add Emby to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/enocean.markdown b/source/_integrations/enocean.markdown index 038917e56a4..8ecb70d3f75 100644 --- a/source/_integrations/enocean.markdown +++ b/source/_integrations/enocean.markdown @@ -63,7 +63,7 @@ This can typically be one of those batteryless wall switches. Tested with: - Eltako FT55 which uses the EnOcean PTM 215 module -- [TRIO2SYS Wall switches](http://www.trio2sys.fr/index.php/fr/produits-enocean-sans-fil-sans-pile-interoperable/emetteur-sans-fils-sans-pile-interoperable-enocean) which uses the EnOcean PTM210 DB module +- [TRIO2SYS Wall switches](https://www.trio2sys.fr/index.php/fr/produits-enocean-sans-fil-sans-pile-interoperable/emetteur-sans-fils-sans-pile-interoperable-enocean) which uses the EnOcean PTM210 DB module - Omnio WS-CH-102 The following [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) are supported: diff --git a/source/_integrations/ephember.markdown b/source/_integrations/ephember.markdown index 704d125dcc2..baf6765bac7 100644 --- a/source/_integrations/ephember.markdown +++ b/source/_integrations/ephember.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Polling --- -The `ephember` climate platform lets you control [EPH Controls](http://emberapp.ephcontrols.com/) thermostats. The module only works if you have a WiFi gateway to control your EPH system and an account on the EMBER app. +The `ephember` climate platform lets you control [EPH Controls](https://emberapp.ephcontrols.com/) thermostats. The module only works if you have a WiFi gateway to control your EPH system and an account on the EMBER app. To set it up, add the following information to your `configuration.yaml` file: diff --git a/source/_integrations/ffmpeg.markdown b/source/_integrations/ffmpeg.markdown index 09c4d529ba0..47082c8b5ec 100644 --- a/source/_integrations/ffmpeg.markdown +++ b/source/_integrations/ffmpeg.markdown @@ -11,7 +11,7 @@ The `ffmpeg` integration allows other Home Assistant integrations to process vid

-You need the `ffmpeg` binary in your system path. On Hassbian you will need to login as the `pi` user and `sudo apt install ffmpeg`. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](http://www.ffmpeg.org/) website. +You need the `ffmpeg` binary in your system path. On Hassbian you will need to login as the `pi` user and `sudo apt install ffmpeg`. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](https://www.ffmpeg.org/) website.
diff --git a/source/_integrations/ffmpeg_motion.markdown b/source/_integrations/ffmpeg_motion.markdown index cb33b0ae35f..08d0cd8a668 100644 --- a/source/_integrations/ffmpeg_motion.markdown +++ b/source/_integrations/ffmpeg_motion.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.27 --- -The `ffmpeg` platform allows you to use any video feed with [FFmpeg](http://www.ffmpeg.org/) for motion sensors in Home Assistant. +The `ffmpeg` platform allows you to use any video feed with [FFmpeg](https://www.ffmpeg.org/) for motion sensors in Home Assistant.
diff --git a/source/_integrations/ffmpeg_noise.markdown b/source/_integrations/ffmpeg_noise.markdown index a80d17021af..2f269a7b509 100644 --- a/source/_integrations/ffmpeg_noise.markdown +++ b/source/_integrations/ffmpeg_noise.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.27 --- -The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant. +The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](https://www.ffmpeg.org/) for various sensors in Home Assistant.
diff --git a/source/_integrations/fibaro.markdown b/source/_integrations/fibaro.markdown index 416c0c8252d..ddea890a6b7 100644 --- a/source/_integrations/fibaro.markdown +++ b/source/_integrations/fibaro.markdown @@ -15,7 +15,7 @@ ha_release: 0.83 ha_iot_class: Local Push --- -The [Fibaro](http://fibaro.com) hub is a controller mainly connecting to Z-Wave devices. +The [Fibaro](https://fibaro.com/) hub is a controller mainly connecting to Z-Wave devices. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/fitbit.markdown b/source/_integrations/fitbit.markdown index f528e41130d..579273763bf 100644 --- a/source/_integrations/fitbit.markdown +++ b/source/_integrations/fitbit.markdown @@ -8,7 +8,7 @@ ha_iot_class: Cloud Polling ha_release: 0.19 --- -The Fitbit sensor allows you to expose data from [Fitbit](http://fitbit.com) to Home Assistant. +The Fitbit sensor allows you to expose data from [Fitbit](https://fitbit.com/) to Home Assistant. Enable the sensor by adding the following to your `configuration.yaml` file: diff --git a/source/_integrations/fixer.markdown b/source/_integrations/fixer.markdown index 2c449712e4e..0a6f9d94711 100644 --- a/source/_integrations/fixer.markdown +++ b/source/_integrations/fixer.markdown @@ -9,7 +9,7 @@ ha_release: 0.23 --- -The `fixer` sensor will show you the current exchange rate from [Fixer.io](http://fixer.io/) which is using data from the [European Central Bank (ECB)](https://www.ecb.europa.eu). +The `fixer` sensor will show you the current exchange rate from [Fixer.io](https://fixer.io/) which is using data from the [European Central Bank (ECB)](https://www.ecb.europa.eu). To get an overview about the available [currencies](https://fixer.io/symbols). @@ -31,7 +31,7 @@ sensor: {% configuration %} api_key: - description: Your API key for [Fixer.io](http://fixer.io/). + description: Your API key for [Fixer.io](https://fixer.io/). required: true type: string target: diff --git a/source/_integrations/flux_led.markdown b/source/_integrations/flux_led.markdown index 5627d9b881b..13ae001d4f4 100644 --- a/source/_integrations/flux_led.markdown +++ b/source/_integrations/flux_led.markdown @@ -12,7 +12,7 @@ The `flux_led` support is integrated into Home Assistant as a light platform. Se Example of bulbs: -- [Flux Smart Lighting](http://www.fluxsmartlighting.com/) +- [Flux Smart Lighting](https://www.fluxsmartlighting.com/) - [Flux WiFi Smart LED Light Bulb4](https://amzn.to/2X0dVwu) - [WIFI smart LED light Bulb1](https://amzn.to/2J2fksr) diff --git a/source/_integrations/freebox.markdown b/source/_integrations/freebox.markdown index 09e0d0ba50d..b097eabb356 100644 --- a/source/_integrations/freebox.markdown +++ b/source/_integrations/freebox.markdown @@ -11,7 +11,7 @@ ha_release: 0.85 ha_iot_class: Local Polling --- -The `freebox` integration allows you to observe and control [Freebox router](http://www.free.fr/). +The `freebox` integration allows you to observe and control [Freebox router](https://www.free.fr/). There is currently support for the following device types within Home Assistant: @@ -70,7 +70,7 @@ Only the routers with Freebox OS are supported: ## Presence Detection This platform offers presence detection by keeping track of the -devices connected to a [Freebox](http://www.free.fr/) router. +devices connected to a [Freebox](https://www.free.fr/) router. ### Notes diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown index 727c4fa81f3..f8476c7f49a 100644 --- a/source/_integrations/fritzbox_callmonitor.markdown +++ b/source/_integrations/fritzbox_callmonitor.markdown @@ -8,7 +8,7 @@ ha_release: 0.27 ha_iot_class: Local Polling --- -The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing` or `talking` with the phone numbers involved contained in the state attributes. +The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) routers on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing` or `talking` with the phone numbers involved contained in the state attributes. It can also access the internal phone book of the router to look up the names corresponding to the phone numbers and store them in the state attributes. ## Prerequisites diff --git a/source/_integrations/fritzbox_netmonitor.markdown b/source/_integrations/fritzbox_netmonitor.markdown index bf841ec1c1c..fcb5abd7716 100644 --- a/source/_integrations/fritzbox_netmonitor.markdown +++ b/source/_integrations/fritzbox_netmonitor.markdown @@ -8,7 +8,7 @@ ha_release: 0.36 ha_iot_class: Local Polling --- -The `fritzbox_netmonitor` sensor monitors the network statistics exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers. +The `fritzbox_netmonitor` sensor monitors the network statistics exposed by [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) routers.
It might be necessary to install additional packages: sudo apt-get install libxslt-dev libxml2-dev python3-lxml diff --git a/source/_integrations/fronius.markdown b/source/_integrations/fronius.markdown index d317d18af1d..abcc86f3f80 100644 --- a/source/_integrations/fronius.markdown +++ b/source/_integrations/fronius.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Polling ha_release: 0.96 --- -The `fronius` sensor polls a [Fronius](http://www.fronius.com/) solar inverter, battery system or smart meter and present the values as sensors in Home Assistant. +The `fronius` sensor polls a [Fronius](https://www.fronius.com/) solar inverter, battery system or smart meter and present the values as sensors in Home Assistant. ## Configuration diff --git a/source/_integrations/frontier_silicon.markdown b/source/_integrations/frontier_silicon.markdown index 613bb19a4ed..566cc2202ef 100644 --- a/source/_integrations/frontier_silicon.markdown +++ b/source/_integrations/frontier_silicon.markdown @@ -94,13 +94,13 @@ The Frontier Silicon API does not provide a multi-user environment. There is alw
-[Frontier Silicon chipset]: http://www.frontier-silicon.com/digital-radio-solutions +[Frontier Silicon chipset]: https://www.frontier-silicon.com/digital-radio-solutions [Medion Radios]: http://internetradio.medion.com/ [IR110]: https://www.hama.com/00054823/hama-ir110-internet-radio-internet-radio-multi-room-app-control [DIR3110]: https://www.hama.com/00054824/hama-digitalradio-dir3110-internetradio-dab+-fm-multiroom-app-steuerung [MD 87466]: https://www.medion.com/gb/service/start/_product.php?msn=50051273&gid=14 [SIRD 14 C2]: https://www.silvercrest-multiroom.de/fileadmin/user_upload/pdf/handbucher/Bedienungsanleitungen/IR/279398_SIRD_14_C2_ML4_V1.1_GB_CZ_SK_DE.pdf [fsapi]: https://github.com/zhelev/python-fsapi -[UNDOK]: http://www.frontier-silicon.com/undok +[UNDOK]: https://www.frontier-silicon.com/undok [flammy]: https://github.com/flammy/fsapi/ [tiwillam]: https://github.com/tiwilliam/fsapi diff --git a/source/_integrations/futurenow.markdown b/source/_integrations/futurenow.markdown index b0f7938e908..5dd9375e0a3 100644 --- a/source/_integrations/futurenow.markdown +++ b/source/_integrations/futurenow.markdown @@ -7,9 +7,9 @@ ha_category: ha_release: 0.75 --- -The `futurenow` light platform allows you to use [P5](http://www.p5.hu) FutureNow relay/dimmer units as lights. Currently supported units: -* [FutureNow FNIP-6x2AD](http://www.p5.hu/index.php/products/ethernet-modules/265-fnip-6x2ad) dimmer unit (outputs only) -* [FutureNow FNIP-8x10A](http://www.p5.hu/index.php/products/ethernet-modules/263-fnip-8x10a) relay unit (outputs only) +The `futurenow` light platform allows you to use [P5](https://www.p5.hu/) FutureNow relay/dimmer units as lights. Currently supported units: +* [FutureNow FNIP-6x2AD](https://www.p5.hu/index.php/products/ethernet-modules/265-fnip-6x2ad) dimmer unit (outputs only) +* [FutureNow FNIP-8x10A](https://www.p5.hu/index.php/products/ethernet-modules/263-fnip-8x10a) relay unit (outputs only) ### Configuration Sample diff --git a/source/_integrations/garadget.markdown b/source/_integrations/garadget.markdown index be20979611c..49c35416cef 100644 --- a/source/_integrations/garadget.markdown +++ b/source/_integrations/garadget.markdown @@ -9,7 +9,7 @@ ha_iot_class: Cloud Polling --- -The `garadget` cover platform lets you control [Garadget](http://www.garadget.com/) garage door futurizers through Home Assistant. +The `garadget` cover platform lets you control [Garadget](https://www.garadget.com/) garage door futurizers through Home Assistant. ## Configuration diff --git a/source/_integrations/geo_rss_events.markdown b/source/_integrations/geo_rss_events.markdown index 25b99a57de3..6f020aa88e1 100644 --- a/source/_integrations/geo_rss_events.markdown +++ b/source/_integrations/geo_rss_events.markdown @@ -31,7 +31,7 @@ To enable the GeoRSS events sensor, add the following lines to your `configurati sensor: - platform: geo_rss_events name: NSW Fire Service - url: http://www.rfs.nsw.gov.au/feeds/majorIncidents.xml + url: https://www.rfs.nsw.gov.au/feeds/majorIncidents.xml unit_of_measurement: 'Incidents' categories: - 'Emergency Warning' @@ -95,7 +95,7 @@ sensor: url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss - platform: geo_rss_events name: ACT Emergency Services Agency - url: http://www.esa.act.gov.au/feeds/currentincidents.xml + url: https://www.esa.act.gov.au/feeds/currentincidents.xml ``` @@ -111,7 +111,7 @@ sensor: - 'Past Day' - platform: geo_rss_events name: BGS Worlwide Earthquakes - url: http://www.bgs.ac.uk/feeds/worldSeismology.xml + url: https://www.bgs.ac.uk/feeds/worldSeismology.xml categories: - 'EQMH' - platform: geo_rss_events diff --git a/source/_integrations/geofency.markdown b/source/_integrations/geofency.markdown index d15596a9f91..02716bda083 100644 --- a/source/_integrations/geofency.markdown +++ b/source/_integrations/geofency.markdown @@ -8,7 +8,7 @@ ha_release: 0.53 ha_iot_class: Cloud Push --- -This integration sets up integration with [Geofency](http://www.geofency.com/). Geofency is a paid app for iOS that lets users to configure a request that will be sent when a geofence or iBeacon region is entered or exited. This can be configured with Home Assistant to update your location. +This integration sets up integration with [Geofency](https://www.geofency.com/). Geofency is a paid app for iOS that lets users to configure a request that will be sent when a geofence or iBeacon region is entered or exited. This can be configured with Home Assistant to update your location. ## Configuration diff --git a/source/_integrations/geonetnz_quakes.markdown b/source/_integrations/geonetnz_quakes.markdown index 78ccdb270a6..ba00fd528a5 100644 --- a/source/_integrations/geonetnz_quakes.markdown +++ b/source/_integrations/geonetnz_quakes.markdown @@ -29,7 +29,7 @@ The data is updated every 5 minutes.
-The material used by this integration is provided under the [Creative Commons Attribution 3.0 New Zealand (CC BY 3.0 NZ) license](http://creativecommons.org/licenses/by/3.0/nz/). +The material used by this integration is provided under the [Creative Commons Attribution 3.0 New Zealand (CC BY 3.0 NZ) license](https://creativecommons.org/licenses/by/3.0/nz/). It has only been modified for the purpose of presenting the material in Home Assistant. Please refer to the [creator's disclaimer notice](https://www.geonet.org.nz/disclaimer) and [data policy](https://www.geonet.org.nz/policy) for more information. diff --git a/source/_integrations/gpmdp.markdown b/source/_integrations/gpmdp.markdown index 408413d9a4b..dcc780a8ae9 100644 --- a/source/_integrations/gpmdp.markdown +++ b/source/_integrations/gpmdp.markdown @@ -9,7 +9,7 @@ ha_release: "0.20" --- -The `gpmdp` media player platform allows you to control a [GPMDP](http://www.googleplaymusicdesktopplayer.com/) instance running on a computer from Home Assistant. +The `gpmdp` media player platform allows you to control a [GPMDP](https://www.googleplaymusicdesktopplayer.com/) instance running on a computer from Home Assistant. You will have first have to check "Enable playback API" in GPMDP's settings and then add an inbound rule to the firewall to allow access to port 5672 on the computer running GPMDP. diff --git a/source/_integrations/greeneye_monitor.markdown b/source/_integrations/greeneye_monitor.markdown index 2562671989e..52afe90bcb9 100644 --- a/source/_integrations/greeneye_monitor.markdown +++ b/source/_integrations/greeneye_monitor.markdown @@ -9,7 +9,7 @@ ha_release: 0.82 ha_iot_class: Local Push --- -The [GreenEye Monitor (GEM)](http://www.brultech.com/greeneye/) integration for Home Assistant allows you to create sensors for the various data channels of the GEM. Each current transformer (CT) channel, pulse counter, and temperature sensor appears in Home Assistant as a sensor, and can be used in automations. +The [GreenEye Monitor (GEM)](https://www.brultech.com/greeneye/) integration for Home Assistant allows you to create sensors for the various data channels of the GEM. Each current transformer (CT) channel, pulse counter, and temperature sensor appears in Home Assistant as a sensor, and can be used in automations. Configure your GEM(s) to produce binary-format packets (for example, "Bin32 NET" for a 32-channel GEM with some channels configured for net metering) and send them to an unused port on your Home Assistant machine. (These settings are in the "Packet Send" and "Network" pages of the GEM UI.) Then specify that port and information about your monitor(s) and the data channels you wish to monitor in your `configuration.yaml`: diff --git a/source/_integrations/gtfs.markdown b/source/_integrations/gtfs.markdown index 2a8d088a772..c6b79067dab 100644 --- a/source/_integrations/gtfs.markdown +++ b/source/_integrations/gtfs.markdown @@ -10,11 +10,11 @@ ha_release: 0.17 The `gtfs` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from your chosen public transit authority and is formatted as [General Transit Feed Specification](https://developers.google.com/transit/gtfs/) data, commonly known as GTFS. -You need to find a valid GTFS data set, which you can usually find just by searching the internet. Most public transit authorities have GTFS available somewhere, as Google requires public transit authorities to provide the data if they wish to appear on Google Maps. You may also be able to find data at [TransitFeeds](http://transitfeeds.com/feeds). +You need to find a valid GTFS data set, which you can usually find just by searching the internet. Most public transit authorities have GTFS available somewhere, as Google requires public transit authorities to provide the data if they wish to appear on Google Maps. You may also be able to find data at [TransitFeeds](https://transitfeeds.com/feeds). Here are some examples: -- [Bay Area Rapid Transit (BART)](http://www.bart.gov/schedules/developers/gtfs) - The light rail system for the San Francisco Bay Area. +- [Bay Area Rapid Transit (BART)](https://www.bart.gov/schedules/developers/gtfs) - The light rail system for the San Francisco Bay Area. - [Metropolitan Transit Authority of New York City (MTA)](http://web.mta.info/developers/) - Provides separate data feeds for subway, bus, LIRR and Metro-North of the greater New York City metropolitan region. - [Official Timetable Switzerland](https://opentransportdata.swiss/en/dataset/timetable-2019-gtfs) - The official timetable data for Switzerland in 2019. diff --git a/source/_integrations/hangouts.markdown b/source/_integrations/hangouts.markdown index b21e4819208..b6a1443eba4 100644 --- a/source/_integrations/hangouts.markdown +++ b/source/_integrations/hangouts.markdown @@ -234,7 +234,7 @@ The hangouts integration can't detect if your IP address changes, so it can't au ```yaml sensor: - platform: rest - resource: https://api.ipify.org?format=json + resource: https://api.ipify.org/?format=json name: External IP value_template: '{{ value_json.ip }}' scan_interval: 10 @@ -257,7 +257,7 @@ automation: ## Notifications -The `hangouts` platform allows you to deliver notifications from Home Assistant to [Google Hangouts](http://hangouts.google.com) conversations. Conversations can be both direct as well as group chats. +The `hangouts` platform allows you to deliver notifications from Home Assistant to [Google Hangouts](https://hangouts.google.com/) conversations. Conversations can be both direct as well as group chats. To enable Hangouts notifications in your installation, you first need to configure the Hangouts component. Then, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/harmony.markdown b/source/_integrations/harmony.markdown index 37487c3e6d4..c587e6cd221 100644 --- a/source/_integrations/harmony.markdown +++ b/source/_integrations/harmony.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Push ha_release: 0.34 --- -The `harmony` remote platform allows you to control the state of your [Harmony Hub Device](http://www.logitech.com/en-us/product/harmony-hub). +The `harmony` remote platform allows you to control the state of your [Harmony Hub Device](https://www.logitech.com/en-us/product/harmony-hub). Supported units: diff --git a/source/_integrations/hddtemp.markdown b/source/_integrations/hddtemp.markdown index 262e5f0a789..32a805b292e 100644 --- a/source/_integrations/hddtemp.markdown +++ b/source/_integrations/hddtemp.markdown @@ -7,7 +7,7 @@ ha_release: 0.32 ha_iot_class: Local Polling --- -The `hddtemp` sensor platform is using the data provided by [HDDTemp](http://savannah.nongnu.org/projects/hddtemp). +The `hddtemp` sensor platform is using the data provided by [HDDTemp](https://savannah.nongnu.org/projects/hddtemp). It required that `hddtemp` is started or running in daemon mode on a local or remote system. diff --git a/source/_integrations/hikvision.markdown b/source/_integrations/hikvision.markdown index fcb8f506c43..a3bfd008d71 100644 --- a/source/_integrations/hikvision.markdown +++ b/source/_integrations/hikvision.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push --- The Hikvision Binary Sensor is a platform that parses the event stream of a -[Hikvision IP Camera or NVR](http://www.hikvision.com/) and presents the +[Hikvision IP Camera or NVR](https://www.hikvision.com/) and presents the camera/nvr events to Home Assistant as binary sensors with either an "off" or "on" state. diff --git a/source/_integrations/hikvisioncam.markdown b/source/_integrations/hikvisioncam.markdown index 4896023bf74..28101dfa697 100644 --- a/source/_integrations/hikvisioncam.markdown +++ b/source/_integrations/hikvisioncam.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: pre 0.7 --- -This `hikvisioncam` switch platform allows you to control your motion detection setting on your [Hikvision](http://www.hikvision.com/) camera. +This `hikvisioncam` switch platform allows you to control your motion detection setting on your [Hikvision](https://www.hikvision.com/) camera.
Currently works using default https port only. diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown index e78c30c89d9..d3b77eabf45 100644 --- a/source/_integrations/homematic.markdown +++ b/source/_integrations/homematic.markdown @@ -16,8 +16,8 @@ ha_iot_class: Local Push ha_release: 0.23 --- -The [Homematic](http://www.homematic.com/) integration provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit. -If you are using Homegear with paired [Intertechno](http://intertechno.at/) devices, uni-directional communication is possible as well. +The [Homematic](https://www.homematic.com/) integration provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit. +If you are using Homegear with paired [Intertechno](https://intertechno.at/) devices, uni-directional communication is possible as well. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown index c87eb1f650b..87cec0d82ef 100644 --- a/source/_integrations/homematicip_cloud.markdown +++ b/source/_integrations/homematicip_cloud.markdown @@ -15,7 +15,7 @@ ha_iot_class: Cloud Push ha_release: 0.66 --- -The [HomematicIP](http://www.homematic-ip.com) integration platform is used as an interface to the cloud server. Since there is no official documentation about this API, everything was done via reverse engineering. The [homematicip-rest-api](https://github.com/coreGreenberet/homematicip-rest-api) is used for communicating. Use at your own risk. +The [HomematicIP](https://www.homematic-ip.com/) integration platform is used as an interface to the cloud server. Since there is no official documentation about this API, everything was done via reverse engineering. The [homematicip-rest-api](https://github.com/coreGreenberet/homematicip-rest-api) is used for communicating. Use at your own risk. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/hp_ilo.markdown b/source/_integrations/hp_ilo.markdown index 1e885a97742..4f2cee29ede 100644 --- a/source/_integrations/hp_ilo.markdown +++ b/source/_integrations/hp_ilo.markdown @@ -12,7 +12,7 @@ The `hp_ilo` platform allows you to do an API call to the HP ILO (Integrated Lig If the ILO or specified jsonpath query returns only a single value (e.g., a temperature or state), it will be put in the state field. If a data structure is returned, it will be placed in the `ilo_data` attribute. -Some more details about what can be retrieved from these sensors is available in the [python-hpilo documentation](http://seveas.github.io/python-hpilo/). +Some more details about what can be retrieved from these sensors is available in the [python-hpilo documentation](https://seveas.github.io/python-hpilo/).

diff --git a/source/_integrations/hunterdouglas_powerview.markdown b/source/_integrations/hunterdouglas_powerview.markdown index 47e5c7b6e78..6a231a79af5 100644 --- a/source/_integrations/hunterdouglas_powerview.markdown +++ b/source/_integrations/hunterdouglas_powerview.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.15 --- -Implements the [Hunter Douglas PowerView](http://www.hunterdouglas.com/operating-systems/powerview-motorization/support) platform scene control. It queries the PowerView Hub and Home Assistant displays them as scenes. +Implements the [Hunter Douglas PowerView](https://www.hunterdouglas.com/operating-systems/powerview-motorization/support) platform scene control. It queries the PowerView Hub and Home Assistant displays them as scenes. Scenes can be activated using the service `scene.turn_on`. diff --git a/source/_integrations/ign_sismologia.markdown b/source/_integrations/ign_sismologia.markdown index a5e30c4ce33..ed9d46b4c33 100644 --- a/source/_integrations/ign_sismologia.markdown +++ b/source/_integrations/ign_sismologia.markdown @@ -9,7 +9,7 @@ ha_release: 0.92 --- The `ign_sismologia` platform lets you integrate a GeoRSS feed provided by the -Spanish [Instituto Geográfico Nacional](http://www.ign.es/) with information +Spanish [Instituto Geográfico Nacional](https://www.ign.es/) with information about seismic events like earthquakes on the Iberian Peninsula and Canary Islands. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location. diff --git a/source/_integrations/input_select.markdown b/source/_integrations/input_select.markdown index cd28d03e547..a666ce98c07 100644 --- a/source/_integrations/input_select.markdown +++ b/source/_integrations/input_select.markdown @@ -56,7 +56,7 @@ input_select:

-Because YAML defines [booleans](http://yaml.org/type/bool.html) as equivalent, any variations of 'On', 'Yes', 'Y', 'Off', 'No', or 'N' (regardless of case) used as option names will be replaced by True and False unless they are defined in quotation marks. +Because YAML defines [booleans](https://yaml.org/type/bool.html) as equivalent, any variations of 'On', 'Yes', 'Y', 'Off', 'No', or 'N' (regardless of case) used as option names will be replaced by True and False unless they are defined in quotation marks.
diff --git a/source/_integrations/insteon.markdown b/source/_integrations/insteon.markdown index 15f96cf126d..65687710a49 100644 --- a/source/_integrations/insteon.markdown +++ b/source/_integrations/insteon.markdown @@ -191,7 +191,7 @@ In order for any two Insteon devices to talk with one another, they must be link If you are looking for more advanced options, you can use the [insteonplm_interactive] command line tool that is distributed with the [insteonplm] Python module. Please see the documentation on the [insteonplm] GitHub site. Alternatively, you can download [HouseLinc] which runs on any Windows PC, or you can use [Insteon Terminal] which is open source and runs on most platforms. SmartHome no longer supports HouseLinc, but it still works. Insteon Terminal is a very useful tool but please read the disclaimers carefully, they are important. -[understanding linking]: http://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking +[understanding linking]: https://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking [Development Tools]: /docs/tools/dev-tools/ [HouseLinc]: https://www.smarthome.com/houselinc.html [Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal diff --git a/source/_integrations/iota.markdown b/source/_integrations/iota.markdown index 08e2d6a9dcd..607de048798 100644 --- a/source/_integrations/iota.markdown +++ b/source/_integrations/iota.markdown @@ -9,7 +9,7 @@ ha_release: 0.62 ha_iot_class: Cloud Polling --- -[IOTA](http://iota.org/) is a new blockless distributed ledger which is scalable, lightweight and makes it possible to transfer value without any fees. +[IOTA](https://iota.org/) is a new blockless distributed ledger which is scalable, lightweight and makes it possible to transfer value without any fees. The `iota` integration displays various details (e.g., the balance, node attributes) of IOTA wallets. diff --git a/source/_integrations/iperf3.markdown b/source/_integrations/iperf3.markdown index 80694beaa4b..5513ccb726b 100644 --- a/source/_integrations/iperf3.markdown +++ b/source/_integrations/iperf3.markdown @@ -9,13 +9,13 @@ ha_release: 0.71 ha_iot_class: Local Polling --- -The `iperf3` sensor integration allows you to measure network bandwidth performance against a private or public [Iperf3](http://software.es.net/iperf/index.html) server. +The `iperf3` sensor integration allows you to measure network bandwidth performance against a private or public [Iperf3](https://software.es.net/iperf/index.html) server. Enabling this integration will automatically create the Iperf3 sensors for the monitored conditions (below). By default, it will run every hour. The user can change the update frequency in the config by defining the `scan_interval` for a Iperf3 test to run. ## Setup -This integration requires the `iperf3` command to be installed on your OS. Please, refer to the [official Iperf3 documentation](http://software.es.net/iperf/obtaining.html) for installation instructions. +This integration requires the `iperf3` command to be installed on your OS. Please, refer to the [official Iperf3 documentation](https://software.es.net/iperf/obtaining.html) for installation instructions. ## Configuration diff --git a/source/_integrations/ipma.markdown b/source/_integrations/ipma.markdown index 4a229cf11fa..0edf8d6f9c9 100644 --- a/source/_integrations/ipma.markdown +++ b/source/_integrations/ipma.markdown @@ -8,7 +8,7 @@ ha_release: 0.72 ha_iot_class: Cloud Polling --- -The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](http://www.ipma.pt) as a source for current and forecast meteorological data. +The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](https://www.ipma.pt/) as a source for current and forecast meteorological data. ## Configuration diff --git a/source/_integrations/itach.markdown b/source/_integrations/itach.markdown index e00827df99a..df89a06320c 100644 --- a/source/_integrations/itach.markdown +++ b/source/_integrations/itach.markdown @@ -79,4 +79,4 @@ Note: Global Cache devices expect data in their own format of "sendir...". This API Docs: - [iTach](https://www.globalcache.com/files/docs/API-iTach.pdf) -- [GC-100](http://www.globalcache.com/files/docs/API-GC-100.pdf) +- [GC-100](https://www.globalcache.com/files/docs/API-GC-100.pdf) diff --git a/source/_integrations/itunes.markdown b/source/_integrations/itunes.markdown index 74268d14467..315d59af959 100644 --- a/source/_integrations/itunes.markdown +++ b/source/_integrations/itunes.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Polling --- -The `itunes` media player platform allows you to control [iTunes](http://apple.com/itunes/) from Home Assistant. It uses a 3rd party server that you run on your Mac called [itunes-api](https://github.com/maddox/itunes-api). Play, pause or skip songs remotely on iTunes running on your Mac. +The `itunes` media player platform allows you to control [iTunes](https://apple.com/itunes/) from Home Assistant. It uses a 3rd party server that you run on your Mac called [itunes-api](https://github.com/maddox/itunes-api). Play, pause or skip songs remotely on iTunes running on your Mac. In addition to controlling iTunes, your available AirPlay endpoints will be added as media players as well. You can then individually address them and turn them on, turn them off or adjust their volume. diff --git a/source/_integrations/joaoapps_join.markdown b/source/_integrations/joaoapps_join.markdown index 5db8e8ef688..06fbffeff2d 100644 --- a/source/_integrations/joaoapps_join.markdown +++ b/source/_integrations/joaoapps_join.markdown @@ -9,7 +9,7 @@ ha_release: 0.24 --- The `joaoapps_join` integration exposes services from -[Join](http://joaoapps.com/join). In Home Assistant, the Join features are +[Join](https://joaoapps.com/join). In Home Assistant, the Join features are divided up in two locations, the Join component, and the Join notify platform. The notify platform allows us to send messages to Join devices, the component allows us to access the other special features that Join offers. When in doubt, you can reference the [API documentation](https://joaoapps.com/join/api/) this is based on. @@ -53,7 +53,7 @@ device_names: required: false type: string name: - description: The name parameter is optional but needed if you want to use multiple notification platforms. The platform will be exposed as service `notify.`. The name will defailt to `notify` if not supplied. See the [Notifications Component](http://www.home-assistant.io/integrations/notify) for more details. + description: The name parameter is optional but needed if you want to use multiple notification platforms. The platform will be exposed as service `notify.`. The name will defailt to `notify` if not supplied. See the [Notifications Component](/integrations/notify) for more details. required: false type: string {% endconfiguration %} diff --git a/source/_integrations/keyboard.markdown b/source/_integrations/keyboard.markdown index bd7e8278cff..9443bd255fe 100644 --- a/source/_integrations/keyboard.markdown +++ b/source/_integrations/keyboard.markdown @@ -32,6 +32,6 @@ pip3 install [package name] ### Windows -x64 Windows users may have trouble installing pywin through pip. Using an [executable installer](http://sourceforge.net/projects/pywin32/files/pywin32/) should work around this issue. +x64 Windows users may have trouble installing pywin through pip. Using an [executable installer](https://sourceforge.net/projects/pywin32/files/pywin32/) should work around this issue. -[Similar installers](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook) (unofficial) for pyhook have been ported to python 3.4 and should help with x64 pip issues with pyhook. +[Similar installers](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook) (unofficial) for pyhook have been ported to python 3.4 and should help with x64 pip issues with pyhook. diff --git a/source/_integrations/kodi.markdown b/source/_integrations/kodi.markdown index 1a088a789df..01e48287370 100644 --- a/source/_integrations/kodi.markdown +++ b/source/_integrations/kodi.markdown @@ -9,7 +9,7 @@ ha_release: pre 0.7 ha_iot_class: Local Push --- -The `kodi` platform allows you to control a [Kodi](http://kodi.tv/) multimedia system from Home Assistant. +The `kodi` platform allows you to control a [Kodi](https://kodi.tv/) multimedia system from Home Assistant. The preferred way to set up the Kodi platform is by enabling the [discovery component](/integrations/discovery/) which requires enabled [web interface](https://kodi.wiki/view/Web_interface) on your Kodi installation. @@ -97,7 +97,7 @@ Add music to the default playlist (i.e. playlistid=0). #### Service `kodi.call_method` -Call a [Kodi JSONRPC API](http://kodi.wiki/?title=JSON-RPC_API) method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`. +Call a [Kodi JSONRPC API](https://kodi.wiki/?title=JSON-RPC_API) method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 7d0345b5913..18879c0155e 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -8,7 +8,7 @@ ha_category: ha_release: 0.49 --- -[LaMetric Time](http://lametric.com) is a smart clock that can be used to access applications, listen to web radio and display notifications. +[LaMetric Time](https://lametric.com/) is a smart clock that can be used to access applications, listen to web radio and display notifications. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/lannouncer.markdown b/source/_integrations/lannouncer.markdown index 4f13d77d482..075a1ab45b1 100644 --- a/source/_integrations/lannouncer.markdown +++ b/source/_integrations/lannouncer.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.36 --- -The `lannouncer` notification platform allows you to play spoken messages (TTS) or sounds on an Android device running [Lannouncer](http://www.keybounce.com/lannouncer/). This can be useful when you have a wall mounted Android tablet, or an Android device that is permanently powered and turned on and want to use that to play notifications. +The `lannouncer` notification platform allows you to play spoken messages (TTS) or sounds on an Android device running [Lannouncer](https://www.keybounce.com/lannouncer/). This can be useful when you have a wall mounted Android tablet, or an Android device that is permanently powered and turned on and want to use that to play notifications. To enable Lannouncer notifications in your installation, add the following to your `configuration.yaml` file: @@ -42,7 +42,7 @@ You need to install the Lannouncer app and enable the *Network (TCP) Listener* a Lannouncer uses the default Android TTS voice. You can tweak that in the Android configuration, or you can install a different TTS engine from the Play Store. You might want to raise the volume in the app settings since that depends on the actual hardware device. -More information can be found [here](http://www.keybounce.com/lannouncer/configuring-lannouncer/). +More information can be found [here](https://www.keybounce.com/lannouncer/configuring-lannouncer/). ### Sending messages diff --git a/source/_integrations/lastfm.markdown b/source/_integrations/lastfm.markdown index 2ca19ba6a3d..307ace29909 100644 --- a/source/_integrations/lastfm.markdown +++ b/source/_integrations/lastfm.markdown @@ -8,11 +8,11 @@ ha_iot_class: Cloud Polling ha_release: "0.20" --- -The `lastfm` sensor platform will allow you to see whenever a user starts scrobbling, their play count, last song played, and top song played on [Last.fm](http://www.last.fm). +The `lastfm` sensor platform will allow you to see whenever a user starts scrobbling, their play count, last song played, and top song played on [Last.fm](https://www.last.fm/). ## Setup -To get an API key you need to create an [API account](http://www.last.fm/api/account/create). +To get an API key you need to create an [API account](https://www.last.fm/api/account/create). ## Configuration diff --git a/source/_integrations/launch_library.markdown b/source/_integrations/launch_library.markdown index bb7401277b1..dba4672fe7e 100644 --- a/source/_integrations/launch_library.markdown +++ b/source/_integrations/launch_library.markdown @@ -29,4 +29,4 @@ name: The data this platform presents comes from [launchlibrary.net][launchlibrary]. -[launchlibrary]: http://launchlibrary.net/ +[launchlibrary]: https://launchlibrary.net/ diff --git a/source/_integrations/lcn.markdown b/source/_integrations/lcn.markdown index 4c7d251641c..32e73f417eb 100644 --- a/source/_integrations/lcn.markdown +++ b/source/_integrations/lcn.markdown @@ -15,7 +15,7 @@ ha_release: 0.85 ha_iot_class: Local Push --- -The `lcn` integration for Home Assistant allows you to connect to [LCN](http://www.lcn.eu) hardware devices. +The `lcn` integration for Home Assistant allows you to connect to [LCN](https://www.lcn.eu/) hardware devices. The integration requires one unused license of the coupling software LCN-PCHK (version >2.8) and an LCN hardware coupler. Alternatively, an LCN-PKE coupler can be used which offers two PCHK licenses. With this setup sending and receiving commands to and from LCN modules is possible. @@ -412,7 +412,7 @@ Examples: `a1`, `a5`, `d8`. ### Binary Sensor -The `lcn` binary sensor platform allows the monitoring of the following [LCN](http://www.lcn.eu) binary data sources: +The `lcn` binary sensor platform allows the monitoring of the following [LCN](https://www.lcn.eu/) binary data sources: - Binary hardware sensors - Lock state of regulator setpoints @@ -422,7 +422,7 @@ The binary sensor can be used in automation scripts or in conjunction with `temp ### Climate -The `lcn` climate platform allows the control of the [LCN](http://www.lcn.eu) climate regulators. +The `lcn` climate platform allows the control of the [LCN](https://www.lcn.eu/) climate regulators. This platform depends on the correct configuration of the module's regulators, which has to be done in the LCN-PRO programming software. You need to specify at least the variable for the current temperature and a setpoint variable for the target temperature. If the control is set lockable, the regulator can be turned on/off. @@ -435,7 +435,7 @@ If you intend to leave the regulation to Home Assistant, you should consider usi ### Cover -The `lcn` cover platform allows the control of [LCN](http://www.lcn.eu) relays and output ports which have been configured as motor controllers. +The `lcn` cover platform allows the control of [LCN](https://www.lcn.eu/) relays and output ports which have been configured as motor controllers. Only for the module with firmware earlier than 190C:
The configuration allows the optional definition of reverse time. This is the time which is waited during the switching of the motor currents. @@ -450,18 +450,18 @@ Otherwise, the output ports are not mutually interlocked and you run the risk of ### Light -The `lcn` light platform allows the control of the following [LCN](http://www.lcn.eu) ports: +The `lcn` light platform allows the control of the following [LCN](https://www.lcn.eu/) ports: - (Dimmable) output ports - Relays ### Scene -The `lcn` scene platform allows the activation of previously programmed [LCN](http://www.lcn.eu) scenes. +The `lcn` scene platform allows the activation of previously programmed [LCN](https://www.lcn.eu/) scenes. ### Sensor -The `lcn` sensor platform allows the monitoring of the following [LCN](http://www.lcn.eu) data sources: +The `lcn` sensor platform allows the monitoring of the following [LCN](https://www.lcn.eu/) data sources: - Variables - Regulator setpoints @@ -479,7 +479,7 @@ The sensor can be used in automation scripts or in conjunction with `template` p ### Switch -The `lcn` switch platform allows the control of the following [LCN](http://www.lcn.eu) ports: +The `lcn` switch platform allows the control of the following [LCN](https://www.lcn.eu/) ports: - Output ports - Relays diff --git a/source/_integrations/light.mysensors.markdown b/source/_integrations/light.mysensors.markdown index 703fc6935b4..4cfa6de1403 100644 --- a/source/_integrations/light.mysensors.markdown +++ b/source/_integrations/light.mysensors.markdown @@ -37,10 +37,10 @@ For more information, visit the [serial api] of MySensors. ```cpp /* - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * - * http://www.mysensors.org/build/dimmer + * https://www.mysensors.org/build/dimmer */ #include @@ -113,10 +113,10 @@ void incomingMessage(const MyMessage &message) { ```cpp /* * Example Dimmable Light - * Code adapted from http://github.com/mysensors/MySensors/tree/master/examples/DimmableLight + * Code adapted from https://github.com/mysensors/MySensors/tree/master/examples/DimmableLight * - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * */ @@ -243,4 +243,4 @@ void send_status_message() ``` [main component]: /integrations/mysensors/ -[serial api]: http://www.mysensors.org/download +[serial api]: https://www.mysensors.org/download diff --git a/source/_integrations/limitlessled.markdown b/source/_integrations/limitlessled.markdown index 1462f206c6e..b1e336b0146 100644 --- a/source/_integrations/limitlessled.markdown +++ b/source/_integrations/limitlessled.markdown @@ -8,7 +8,7 @@ ha_iot_class: Assumed State ha_release: pre 0.7 --- -`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, [MiLight](http://www.milight.com/), LEDme, dekolight, or iLight. +`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, [MiLight](https://www.milight.com/), LEDme, dekolight, or iLight. LimitlessLED bulbs are controlled via groups, so you can only control an individual bulb via the bridge if it is in a group by itself. diff --git a/source/_integrations/lock.xiaomi_aqara.markdown b/source/_integrations/lock.xiaomi_aqara.markdown index cf0c09e24f1..2e5773ea1d9 100644 --- a/source/_integrations/lock.xiaomi_aqara.markdown +++ b/source/_integrations/lock.xiaomi_aqara.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Push --- -The `xiaomi aqara` lock platform allows you to get data (`changed_by` property, `verified_wrong_times` attribute) from your [Xiaomi](http://www.mi.com/en/) Aqara locks. +The `xiaomi aqara` lock platform allows you to get data (`changed_by` property, `verified_wrong_times` attribute) from your [Xiaomi](https://www.mi.com/en/) Aqara locks. A Aqara lock cannot be controlled by Home Assistant. The property `changed_by` provides the user/key ID of the last successful unlock. If someone tries to unlock the device but fails more than 3 times the `verified_wrong_times` attribute will be incremented. The counter resets on a successful unlock. diff --git a/source/_integrations/london_air.markdown b/source/_integrations/london_air.markdown index 99d4d7aa774..2fc19f24c74 100644 --- a/source/_integrations/london_air.markdown +++ b/source/_integrations/london_air.markdown @@ -8,9 +8,9 @@ ha_iot_class: Cloud Polling ha_release: 0.52 --- -The `london_air` integration [queries](http://api.erg.kcl.ac.uk/AirQuality/Hourly/MonitoringIndex/GroupName=London/Json) the London air quality [data feed](https://www.londonair.org.uk/LondonAir/API/) provided by Kings College London. A single sensor will be added for each `location` ([local authority district or borough](https://en.wikipedia.org/wiki/List_of_London_boroughs)) specified in the configuration file. The state of each sensor is the overall air quality in that borough. Note that only 28 of the 32 boroughs have data available. +The `london_air` integration [queries](https://api.erg.kcl.ac.uk/AirQuality/Hourly/MonitoringIndex/GroupName=London/Json) the London air quality [data feed](https://www.londonair.org.uk/LondonAir/API/) provided by Kings College London. A single sensor will be added for each `location` ([local authority district or borough](https://en.wikipedia.org/wiki/List_of_London_boroughs)) specified in the configuration file. The state of each sensor is the overall air quality in that borough. Note that only 28 of the 32 boroughs have data available. -Boroughs can have multiple monitoring sites at different geographical positions within the borough, and each of those sites can monitor up to six different kinds of pollutant. The pollutants are described [here](http://api.erg.kcl.ac.uk/AirQuality/Information/Species/Json) and are Carbon Monoxide ([CO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsCO.aspx)), Nitrogen Dioxide ([NO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsNO2.aspx)), Ozone ([O3](http://www.londonair.org.uk/LondonAir/guide/WhatIsO3.aspx)), Sulfur Dioxide ([SO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsSO2.aspx)), PM2.5 & PM10 [particulates](http://www.londonair.org.uk/LondonAir/guide/WhatIsPM.aspx). The `latitude` and `longitude` of each site is accessible through a `data` attribute of the sensor, as are details about the pollutants monitored at that site. The `sites` attribute of a sensor displays how many monitoring sites that sensor covers. The `updated` attribute of a sensor states when the data was last published. Nominally data is published hourly, but in my experience this can vary. To limit the number of requests made by the sensor, a single API request is made every 30 minutes. +Boroughs can have multiple monitoring sites at different geographical positions within the borough, and each of those sites can monitor up to six different kinds of pollutant. The pollutants are described [here](https://api.erg.kcl.ac.uk/AirQuality/Information/Species/Json) and are Carbon Monoxide ([CO2](https://www.londonair.org.uk/LondonAir/guide/WhatIsCO.aspx)), Nitrogen Dioxide ([NO2](https://www.londonair.org.uk/LondonAir/guide/WhatIsNO2.aspx)), Ozone ([O3](https://www.londonair.org.uk/LondonAir/guide/WhatIsO3.aspx)), Sulfur Dioxide ([SO2](https://www.londonair.org.uk/LondonAir/guide/WhatIsSO2.aspx)), PM2.5 & PM10 [particulates](https://www.londonair.org.uk/LondonAir/guide/WhatIsPM.aspx). The `latitude` and `longitude` of each site is accessible through a `data` attribute of the sensor, as are details about the pollutants monitored at that site. The `sites` attribute of a sensor displays how many monitoring sites that sensor covers. The `updated` attribute of a sensor states when the data was last published. Nominally data is published hourly, but in my experience this can vary. To limit the number of requests made by the sensor, a single API request is made every 30 minutes. To add sensors to Home-assistant for all possible areas/boroughs add the following to your `configuration.yaml` file: diff --git a/source/_integrations/luftdaten.markdown b/source/_integrations/luftdaten.markdown index 49414cc97e5..45e442ae717 100644 --- a/source/_integrations/luftdaten.markdown +++ b/source/_integrations/luftdaten.markdown @@ -10,11 +10,11 @@ ha_iot_class: Cloud Polling ha_qa_scale: gold --- -The `luftdaten` integration will query the open data API of [luftdaten.info](http://luftdaten.info) to monitor air quality and other weather data from a specific (self build) sensor station. +The `luftdaten` integration will query the open data API of [luftdaten.info](https://luftdaten.info/) to monitor air quality and other weather data from a specific (self build) sensor station. ## Setup -- To get the ID of a particle sensor you need to select it on the [Feinstaub map](http://deutschland.maps.luftdaten.info/) and find it in the sidebar (Column "Sensor ID"). +- To get the ID of a particle sensor you need to select it on the [Feinstaub map](https://deutschland.maps.luftdaten.info/) and find it in the sidebar (Column "Sensor ID"). - To get the ID of a temperature/humidity sensor you need to find it on the map hosted on [Madavi](https://www.madavi.de/sensor/feinstaub-map-dht/). ## Configuration via the frontend @@ -101,6 +101,6 @@ luftdaten: ## Sensor -The `luftdaten` sensor platform will query the open data API of [luftdaten.info](http://luftdaten.info) to monitor air quality and other weather data from a specific (self build) sensor station. +The `luftdaten` sensor platform will query the open data API of [luftdaten.info](https://luftdaten.info/) to monitor air quality and other weather data from a specific (self build) sensor station. You must have the `luftdaten` integration (from above) configured to use this platform. After configuring that component, sensors will automatically appear. diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index 80541db58bb..36f20244baa 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -12,9 +12,9 @@ ha_release: 0.41 ha_iot_class: Local Polling --- -[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](http://www.casetawireless.com) product line of dimmers, switches and shades. +[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](https://www.casetawireless.com/) product line of dimmers, switches and shades. -This integration only supports the [Caseta](http://www.casetawireless.com) line of products. Both Smart Bridge (L-BDG2-WH) and Smart Bridge PRO (L-BDGPRO2-WH) models are supported. For the RadioRA 2 product line, see the [Lutron component](/integrations/lutron/). +This integration only supports the [Caseta](https://www.casetawireless.com/) line of products. Both Smart Bridge (L-BDG2-WH) and Smart Bridge PRO (L-BDGPRO2-WH) models are supported. For the RadioRA 2 product line, see the [Lutron component](/integrations/lutron/). The currently supported Caseta devices are: diff --git a/source/_integrations/matrix.markdown b/source/_integrations/matrix.markdown index 8da71339bec..08f0877f0e3 100644 --- a/source/_integrations/matrix.markdown +++ b/source/_integrations/matrix.markdown @@ -141,7 +141,7 @@ This configuration will: ## Notifications -The `matrix` platform allows you to deliver notifications from Home Assistant to a [Matrix](http://matrix.org) room. Rooms can be both direct as well as group chats. +The `matrix` platform allows you to deliver notifications from Home Assistant to a [Matrix](https://matrix.org/) room. Rooms can be both direct as well as group chats. To enable Matrix notifications in your installation, you first need to configure the [Matrix component](#configuration). Then, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/maxcube.markdown b/source/_integrations/maxcube.markdown index 91564f6a062..5916c439820 100644 --- a/source/_integrations/maxcube.markdown +++ b/source/_integrations/maxcube.markdown @@ -9,7 +9,7 @@ ha_release: "0.40" ha_iot_class: Local Polling --- -[eQ-3 MAX!](http://www.eq-3.com/products/max.html) integration for Home Assistant allows you to connect eQ-3 MAX! components via the eQ-3 MAX! Cube. The components connects to the eQ-3 MAX! Cube via TCP and automatically makes all supported integrations available in Home Assistant. The name for each device is created by concatenating the MAX! room and device names. +[eQ-3 MAX!](https://www.eq-3.com/products/max.html) integration for Home Assistant allows you to connect eQ-3 MAX! components via the eQ-3 MAX! Cube. The components connects to the eQ-3 MAX! Cube via TCP and automatically makes all supported integrations available in Home Assistant. The name for each device is created by concatenating the MAX! room and device names. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/melissa.markdown b/source/_integrations/melissa.markdown index cf433d86ffc..9f3303f53fe 100644 --- a/source/_integrations/melissa.markdown +++ b/source/_integrations/melissa.markdown @@ -9,7 +9,7 @@ ha_release: 0.63 ha_iot_class: Cloud Polling --- -The `melissa` integration is the main integration to connect to a [Melissa Climate](http://seemelissa.com/) A/C control. +The `melissa` integration is the main integration to connect to a [Melissa Climate](https://seemelissa.com/) A/C control. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/meteo_france.markdown b/source/_integrations/meteo_france.markdown index 32fcf33d0ba..a412eb6c4c6 100644 --- a/source/_integrations/meteo_france.markdown +++ b/source/_integrations/meteo_france.markdown @@ -17,7 +17,7 @@ There is currently support for the following device types within Home Assistant: - Sensor - Weather -It displays the current weather along with a 4 days forecast and can create sensors based on the `monitored_conditions` set in your `configuration.yaml` file, including weather alerts from [Vigilance Météo-France](http://vigilance.meteofrance.com) +It displays the current weather along with a 4 days forecast and can create sensors based on the `monitored_conditions` set in your `configuration.yaml` file, including weather alerts from [Vigilance Météo-France](https://vigilance.meteofrance.com/) ## Configuration @@ -70,7 +70,7 @@ It works well with french postal code, city name, etc. In case your expected res It also works with international city, with mixed results. You may have to find the correct city query. For example `Montreal, Canada` will return a city in Ardèche, France, whereas `Montreal, america` works -[http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique](http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique) +[https://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique](https://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique) ```yaml # Example configuration.yaml entry for Montreal, Canada @@ -83,7 +83,7 @@ meteo_france:
The 1 hour rain forecast is supported for more than 75 % of metropolitan France.
- You can check if your city is covered on the [Météo-France website](http://www.meteofrance.com/previsions-meteo-france/previsions-pluie). + You can check if your city is covered on the [Météo-France website](https://www.meteofrance.com/previsions-meteo-france/previsions-pluie).
@@ -104,7 +104,7 @@ Possible value for each intervals attributes are: The weather alert is available for the metropolitan France.
-The `weather_alert` sensor value give the current weather alert status for the department linked to the city. Data is retrieve from [Météo-France vigilance website](http://vigilance.meteofrance.com/). +The `weather_alert` sensor value give the current weather alert status for the department linked to the city. Data is retrieve from [Météo-France vigilance website](https://vigilance.meteofrance.com/). The sensor attributes give access to each type of alerts and date of the bulletin emitted by Météo-France. diff --git a/source/_integrations/metoffice.markdown b/source/_integrations/metoffice.markdown index 910fe7387f0..937aecb7f32 100644 --- a/source/_integrations/metoffice.markdown +++ b/source/_integrations/metoffice.markdown @@ -8,7 +8,7 @@ ha_release: 0.42 ha_iot_class: Cloud Polling --- -The `metoffice` weather platform uses the Met Office's [DataPoint API](http://www.metoffice.gov.uk/datapoint) for weather data. +The `metoffice` weather platform uses the Met Office's [DataPoint API](https://www.metoffice.gov.uk/datapoint) for weather data. ## Configuration @@ -23,7 +23,7 @@ weather: {% configuration %} api_key: - description: "Your personal API key from the [Datapoint website](http://www.metoffice.gov.uk/datapoint)." + description: "Your personal API key from the [Datapoint website](https://www.metoffice.gov.uk/datapoint)." required: true type: string name: diff --git a/source/_integrations/microsoft.markdown b/source/_integrations/microsoft.markdown index 0a2cd4c28f6..d5bce0a8f62 100644 --- a/source/_integrations/microsoft.markdown +++ b/source/_integrations/microsoft.markdown @@ -57,7 +57,7 @@ pitch: type: string default: "`default`" contour: - description: "Change the contour of the output in percentages. This overrides the pitch setting. See the [W3 SSML specification](http://www.w3.org/TR/speech-synthesis/#pitch_contour) for what it does. Example value: `(0,0) (100,100)`." + description: "Change the contour of the output in percentages. This overrides the pitch setting. See the [W3 SSML specification](https://www.w3.org/TR/speech-synthesis/#pitch_contour) for what it does. Example value: `(0,0) (100,100)`." required: false type: string {% endconfiguration %} diff --git a/source/_integrations/mikrotik.markdown b/source/_integrations/mikrotik.markdown index 909260201a7..3f04f43c66f 100644 --- a/source/_integrations/mikrotik.markdown +++ b/source/_integrations/mikrotik.markdown @@ -8,7 +8,7 @@ ha_category: ha_release: 0.44 --- -The `mikrotik` platform offers presence detection by looking at connected devices to a [MikroTik RouterOS](http://mikrotik.com) based router. +The `mikrotik` platform offers presence detection by looking at connected devices to a [MikroTik RouterOS](https://mikrotik.com) based router. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/mpd.markdown b/source/_integrations/mpd.markdown index 5863ad742a1..754a5f697db 100644 --- a/source/_integrations/mpd.markdown +++ b/source/_integrations/mpd.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Polling --- -The `mpd` platform allows you to control a [Music Player Daemon](http://www.musicpd.org/) from Home Assistant. Unfortunately you will not be able to manipulate the playlist (add or delete songs) or add transitions between the songs. +The `mpd` platform allows you to control a [Music Player Daemon](https://www.musicpd.org/) from Home Assistant. Unfortunately you will not be able to manipulate the playlist (add or delete songs) or add transitions between the songs. Even though no playlist manipulation is possible, it is possible to use the play_media service to load an existing saved playlist as part of an automation or scene. @@ -60,5 +60,5 @@ relaxdeck: volume_level: 0.60 ``` -This platform works with [Music Player Daemon](http://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://docs.mopidy.com/en/latest/ext/mpd/) as used by [Pi MusicBox](http://www.pimusicbox.com/). +This platform works with [Music Player Daemon](https://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://docs.mopidy.com/en/latest/ext/mpd/) as used by [Pi MusicBox](https://www.pimusicbox.com/). diff --git a/source/_integrations/mvglive.markdown b/source/_integrations/mvglive.markdown index e457f564d1f..27ce2cf4de0 100644 --- a/source/_integrations/mvglive.markdown +++ b/source/_integrations/mvglive.markdown @@ -24,7 +24,7 @@ sensor: {% configuration %} station: - description: Name of the stop or station. Visit [the MVG live web site](http://www.mvg-live.de) to find valid names. + description: Name of the stop or station. Visit [the MVG live web site](https://www.mvg-live.de/) to find valid names. required: true type: string destinations: diff --git a/source/_integrations/mysensors.markdown b/source/_integrations/mysensors.markdown index 9a6e632ec51..5a000985871 100644 --- a/source/_integrations/mysensors.markdown +++ b/source/_integrations/mysensors.markdown @@ -153,10 +153,10 @@ Present a MySensors sensor or actuator, by following these steps: ```cpp /* - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * - * http://www.mysensors.org/build/relay + * https://www.mysensors.org/build/relay */ #define MY_DEBUG @@ -259,4 +259,4 @@ logger: Visit the [library API][MySensors library api] of MySensors for more information. -[MySensors library API]: http://www.mysensors.org/download +[MySensors library API]: https://www.mysensors.org/download diff --git a/source/_integrations/nad.markdown b/source/_integrations/nad.markdown index 9f5e806cce2..64a25c3922c 100644 --- a/source/_integrations/nad.markdown +++ b/source/_integrations/nad.markdown @@ -8,7 +8,7 @@ ha_release: 0.36 ha_iot_class: Local Polling --- -The `nad` platform allows you to control a [NAD receiver](http://nadelectronics.com) through RS232, TCP and Telnet from Home Assistant. +The `nad` platform allows you to control a [NAD receiver](https://nadelectronics.com/) through RS232, TCP and Telnet from Home Assistant. To add an NAD receiver to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/netdata.markdown b/source/_integrations/netdata.markdown index 8d9f1c93b2f..20136cdcb33 100644 --- a/source/_integrations/netdata.markdown +++ b/source/_integrations/netdata.markdown @@ -8,7 +8,7 @@ ha_release: 0.35 ha_iot_class: Local Polling --- -The `netdata` sensor platform allows you to display information collected by [Netdata](http://my-netdata.io/). +The `netdata` sensor platform allows you to display information collected by [Netdata](https://my-netdata.io/). ## Setup diff --git a/source/_integrations/netgear.markdown b/source/_integrations/netgear.markdown index 067a58efd01..bae63c3fda0 100644 --- a/source/_integrations/netgear.markdown +++ b/source/_integrations/netgear.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: pre 0.7 --- -This platform allows you to detect presence by looking at connected devices to a [Netgear](http://www.netgear.com/) device. +This platform allows you to detect presence by looking at connected devices to a [Netgear](https://www.netgear.com/) device.
diff --git a/source/_integrations/netio.markdown b/source/_integrations/netio.markdown index 710e3b00993..72a54a80a1b 100644 --- a/source/_integrations/netio.markdown +++ b/source/_integrations/netio.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.24 --- -The `netio` switch platform allows you to control your [Netio](http://www.netio-products.com/en/overview/) Netio4, Netio4 All, and Netio 230B. These are smart outlets controllable through Ethernet and/or WiFi that reports consumptions (Netio4all). +The `netio` switch platform allows you to control your [Netio](https://www.netio-products.com/en/overview/) Netio4, Netio4 All, and Netio 230B. These are smart outlets controllable through Ethernet and/or WiFi that reports consumptions (Netio4all). To use Netio devices in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/neurio_energy.markdown b/source/_integrations/neurio_energy.markdown index cc3d721fbce..81bd24b41f9 100644 --- a/source/_integrations/neurio_energy.markdown +++ b/source/_integrations/neurio_energy.markdown @@ -8,7 +8,7 @@ ha_iot_class: Cloud Polling ha_release: 0.14 --- -Integrate your [Neurio](http://neur.io/) meter information into Home Assistant. To get an API key and secret, login to your [Neurio account](https://my.neur.io/#settings/applications/register) and register an application. Note the Homepage URL and Callback URL are optional. +Integrate your [Neurio](https://neur.io/) meter information into Home Assistant. To get an API key and secret, login to your [Neurio account](https://my.neur.io/#settings/applications/register) and register an application. Note the Homepage URL and Callback URL are optional. To enable this sensor in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/nissan_leaf.markdown b/source/_integrations/nissan_leaf.markdown index 9d2179684b7..0420bee71d5 100644 --- a/source/_integrations/nissan_leaf.markdown +++ b/source/_integrations/nissan_leaf.markdown @@ -8,7 +8,7 @@ ha_release: 0.89 ha_iot_class: Cloud Polling --- -The `nissan_leaf` integration offers integration with the [NissanConnect EV](http://youplus.nissan.co.uk/GB/en/YouPlus/ConnectedServices.html) cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers: +The `nissan_leaf` integration offers integration with the [NissanConnect EV](https://youplus.nissan.co.uk/GB/en/YouPlus/ConnectedServices.html) cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers: * sensors for the battery status, range and charging status * a switch to start and stop the climate control diff --git a/source/_integrations/notify.knx.markdown b/source/_integrations/notify.knx.markdown index 3be61d37e65..1d536fd88d0 100644 --- a/source/_integrations/notify.knx.markdown +++ b/source/_integrations/notify.knx.markdown @@ -14,7 +14,7 @@ The `knx` integration must be configured correctly to use this integration, see
-The `knx` notify platform allows you to send notifications to [KNX](http://www.knx.org) devices. +The `knx` notify platform allows you to send notifications to [KNX](https://www.knx.org/) devices. ## Configuration diff --git a/source/_integrations/notify.mysensors.markdown b/source/_integrations/notify.mysensors.markdown index dd6722a61a8..7dc8aeac619 100644 --- a/source/_integrations/notify.mysensors.markdown +++ b/source/_integrations/notify.mysensors.markdown @@ -38,8 +38,8 @@ For more information, visit the [api] page of MySensors. ```cpp /* - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org */ #define MY_DEBUG @@ -93,4 +93,4 @@ For more information, visit the [api] page of MySensors. ``` [main component]: /integrations/mysensors/ -[api]: http://www.mysensors.org/download/ +[api]: https://www.mysensors.org/download/ diff --git a/source/_integrations/nuheat.markdown b/source/_integrations/nuheat.markdown index 9256f6605e5..7f5de3858fb 100644 --- a/source/_integrations/nuheat.markdown +++ b/source/_integrations/nuheat.markdown @@ -8,7 +8,7 @@ ha_release: 0.61 ha_iot_class: Cloud Polling --- -The `nuheat` integration lets control your connected [NuHeat Signature](http://www.nuheat.com/products/thermostats/signature-thermostat) floor heating thermostats from [NuHeat](http://www.nuheat.com/). +The `nuheat` integration lets control your connected [NuHeat Signature](https://www.nuheat.com/products/thermostats/signature-thermostat) floor heating thermostats from [NuHeat](https://www.nuheat.com/). There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/nuimo_controller.markdown b/source/_integrations/nuimo_controller.markdown index 452926a2e1a..0f808c1fab5 100644 --- a/source/_integrations/nuimo_controller.markdown +++ b/source/_integrations/nuimo_controller.markdown @@ -8,7 +8,7 @@ ha_release: 0.29 ha_iot_class: Local Polling --- -The `nuimo_controller` integration allows you to connect to a [Nuimo](http://www.senic.com/) device for receiving input events and displaying on the LED matrix via the [Nuimo SDK for Python on Linux](https://github.com/getSenic/nuimo-linux-python). +The `nuimo_controller` integration allows you to connect to a [Nuimo](https://www.senic.com/) device for receiving input events and displaying on the LED matrix via the [Nuimo SDK for Python on Linux](https://github.com/getSenic/nuimo-linux-python). To connect to a Nuimo device add the following section to your `configuration.yaml` file: diff --git a/source/_integrations/nut.markdown b/source/_integrations/nut.markdown index 90ca6989cf7..7b7dad1e9f9 100644 --- a/source/_integrations/nut.markdown +++ b/source/_integrations/nut.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.34 --- -The `nut` sensor platform allows you to monitor a UPS (battery backup) by using data from a [NUT](http://networkupstools.org/) (Network UPS Tools) server. +The `nut` sensor platform allows you to monitor a UPS (battery backup) by using data from a [NUT](https://networkupstools.org/) (Network UPS Tools) server. ## Configuration diff --git a/source/_integrations/nx584.markdown b/source/_integrations/nx584.markdown index 19ad189813e..d35c93faac0 100644 --- a/source/_integrations/nx584.markdown +++ b/source/_integrations/nx584.markdown @@ -9,7 +9,7 @@ ha_release: 0.13 ha_iot_class: Local Push --- -The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](http://github.com/kk7ds/pynx584) which is required for this to work. +The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](https://github.com/kk7ds/pynx584) which is required for this to work. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/nzbget.markdown b/source/_integrations/nzbget.markdown index d39e6530796..637acca2f3b 100644 --- a/source/_integrations/nzbget.markdown +++ b/source/_integrations/nzbget.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.17 --- -The `nzbget` platform will allow you to monitor and control your downloads with [NZBGet](http://NZBGet.net) from within Home Assistant and setup automation based on the information. +The `nzbget` platform will allow you to monitor and control your downloads with [NZBGet](https://nzbget.net/) from within Home Assistant and setup automation based on the information. ## Configuration diff --git a/source/_integrations/octoprint.markdown b/source/_integrations/octoprint.markdown index 39083071523..a3b3caf7c02 100644 --- a/source/_integrations/octoprint.markdown +++ b/source/_integrations/octoprint.markdown @@ -10,7 +10,7 @@ ha_release: 0.19 ha_iot_class: Local Polling --- -[OctoPrint](http://octoprint.org/) is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors. +[OctoPrint](https://octoprint.org/) is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors. There is currently support for the following device types within Home Assistant: @@ -23,7 +23,7 @@ You must have the
OctoPrint component configured (b ## Configuration -To get started with the OctoPrint API, please follow the directions on their [site](http://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`. +To get started with the OctoPrint API, please follow the directions on their [site](https://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`. ```yaml octoprint: diff --git a/source/_integrations/oem.markdown b/source/_integrations/oem.markdown index 68d40d46253..8aca1602c56 100644 --- a/source/_integrations/oem.markdown +++ b/source/_integrations/oem.markdown @@ -8,7 +8,7 @@ ha_release: 0.39 ha_iot_class: Local Polling --- -This platform supports the ESP8266 based "WiFi MQTT Relay / Thermostat" sold by [OpenEnergyMonitor](https://shop.openenergymonitor.com/wifi-mqtt-relay-thermostat/). The underlying [library](http://oemthermostat.readthedocs.io/) only supports this single relay variant of the [original device](https://harizanov.com/2014/12/wifi-iot-3-channel-relay-board-with-mqtt-and-http-api-using-esp8266/). +This platform supports the ESP8266 based "WiFi MQTT Relay / Thermostat" sold by [OpenEnergyMonitor](https://shop.openenergymonitor.com/wifi-mqtt-relay-thermostat/). The underlying [library](https://oemthermostat.readthedocs.io/) only supports this single relay variant of the [original device](https://harizanov.com/2014/12/wifi-iot-3-channel-relay-board-with-mqtt-and-http-api-using-esp8266/). This platform controls the setpoint of the thermostat in its "manual" mode. diff --git a/source/_integrations/onewire.markdown b/source/_integrations/onewire.markdown index 6eb22f9b6f0..c2d1d1e3e5f 100644 --- a/source/_integrations/onewire.markdown +++ b/source/_integrations/onewire.markdown @@ -31,7 +31,7 @@ To edit `/boot/config.txt` on Hass.io use [this documentation](https://developer ### owfs -When an interface adapter is used, sensors can be accessed on Linux hosts via [owfs 1-Wire file system](http://owfs.org/). When using an interface adapter and the owfs, the `mount_dir` option must be configured to correspond a directory, where owfs device tree has been mounted. +When an interface adapter is used, sensors can be accessed on Linux hosts via [owfs 1-Wire file system](https://owfs.org/). When using an interface adapter and the owfs, the `mount_dir` option must be configured to correspond a directory, where owfs device tree has been mounted. ### Units with multiple sensors diff --git a/source/_integrations/openalpr_cloud.markdown b/source/_integrations/openalpr_cloud.markdown index aa0f07d0a9e..9ff8b1d2c5d 100644 --- a/source/_integrations/openalpr_cloud.markdown +++ b/source/_integrations/openalpr_cloud.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.36 --- -[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you +[OpenALPR](https://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](/integrations/automation/). diff --git a/source/_integrations/openalpr_local.markdown b/source/_integrations/openalpr_local.markdown index fa2ec2f62c0..ece346d59ff 100644 --- a/source/_integrations/openalpr_local.markdown +++ b/source/_integrations/openalpr_local.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.36 --- -[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you +[OpenALPR](https://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](/integrations/automation/). diff --git a/source/_integrations/opencv.markdown b/source/_integrations/opencv.markdown index d1bdd1deee6..8cff1ca6c88 100644 --- a/source/_integrations/opencv.markdown +++ b/source/_integrations/opencv.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.47 --- -[OpenCV](http://www.opencv.org) is an open source computer vision image and video processing library. +[OpenCV](https://www.opencv.org/) is an open source computer vision image and video processing library. Some pre-defined classifiers can be found [here](https://github.com/opencv/opencv/tree/master/data). diff --git a/source/_integrations/openhardwaremonitor.markdown b/source/_integrations/openhardwaremonitor.markdown index e4db4105182..81f0809b6df 100644 --- a/source/_integrations/openhardwaremonitor.markdown +++ b/source/_integrations/openhardwaremonitor.markdown @@ -8,7 +8,7 @@ ha_release: 0.48 ha_iot_class: Local Polling --- -The `openhardwaremonitor` platform uses your [Open Hardware Monitor](http://openhardwaremonitor.org/) installation as a source for sensors that will display system information. +The `openhardwaremonitor` platform uses your [Open Hardware Monitor](https://openhardwaremonitor.org/) installation as a source for sensors that will display system information. ## Setup diff --git a/source/_integrations/openweathermap.markdown b/source/_integrations/openweathermap.markdown index 0f8e7847bf4..e5e1ced56a2 100644 --- a/source/_integrations/openweathermap.markdown +++ b/source/_integrations/openweathermap.markdown @@ -9,14 +9,14 @@ ha_release: 0.32 ha_iot_class: Cloud Polling --- -The `openweathermap` weather platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location. +The `openweathermap` weather platform uses [OpenWeatherMap](https://openweathermap.org/) as a source for current meteorological data for your location. There is currently support for the following device types within Home Assistant: - [Sensor](#sensor) - [Weather](#weather) -You need an API key which is free but requires a [registration](http://home.openweathermap.org/users/sign_up). +You need an API key which is free but requires a [registration](https://home.openweathermap.org/users/sign_up). ## Weather @@ -31,7 +31,7 @@ weather: {% configuration %} api_key: - description: Your API key for [OpenWeatherMap](http://openweathermap.org/). + description: Your API key for [OpenWeatherMap](https://openweathermap.org/). required: true type: string name: @@ -64,7 +64,7 @@ This platform is an alternative to the [`openweathermap`](/integrations/openweat ## Sensor -The `openweathermap` platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location. The `forecast` will show you the condition in 3h. +The `openweathermap` platform uses [OpenWeatherMap](https://openweathermap.org/) as a source for current meteorological data for your location. The `forecast` will show you the condition in 3h. To add OpenWeatherMap sensor to your installation, add the following to your `configuration.yaml` file: @@ -124,4 +124,4 @@ monitored_conditions: description: The current weather condition code. {% endconfiguration %} -Details about the API are available in the [OpenWeatherMap documentation](http://openweathermap.org/api). +Details about the API are available in the [OpenWeatherMap documentation](https://openweathermap.org/api). diff --git a/source/_integrations/owntracks.markdown b/source/_integrations/owntracks.markdown index 0a27208539a..77e265ac160 100644 --- a/source/_integrations/owntracks.markdown +++ b/source/_integrations/owntracks.markdown @@ -61,7 +61,7 @@ max_gps_accuracy: required: false type: integer waypoints: - description: "Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions." + description: "Owntracks users can define [waypoints](https://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions." required: false default: true type: boolean @@ -71,7 +71,7 @@ waypoint_whitelist: default: All users who are connected to Home Assistant via Owntracks. type: list secret: - description: "[Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present." + description: "[Payload encryption key](https://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present." required: false type: string mqtt_topic: @@ -109,7 +109,7 @@ owntracks: ## Using Owntracks regions -Owntracks can track regions, and send region entry and exit information to Home Assistant. You set up a region in the Owntracks app which you should name the same as your Home Assistant Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/). +Owntracks can track regions, and send region entry and exit information to Home Assistant. You set up a region in the Owntracks app which you should name the same as your Home Assistant Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](https://owntracks.org/booklet/guide/waypoints/). Home Assistant will use the enter and leave messages to set your zone location. Your location will be set to the center of zone when you enter. Location updates from OwnTracks will be ignored while you are inside a zone. @@ -123,7 +123,7 @@ Owntracks v2.0.0 removes support for iBeacons on Android. When run in the usual *significant changes mode* (which is kind to your phone battery), Owntracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons. -iBeacons are simple Bluetooth devices that send out an "I'm here" message. They are supported by IOS and some Android devices. Owntracks explain more [here](http://owntracks.org/booklet/guide/beacons/). +iBeacons are simple Bluetooth devices that send out an "I'm here" message. They are supported by IOS and some Android devices. Owntracks explain more [here](https://owntracks.org/booklet/guide/beacons/). When you enter an iBeacon region, Owntracks will send a `region enter` message to HA as described above. So if you want to have an event triggered when you arrive home, you can put an iBeacon outside your front door. If you set up an OwnTracks iBeacon region called `home` then getting close to the beacon will trigger an update to HA that will set your zone to be `home`. diff --git a/source/_integrations/pjlink.markdown b/source/_integrations/pjlink.markdown index b9332371ea8..2e3cf757324 100644 --- a/source/_integrations/pjlink.markdown +++ b/source/_integrations/pjlink.markdown @@ -8,7 +8,7 @@ ha_release: 0.76 ha_iot_class: Local Polling --- -The `pjlink` platform allows you to control from Home Assistant, projectors with support for the [PJLink protocol](http://pjlink.jbmia.or.jp/english/index.html). +The `pjlink` platform allows you to control from Home Assistant, projectors with support for the [PJLink protocol](https://pjlink.jbmia.or.jp/english/index.html). ## Configuration diff --git a/source/_integrations/pvoutput.markdown b/source/_integrations/pvoutput.markdown index eb6b4bce08e..7aec4695b7b 100644 --- a/source/_integrations/pvoutput.markdown +++ b/source/_integrations/pvoutput.markdown @@ -8,7 +8,7 @@ ha_release: 0.33 ha_iot_class: Cloud Polling --- -The `pvoutput` sensor platform consumes information from [PVOutput](http://pvoutput.org/) which were uploaded by your solar photovoltaic (PV) system. +The `pvoutput` sensor platform consumes information from [PVOutput](https://pvoutput.org/) which were uploaded by your solar photovoltaic (PV) system. To add PVOutput details to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/qwikswitch.markdown b/source/_integrations/qwikswitch.markdown index d5acc814df9..f243a567de0 100644 --- a/source/_integrations/qwikswitch.markdown +++ b/source/_integrations/qwikswitch.markdown @@ -11,7 +11,7 @@ ha_category: ha_release: "0.20" --- -The `qwikswitch` integration is the main integration to integrate various [QwikSwitch](http://www.qwikswitch.co.za/) devices with Home Assistant. The integration requires the QSUSB Modem device and connects to the QS Mobile application. +The `qwikswitch` integration is the main integration to integrate various [QwikSwitch](https://www.qwikswitch.co.za/) devices with Home Assistant. The integration requires the QSUSB Modem device and connects to the QS Mobile application. There is currently support for the following device types within Home Assistant: @@ -137,6 +137,6 @@ qwikswitch: ### Switch -The `qwikswitch` platform allows you to control your [QwikSwitch](http://www.qwikswitch.co.za/) relays as switches from within Home Assistant. +The `qwikswitch` platform allows you to control your [QwikSwitch](https://www.qwikswitch.co.za/) relays as switches from within Home Assistant. If the device name in the QS Mobile application ends with `Switch` it will be created as a switch, otherwise as a light. diff --git a/source/_integrations/rachio.markdown b/source/_integrations/rachio.markdown index fb95a2da6bb..b590233f330 100644 --- a/source/_integrations/rachio.markdown +++ b/source/_integrations/rachio.markdown @@ -10,11 +10,11 @@ ha_iot_class: Cloud Push ha_release: 0.73 --- -The `rachio` platform allows you to control your [Rachio irrigation system](http://rachio.com/). +The `rachio` platform allows you to control your [Rachio irrigation system](https://rachio.com/). There is currently support for the following device types within Home Assistant: -- **Binary Sensor** - Allows you to view the status of your [Rachio irrigation system](http://rachio.com/). +- **Binary Sensor** - Allows you to view the status of your [Rachio irrigation system](https://rachio.com/). - [**Switch**](#switch) They will be automatically added if the Rachio integration integration is loaded. @@ -73,7 +73,7 @@ panel_iframe: ## Switch -The `rachio` switch platform allows you to toggle zones connected to your [Rachio irrigation system](http://rachio.com/) on and off. +The `rachio` switch platform allows you to toggle zones connected to your [Rachio irrigation system](https://rachio.com/) on and off. Once configured, a switch will be added for every zone that is enabled on every controller in the account provided, as well as a switch to toggle each controller's standby mode. diff --git a/source/_integrations/radiotherm.markdown b/source/_integrations/radiotherm.markdown index c87edb9bbc1..a699c331423 100644 --- a/source/_integrations/radiotherm.markdown +++ b/source/_integrations/radiotherm.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.7.6 --- -The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/) or [3M Filtrete](https://www.filtrete.com/). Your thermostat must have the Wi-Fi module installed and connected to your network. +The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](https://www.radiothermostat.com/) or [3M Filtrete](https://www.filtrete.com/). Your thermostat must have the Wi-Fi module installed and connected to your network. The underlying library supports: diff --git a/source/_integrations/rainbird.markdown b/source/_integrations/rainbird.markdown index 338f5ff089a..dd240c9c20d 100644 --- a/source/_integrations/rainbird.markdown +++ b/source/_integrations/rainbird.markdown @@ -10,7 +10,7 @@ ha_release: 0.61 ha_iot_class: Local Polling --- -This `rainbird` integration allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. +This `rainbird` integration allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant. There is currently support for the following device types within Home Assistant: @@ -95,13 +95,13 @@ Please note that due to the implementation of the API within the LNK Module, the ## Sensor -This `rainbird` sensor allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. +This `rainbird` sensor allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant. The integration adds `rainsensor` and `raindelay` sensors and their `binary_sensor` alternatives. ## Switch -This `rainbird` switch platform allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. +This `rainbird` switch platform allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant. Switches are automatically added for all available zones of configured controllers. diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown index b7316803f7d..c0e4eb1daba 100644 --- a/source/_integrations/rainmachine.markdown +++ b/source/_integrations/rainmachine.markdown @@ -11,7 +11,7 @@ ha_release: 0.69 ha_iot_class: Local Polling --- -The `rainmachine` integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](http://www.rainmachine.com/). +The `rainmachine` integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](https://www.rainmachine.com/). There is currently support for the following device types within Home Assistant: @@ -188,7 +188,7 @@ Unpause all watering activities. ## Switch -The `rainmachine` switch platform allows you to control programs and zones within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/). +The `rainmachine` switch platform allows you to control programs and zones within a [RainMachine smart Wi-Fi sprinkler controller](https://www.rainmachine.com/). ### Controlling Your Device diff --git a/source/_integrations/raspihats.markdown b/source/_integrations/raspihats.markdown index 66ea6bd0097..df01e666189 100644 --- a/source/_integrations/raspihats.markdown +++ b/source/_integrations/raspihats.markdown @@ -14,7 +14,7 @@ The `raspihats` integration is the base for all related Raspihats platforms in H ## Binary Sensor -The `raspihats` binary sensor platform allows you to read sensor values ​​using the digital inputs of the [raspihats](http://www.raspihats.com/) boards. +The `raspihats` binary sensor platform allows you to read sensor values ​​using the digital inputs of the [raspihats](https://www.raspihats.com/) boards. ## Configuration @@ -118,11 +118,11 @@ It will output a table like this: 70: -- -- -- -- -- -- -- 77 ``` -For more details about the `raspihats` add-on boards for Raspberry Pi, visit [raspihats.com](http://www.raspihats.com/). +For more details about the `raspihats` add-on boards for Raspberry Pi, visit [raspihats.com](https://www.raspihats.com/). ## Switch -The `raspihats` switch platform allows you to control the digital outputs of your [Raspihats](http://www.raspihats.com/) boards. +The `raspihats` switch platform allows you to control the digital outputs of your [Raspihats](https://www.raspihats.com/) boards. ## Configuration @@ -226,4 +226,4 @@ It will output a table like this: 70: -- -- -- -- -- -- -- 77 ``` -For more details about the Raspihats add-on boards for Raspberry Pi, visit [raspihats.com](http://www.raspihats.com/). +For more details about the Raspihats add-on boards for Raspberry Pi, visit [raspihats.com](https://www.raspihats.com/). diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown index 0bf321064f7..bb0714050b7 100644 --- a/source/_integrations/recorder.markdown +++ b/source/_integrations/recorder.markdown @@ -10,7 +10,7 @@ ha_qa_scale: internal The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history` integration](/integrations/history/). -Home Assistant uses [SQLAlchemy](http://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/). +Home Assistant uses [SQLAlchemy](https://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/). The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant` or '/config/' in HassIO) and called `home-assistant_v2.db`. diff --git a/source/_integrations/rejseplanen.markdown b/source/_integrations/rejseplanen.markdown index 8d54e29a1d6..889ce969f05 100644 --- a/source/_integrations/rejseplanen.markdown +++ b/source/_integrations/rejseplanen.markdown @@ -73,7 +73,7 @@ departure_type: ## Direction If you use the `direction` filter it's important to put correct destination or else the sensor will not work at all. -The direction has to be the destination(s) for the transport type(s) for the departure stop destination, and NOT the stop where you want to get off. Check [http://rejseplanen.dk](http://rejseplanen.dk), make a search and use the destinations from there in your configuration. Make sure you use the exact name as the destination(s). +The direction has to be the destination(s) for the transport type(s) for the departure stop destination, and NOT the stop where you want to get off. Check [https://rejseplanen.dk/](https://rejseplanen.dk/), make a search and use the destinations from there in your configuration. Make sure you use the exact name as the destination(s). A working example on how to use this sensor with direction: diff --git a/source/_integrations/rest.markdown b/source/_integrations/rest.markdown index 84bd6d59985..54b669718ce 100644 --- a/source/_integrations/rest.markdown +++ b/source/_integrations/rest.markdown @@ -103,7 +103,7 @@ force_update: Make sure that the URL exactly matches your endpoint or resource.
-`curl` can help you identify the variable you want to display in your Home Assistant frontend. The example below shows the JSON response of a device that is running with [aREST](http://arest.io/). +`curl` can help you identify the variable you want to display in your Home Assistant frontend. The example below shows the JSON response of a device that is running with [aREST](https://arest.io/). ```bash $ curl -X GET http://192.168.1.31/temperature/ @@ -116,7 +116,7 @@ In this section you find some real-life examples of how to use this sensor. ### External IP address -You can find your external IP address using the service [JSON Test](http://www.jsontest.com) at their [http://ip.jsontest.com/](http://ip.jsontest.com/) URL. +You can find your external IP address using the service [JSON Test](https://www.jsontest.com/) at their [http://ip.jsontest.com/](http://ip.jsontest.com/) URL. ```yaml sensor: @@ -217,7 +217,7 @@ sensor: ### Fetch multiple JSON values and present them as attributes -[JSON Test](http://www.jsontest.com) returns the current time, date and milliseconds since epoch from [http://date.jsontest.com/](http://date.jsontest.com/). +[JSON Test](https://www.jsontest.com/) returns the current time, date and milliseconds since epoch from [http://date.jsontest.com/](http://date.jsontest.com/). {% raw %} ```yaml @@ -240,7 +240,7 @@ sensor: ``` {% endraw %} -This sample fetches a weather report from [OpenWeatherMap](http://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/integrations/template) sensors that monitor the attributes and present the values in a usable form. +This sample fetches a weather report from [OpenWeatherMap](https://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/integrations/template) sensors that monitor the attributes and present the values in a usable form. {% raw %} ```yaml @@ -251,12 +251,12 @@ sensor: - main - weather value_template: '{{ value_json["weather"][0]["description"].title() }}' - resource: http://api.openweathermap.org/data/2.5/weather?zip=80302,us&APPID=VERYSECRETAPIKEY + resource: https://api.openweathermap.org/data/2.5/weather?zip=80302,us&APPID=VERYSECRETAPIKEY - platform: template sensors: owm_weather: value_template: '{{ state_attr('sensor.owm_report', 'weather')[0]["description"].title() }}' - entity_picture_template: '{{ "http://openweathermap.org/img/w/"+state_attr('sensor.owm_report', 'weather')[0]["icon"].lower()+".png" }}' + entity_picture_template: '{{ "https://openweathermap.org/img/w/"+state_attr('sensor.owm_report', 'weather')[0]["icon"].lower()+".png" }}' entity_id: sensor.owm_report owm_temp: friendly_name: 'Outside temp' diff --git a/source/_integrations/roku.markdown b/source/_integrations/roku.markdown index 9babb4a3f58..578e5054dda 100644 --- a/source/_integrations/roku.markdown +++ b/source/_integrations/roku.markdown @@ -10,7 +10,7 @@ ha_iot_class: Local Polling ha_release: 0.86 --- -The [Roku](http://www.roku.com/) integration allows integration of Roku, which will be automatically discovered if you enable the [discovery component](/integrations/discovery/). +The [Roku](https://www.roku.com/) integration allows integration of Roku, which will be automatically discovered if you enable the [discovery component](/integrations/discovery/). There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/roomba.markdown b/source/_integrations/roomba.markdown index 925ae07841d..c205470f74e 100644 --- a/source/_integrations/roomba.markdown +++ b/source/_integrations/roomba.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.51 --- -The `roomba` integration allows you to control your [iRobot Roomba](http://www.irobot.com/For-the-Home/Vacuuming/Roomba.aspx) vacuum. +The `roomba` integration allows you to control your [iRobot Roomba](https://www.irobot.com/For-the-Home/Vacuuming/Roomba.aspx) vacuum.

diff --git a/source/_integrations/rpi_gpio_pwm.markdown b/source/_integrations/rpi_gpio_pwm.markdown index 1e194632067..3fcb775584e 100644 --- a/source/_integrations/rpi_gpio_pwm.markdown +++ b/source/_integrations/rpi_gpio_pwm.markdown @@ -67,7 +67,7 @@ In this section you find some real-life examples of how to use this sensor. ### RGB LED connected to PCA9685 controller -This example uses a [PCA9685 controller](http://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to control a RGB LED. +This example uses a [PCA9685 controller](https://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to control a RGB LED. ```yaml # Example configuration.yaml entry @@ -82,7 +82,7 @@ light: ### RGBW LED connected to PCA9685 controller -This example uses a [PCA9685 controller](http://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to interact with a RGBW LED. +This example uses a [PCA9685 controller](https://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to interact with a RGBW LED. ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index 7ddde044a7d..42a4a548e20 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -8,7 +8,7 @@ ha_release: 0.13 ha_iot_class: Local Polling --- -The `samsungtv` platform allows you to control a [Samsung Smart TV](http://www.samsung.com/uk/consumer/tv-audio-video/televisions/). +The `samsungtv` platform allows you to control a [Samsung Smart TV](https://www.samsung.com/uk/tvs/all-tvs/). ### Setup diff --git a/source/_integrations/scene.knx.markdown b/source/_integrations/scene.knx.markdown index f0c00eb4c94..741c4e6039b 100644 --- a/source/_integrations/scene.knx.markdown +++ b/source/_integrations/scene.knx.markdown @@ -13,7 +13,7 @@ The `knx` integration must be configured correctly to use this integration, see

-The `knx` scenes platform allows you to trigger [KNX](http://www.knx.org) scenes. +The `knx` scenes platform allows you to trigger [KNX](https://www.knx.org/) scenes. ## Configuration diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown index 4b68c7a22dd..892ba3712ca 100644 --- a/source/_integrations/scrape.markdown +++ b/source/_integrations/scrape.markdown @@ -123,13 +123,13 @@ sensor: ### IFTTT status -If you make heavy use of the [IFTTT](/integrations/ifttt/) web service for your automations and are curious about the [status of IFTTT](http://status.ifttt.com/) then you can display the current state of IFTTT in your frontend. +If you make heavy use of the [IFTTT](/integrations/ifttt/) web service for your automations and are curious about the [status of IFTTT](https://status.ifttt.com/) then you can display the current state of IFTTT in your frontend. ```yaml # Example configuration.yaml entry sensor: - platform: scrape - resource: http://status.ifttt.com/ + resource: https://status.ifttt.com/ name: IFTTT status select: '.component-status' ``` diff --git a/source/_integrations/scsgate.markdown b/source/_integrations/scsgate.markdown index 8d4a70eee34..34c3242c842 100644 --- a/source/_integrations/scsgate.markdown +++ b/source/_integrations/scsgate.markdown @@ -40,7 +40,7 @@ The SCSGate integration relies on the [scsgate](https://github.com/flavio/scsgat This module provides also a command line tool called `scs-monitor`. This program can be used to find the IDs of your lights, switches and roller shutters and produce the YAML snippet to insert into your `configuration.yaml` file. -For more information checkout [this](http://scsgate.readthedocs.org/en/latest/?badge=latest#creation-of-a-home-assistant-configuration-file) section of `scsgate`'s documentation. +For more information checkout [this](https://scsgate.readthedocs.org/en/latest/?badge=latest#creation-of-a-home-assistant-configuration-file) section of `scsgate`'s documentation. ### Cover diff --git a/source/_integrations/sensor.knx.markdown b/source/_integrations/sensor.knx.markdown index ff460640e7e..c68015799d5 100644 --- a/source/_integrations/sensor.knx.markdown +++ b/source/_integrations/sensor.knx.markdown @@ -14,7 +14,7 @@ The `knx` integration must be configured correctly to use this integration, see
-The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensors. +The `knx` sensor platform allows you to monitor [KNX](https://www.knx.org/) sensors. Sensors are read-only. To write to the knx-bus configure an exposure [KNX Integration - Expose](/integrations/knx/#exposing-sensor-values-or-time-to-knx-bus). diff --git a/source/_integrations/sensor.mysensors.markdown b/source/_integrations/sensor.mysensors.markdown index 24405bcfefd..6b84c8422da 100644 --- a/source/_integrations/sensor.mysensors.markdown +++ b/source/_integrations/sensor.mysensors.markdown @@ -72,10 +72,10 @@ For more information, visit the [serial api] of MySensors. ```cpp /** - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * - * http://www.mysensors.org/build/light + * https://www.mysensors.org/build/light */ #include @@ -120,10 +120,10 @@ void loop() ```cpp /** - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * - * http://www.mysensors.org/build/light + * https://www.mysensors.org/build/light */ #define MY_DEBUG @@ -181,4 +181,4 @@ void receive(const MyMessage &message) { ``` [main component]: /integrations/mysensors/ -[serial api]: http://www.mysensors.org/download +[serial api]: https://www.mysensors.org/download diff --git a/source/_integrations/sensor.xiaomi_aqara.markdown b/source/_integrations/sensor.xiaomi_aqara.markdown index 3ba1686b9b2..d877edb9eaf 100644 --- a/source/_integrations/sensor.xiaomi_aqara.markdown +++ b/source/_integrations/sensor.xiaomi_aqara.markdown @@ -8,6 +8,6 @@ ha_release: "0.50" ha_iot_class: Local Push --- -The `xiaomi aqara` sensor platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) sensors. +The `xiaomi aqara` sensor platform allows you to get data from your [Xiaomi](https://www.mi.com/en/) sensors. The requirement is that you have setup [Xiaomi aqara](/integrations/xiaomi_aqara/). diff --git a/source/_integrations/sky_hub.markdown b/source/_integrations/sky_hub.markdown index b0937a64c19..dbd43e9fe8e 100644 --- a/source/_integrations/sky_hub.markdown +++ b/source/_integrations/sky_hub.markdown @@ -8,7 +8,7 @@ ha_release: 0.37 --- -The `sky_hub` platform offers presence detection by looking at connected devices to a [Sky Hub router](http://www.sky.com/shop/broadband-talk/sky-hub/) based router. +The `sky_hub` platform offers presence detection by looking at connected devices to a [Sky Hub router](https://www.sky.com/shop/broadband-talk/sky-hub/) based router. To use your Sky Hub device in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/skybeacon.markdown b/source/_integrations/skybeacon.markdown index c115a0b58eb..bb0563f93ef 100644 --- a/source/_integrations/skybeacon.markdown +++ b/source/_integrations/skybeacon.markdown @@ -7,7 +7,7 @@ ha_release: 0.37 ha_iot_class: Local Polling --- -The `skybeacon` sensor platform supports [CR2477](http://cnsky9.en.alibaba.com)-powered [iBeacon](https://en.wikipedia.org/wiki/IBeacon)/eddystone sensors that come with temperature/sensor module. +The `skybeacon` sensor platform supports [CR2477](https://cnsky9.en.alibaba.com/)-powered [iBeacon](https://en.wikipedia.org/wiki/IBeacon)/eddystone sensors that come with temperature/sensor module. ## Configuration diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown index c873f3da9d7..7f68b1cc36e 100644 --- a/source/_integrations/slack.markdown +++ b/source/_integrations/slack.markdown @@ -59,7 +59,7 @@ username: type: string default: The user account or botname that you generated the API key as. icon: - description: Use one of the Slack emojis as an Icon for the supplied username. Slack uses the standard emoji sets used [here](http://www.webpagefx.com/tools/emoji-cheat-sheet/). + description: Use one of the Slack emojis as an Icon for the supplied username. Slack uses the standard emoji sets used [here](https://www.webpagefx.com/tools/emoji-cheat-sheet/). required: false type: string {% endconfiguration %} @@ -121,7 +121,7 @@ Example for posting formatted attachment: "attachments": [ { "title": "WHAT A HORRIBLE NIGHT TO HAVE A CURSE.", - "image_url": "http://i.imgur.com/JEExnsI.gif" + "image_url": "https://i.imgur.com/JEExnsI.gif" } ] } diff --git a/source/_integrations/sleepiq.markdown b/source/_integrations/sleepiq.markdown index 5bf4236dec6..ce55c4c9da4 100644 --- a/source/_integrations/sleepiq.markdown +++ b/source/_integrations/sleepiq.markdown @@ -10,7 +10,7 @@ ha_release: 0.29 ha_iot_class: Local Polling --- -The SleepIQ implementation lets you view sensor data from [SleepIQ by SleepNumber](http://www.sleepnumber.com/sn/en/sleepiq-sleep-tracker). In particular, it lets you see the occupancy and current SleepNumber (ie current firmness) of each side of a SleepNumber bed. +The SleepIQ implementation lets you view sensor data from [SleepIQ by SleepNumber](https://www.sleepnumber.com/sleepiq-sleep-tracker). In particular, it lets you see the occupancy and current SleepNumber (ie current firmness) of each side of a SleepNumber bed. ## Setup diff --git a/source/_integrations/sma.markdown b/source/_integrations/sma.markdown index 62cadd02f05..faccfba81d2 100644 --- a/source/_integrations/sma.markdown +++ b/source/_integrations/sma.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.36 --- -The `sma` sensor will poll a [SMA](http://www.sma-solar.com/) [(US)](http://www.sma-america.com/) solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant. +The `sma` sensor will poll a [SMA](http://www.sma-solar.com/) [(US)](https://www.sma-america.com/) solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant. This sensor uses the web interface and to use it, you have to be able to connect to the solar inverter from your favorite web browser. diff --git a/source/_integrations/smarthab.markdown b/source/_integrations/smarthab.markdown index 60e8eb98dff..e97965e6b3e 100644 --- a/source/_integrations/smarthab.markdown +++ b/source/_integrations/smarthab.markdown @@ -10,7 +10,7 @@ ha_category: ha_iot_class: Cloud Polling --- -If your home is fitted with [SmartHab](http://www.smarthab.fr/en/home/)'s +If your home is fitted with [SmartHab](https://www.smarthab.fr/en/home/)'s devices and you have access to their app-based services, you will be able to control your lights and shutters with the SmartHab integration for Home Assistant. diff --git a/source/_integrations/smhi.markdown b/source/_integrations/smhi.markdown index 207ea471ebd..a2642b3f06c 100644 --- a/source/_integrations/smhi.markdown +++ b/source/_integrations/smhi.markdown @@ -29,7 +29,7 @@ You can only add locations through the integrations page, not in configuration f
-Only location close to Sweden can be added. See [SMHI.se area](http://opendata.smhi.se/apidocs/metfcst/geographic_area.html) for more details what locations are supported. +Only location close to Sweden can be added. See [SMHI.se area](https://opendata.smhi.se/apidocs/metfcst/geographic_area.html) for more details what locations are supported.
@@ -51,4 +51,4 @@ name: default: Home {% endconfiguration %} -Details about the API are available in the [SMHI API documentation](http://opendata.smhi.se/apidocs/metfcst/index.html). +Details about the API are available in the [SMHI API documentation](https://opendata.smhi.se/apidocs/metfcst/index.html). diff --git a/source/_integrations/songpal.markdown b/source/_integrations/songpal.markdown index a9815b595b1..ac3977f1a71 100644 --- a/source/_integrations/songpal.markdown +++ b/source/_integrations/songpal.markdown @@ -10,7 +10,7 @@ ha_release: 0.65 The `songpal` platform allows you to control Sony's Songpal ("[Audio Control API](https://developer.sony.com/develop/audio-control-api/)") compatible devices such as soundbars, AV receivers and wireless speakers from Home Assistant. -Even when the API officially supports only a few devices (HT-ST5000, HT-MT500, HT-CT800, SRS-ZR5 and STR-DN1080), it has also been confirmed to work on others. [The list of supported devices](http://vssupport.sony.net/en_ww/device.html) from Sony's Songpal website lists devices which are likely to be compatible with this platform. +Even when the API officially supports only a few devices (HT-ST5000, HT-MT500, HT-CT800, SRS-ZR5 and STR-DN1080), it has also been confirmed to work on others. [The list of supported devices](https://vssupport.sony.net/en_ww/device.html) from Sony's Songpal website lists devices which are likely to be compatible with this platform. If the platform works with your non-listed device, or you encounter bugs, please feel free to [report them upstream](https://github.com/rytilahti/python-songpal). diff --git a/source/_integrations/sony_projector.markdown b/source/_integrations/sony_projector.markdown index 6659b297235..632cd71fa74 100644 --- a/source/_integrations/sony_projector.markdown +++ b/source/_integrations/sony_projector.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.89 --- -The `sony_projector` switch platform allows you to control the state of SDCP compatible network-connected projectors from [Sony](http://www.sony.com). +The `sony_projector` switch platform allows you to control the state of SDCP compatible network-connected projectors from [Sony](https://www.sony.com/). ## Configuration diff --git a/source/_integrations/spaceapi.markdown b/source/_integrations/spaceapi.markdown index 808e63bc6f4..719919b3952 100644 --- a/source/_integrations/spaceapi.markdown +++ b/source/_integrations/spaceapi.markdown @@ -276,7 +276,7 @@ In this section you find some real-life examples of how to use this component. ### Eastermundigen -A possible configuration entry for [Eastermundigen](http://www.eastermundigen.ch/), a Hackerspace in Switzerland, could look like this. +A possible configuration entry for [Eastermundigen](https://www.eastermundigen.ch/), a Hackerspace in Switzerland, could look like this. ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/spc.markdown b/source/_integrations/spc.markdown index ad6599ec8e7..f1caea63da4 100644 --- a/source/_integrations/spc.markdown +++ b/source/_integrations/spc.markdown @@ -12,7 +12,7 @@ ha_iot_class: Local Push Home Assistant has support to integrate your [Vanderbilt SPC](https://www.spcsupportinfo.com/SPCConnectPro/) alarm panel and any connected motion, door and smoke sensors. -Integration with SPC is done through a third-party API gateway called [SPC Web Gateway](http://www.lundix.se/smarta-losningar/) which must be installed and configured somewhere on your network. +Integration with SPC is done through a third-party API gateway called [SPC Web Gateway](https://www.lundix.se/smarta-losningar/) which must be installed and configured somewhere on your network. There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/splunk.markdown b/source/_integrations/splunk.markdown index 9aa909d2f16..d0718987d72 100644 --- a/source/_integrations/splunk.markdown +++ b/source/_integrations/splunk.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.13 --- -The `splunk` integration makes it possible to log all state changes to an external [Splunk](http://splunk.com/) database using Splunk's HTTP Event Collector (HEC) feature. You can either use this alone, or with the Home Assistant for Splunk [app](https://github.com/miniconfig/splunk-homeassistant). Since the HEC feature is new to Splunk, you will need to use at least version 6.3. +The `splunk` integration makes it possible to log all state changes to an external [Splunk](https://splunk.com/) database using Splunk's HTTP Event Collector (HEC) feature. You can either use this alone, or with the Home Assistant for Splunk [app](https://github.com/miniconfig/splunk-homeassistant). Since the HEC feature is new to Splunk, you will need to use at least version 6.3. ## Configuration diff --git a/source/_integrations/squeezebox.markdown b/source/_integrations/squeezebox.markdown index e9b09617c8e..c9e81bf4074 100644 --- a/source/_integrations/squeezebox.markdown +++ b/source/_integrations/squeezebox.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Polling --- -The `squeezebox` platform allows you to control a [Logitech Squeezebox](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29) music player from Home Assistant. This lets you control Squeezebox hardware like the Classic, Transporter, Duet, Boom, Radio and Touch and of software players like [SoftSqueeze](http://softsqueeze.sourceforge.net/), [SqueezePlayer](https://play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer) and [SqueezeSlave](http://forums.slimdevices.com/showthread.php?93607-ANNOUNCE-Squeezeslave-1-2-released). +The `squeezebox` platform allows you to control a [Logitech Squeezebox](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29) music player from Home Assistant. This lets you control Squeezebox hardware like the Classic, Transporter, Duet, Boom, Radio and Touch and of software players like [SoftSqueeze](http://softsqueeze.sourceforge.net/), [SqueezePlayer](https://play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer) and [SqueezeSlave](https://forums.slimdevices.com/showthread.php?93607-ANNOUNCE-Squeezeslave-1-2-released). To add your Squeezebox player to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/supla.markdown b/source/_integrations/supla.markdown index 4cd882893b7..cc2b3c4c330 100644 --- a/source/_integrations/supla.markdown +++ b/source/_integrations/supla.markdown @@ -9,7 +9,7 @@ ha_category: ha_iot_class: Cloud Polling --- -The [Supla](http://supla.org) is an Open Source home automation system for ESP8266 based devices. It has its own set of protocols, it's own firmware and commercially available devices (produced for example by [Zamel](https://supla.zamel.pl/)) +The [Supla](https://supla.org/) is an Open Source home automation system for ESP8266 based devices. It has its own set of protocols, it's own firmware and commercially available devices (produced for example by [Zamel](https://supla.zamel.pl/)) Currently only covers (shutters in Supla's lingo) and switches are supported, but, thanks to comprehensive and universal REST API, it's pretty easy to add more. diff --git a/source/_integrations/swiss_hydrological_data.markdown b/source/_integrations/swiss_hydrological_data.markdown index 799f6aa1db7..801dbaf3d34 100644 --- a/source/_integrations/swiss_hydrological_data.markdown +++ b/source/_integrations/swiss_hydrological_data.markdown @@ -57,4 +57,4 @@ Sensors are exposing additional values through their attributes for all availabl The sensors don't show the latest measurement, but those from the last hour due to the source of data. Some stations also don't provide data for certain measurements.
-The hydrological measurements are coming from the [Swiss Federal Office for the Environment (Bundesamt für Umwelt - Abt. Hydrologie)](http://www.hydrodaten.admin.ch) and are updated every 10 minutes. +The hydrological measurements are coming from the [Swiss Federal Office for the Environment (Bundesamt für Umwelt - Abt. Hydrologie)](https://www.hydrodaten.admin.ch/) and are updated every 10 minutes. diff --git a/source/_integrations/swiss_public_transport.markdown b/source/_integrations/swiss_public_transport.markdown index 4d3f73be3c5..7c07936f410 100644 --- a/source/_integrations/swiss_public_transport.markdown +++ b/source/_integrations/swiss_public_transport.markdown @@ -10,9 +10,9 @@ ha_release: pre 0.7 The `swiss_public_transport` sensor will give you the next three departure times from a given location to another one in Switzerland. -The [Swiss public transport API](http://transport.opendata.ch/) only allows 1000 requests per 24 hours. +The [Swiss public transport API](https://transport.opendata.ch/) only allows 1000 requests per 24 hours. -The [Stationboard](http://transport.opendata.ch/examples/stationboard.html) website can help to determine the exact name of the start and the end station. +The [Stationboard](https://transport.opendata.ch/examples/stationboard.html) website can help to determine the exact name of the start and the end station. Then add the data to your `configuration.yaml` file as shown in the example: @@ -40,4 +40,4 @@ name: default: Next Departure {% endconfiguration %} -The public timetables are coming from [Swiss public transport](http://transport.opendata.ch). +The public timetables are coming from [Swiss public transport](https://transport.opendata.ch/). diff --git a/source/_integrations/switch.command_line.markdown b/source/_integrations/switch.command_line.markdown index b01ae34e087..b7b9c2524e5 100644 --- a/source/_integrations/switch.command_line.markdown +++ b/source/_integrations/switch.command_line.markdown @@ -80,7 +80,7 @@ In this section you find some real-life examples of how to use this switch. The example below is doing the same as the [aREST switch](/integrations/arest#switch). -The command line tool [`curl`](http://curl.haxx.se/) is used to toggle a pin +The command line tool [`curl`](https://curl.haxx.se/) is used to toggle a pin which is controllable through REST. ```yaml diff --git a/source/_integrations/switch.mysensors.markdown b/source/_integrations/switch.mysensors.markdown index 7f212f5d937..03acee61f65 100644 --- a/source/_integrations/switch.mysensors.markdown +++ b/source/_integrations/switch.mysensors.markdown @@ -88,10 +88,10 @@ automation: ```cpp /* - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * - * http://www.mysensors.org/build/relay + * https://www.mysensors.org/build/relay */ #include @@ -134,10 +134,10 @@ void incomingMessage(const MyMessage &message) ```cpp /* - * Documentation: http://www.mysensors.org - * Support Forum: http://forum.mysensors.org + * Documentation: https://www.mysensors.org + * Support Forum: https://forum.mysensors.org * - * http://www.mysensors.org/build/ir + * https://www.mysensors.org/build/ir */ #include @@ -203,4 +203,4 @@ void incomingMessage(const MyMessage &message) { ``` [main component]: /integrations/mysensors/ -[serial api]: http://www.mysensors.org/download +[serial api]: https://www.mysensors.org/download diff --git a/source/_integrations/switch.xiaomi_aqara.markdown b/source/_integrations/switch.xiaomi_aqara.markdown index 98e9602334d..f6016df9043 100644 --- a/source/_integrations/switch.xiaomi_aqara.markdown +++ b/source/_integrations/switch.xiaomi_aqara.markdown @@ -8,6 +8,6 @@ ha_release: "0.50" ha_iot_class: Local Push --- -The `xiaomi_aqara` switch platform allows you to get data from your [Xiaomi aqara](http://www.mi.com/en/) switches. +The `xiaomi_aqara` switch platform allows you to get data from your [Xiaomi aqara](https://www.mi.com/en/) switches. The requirement is that you have set up [Xiaomi aqara](/integrations/xiaomi_aqara/). diff --git a/source/_integrations/syslog.markdown b/source/_integrations/syslog.markdown index ae22bfe656d..e61b3a9dc60 100644 --- a/source/_integrations/syslog.markdown +++ b/source/_integrations/syslog.markdown @@ -25,7 +25,7 @@ name: default: notify type: string facility: - description: Facility according to RFC 3164 (http://tools.ietf.org/html/rfc3164). Check the table below for entries. + description: Facility according to RFC 3164 (https://tools.ietf.org/html/rfc3164). Check the table below for entries. required: false default: syslog type: string @@ -64,6 +64,6 @@ The table contains values to use in your `configuration.yaml` file. | local6 | | | | local7 | | | -For details about facility, option, and priority please consult the [wikipedia article](http://en.wikipedia.org/wiki/Syslog) and [RFC 3164](http://tools.ietf.org/html/rfc3164). +For details about facility, option, and priority please consult the [wikipedia article](https://en.wikipedia.org/wiki/Syslog) and [RFC 3164](https://tools.ietf.org/html/rfc3164). To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_integrations/tapsaff.markdown b/source/_integrations/tapsaff.markdown index 2f3cc74b4f6..83034e963bc 100644 --- a/source/_integrations/tapsaff.markdown +++ b/source/_integrations/tapsaff.markdown @@ -8,7 +8,7 @@ ha_release: 0.47 ha_iot_class: Local Polling --- -The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](http://www.taps-aff.co.uk). +The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](https://www.taps-aff.co.uk/). ## Configuration diff --git a/source/_integrations/ted5000.markdown b/source/_integrations/ted5000.markdown index c700a1504ee..7376fd08b85 100644 --- a/source/_integrations/ted5000.markdown +++ b/source/_integrations/ted5000.markdown @@ -8,7 +8,7 @@ ha_release: "0.30" ha_iot_class: Local Polling --- -The `ted 5000` monitors electricity consumption/production by connecting to the [TED](http://www.theenergydetective.com/home) gateway, itself connected to one or several Measuring Transmitting Units (MTU). The platform creates up to two sensors per MTU, one for Wattage the other for Voltage. +The `ted 5000` monitors electricity consumption/production by connecting to the [TED](https://www.theenergydetective.com/home) gateway, itself connected to one or several Measuring Transmitting Units (MTU). The platform creates up to two sensors per MTU, one for Wattage the other for Voltage. If you want to enable the ted5000 sensor, add the following lines to your `configuration.yaml`: diff --git a/source/_integrations/thinkingcleaner.markdown b/source/_integrations/thinkingcleaner.markdown index 52bb0ec4dec..41a850b5697 100644 --- a/source/_integrations/thinkingcleaner.markdown +++ b/source/_integrations/thinkingcleaner.markdown @@ -16,7 +16,7 @@ There is currently support for the following device types within Home Assistant: ## Sensor -The `thinkingcleaner` sensor platform simple displays information about your [Thinking Cleaner](http://www.thinkingcleaner.com) add-on. +The `thinkingcleaner` sensor platform simple displays information about your [Thinking Cleaner](https://www.thinkingcleaner.com/) add-on. To enable this sensor in your installation, add the following to your `configuration.yaml` file: @@ -30,7 +30,7 @@ This will automatically add sensors for each Thinking Cleaner in your network. ## switch -The `thinkingcleaner` switch platform allows you to control your [Thinking Cleaner](http://www.thinkingcleaner.com) add-on. +The `thinkingcleaner` switch platform allows you to control your [Thinking Cleaner](https://www.thinkingcleaner.com/) add-on. To enable this switch in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/thomson.markdown b/source/_integrations/thomson.markdown index 2de9bbbaea3..9f809e8e5fb 100644 --- a/source/_integrations/thomson.markdown +++ b/source/_integrations/thomson.markdown @@ -10,7 +10,7 @@ ha_release: 0.7 Thomson produced networking equipment (under the brand name SpeedTouch) till 2010 and was then renamed to Technicolor. -This platform allows you to detect presence by looking at connected devices to a [Thomson](http://www.technicolor.com) device. +This platform allows you to detect presence by looking at connected devices to a [Thomson](https://www.technicolor.com/) device. To use this device tracker in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/tikteck.markdown b/source/_integrations/tikteck.markdown index 5249dc15171..b92b1927bb9 100644 --- a/source/_integrations/tikteck.markdown +++ b/source/_integrations/tikteck.markdown @@ -8,7 +8,7 @@ logo: tikteck.png ha_release: 0.36 --- -Support for the Bluetooth smart bulb from [Tikteck](http://www.tikteck.com). To enable these lights, add the following lines to your `configuration.yaml` file: +Support for the Bluetooth smart bulb from [Tikteck](https://www.tikteck.com/). To enable these lights, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/time_date.markdown b/source/_integrations/time_date.markdown index c8d24539e9c..31563206955 100644 --- a/source/_integrations/time_date.markdown +++ b/source/_integrations/time_date.markdown @@ -27,7 +27,7 @@ sensor: - 'beat' ``` -- **display_options** array (*Required*): The option to display. The types *date_time*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](http://www.swatch.com/en_us/internet-time). +- **display_options** array (*Required*): The option to display. The types *date_time*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](https://www.swatch.com/en_us/internet-time).

diff --git a/source/_integrations/tomato.markdown b/source/_integrations/tomato.markdown index 06f62d6c4d2..8bea2170380 100644 --- a/source/_integrations/tomato.markdown +++ b/source/_integrations/tomato.markdown @@ -66,7 +66,7 @@ See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked. A description of the API s available in this -[Tomato API](http://paulusschoutsen.nl/blog/2013/10/tomato-api-documentation/) +[Tomato API](https://paulusschoutsen.nl/blog/2013/10/tomato-api-documentation/) blog post. SSL Certificate: diff --git a/source/_integrations/torque.markdown b/source/_integrations/torque.markdown index d803e2c6283..b4403d7f0e9 100644 --- a/source/_integrations/torque.markdown +++ b/source/_integrations/torque.markdown @@ -8,7 +8,7 @@ ha_release: "0.10" ha_iot_class: Cloud Polling --- -The `torque` platform will allow you to monitor [Torque](http://torque-bhp.com/) data relayed from a Bluetooth OBD2 stick via the Torque mobile application. +The `torque` platform will allow you to monitor [Torque](https://torque-bhp.com/) data relayed from a Bluetooth OBD2 stick via the Torque mobile application. ## Setup diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown index 0c0f62080db..c4e1f554849 100644 --- a/source/_integrations/transmission.markdown +++ b/source/_integrations/transmission.markdown @@ -10,7 +10,7 @@ ha_release: 0.87 ha_iot_class: Local Polling --- -The `transmission` integration allows you to monitor your downloads with [Transmission](http://www.transmissionbt.com/) from within Home Assistant and setup automation based on the information. +The `transmission` integration allows you to monitor your downloads with [Transmission](https://www.transmissionbt.com/) from within Home Assistant and setup automation based on the information. ## Setup diff --git a/source/_integrations/twitch.markdown b/source/_integrations/twitch.markdown index 2663cb79f81..af97ab66266 100644 --- a/source/_integrations/twitch.markdown +++ b/source/_integrations/twitch.markdown @@ -8,7 +8,7 @@ ha_release: "0.10" ha_iot_class: Cloud Polling --- -The `twitch` platform will allow you to monitor [Twitch](http://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information. +The `twitch` platform will allow you to monitor [Twitch](https://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information. ## Setup diff --git a/source/_integrations/ubee.markdown b/source/_integrations/ubee.markdown index 18bcc86353c..fa0ad03bd25 100644 --- a/source/_integrations/ubee.markdown +++ b/source/_integrations/ubee.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.89 --- -This platform offers presence detection by looking at connected devices to a [Ubee Router](http://www.ubeeinteractive.com/). +This platform offers presence detection by looking at connected devices to a [Ubee Router](https://www.ubeeinteractive.com/). To use a Ubee router in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/ubus.markdown b/source/_integrations/ubus.markdown index 320ba0e6850..e2ced94e075 100644 --- a/source/_integrations/ubus.markdown +++ b/source/_integrations/ubus.markdown @@ -9,7 +9,7 @@ ha_release: 0.7.6 _This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/integrations/openwrt)._ -This is a presence detection scanner for [OpenWRT](https://openwrt.org/) using [ubus](http://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router. +This is a presence detection scanner for [OpenWRT](https://openwrt.org/) using [ubus](https://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router. Before this scanner can be used you have to install the ubus RPC package on OpenWRT: diff --git a/source/_integrations/uk_transport.markdown b/source/_integrations/uk_transport.markdown index efa202ce89f..3c2d68650ec 100644 --- a/source/_integrations/uk_transport.markdown +++ b/source/_integrations/uk_transport.markdown @@ -8,7 +8,7 @@ ha_iot_class: Cloud Polling ha_release: "0.50" --- -The `uk_transport` sensor will display the time in minutes until the next departure in a specified direction from of a configured train station or bus stop. The sensor uses [transportAPI](http://www.transportapi.com/) to query live departure data and requires a developer application ID and key which can be obtained [here](https://developer.transportapi.com/). The [free tier](http://www.transportapi.com/plans/) allows 1000 requests daily, which is sufficient for a single sensor refreshing every 87 seconds. +The `uk_transport` sensor will display the time in minutes until the next departure in a specified direction from of a configured train station or bus stop. The sensor uses [transportAPI](https://www.transportapi.com/) to query live departure data and requires a developer application ID and key which can be obtained [here](https://developer.transportapi.com/). The [free tier](https://www.transportapi.com/plans/) allows 1000 requests daily, which is sufficient for a single sensor refreshing every 87 seconds.

@@ -18,7 +18,7 @@ Additional sensors can be added but at the expense of a reduced refresh rate. 2 Queries are entered as a list, with the two transport modes available being `bus` and `train`. -Train departure sensors require three character long `origin` and `destination` station codes which are searchable on the [National Rail enquiries](http://www.nationalrail.co.uk/times_fares/ldb.aspx) website (e.g., `WAT` is London Waterloo). The validity of a route can be checked by performing a GET request to `/uk/train/station/{station_code}/live.json` in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##request_uk_train_station_station_code_live_json). +Train departure sensors require three character long `origin` and `destination` station codes which are searchable on the [National Rail enquiries](https://www.nationalrail.co.uk/times_fares/ldb.aspx) website (e.g., `WAT` is London Waterloo). The validity of a route can be checked by performing a GET request to `/uk/train/station/{station_code}/live.json` in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml#request_uk_train_station_station_code_live_json). To add a single train departure sensor add the following to your `configuration.yaml` file: @@ -102,7 +102,7 @@ Attributes can be accessed using the [template sensor](/integrations/template) a Bus sensors require as their `origin` a bus stop ATCO code which can be found by browsing OpenStreetMap data as follows: -1. On [OpenStreetMap.org](http://www.openstreetmap.org/) zoom right in on a bus stop you're interested in. +1. On [OpenStreetMap.org](https://www.openstreetmap.org/) zoom right in on a bus stop you're interested in. 2. Click the layers picker button on the right hand side. 3. Tick the 'map data' layer, and wait for clickable objects to load. 4. Click the bus stop node to reveal its tags on the left. @@ -148,4 +148,4 @@ And the template sensor for viewing the next bus attributes. If you wish to manage the rate of API requests (e.g., to disable requests when you aren't interested in travel, so that you can request updates more frequently when you do travel) set a really long `scan_interval` in the config options, and use the service `homeassistant.update_entity` to request the update of an entity, rather than waiting for the next scheduled update. -Powered by [transportAPI](http://www.transportapi.com/) +Powered by [transportAPI](https://www.transportapi.com/) diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown index 7082fbce7d4..78126ea1664 100644 --- a/source/_integrations/unifi.markdown +++ b/source/_integrations/unifi.markdown @@ -94,7 +94,7 @@ It is recommended that you run the Unifi controller in a dedicated virtual machi ## Presence detection -This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](http://ubnt.com/) [UniFi](https://www.ubnt.com/enterprise/#unifi) controller. +This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](https://ubnt.com/) [UniFi](https://www.ubnt.com/enterprise/#unifi) controller. ### Troubleshooting and Time Synchronization diff --git a/source/_integrations/velux.markdown b/source/_integrations/velux.markdown index f2bac21439a..be1a433f9ea 100644 --- a/source/_integrations/velux.markdown +++ b/source/_integrations/velux.markdown @@ -9,7 +9,7 @@ ha_release: 0.49 ha_iot_class: Local Polling --- -[Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200. +[Velux](https://www.velux.com/) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200. At least firmware version > 2.0.0.0 is required on the KLF 200 device. The firmware images may be obtained [here](https://www.velux.com/api/klf200) and may be imported via the webinterface of your KLF 200. diff --git a/source/_integrations/venstar.markdown b/source/_integrations/venstar.markdown index c589a30d121..701df65acc5 100644 --- a/source/_integrations/venstar.markdown +++ b/source/_integrations/venstar.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Polling --- -The `venstar` climate platform allows you to control [Venstar](http://www.venstar.com) thermostats from Home Assistant. +The `venstar` climate platform allows you to control [Venstar](https://www.venstar.com/) thermostats from Home Assistant. Venstar thermostats feature a local API that allows for automation without the need for a cloud service. Currently supported and tested thermostats: diff --git a/source/_integrations/vera.markdown b/source/_integrations/vera.markdown index efd4870adb3..a2611442c4f 100644 --- a/source/_integrations/vera.markdown +++ b/source/_integrations/vera.markdown @@ -15,7 +15,7 @@ ha_category: ha_release: pre 0.7 --- -The [Vera](http://getvera.com) hub is a controller mainly connecting to Z-Wave devices. +The [Vera](https://getvera.com/) hub is a controller mainly connecting to Z-Wave devices. There is currently support for the following device types within Home Assistant: @@ -75,7 +75,7 @@ If you want to use a Z-Wave device from the Vera controller in Home Assistant au ### Sensor -The `vera` platform allows you to get data from your [Vera](http://getvera.com/) sensors from within Home Assistant. +The `vera` platform allows you to get data from your [Vera](https://getvera.com/) sensors from within Home Assistant. Please note that some vera sensors (such as _motion_ and _flood_ sensors) are _armable_ which means that vera will send alerts (email messages to txts) when they are _armed_ and change state. diff --git a/source/_integrations/vlc.markdown b/source/_integrations/vlc.markdown index 6569acaa279..bd1b7dd0add 100644 --- a/source/_integrations/vlc.markdown +++ b/source/_integrations/vlc.markdown @@ -8,7 +8,7 @@ ha_release: 0.35 ha_iot_class: Local Polling --- -The `vlc` platform allows you to control [VLC media player](http://www.videolan.org/vlc/index.html). +The `vlc` platform allows you to control [VLC media player](https://www.videolan.org/vlc/index.html). To add a VLC media player to your installation, add the following to your `configuration.yaml` file: @@ -63,4 +63,4 @@ sudo usermod -a -G audio homeassistant ##### VLC currently not supported with Hass.io -According to the forum topic ["How to add VLC into my Hassio"](http://community.home-assistant.io/t/how-to-add-vlc-into-my-hassio/23000/5), it is not possible to install packages like VLC on Hass.io. +According to the forum topic ["How to add VLC into my Hassio"](https://community.home-assistant.io/t/how-to-add-vlc-into-my-hassio/23000/5), it is not possible to install packages like VLC on Hass.io. diff --git a/source/_integrations/vlc_telnet.markdown b/source/_integrations/vlc_telnet.markdown index 7bef2182ebd..be761f1c8f4 100644 --- a/source/_integrations/vlc_telnet.markdown +++ b/source/_integrations/vlc_telnet.markdown @@ -8,7 +8,7 @@ ha_release: 0.95 ha_iot_class: Local Polling --- -The `vlc_telnet` platform allows you to control a [VLC media player](http://www.videolan.org/vlc/index.html) using the built in telnet interface. +The `vlc_telnet` platform allows you to control a [VLC media player](https://www.videolan.org/vlc/index.html) using the built in telnet interface. To add a VLC media player to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/volumio.markdown b/source/_integrations/volumio.markdown index 237e329b1ab..7c8ffc360d9 100644 --- a/source/_integrations/volumio.markdown +++ b/source/_integrations/volumio.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.41 --- -The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player from Home Assistant. +The `Volumio` platform allows you to control a [Volumio](https://volumio.org/) media player from Home Assistant. The preferred way to set up the Volumio platform is by enabling the [discovery component](/integrations/discovery/). diff --git a/source/_integrations/volvooncall.markdown b/source/_integrations/volvooncall.markdown index c524d44812d..ce169746f6b 100644 --- a/source/_integrations/volvooncall.markdown +++ b/source/_integrations/volvooncall.markdown @@ -8,7 +8,7 @@ ha_release: 0.39 ha_iot_class: Cloud Polling --- -The `volvooncall` integration offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level. +The `volvooncall` integration offers integration with the [Volvo On Call](https://www.volvocars.com/intl/why-volvo/human-innovation/future-of-driving/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level. ## Configuration diff --git a/source/_integrations/webostv.markdown b/source/_integrations/webostv.markdown index 3b91080b689..9dde34ff73a 100644 --- a/source/_integrations/webostv.markdown +++ b/source/_integrations/webostv.markdown @@ -9,7 +9,7 @@ ha_iot_class: Local Polling ha_release: 0.18 --- -The `webostv` platform allows you to control a [LG](http://www.lg.com/) webOS Smart TV. +The `webostv` platform allows you to control a [LG](https://www.lg.com/) webOS Smart TV. There is currently support for the following device types within Home Assistant: @@ -18,7 +18,7 @@ There is currently support for the following device types within Home Assistant: ## Media Player -To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others). +To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](https://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others). Once basic configuration is added to your `configuration.yaml` file. A notification should be visible in the frontend's **Notification** section. Follow the instructions and accept the pairing request on your TV. @@ -99,7 +99,7 @@ Avoid using `[ ]` in the `name:` of your device. Home Assistant is able to turn on a LG webOS Smart TV if you specify an action, like HDMI-CEC or WakeOnLan. -Common for webOS 3.0 and higher would be to use WakeOnLan feature. To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models) (*may vary by version). +Common for webOS 3.0 and higher would be to use WakeOnLan feature. To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](https://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models) (*may vary by version). On newer models (2017+), WakeOnLan may need to be enabled in the TV settings by going to Settings > General > Mobile TV On > Turn On Via WiFi [instructions](https://support.quanticapps.com/hc/en-us/articles/115005985729-How-to-turn-on-my-LG-Smart-TV-using-the-App-WebOS-). diff --git a/source/_integrations/wemo.markdown b/source/_integrations/wemo.markdown index e14a970ad19..b1227ef4863 100644 --- a/source/_integrations/wemo.markdown +++ b/source/_integrations/wemo.markdown @@ -12,14 +12,14 @@ featured: true ha_release: pre 0.7 --- -The `wemo` integration is the main integration to integrate various [Belkin WeMo](http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) devices with Home Assistant. +The `wemo` integration is the main integration to integrate various [Belkin WeMo](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) devices with Home Assistant. There is currently support for the following device types within Home Assistant: - Binary Sensor - Fan (Belkin WeMo (Holmes) Smart Humidifier) -- Light (Belkin WeMo LED lights and [Smart Dimmer Switch](http://www.belkin.com/us/F7C059-Belkin/p/P-F7C059/)) -- Switch ([Belkin WeMo Switches](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) and includes support for Wemo enabled [Mr. Coffee](http://www.mrcoffee.com/wemo-landing-page.html) smart coffee makers.) +- Light (Belkin WeMo LED lights and [Smart Dimmer Switch](https://www.belkin.com/us/F7C059-Belkin/p/P-F7C059/)) +- Switch ([Belkin WeMo Switches](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) and includes support for Wemo enabled [Mr. Coffee](https://www.mrcoffee.com/wemo-landing-page.html) smart coffee makers.) ## Configuration diff --git a/source/_integrations/wink.markdown b/source/_integrations/wink.markdown index e0f2978030a..156359cb467 100644 --- a/source/_integrations/wink.markdown +++ b/source/_integrations/wink.markdown @@ -20,7 +20,7 @@ ha_iot_class: Cloud Polling ha_release: pre 0.7 --- -[Wink](http://www.wink.com/) is a home automation hub that can control a whole wide range of devices on the market. Or, as they say in their own words: +[Wink](https://www.wink.com/) is a home automation hub that can control a whole wide range of devices on the market. Or, as they say in their own words:
Wink offers one, quick and simple way to connect people with the products they rely on every day in their home. @@ -373,7 +373,7 @@ script: ## Alarm Control Panel -The Wink alarm platform allows you to control your [Wink](http://www.wink.com/) Canary all-in-one security camera. +The Wink alarm platform allows you to control your [Wink](https://www.wink.com/) Canary all-in-one security camera. The requirement is that you have setup [Wink](/integrations/wink/) from above. @@ -387,7 +387,7 @@ The above devices are confirmed to work, but others may work as well. ## Binary Sensor -The Wink binary sensor platform allows you to get data from your [Wink](http://www.wink.com/) binary sensors. +The Wink binary sensor platform allows you to get data from your [Wink](https://www.wink.com/) binary sensors. The requirement is that you have setup [Wink](/integrations/wink/) from above. @@ -411,7 +411,7 @@ The above devices are confirmed to work, but others may work as well. ## Climate -The Wink climate platform allows you to get data from your [Wink](http://www.wink.com/) thermostats and air conditioners. +The Wink climate platform allows you to get data from your [Wink](https://www.wink.com/) thermostats and air conditioners. The requirement is that you have setup [Wink](/integrations/wink/) from above. @@ -451,7 +451,7 @@ The above devices are confirmed to work, but others may work as well. ## Fan -The Wink fan platform allows you to control your [Wink](http://www.wink.com/) fans. +The Wink fan platform allows you to control your [Wink](https://www.wink.com/) fans. The requirement is that you have setup [Wink](/integrations/wink/) from above. @@ -466,7 +466,7 @@ The above devices are confirmed to work, but others may work as well. ## Light -The `wink` light platform allows you to use your [Wink](http://www.wink.com/) lights. +The `wink` light platform allows you to use your [Wink](https://www.wink.com/) lights. The requirement is that you have setup [Wink](/integrations/wink/) from above. @@ -484,7 +484,7 @@ The above devices are confirmed to work, but others may work as well. ## Lock -The Wink lock platform allows you to control your [Wink](http://www.wink.com/) locks. +The Wink lock platform allows you to control your [Wink](https://www.wink.com/) locks. The requirement is that you have setup [Wink](/integrations/wink/) from above. @@ -619,7 +619,7 @@ If supported by your lock, a binary sensor will be created for each user key cod ## Sensor -The Wink sensor platform allows you to get data from your [Wink](http://www.wink.com/) sensors. +The Wink sensor platform allows you to get data from your [Wink](https://www.wink.com/) sensors. The requirement is that you have setup [Wink](/integrations/wink/) from above. @@ -639,7 +639,7 @@ The above devices are confirmed to work, but others may work as well. ## Switch -The Wink switch platform allows you to control your [Wink](http://www.wink.com/) switches. +The Wink switch platform allows you to control your [Wink](https://www.wink.com/) switches. The requirement is that you have set up [Wink](/integrations/wink/) from above. @@ -654,7 +654,7 @@ The requirement is that you have set up [Wink](/integrations/wink/) from above. ## Water heater -The Wink water heater platform allows you to get data from your [Wink](http://www.wink.com/) Water Heaters. +The Wink water heater platform allows you to get data from your [Wink](https://www.wink.com/) Water Heaters. The requirement is that you have set up [Wink](/integrations/wink/) from above. diff --git a/source/_integrations/wirelesstag.markdown b/source/_integrations/wirelesstag.markdown index d2b908cf76b..df591737665 100644 --- a/source/_integrations/wirelesstag.markdown +++ b/source/_integrations/wirelesstag.markdown @@ -11,7 +11,7 @@ ha_iot_class: Cloud Polling and Local Push ha_release: 0.68 --- -The `wirelesstag` implementation allows you to integrate your [wirelesstag.net](http://wirelesstag.net) sensors tags in Home Assistant. +The `wirelesstag` implementation allows you to integrate your [wirelesstag.net](https://wirelesstag.net/) sensors tags in Home Assistant. There is currently support for the following device types within Home Assistant: @@ -21,7 +21,7 @@ There is currently support for the following device types within Home Assistant: ## Configuration -To enable tags set up with your [wirelesstag.net](http://wirelesstag.net) account, add the following to your `configuration.yaml` file: +To enable tags set up with your [wirelesstag.net](https://wirelesstag.net/) account, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -59,7 +59,7 @@ Tags Manager supports local push notifications for `http` schema only. So if you ## Binary Sensor -To enable the binary sensor platform for your tags, set up with your [wirelesstag.net](http://wirelesstag.net) account. Add the following to your `configuration.yaml` file: +To enable the binary sensor platform for your tags, set up with your [wirelesstag.net](https://wirelesstag.net/) account. Add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -101,7 +101,7 @@ monitored_conditions: ## Sensor -To enable the sensor platform for your tags, set up with your [wirelesstag.net](http://wirelesstag.net) account. Add the following to your `configuration.yaml` file: +To enable the sensor platform for your tags, set up with your [wirelesstag.net](https://wirelesstag.net/) account. Add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -130,7 +130,7 @@ monitored_conditions: ## Switch -To enable the switch platform for your tags, set up with your [wirelesstag.net](http://wirelesstag.net) account. Add the following to your `configuration.yaml` file: +To enable the switch platform for your tags, set up with your [wirelesstag.net](https://wirelesstag.net/) account. Add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/wsdot.markdown b/source/_integrations/wsdot.markdown index 555c6bf00f9..b463e0685ff 100644 --- a/source/_integrations/wsdot.markdown +++ b/source/_integrations/wsdot.markdown @@ -8,11 +8,11 @@ ha_iot_class: Cloud Polling ha_release: 0.37 --- -The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](http://wsdot.com/). +The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](https://wsdot.com/). ## Setup -First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](http://wsdot.com/traffic/api/). Just enter your email address to instantly get the key. +First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](https://wsdot.com/traffic/api/). Just enter your email address to instantly get the key. ## Configuration @@ -49,7 +49,7 @@ travel_time: type: string {% endconfiguration %} -Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `http://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need. +Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `https://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need. Some common examples include: diff --git a/source/_integrations/wunderground.markdown b/source/_integrations/wunderground.markdown index 0dbe5d5d2ea..abc4df68b4f 100644 --- a/source/_integrations/wunderground.markdown +++ b/source/_integrations/wunderground.markdown @@ -8,7 +8,7 @@ ha_release: 0.27 ha_iot_class: Cloud Polling --- -The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information. +The `wunderground` platform uses [Weather Underground](https://www.wunderground.com/) as a source for current weather information.
diff --git a/source/_integrations/wwlln.markdown b/source/_integrations/wwlln.markdown index 90c022d43a6..e9ef0048341 100644 --- a/source/_integrations/wwlln.markdown +++ b/source/_integrations/wwlln.markdown @@ -9,7 +9,7 @@ ha_config_flow: true --- The `wwlln` integration displays lightning strike information from the -[World Wide Lightning Location Network (WWLLN)](http://wwlln.net). +[World Wide Lightning Location Network (WWLLN)](https://wwlln.net/). Entities are generated, updated and removed automatically with each update from the feed. Each entity defines latitude and longitude and will be shown diff --git a/source/_integrations/x10.markdown b/source/_integrations/x10.markdown index d045d4025e6..8127de694b4 100644 --- a/source/_integrations/x10.markdown +++ b/source/_integrations/x10.markdown @@ -10,7 +10,7 @@ ha_release: 0.25 The `x10` light platform allows you to control your X10 based lights with Home Assistant. -Requires [Heyu x10](http://www.heyu.org) and a CM11A or a CM17A "FireCracker" interface. +Requires [Heyu x10](https://www.heyu.org/) and a CM11A or a CM17A "FireCracker" interface. To enable those lights, add the following lines to your `configuration.yaml` file: diff --git a/source/_integrations/xbox_live.markdown b/source/_integrations/xbox_live.markdown index d81a71cf320..da9419bcd2a 100644 --- a/source/_integrations/xbox_live.markdown +++ b/source/_integrations/xbox_live.markdown @@ -8,14 +8,14 @@ ha_iot_class: Cloud Polling ha_release: 0.28 --- -The Xbox Live integration is able to track [Xbox](http://xbox.com/) profiles. +The Xbox Live integration is able to track [Xbox](https://xbox.com/) profiles. To use this sensor you need a free API key from -[XboxAPI.com](http://xboxapi.com). +[XboxAPI.com](https://xboxapi.com/). Please also make sure to connect your Xbox account on that site. The configuration requires you to specify XUIDs which are the unique identifiers -for profiles. These can be determined on [XboxAPI.com](http://xboxapi.com) by +for profiles. These can be determined on [XboxAPI.com](https://xboxapi.com/) by either looking at your own profile page or using their interactive documentation to search for gamertags. @@ -34,7 +34,7 @@ sensor: {% configuration %} api_key: - description: Your API key from [XboxAPI.com](http://xboxapi.com). + description: Your API key from [XboxAPI.com](https://xboxapi.com/). required: true type: string xuid: diff --git a/source/_integrations/xeoma.markdown b/source/_integrations/xeoma.markdown index 8b3d3caa646..4017f37c8fb 100644 --- a/source/_integrations/xeoma.markdown +++ b/source/_integrations/xeoma.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: 0.62 --- -The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server. +The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](https://felenasoft.com/xeoma) video surveillance server. ## Configuration diff --git a/source/_integrations/xiaomi_aqara.markdown b/source/_integrations/xiaomi_aqara.markdown index 4206740b97c..6714f6e0fae 100644 --- a/source/_integrations/xiaomi_aqara.markdown +++ b/source/_integrations/xiaomi_aqara.markdown @@ -8,7 +8,7 @@ ha_release: 0.57 ha_iot_class: Local Push --- -The `xiaomi_aqara` integration allows you to integrate [Xiaomi](http://www.mi.com/en/) Aqara-compatible devices into Home Assistant. +The `xiaomi_aqara` integration allows you to integrate [Xiaomi](https://www.mi.com/en/) Aqara-compatible devices into Home Assistant. Please note, there are two versions of the hub: v1 and v2. v1 can be used with Home Assistant without any problems, however, v2 might be less straight forward when it comes to enabling the local API, and might even require you to open up your device in order to do so. Xiaomi has suggested this is in the pipeline. @@ -276,7 +276,7 @@ That means that Home Assistant is not getting any response from your Xiaomi gate - If your gateway's MAC address starts with `04:CF:8C`, there is a good chance that the required port `9898` is closed on your gateway (you can check it with the Nmap utility, using the command `sudo nmap - sU {gateway_ip} -p 9898`). To fix that issue, you need to do these steps: - Find a specific screw bit (like a fork) to open the gateway case. - Find a USB-UART cable/module and connect it to your computer. - - Solder 3 wires - RX, TX and GND like [here](http://cs5-3.4pda.to/14176168/IMG_20181020_201150.jpg). + - Solder 3 wires - RX, TX and GND like [here](https://cs5-3.4pda.to/14176168/IMG_20181020_201150.jpg). - Turn on the gateway (220V). - Open a serial terminal application (e.g. PuTTY) and connect to the serial port assigned to the USB-UART module (baudrate: 115200). - Wait until the gateway is booted up, connect the RX, TX and GND wires to the UART module (don't connect the Vcc (power) wire!). diff --git a/source/_integrations/xiaomi_tv.markdown b/source/_integrations/xiaomi_tv.markdown index 7ebb093a53f..083113d7f6e 100644 --- a/source/_integrations/xiaomi_tv.markdown +++ b/source/_integrations/xiaomi_tv.markdown @@ -8,7 +8,7 @@ ha_release: 0.64 ha_iot_class: Assumed State --- -The `xiaomi_tv` platform allows you to control a [Xiaomi TV](http://www.mi.com/en/mitv3s/65flat/). +The `xiaomi_tv` platform allows you to control a [Xiaomi TV](https://www.mi.com/en/mitv3s/65flat/). You need to make sure the TV is connected to the internet, and that your Home Assistant instance is on the same network. diff --git a/source/_integrations/xmpp.markdown b/source/_integrations/xmpp.markdown index bdb62d62312..9c0083da870 100644 --- a/source/_integrations/xmpp.markdown +++ b/source/_integrations/xmpp.markdown @@ -8,7 +8,7 @@ ha_release: pre 0.7 --- -The `xmpp` notification platform allows you to deliver notifications from Home Assistant to a [Jabber (XMPP)](http://xmpp.org) account. +The `xmpp` notification platform allows you to deliver notifications from Home Assistant to a [Jabber (XMPP)](https://xmpp.org/) account. ## Configuration diff --git a/source/_integrations/yamaha.markdown b/source/_integrations/yamaha.markdown index ce8c04b7ebc..400f94a220b 100644 --- a/source/_integrations/yamaha.markdown +++ b/source/_integrations/yamaha.markdown @@ -7,11 +7,11 @@ ha_category: ha_release: 0.16 --- -The `yamaha` platform allows you to control [Yamaha Network Receivers](http://usa.yamaha.com/products/audio-visual/av-receivers-amps/rx) from Home Assistant. +The `yamaha` platform allows you to control [Yamaha Network Receivers](https://usa.yamaha.com/products/audio-visual/av-receivers-amps/rx) from Home Assistant. Supported devices: -- [HTR-4065](http://www.yamaha.com/cchtr4065/) +- [HTR-4065](https://www.yamaha.com/cchtr4065/) - [RX-V473](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v473/specs.html) - [RX-V573](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v573/specs.html) - [RX-V673](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v673/specs.html) diff --git a/source/_integrations/yr.markdown b/source/_integrations/yr.markdown index 7fc3e187610..f266364f81c 100644 --- a/source/_integrations/yr.markdown +++ b/source/_integrations/yr.markdown @@ -8,7 +8,7 @@ ha_release: 0.11 ha_iot_class: Cloud Polling --- -The `yr` platform uses [YR.no](http://www.yr.no/) as a source for current +The `yr` platform uses [YR.no](https://www.yr.no/) as a source for current meteorological data for your location. The weather forecast is delivered by the Norwegian Meteorological Institute and the NRK. diff --git a/source/_integrations/zabbix.markdown b/source/_integrations/zabbix.markdown index 3797b7a65b4..a7cbae866ce 100644 --- a/source/_integrations/zabbix.markdown +++ b/source/_integrations/zabbix.markdown @@ -9,7 +9,7 @@ ha_release: 0.37 ha_iot_class: Local Polling --- -The `zabbix` integration is the main integration to connect to a [Zabbix](http://www.zabbix.com/) monitoring instance via the Zabbix API. +The `zabbix` integration is the main integration to connect to a [Zabbix](https://www.zabbix.com/) monitoring instance via the Zabbix API. There is currently support for the following device types within Home Assistant: @@ -64,7 +64,7 @@ zabbix: ## Sensor -The `zabbix` sensor platform let you monitor the current count of active triggers for your [Zabbix](http://www.zabbix.com/) monitoring instance. +The `zabbix` sensor platform let you monitor the current count of active triggers for your [Zabbix](https://www.zabbix.com/) monitoring instance.
You must have the Zabbix component configured to use those sensors. diff --git a/source/_integrations/zamg.markdown b/source/_integrations/zamg.markdown index 9141f2ae5df..3fda67db4b5 100644 --- a/source/_integrations/zamg.markdown +++ b/source/_integrations/zamg.markdown @@ -11,7 +11,7 @@ ha_iot_class: Cloud Polling The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at). -Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](http://www.zamg.ac.at/ogd). +Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](https://www.zamg.ac.at/ogd). There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index dc67736d031..768978d3992 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -15,7 +15,7 @@ ha_iot_class: Local Polling featured: true --- -[Zigbee Home Automation](http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/) +[Zigbee Home Automation](https://zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/) integration for Home Assistant allows you to connect many off-the-shelf Zigbee based devices to Home Assistant, using one of the available Zigbee radio modules compatible with [zigpy](https://github.com/zigpy/zigpy) (an open source Python library implementing a Zigbee stack, which in turn relies on separate libraries which can each interface a with Zigbee radio module a different manufacturer). There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/zigbee.markdown b/source/_integrations/zigbee.markdown index 62c4d6603a7..9424890bad2 100644 --- a/source/_integrations/zigbee.markdown +++ b/source/_integrations/zigbee.markdown @@ -11,7 +11,7 @@ ha_release: 0.12 ha_iot_class: Local Polling --- -[Zigbee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The integration requires a local Zigbee device to be connected to a serial port. Through this, it will send and receive commands to and from other devices on the Zigbee mesh network. +[Zigbee](https://zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](https://www.digi.com/xbee) as wireless General Purpose Input/Output (GPIO) devices. The integration requires a local Zigbee device to be connected to a serial port. Through this, it will send and receive commands to and from other devices on the Zigbee mesh network. There is currently support for the following device types within Home Assistant: @@ -65,7 +65,7 @@ zigbee: ## Binary Sensor -A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [Zigbee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the Zigbee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. +A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [Zigbee](https://zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the Zigbee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. ### Configuration @@ -134,7 +134,7 @@ on_state: ## Sensor -There are two types of [Zigbee](http://www.zigbee.org/) sensor available to Home Assistant: +There are two types of [Zigbee](https://zigbee.org/) sensor available to Home Assistant: - [Analog input pin](#analog-input-pin) - [Temperature sensor](#temperature-sensor) (XBee Pro) diff --git a/source/_integrations/zwave.markdown b/source/_integrations/zwave.markdown index 2a377119179..03b7fce9a06 100644 --- a/source/_integrations/zwave.markdown +++ b/source/_integrations/zwave.markdown @@ -17,7 +17,7 @@ ha_iot_class: Local Push ha_release: 0.7 --- -The [Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Please see the [Z-Wave getting started section](/docs/z-wave/) for in-depth documentation on how to use and setup the Z-Wave component. +The [Z-Wave](https://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Please see the [Z-Wave getting started section](/docs/z-wave/) for in-depth documentation on how to use and setup the Z-Wave component. There is currently support for the following device types within Home Assistant: From c6218c49cc8c6555d65b904fb1168ac20a66d868 Mon Sep 17 00:00:00 2001 From: Santobert Date: Tue, 22 Oct 2019 00:01:47 +0200 Subject: [PATCH 253/289] Counter service configure (#10924) --- source/_integrations/counter.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_integrations/counter.markdown b/source/_integrations/counter.markdown index 7255b0bfc64..45b9b3a1ce3 100644 --- a/source/_integrations/counter.markdown +++ b/source/_integrations/counter.markdown @@ -71,7 +71,7 @@ If `restore` is set to `false`, the `initial` value will only be used when no pr ## Services -Available services: `increment`, `decrement`, and `reset`. +Available services: `increment`, `decrement`, `reset` and `configure`. #### Service `counter.increment` @@ -106,7 +106,9 @@ With this service the properties of the counter can be changed while running. | `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. | | `minimum` | yes | Set new value for minimum. None disables minimum. | | `maximum` | yes | Set new value for maximum. None disables maximum. | -| `step` | yes | Set new value for step | +| `step` | yes | Set new value for step. | +| `initial` | yes | Set new value for initial. | +| `value` | yes | Set the counters state to the given value. | From 5cb12c09ab9da71708c60ad06425cd998e31a345 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 21 Oct 2019 16:29:42 -0700 Subject: [PATCH 254/289] 100.3" --- _config.yml | 4 ++-- source/_posts/2019-10-10-release-100.markdown | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index e97eb763572..f236e7727ea 100644 --- a/_config.yml +++ b/_config.yml @@ -101,8 +101,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 100 -current_patch_version: 2 -date_released: 2019-10-12 +current_patch_version: 3 +date_released: 2019-10-21 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_posts/2019-10-10-release-100.markdown b/source/_posts/2019-10-10-release-100.markdown index 7dab14ca73a..8ff99288b0f 100644 --- a/source/_posts/2019-10-10-release-100.markdown +++ b/source/_posts/2019-10-10-release-100.markdown @@ -172,6 +172,18 @@ As always, this release of Home Assistant is accompanied with a new release of t [songpal docs]: /integrations/songpal/ [withings docs]: /integrations/withings/ +## Release 0.100.3 - October 21 + +- Use URI provided by Plex for local connections ([@jjlawren] - [#27515]) ([plex docs]) +- Update pymyq to 2.0.0 ([@bachya] - [#28069]) ([myq docs]) + +[#27515]: https://github.com/home-assistant/home-assistant/pull/27515 +[#28069]: https://github.com/home-assistant/home-assistant/pull/28069 +[@bachya]: https://github.com/bachya +[@jjlawren]: https://github.com/jjlawren +[myq docs]: /integrations/myq/ +[plex docs]: /integrations/plex/ + ## 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). From e057129e402d0c9e0b226a9c82233a321944d852 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Mon, 21 Oct 2019 18:24:28 -0600 Subject: [PATCH 255/289] Update docs for upcoming MyQ changes (#10931) --- source/_integrations/myq.markdown | 5 ----- 1 file changed, 5 deletions(-) diff --git a/source/_integrations/myq.markdown b/source/_integrations/myq.markdown index dc14e0e77ea..54bb961895a 100644 --- a/source/_integrations/myq.markdown +++ b/source/_integrations/myq.markdown @@ -20,7 +20,6 @@ cover: - platform: myq username: YOUR_USERNAME password: YOUR_PASSWORD - type: chamberlain ``` {% configuration %} @@ -32,9 +31,5 @@ password: description: Your MyQ account password. required: true type: string -type: - description: "Your device type/brand. Supported types are `chamberlain`, `liftmaster`, `craftsman` and `merlin`." - required: true - type: string {% endconfiguration %} From e502e88bfd189db78deee685e81163338a0821e9 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Mon, 21 Oct 2019 19:30:02 -0500 Subject: [PATCH 256/289] =?UTF-8?q?Lovelace:=20add=20show=5Fstate=20option?= =?UTF-8?q?=20to=20picture-glance=20and=20glance=20c=E2=80=A6=20(#10916)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_lovelace/glance.markdown | 5 +++++ source/_lovelace/picture-glance.markdown | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index 3efaa32bba7..fb9b54191ac 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -75,6 +75,11 @@ show_last_changed: description: Overwrites the state display with the relative time since last changed. type: boolean default: false +show_state: + required: false + description: Show entity state-text. + type: boolean + default: true tap_action: required: false description: Action to take on tap diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown index 2f5dee6b478..1d71d73605b 100644 --- a/source/_lovelace/picture-glance.markdown +++ b/source/_lovelace/picture-glance.markdown @@ -58,6 +58,11 @@ entity: required: false description: Entity to use for `state_image`. type: string +show_state: + required: false + description: Show entity state-text. + type: boolean + default: true tap_action: required: false description: Action to take on tap @@ -178,6 +183,11 @@ icon: required: false description: Overwrites default icon. type: string +show_state: + required: false + description: Show entity state-text. + type: boolean + default: true tap_action: required: false description: Action to take on tap From 9438316e54ad17bf001a50e4dd1e8c7c20cc961a Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Mon, 21 Oct 2019 19:31:12 -0500 Subject: [PATCH 257/289] Lovelace: icon option for entities card (#10835) --- source/_lovelace/entities.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index 33db375cb3d..5e6bb25ae28 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -19,6 +19,10 @@ title: required: false description: The card title. type: string +icon: + required: false + description: An icon to display to the left of the title + type: string show_header_toggle: required: false description: Button to turn on/off all entities. From d823f71cdef46d51516db177a8d2e64db7f60647 Mon Sep 17 00:00:00 2001 From: tombbo <53979375+tombbo@users.noreply.github.com> Date: Tue, 22 Oct 2019 02:38:41 +0200 Subject: [PATCH 258/289] Update climate.knx.markdown (#10126) * Update climate.knx.markdown Some KNX Room controllers (RCD 20xx, 2178) have inverted power ON/OFF value. ON means disable controller, OFF means enable controller. * Update climate.knx.markdown Add default value to new param on_off_inverted. * Parameter name changed to on_off_invert. --- source/_integrations/climate.knx.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/climate.knx.markdown b/source/_integrations/climate.knx.markdown index c6612ca868f..2fd5dc2cf48 100644 --- a/source/_integrations/climate.knx.markdown +++ b/source/_integrations/climate.knx.markdown @@ -172,6 +172,11 @@ on_off_address: description: KNX address for switching the climate device on/off. required: false type: string +on_off_invert: + description: Value for switching the climate device on/off is inverted. + required: false + default: false + type: boolean on_off_state_address: description: KNX address for gathering the current state (on/off) of the climate device. required: false From 8f28b2eb7696cf05db672c6a4117202fe9b28b86 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Mon, 21 Oct 2019 19:39:39 -0500 Subject: [PATCH 259/289] Lovelace: add theme option to several cards (#10912) Co-authored-by: Franck Nijhof --- source/_lovelace/alarm-panel.markdown | 4 ++++ source/_lovelace/markdown.markdown | 4 ++++ source/_lovelace/picture-elements.markdown | 4 ++++ source/_lovelace/picture-entity.markdown | 4 ++++ source/_lovelace/picture-glance.markdown | 4 ++++ source/_lovelace/picture.markdown | 4 ++++ source/_lovelace/plant-status.markdown | 4 ++++ source/_lovelace/shopping-list.markdown | 4 ++++ source/_lovelace/weather-forecast.markdown | 4 ++++ 9 files changed, 36 insertions(+) diff --git a/source/_lovelace/alarm-panel.markdown b/source/_lovelace/alarm-panel.markdown index 0155f19dcb6..09e25d85f7d 100644 --- a/source/_lovelace/alarm-panel.markdown +++ b/source/_lovelace/alarm-panel.markdown @@ -44,6 +44,10 @@ states: description: Arm Night arm_custom_bypass: description: Arm Custom Bypass +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string {% endconfiguration %} ## Examples diff --git a/source/_lovelace/markdown.markdown b/source/_lovelace/markdown.markdown index f0f0efe6858..87a6e06d5a7 100644 --- a/source/_lovelace/markdown.markdown +++ b/source/_lovelace/markdown.markdown @@ -38,6 +38,10 @@ entity_id: type: [string, list] default: none description: "A list of entity IDs so a template in `content:` only reacts to the state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities." +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string {% endconfiguration %} ## Example diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 62feacd31db..6bc830afb59 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -34,6 +34,10 @@ state_filter: required: false description: '[State-based CSS filters](#how-to-use-state_filter)' type: map +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string {% endconfiguration %} ## Elements diff --git a/source/_lovelace/picture-entity.markdown b/source/_lovelace/picture-entity.markdown index 3249ea78265..4c5fac80557 100644 --- a/source/_lovelace/picture-entity.markdown +++ b/source/_lovelace/picture-entity.markdown @@ -59,6 +59,10 @@ show_state: description: Shows state in footer. type: boolean default: true +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string tap_action: required: false description: Action to take on tap diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown index 1d71d73605b..c26ce3d3c23 100644 --- a/source/_lovelace/picture-glance.markdown +++ b/source/_lovelace/picture-glance.markdown @@ -63,6 +63,10 @@ show_state: description: Show entity state-text. type: boolean default: true +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string tap_action: required: false description: Action to take on tap diff --git a/source/_lovelace/picture.markdown b/source/_lovelace/picture.markdown index 5b9b3a3fb81..6a97fb0e5e4 100644 --- a/source/_lovelace/picture.markdown +++ b/source/_lovelace/picture.markdown @@ -20,6 +20,10 @@ image: required: true description: The URL of an image. type: string +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string tap_action: required: false description: Action to take on tap diff --git a/source/_lovelace/plant-status.markdown b/source/_lovelace/plant-status.markdown index 9b357cfe09d..4a51516674a 100644 --- a/source/_lovelace/plant-status.markdown +++ b/source/_lovelace/plant-status.markdown @@ -25,6 +25,10 @@ name: description: Overwrites Friendly Name type: string default: Entity Name +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string {% endconfiguration %} ## Example diff --git a/source/_lovelace/shopping-list.markdown b/source/_lovelace/shopping-list.markdown index f1caa13819b..ac066ceb7a6 100644 --- a/source/_lovelace/shopping-list.markdown +++ b/source/_lovelace/shopping-list.markdown @@ -26,6 +26,10 @@ title: required: false description: Title of Shopping List type: string +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string {% endconfiguration %} ## Examples diff --git a/source/_lovelace/weather-forecast.markdown b/source/_lovelace/weather-forecast.markdown index 651b25d81c4..64354728c2e 100644 --- a/source/_lovelace/weather-forecast.markdown +++ b/source/_lovelace/weather-forecast.markdown @@ -25,6 +25,10 @@ name: description: Overwrites the friendly name. type: string default: Entity Name +theme: + required: false + description: "Set to any theme within `themes.yaml`" + type: string {% endconfiguration %} Example From a2af613ad14cb39d3fb7ae66c49a5153be32390f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 22 Oct 2019 09:03:12 +0200 Subject: [PATCH 260/289] Add Whatsapp support (#10936) --- source/_integrations/twilio_sms.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/twilio_sms.markdown b/source/_integrations/twilio_sms.markdown index 4b7b01a9445..94b4b59edd8 100644 --- a/source/_integrations/twilio_sms.markdown +++ b/source/_integrations/twilio_sms.markdown @@ -35,7 +35,7 @@ name: ### Usage -Twilio is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers. +Twilio is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers. It's also possible to use `whatsapp:+123456789` for sending notifications to a Whatsapp user. Media can be included with messages by setting the optional `media_url` variable. Only `.gif`, `.png`, or `.jpeg` content are supported, according to the Twilio documentation and this feature is [only supported in the US and Canada.][mms] From 9e531bb45f6d81c1946565611925e4967e4b6ce9 Mon Sep 17 00:00:00 2001 From: MeIchthys Date: Tue, 22 Oct 2019 03:04:26 -0400 Subject: [PATCH 261/289] Minor Gramatical Fix (#10937) "are try to work" -> "and try to work" --- source/_docs/security.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/security.markdown b/source/_docs/security.markdown index d06d22e1a37..7e4771ca5d6 100644 --- a/source/_docs/security.markdown +++ b/source/_docs/security.markdown @@ -31,5 +31,5 @@ Is SSH used with the [SSH server add-on](/addons/ssh/) then the user is responsi ## Source code -Due to the lack of resources we are not able to review all of our dependencies and inspect them for malicious behavior, leakage of information or compliance with GDPR. But we have a keen interest in the development of our dependencies are try to work closely with the upstream developer. +Due to the lack of resources we are not able to review all of our dependencies and inspect them for malicious behavior, leakage of information or compliance with GDPR. But we have a keen interest in the development of our dependencies and try to work closely with the upstream developer. From 50158b3b84cae54a8426c9fc2a11938e45b5869f Mon Sep 17 00:00:00 2001 From: RichardUUU <14031396+RichardUUU@users.noreply.github.com> Date: Tue, 22 Oct 2019 10:49:27 -0400 Subject: [PATCH 262/289] Fixed some confusing typos (#10943) --- source/_docs/authentication/providers.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown index 3c2ba990e3c..74aa2347258 100644 --- a/source/_docs/authentication/providers.markdown +++ b/source/_docs/authentication/providers.markdown @@ -117,7 +117,7 @@ homeassistant: - group: system-users ``` -First note, `trusted_users` configuration need you use `user id`, you can find it through Configuration -> Users -> View User Detail. The `trusted_users` configuration will not validate the existing of the user, so please make sure you have put in correct user id by yourself. +First note, for `trusted_users` configuration you need to use `user id`, which you can find through Configuration -> Users -> View User Detail. The `trusted_users` configuration will not validate the existing of the user, so please make sure you have put in the correct user id by yourself. Second note, a trusted user with an IPv6 address must put the IPv6 address in quotes as shown. @@ -127,7 +127,7 @@ Specially, you can use `group: GROUP_ID` to assign all users in certain `user gr #### Skip Login Page Examples -This is a feature to allow you bring back some of the experience before the user system be implemented. You can directly jump to main page if you are accessing from trusted networks, the `allow_bypass_login` is on, and you have ONLY ONE available user to choose in the login form. +This is a feature to allow you bring back some of the experience before the user system was implemented. You can directly jump to main page if you are accessing from trusted networks, the `allow_bypass_login` is on, and you have ONLY ONE available user to choose in the login form. ```yaml # assuming you have only one non-system user @@ -142,7 +142,7 @@ homeassistant: - type: homeassistant ``` -Assuming you have only the owner created though onboarding process, no other users ever created. The above example configuration will allow you directly access Home Assistant main page if you access from your internal network (192.168.0.0/24) or from localhost (127.0.0.1). You will get a login abort error, then you can change to use HomeAsssitant Authentication Provider to login, if you access your Home Assistant instance from outside network. +Assuming you have only the owner created though onboarding process, no other users ever created. The above example configuration will allow you directly access Home Assistant main page if you access from your internal network (192.168.0.0/24) or from localhost (127.0.0.1). If you get a login abort error, then you can change to use HomeAsssitant Authentication Provider to login, if you access your Home Assistant instance from outside network. ### Command Line From dcd4d410dc1a2478ecb5bdfc9e24604c2681df40 Mon Sep 17 00:00:00 2001 From: Pascal Roeleven Date: Tue, 22 Oct 2019 19:32:38 +0200 Subject: [PATCH 263/289] Add support for more Orange Pi Devices (#10942) Use only one 'pin_mode' per device instead of groups. This way it will be future proof if the library changes something for just one device instead of a group. This is backwards compatible as the 'Lite', 'One' and 'PC' are internally handled the same way. 'Prime' is now handled slightly different due to changes in the library, so users of the Orange Pi Prime are advised to change their configuration to this new value. Also fixes a link anchor. --- source/_integrations/orangepi_gpio.markdown | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/source/_integrations/orangepi_gpio.markdown b/source/_integrations/orangepi_gpio.markdown index 6e4cb365d80..34ee616cb35 100644 --- a/source/_integrations/orangepi_gpio.markdown +++ b/source/_integrations/orangepi_gpio.markdown @@ -30,7 +30,7 @@ binary_sensor: {% configuration %} pin_mode: - description: Type of pin mode to use. This depends on which device you are actually using ([PIN_MODE](/integrations/orangepi_gpio#pin_mode)). + description: Type of pin mode to use. This depends on which device you are actually using ([Pin modes](#pin-modes)). required: true type: string ports: @@ -51,13 +51,25 @@ invert_logic: Compared to the [Raspberry Pi GPIO](/integrations/rpi_gpio/) component, this integration does not support pull-up resistors or port debouncing. Use external pull-ups and external port-debouncing. -## Pin_mode +## Pin modes As this platform supports different types of GPIO pinouts for difference Orange Pi or Nano Pi devices, we use the `pin_mode` value to specify which one to use. Enabled values are: | Value | Description | | ----- | ----------- | -| `pc` | Supports the Orange Pi Lite, One, PC and Prime | +| `lite` | Supports the Orange Pi Lite | +| `lite2` | Supports the Orange Pi Lite 2 | +| `one` | Supports the Orange Pi One | +| `oneplus` | Supports the Orange Pi One Plus | +| `pc` | Supports the Orange Pi PC | +| `pc2` | Supports the Orange Pi PC 2 | +| `pcplus` | Supports the Orange Pi PC Plus | +| `pi3` | Supports the Orange Pi 3 | +| `plus2e` | Supports the Orange Pi Plus 2E | +| `prime` | Supports the Orange Pi Prime | +| `r1` | Supports the Orange Pi R1 | +| `winplus` | Supports the Orange Pi WinPlus | +| `zero` | Supports the Orange Pi Zero | | `zeroplus` | Supports the Orange Pi Zero Plus | | `zeroplus2` | Supports the Orange Pi Zero Plus 2 | | `duo` | Supports the NanoPi Duo | From c8db0d67089945b6ed076b376d68702486b13d8c Mon Sep 17 00:00:00 2001 From: EgonMarmol <56889319+EgonMarmol@users.noreply.github.com> Date: Tue, 22 Oct 2019 20:38:24 +0200 Subject: [PATCH 264/289] Updated URL to Bruhautomation (#10949) --- source/_docs/installation/updating.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation/updating.markdown b/source/_docs/installation/updating.markdown index 70caea19b07..8e06868f0f2 100644 --- a/source/_docs/installation/updating.markdown +++ b/source/_docs/installation/updating.markdown @@ -39,7 +39,7 @@ $ sudo docker pull homeassistant/raspberrypi3-homeassistant:latest After updating, you must start/restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e. minutes) depending on your device. This is because all requirements are updated as well. -[BRUH automation](http://www.bruhautomation.com) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant. +[BRUH automation](https://www.bruhautomation.io/) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant. #### Run a specific version From be9f0cad663d46707dcbde655414cd418d5c913c Mon Sep 17 00:00:00 2001 From: EgonMarmol <56889319+EgonMarmol@users.noreply.github.com> Date: Tue, 22 Oct 2019 20:42:24 +0200 Subject: [PATCH 265/289] Browser website URL update (#10948) --- source/_docs/frontend/browsers.markdown | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/source/_docs/frontend/browsers.markdown b/source/_docs/frontend/browsers.markdown index a6bb3be42f6..36261fcbb09 100644 --- a/source/_docs/frontend/browsers.markdown +++ b/source/_docs/frontend/browsers.markdown @@ -71,16 +71,15 @@ There are reports that devices running with iOS prior to iOS 10, especially old [elinks]: http://elinks.or.cz/ [Epiphany]: https://wiki.gnome.org/Apps/Web [Firefox]: https://www.mozilla.org/en-US/firefox/ -[IE]: http://windows.microsoft.com/en-us/internet-explorer/download-ie +[IE]: https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads [Iridium]: https://iridiumbrowser.de/ [Konqueror]: https://konqueror.org/ -[Lynx]: http://lynx.browser.org/ -[Midori]: http://midori-browser.org/ -[Opera]: http://www.opera.com/ -[Safari]: http://www.apple.com/safari/ -[surf]: http://surf.suckless.org/ +[Lynx]: https://lynx.browser.org/ +[Midori]: https://www.midori-browser.org/ +[Opera]: https://www.opera.com/ +[Safari]: https://www.apple.com/safari/ +[surf]: https://surf.suckless.org/ [Tor Browser]: https://www.torproject.org/ -[Uzbl]: http://www.uzbl.org/ +[Uzbl]: https://www.uzbl.org/ [w3m]: http://w3m.sourceforge.net/ [Waterfox]: https://www.waterfoxproject.org - From c5d92b428bc6d8314a9cf27f4b351c01722bb427 Mon Sep 17 00:00:00 2001 From: EgonMarmol <56889319+EgonMarmol@users.noreply.github.com> Date: Tue, 22 Oct 2019 20:45:03 +0200 Subject: [PATCH 266/289] http to https URL rewrite (#10946) --- source/_docs/z-wave.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/z-wave.markdown b/source/_docs/z-wave.markdown index 2b68cdbe697..aa79ffb06cb 100644 --- a/source/_docs/z-wave.markdown +++ b/source/_docs/z-wave.markdown @@ -4,7 +4,7 @@ description: "Using Z-Wave with Home Assistant." redirect_from: /getting-started/z-wave/ --- -[Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick or module](/docs/z-wave/controllers/) to be plugged into the host. +[Z-Wave](https://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick or module](/docs/z-wave/controllers/) to be plugged into the host. There is currently support for climate, covers, lights, locks, sensors, switches, and thermostats. All will be picked up automatically after configuring this platform. @@ -36,4 +36,4 @@ You can get more information on the [available services](/docs/z-wave/services/) When you toggle a switch or control a light locally you may find that it takes some time for that to be reflected in Home Assistant. That's because Lutron had patents on the status updates using the *Hail* command class, the traditional way of allowing devices to tell the controller that something happened locally. The same result can be achieved through the *Association* command class, or *Central Scene* command class (though, *Central Scene* isn't [fully supported](https://github.com/OpenZWave/open-zwave/pull/1125) in OpenZWave). -If you search [the Z-Wave products database](http://products.z-wavealliance.org/) for your product and it lists one of those in the **Controlled** command classes (not the **Supported** command classes), then your device will be able to report state changes when they happen. If it doesn't then updates may either happen eventually, or you may need to (carefully) [enable polling](/docs/z-wave/control-panel/#entities-of-this-node). +If you search [the Z-Wave products database](https://products.z-wavealliance.org/) for your product and it lists one of those in the **Controlled** command classes (not the **Supported** command classes), then your device will be able to report state changes when they happen. If it doesn't then updates may either happen eventually, or you may need to (carefully) [enable polling](/docs/z-wave/control-panel/#entities-of-this-node). From 249ea2db071e8328fc4ef4cc6a2d22a92b4a8d64 Mon Sep 17 00:00:00 2001 From: EgonMarmol <56889319+EgonMarmol@users.noreply.github.com> Date: Tue, 22 Oct 2019 20:45:10 +0200 Subject: [PATCH 267/289] Updated links (#10950) --- source/help/index.markdown | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/help/index.markdown b/source/help/index.markdown index b46e2c6fa5e..a37e7ce5390 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -27,7 +27,7 @@ Have you found an issue in your Home Assistant installation? Please report it. R - [PyconFR 2018 - Faire de la domotique libriste avec Python](https://www.youtube.com/watch?v=Eu6umBJ51I4) (French) ([Slides](https://hackmd.io/p/BJTSyDkqm)) - October 2018 - [Build your own smart home with Home Assistant](https://zmonkey.org/blog/files/Home%20Assistant%202018%20v1.0.pdf) at [OpenWest](https://openwest.org) - June 2018 -- [Automate your home with Home Assistant](https://www.youtube.com/watch?v=SSrgi4iHGbs) at [foss-north 2018](http://foss-north.se/2018/speakers-and-talks.html#jparadies) - March 2018 +- [Automate your home with Home Assistant](https://www.youtube.com/watch?v=SSrgi4iHGbs) at [foss-north 2018](https://foss-north.se/2018/speakers-and-talks.html#jparadies) - March 2018 - [Home Assistant](https://github.com/home-assistant/home-assistant-assets/tree/master/english/2017-qecampX) at QECampX 2017 - October 2017 - [Open Source Heimautomation mit Home Assistant](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2017-maker-faire-zurich) at [Mini Maker Faire Zurich 2017](https://www.makerfairezurich.ch/en/) - September 2017 - [Why we can't have the Internet of Nice Things: A home automation primer](https://www.openwest.org/custom/description.php?id=92) at [OpenWest 2017](https://www.openwest.org) - July 2017 @@ -35,7 +35,7 @@ Have you found an issue in your Home Assistant installation? Please report it. R - [Home Automation with Python](https://www.youtube.com/watch?v=KNFZSSCPUyM) at [GLT 2017](https://glt17.linuxtage.at) - April 2017 - [Home Assistant workshop](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2017-clt-workshop) at [CLT 2017](https://chemnitzer.linux-tage.de/2017/de/) - March 2017 - [Home Assistant - Erweiterungen (Platforms/Components)](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2016-puzzle) at [Puzzle ITC](https://www.puzzle.ch/de/) - December 2016 -- [Automating Your Life - Home Automation](http://slides.com/teagan42/life_automation#/) at Develop Denver 2016 - August +- [Automating Your Life - Home Automation](https://slides.com/teagan42/life_automation#/) at Develop Denver 2016 - August - [Building Online Communities: Home Assistant](https://medium.com/@gitter/building-online-communities-home-assistant-8818dff671ad#.och4x4rhx) - July 2016 - [Home Assistant Support 101 - Getting around in Home Assistant](https://www.youtube.com/watch?v=dRfk9JAlPJk) (Slides) - June 2016 - [Awaken your home: Python and the Internet of Things](https://www.youtube.com/watch?v=Cfasc9EgbMU&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=1) at PyCon 2016 - June 2016 @@ -63,26 +63,26 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/). - [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 -- [Smart Home Home Assistant KNX Alexa Sprachsteuerung](http://onesmarthome.de/smart-home-home-assistant-knx-alexa-sprachsteuerung/) - August 2017 +- [Smart Home Home Assistant KNX Alexa Sprachsteuerung](https://onesmarthome.de/smart-home-home-assistant-knx-alexa-sprachsteuerung/) - August 2017 - [Episode #122: Home Assistant: Pythonic Home Automation](https://talkpython.fm/episodes/show/122/home-assistant-pythonic-home-automation) - July 2017 -- [Smart Home Home Assistant Konfiguration mit YAML](http://onesmarthome.de/smart-home-home-assistant-konfiguration/) - July 2017 +- [Smart Home Home Assistant Konfiguration mit YAML](https://onesmarthome.de/smart-home-home-assistant-konfiguration/) - July 2017 - [Why can't we have the Internet of Nice Things?](https://opensource.com/article/17/7/home-automation-primer) - July 2017 - [Smart Home Home Assistant Raspberry Pi Installation Hassbian](http://onesmarthome.de/smart-home-home-assistant-raspberry-pi-installation-hassbian/) - July 2017 -- [Jupiter Broadcasting - No Privacy Compromise Home Automation](http://www.jupiterbroadcasting.com/115566/no-privacy-compromise-home-automation/) - June 2017 +- [Jupiter Broadcasting - No Privacy Compromise Home Automation](https://www.jupiterbroadcasting.com/115566/no-privacy-compromise-home-automation/) - June 2017 - [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 +- [Paulus Schoutsen and Home Assistant - Episode 8](https://codepop.com/open-sourcecraft/episodes/paulus-schoutsen/) - 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 +- [10 open source software tools for developing IoT applications](https://www.cbronline.com/news/internet-of-things/10-open-source-software-tools-developing-iot-applications/) - March 2017 - [Home Assistant with Paulus Schoutsen - Episode 94](https://www.podcastinit.com/episode-94-home-assistant-with-paulus-schoutsen/) - January 2017 - [Episode #11](https://pythonbytes.fm/episodes/show/11/django-2.0-is-dropping-python-2-entirely-pipenv-for-profile-functionality-and-pythonic-home-automation) at minute 15:20 by [Python Bytes](https://pythonbytes.fm/) - January 2017 - [Now you can hide your smart home on the darknet](https://www.wired.com/2016/07/now-can-hide-smart-home-darknet/) - July 2016 - [Home Assistant: The Python Approach to Home Automation](https://www.linux.com/news/home-assistant-python-approach-home-automation-video) - June 2016 - [Secure home automation, without clouds or dedicated hubs](http://linuxgizmos.com/secure-home-automation-without-clouds-or-dedicated-hubs/) - June 2016 -- [Weekend Project: Setting up Home Assistant on your PC or Mac](http://www.automatedhome.co.uk/software/weekend-project-setting-up-home-assistant-on-your-pc-or-mac.html) by [automated home](http://www.automatedhome.co.uk/) - April 2016 +- [Weekend Project: Setting up Home Assistant on your PC or Mac](https://www.automatedhome.co.uk/software/weekend-project-setting-up-home-assistant-on-your-pc-or-mac.html) by [automated home](https://www.automatedhome.co.uk/) - April 2016 - [Episode 105 - DIY Home Automation Roundup](https://www.hometech.fm/shows/105) by [HomeTech.fm](https://www.hometech.fm/) - April 2016 - [5 open source home automation tools](https://opensource.com/life/16/3/5-open-source-home-automation-tools) by [opensource.com](https://opensource.com) - March 2016 -- [Home Assistant – Open Source Python Home Automation Platform](http://www.automatedhome.co.uk/new-products/home-assistant-open-source-python-home-automation-platform.html) - January 2015 +- [Home Assistant – Open Source Python Home Automation Platform](https://www.automatedhome.co.uk/new-products/home-assistant-open-source-python-home-automation-platform.html) - January 2015 [forum]: https://community.home-assistant.io/ [twitter]: https://twitter.com/home_assistant From 08506fdf0eed5f19062ebed8aa8c39e5a9e57bf5 Mon Sep 17 00:00:00 2001 From: EgonMarmol <56889319+EgonMarmol@users.noreply.github.com> Date: Tue, 22 Oct 2019 20:46:08 +0200 Subject: [PATCH 268/289] http://yaml.org/ to https://yaml.org/ change (#10945) --- source/_docs/configuration/yaml.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index 6127764a2b9..ea218828c3b 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -4,7 +4,7 @@ description: "Details about YAML to configure Home Assistant." redirect_from: /getting-started/yaml/ --- -Home Assistant uses the [YAML](http://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations. +Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations. For each integration that you want to use in Home Assistant, you add code in your `configuration.yaml` file to specify its settings. The following example entry specifies that you want to use the [notify component](/integrations/notify) with the [pushbullet platform](/integrations/pushbullet). From 4d90ac6bb18be8989e93f9d26150470799d6f136 Mon Sep 17 00:00:00 2001 From: Jay <49540618+Tediore@users.noreply.github.com> Date: Tue, 22 Oct 2019 13:48:16 -0500 Subject: [PATCH 269/289] Improve clarity and descriptions (#10944) Improved descriptions for service data attributes under `climate.set_temperature`. I think we should also add a note about `heat_cool` and `auto` HVAC modes not being the same thing, but I'm not exactly sure how to word it even after rereading the changes to the Climate integration in 0.96. --- source/_integrations/climate.markdown | 58 +++++++++++++++++---------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/source/_integrations/climate.markdown b/source/_integrations/climate.markdown index 1b367c3e967..de691fce92c 100644 --- a/source/_integrations/climate.markdown +++ b/source/_integrations/climate.markdown @@ -8,7 +8,7 @@ ha_qa_scale: internal ha_release: 0.19 --- -The `climate` integration is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) and thermostat devices. +The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats. ## Services @@ -16,7 +16,7 @@ The `climate` integration is built for the controlling and monitoring of HVAC (h Available services: `climate.set_aux_heat`, `climate.set_preset_mode`, `climate.set_temperature`, `climate.set_humidity`, `climate.set_fan_mode`, `climate.set_hvac_mode`, `climate.set_swing_mode`, `climate.turn_on`, `climate.turn_off` -
\ +
Not all climate services may be available for your platform. Be sure to check the available services Home Assistant has enabled by checking service developer tool icon **Services**. @@ -28,7 +28,7 @@ Turn auxiliary heater on/off for climate device | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. | `aux_heat` | no | New value of auxiliary heater. #### Automation example @@ -47,13 +47,13 @@ automation: ### Service `climate.set_preset_mode` -Set preset mode for climate device. The away mode changes the target temperature permanently to a temperature -reflecting a situation where the climate device is set to save energy. This may be used to emulate a -"vacation mode", for example. +Set preset mode for climate device. Away mode changes the target temperature permanently to a temperature +reflecting a situation where the climate device is set to save energy. For example, this may be used to emulate a +"vacation mode." | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. | `preset_mode` | no | New value of preset mode. #### Automation example @@ -76,15 +76,16 @@ Set target temperature of climate device | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. -| `temperature` | no | New target temperature for hvac -| `target_temp_high` | yes | New target high temperature for hvac -| `target_temp_low` | yes | New target low temperature for hvac -| `hvac_mode` | yes | HVAC mode to set temperature to. This defaults to current HVAC mode if not set, or set incorrectly. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. +| `temperature` | no | New target temperature for climate device (commonly referred to as a *setpoint*). Do not use if `hvac_mode` is `heat_cool`. +| `target_temp_high` | yes | The highest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`. +| `target_temp_low` | yes | The lowest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`. +| `hvac_mode` | yes | HVAC mode to set the climate device to. This defaults to current HVAC mode if not set, or set incorrectly. -#### Automation example +#### Automation examples ```yaml +### Set temperature to 24 in heat mode automation: trigger: platform: time @@ -97,13 +98,28 @@ automation: hvac_mode: heat ``` +```yaml +### Set temperature range to 20 to 24 in heat_cool mode +automation: + trigger: + platform: time + at: "07:15:00" + action: + - service: climate.set_temperature + data: + entity_id: climate.kitchen + target_temp_high: 24 + target_temp_low: 20 + hvac_mode: heat_cool +``` + ### Service `climate.set_humidity` Set target humidity of climate device | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. | `humidity` | no | New target humidity for climate device #### Automation example @@ -126,7 +142,7 @@ Set fan operation for climate device | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. | `fan_mode` | no | New value of fan mode #### Automation example @@ -145,11 +161,11 @@ automation: ### Service `climate.set_hvac_mode` -Set HVAC mode for climate device +Set climate device's HVAC mode | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. | `hvac_mode` | no | New value of HVAC mode #### Automation example @@ -172,7 +188,7 @@ Set swing operation mode for climate device | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. | `swing_mode` | no | New value of swing mode #### Automation example @@ -195,12 +211,12 @@ Turn climate device on. This is only supported if the climate device supports be | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. ### Service `climate.turn_off` -Turn climate device off. This is only supported if the climate device has the hvac mode "off". +Turn climate device off. This is only supported if the climate device has the hvac mode `off`. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted. +| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted. From 8d22a4f4f8aa980f0181bf2ca62bb9da9b6529bf Mon Sep 17 00:00:00 2001 From: Ketil Moland Olsen Date: Tue, 22 Oct 2019 21:00:03 +0200 Subject: [PATCH 270/289] http to https rewrite (#10953) --- source/_integrations/openuv.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/openuv.markdown b/source/_integrations/openuv.markdown index 5dce0848bb7..b52a39fbce0 100644 --- a/source/_integrations/openuv.markdown +++ b/source/_integrations/openuv.markdown @@ -11,7 +11,7 @@ ha_iot_class: Cloud Polling ha_config_flow: true --- -The `openuv` integration displays UV and Ozone data from [openuv.io](http://openuv.io). +The `openuv` integration displays UV and Ozone data from [openuv.io](https://www.openuv.io/). ## Generating an API Key From ba419d48d6eae5a0c471101966e9ce8558e43b7a Mon Sep 17 00:00:00 2001 From: Luke Pomfrey Date: Wed, 23 Oct 2019 04:44:29 +0000 Subject: [PATCH 271/289] Add documentation for creating AWS Lambda proxy for Alexa Intents (#10813) * Add documentation for configuring Alexa Intents AWS Lambda function * Some clean up and SPG fixes * Remove spurious 'Smart Home' references * Wrap images in

in Alexa AWS documentation * Only mention Duck DNS addon for https since it incorporates Let's Encrypt * Use [text](url) link syntax rather than --- source/_integrations/alexa.intent.markdown | 105 +++++++++++++++--- .../_integrations/alexa.smart_home.markdown | 13 ++- 2 files changed, 103 insertions(+), 15 deletions(-) diff --git a/source/_integrations/alexa.intent.markdown b/source/_integrations/alexa.intent.markdown index 192ceb49f0b..c5f34e5bd08 100644 --- a/source/_integrations/alexa.intent.markdown +++ b/source/_integrations/alexa.intent.markdown @@ -17,17 +17,11 @@ The built-in Alexa integration allows you to integrate Home Assistant into Alexa ### Requirements -Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are OK because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. When running Hass.io, using the [Let's Encrypt](/addons/lets_encrypt/) and [Duck DNS](/addons/duckdns/) add-ons is the easiest method. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill-when-you-dont-have-https/5230). +- Amazon Developer Account. You can sign on [here](https://developer.amazon.com). +- An [AWS account](https://aws.amazon.com/free/) is need if you want to use Alexa Custom Skill API. Part of your Alexa Custom Skill will be hosted on [AWS Lambda](https://aws.amazon.com/lambda/pricing/). However you don't need worry the cost, AWS Lambda allow free to use up to 1 millions requests and 1GB outbound data transfer per month. +- The Alexa Custom Skill API also needs your Home Assistant instance can be accessed from Internet. We strongly suggest you host HTTPS server and use validation certificate. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io using the [Duck DNS](/addons/duckdns/) add-on is the easiest method. -Additionally, note that at the time of this writing, your Alexa skill endpoint *must* accept requests over port 443 (Home Assistant default to 8123). There are two ways you can handle this: - - 1. In your router, forward external 443 to your Home Assistant serving port (defaults to 8123) - OR - 2. Change your Home Assistant serving port to 443 this is done in the [`http`](/integrations/http/) section with the `server_port` entry in your `configuration.yaml` file - -[blog-lets-encrypt]: /blog/2015/12/13/setup-encryption-using-lets-encrypt/ - -To get started with Alexa skills: +### Create Your Amazon Alexa Custom Skill - Log in to [Amazon developer console][amazon-dev-console] - Click the Alexa button at the top of the console @@ -36,12 +30,96 @@ To get started with Alexa skills: - Name: Home Assistant - Invocation name: home assistant (or be creative, up to you) - Version: 1.0 - - Endpoint: - - https - - `https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD` + - Endpoint: This will be the ARN for the Lambda Function you will create next. You can use this [specially sized Home Assistant logo][large-icon] as the large icon and [this one][small-icon] as the small one. +### Create Your Lambda Function + +The Alexa Custom skill will trigger a AWS Lambda function to process the request, we will write a small piece of code hosted as a Lambda function to basically redirect the request to your Home Assistant instance, then the Alexa integration in Home Assistant will process the request and send back the response. Your Lambda function will deliver the response back to Alexa. + +OK, let's go. You first need sign in your [AWS console](https://console.aws.amazon.com/), if you don't have an AWS account yet, you can create a new user [here](https://aws.amazon.com/free/) with 12-month free tier benefit. You don't need worry the cost if your account has already passed the first 12 months, AWS provides up to 1 million Lambda requests, 1GB of outbound data and unlimited inbound data for free every month for all users. See [Lambda pricing](https://aws.amazon.com/lambda/pricing/) for details. + +#### Create an IAM Role for Lambda + +The first thing you need to do after you sign in to the [AWS console](https://console.aws.amazon.com/) is to create an IAM Role for Lambda execution. AWS has very strict access control, you have to explicitly define and assign the permissions. + +- Click `Service` in top navigation bar, expand the menu to display all AWS services, click `IAM` under `Security, Identity, & Compliance` section to navigate to IAM console. Or you may use this [link](https://console.aws.amazon.com/iam/home) +- Click `Roles` in the left panel, then click `Create role`, select `AWS Service` -> `Lambda` in the first page of the wizard, then click `Next: Permissions` +- Select `AWSLambdaBasicExecutionRole` policy, then click `Next: Tags`. (Tips: you can use the search box to filter the policy) + +

+ Screenshot: Attach permission policy to IAM role +

+ +- You can skip `Add tags` page, click `Next: Review`. +- Give your new role a name, such as `AWSLambdaBasicExecutionRole-Intents`, then click `Create role` button. You should be able to find your new role in the roles list now. + +#### Create a Lambda function and add code + +Next you need to create a Lambda function. + +- Click `Service` in top navigation bar, expand the menu to display all AWS services, click `Lambda` under `Compute` section to navigate to Lambda console. Or you may use this [link](https://console.aws.amazon.com/lambda/home) +- **IMPORTANT** Your current region will be displayed on the top right corner, make sure you select right region base on your Amazon account's country: + * **US East (N.Virginia)** region for English (US) or English (CA) skills + * **EU (Ireland)** region for English (UK), English (IN), German (DE), Spanish (ES) or French (FR) skills + * **US West (Oregon)** region for Japanese and English (AU) skills. +- Click `Functions` in the left navigation bar, display list of your Lambda functions. +- Click `Create function`, select `Author from scratch`, then input a `Function name`. +- Select *Python 3.6* or *Python 3.7* as `Runtime`. +- Select *Use an existing role* as `Execution role`, then select the role you just created from the `Existing role` list. +- Click `Create function`, then you can config detail of Lambda function. +- Under `Configuration` tab, expand `Designer`, then click `Alexa Skills Kit` in the left part of the panel to add a Alexa Skills Kit trigger to your Lambda function. +- Scroll down little bit, you need to input the `Skill ID` from the skill you created in previous step. (You may need to switch back to the Alexa Developer Console to copy the `Skill ID`.) +- Click your Lambda Function icon in the middle of the diagram and scroll down, you will see a `Function code` window. +- Clear the example code and copy the Python script from: [https://gist.github.com/lpomfrey/97381cf4316553b03622c665ae3a47da](https://gist.github.com/lpomfrey/97381cf4316553b03622c665ae3a47da) +- Scroll down again and you will find `Environment variables`, add the following environment variables as needed: + * BASE_URL *(required)*: your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*. + * NOT_VERIFY_SSL *(optional)*: set to *True* to ignore the SSL issue, if you don't have a valid SSL certificate or you are using self-signed certificate. + * DEBUG *(optional)*: set to *True* to log debugging messages. + * LONG_LIVED_ACCESS_TOKEN *(optional, not recommended)*: you will connect your Alexa Custom skill with your Home Assistant user account in the later steps, so that you don't need to use long-lived access token here. However, the access token you got from login flow is only valid for 30 minutes. It will be hard for you to test lambda function with the access token in test data. So for your convinces, you can remove the access token from the test data, [generate a long-lived access token][generate-long-lived-access-token] put here, then the function will fall back to reading the token from environment variables. (tips: You did not enable the security storage for your environment variables, so your token saved here is not that safe. You should only use it for debugging and testing purpose. You should remove and delete the long-lived access token after you finish the debugging.) + +

+ Screenshot: Environment variables in Lambda function +

+ +- Now scroll up to the top and click the `Save` button. +- Next, copy the ARN displayed in the top of the page, which is the identify of this Lambda function. Set the end point of the custom Alexa Skill you created earlier to this value. + +### Account Linking + +Alexa can link your Amazon account to your Home Assistant account. Therefore Home Assistant can make sure only authenticated Alexa requests are actioned. In order to link the account, you have to make sure your Home Assistant can be accessed from Internet. + +- Sign in to the [Alexa Developer Console][alexa-dev-console] and go to the `Alexa Skills` page. +- Find the skill you just created and click `Edit` in the `Actions` column. +- Click `ACCOUNT LINKING` in the left navigation bar of build page +- Input all information required. Assuming your Home Assistant can be accessed by https://[YOUR HOME ASSISTANT URL:PORT] + * `Authorization URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize + * `Access Token URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/token + * `Client ID`: + - https://pitangui.amazon.com/ if you are in US + - https://layla.amazon.com/ if you are in EU + - https://alexa.amazon.co.jp/ if you are in JP or AU + + The trailing slash is important here. + + * `Client Secret`: input anything you like, Home Assistant does not check this field + * `Client Authentication Scheme`: make sure you selected *Credentials in request body*. Home Assistant does not support *HTTP Basic*. + * `Scope`: input `intent`. Home Assistant doesn't use this yet, we may use it in the future when we allow more fine-grained access control. +- You can leave `Domain List` and `Default Access Token Expiration Time` as empty. + +

+ Screenshot: Account Linking +

+ +- Click `Save` button in the top right corner. +- Next, you will use the Alexa Mobile App or [Alexa web-based app](#alexa-web-based-app) to link your account. + * Open the Alexa app, navigate to `Skills` -> `Your Skills` -> `Dev Skills` + * Click the Custom skill you just created. + * Click `Enable`. + * A new window will open to direct you to your Home Assistant's login screen. + * After you successfully login, you will be redirected back to Alexa app. + ### Configuring your Amazon Alexa skill Alexa works based on intents. Each intent has a name and variable slots. For example, a `LocateIntent` with a slot that contains a `User`. Example intent schema: @@ -266,3 +344,4 @@ Alexa will now respond with a random phrase each time. You can use the include f [large-icon]: /images/integrations/alexa/alexa-512x512.png [small-icon]: /images/integrations/alexa/alexa-108x108.png [templates]: /topics/templating/ +[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index 0d37ab7be55..2b72bd1df37 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -37,7 +37,7 @@ For Home Assistant Cloud Users, documentation can be found [here](https://www.na - Amazon Developer Account. You can sign on [here](https://developer.amazon.com). - An [AWS account](https://aws.amazon.com/free/) is need if you want to use Smart Home Skill API. Part of your Smart Home Skill will be hosted on [AWS Lambda](https://aws.amazon.com/lambda/pricing/). However you don't need worry the cost, AWS Lambda allow free to use up to 1 millions requests and 1GB outbound data transfer per month. -- Smart Home API also needs your Home Assistant instance can be accessed from Internet. We strongly suggest you host HTTPS server and use validation certificate. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io, using the [Let's Encrypt](/addons/lets_encrypt/) and [Duck DNS](/addons/duckdns/) add-ons is the easiest method. +- Smart Home API also needs your Home Assistant instance can be accessed from Internet. We strongly suggest you host HTTPS server and use validation certificate. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io using the [Duck DNS](/addons/duckdns/) add-on is the easiest method. ### Create Your Amazon Alexa Smart Home Skill @@ -46,7 +46,9 @@ For Home Assistant Cloud Users, documentation can be found [here](https://www.na - Input `Skill name` as you like, select your skill's `Default language`. - Select `Smart Home` and `Provision your own`, then click `Create skill` button at top right corner. +

Screenshot: Create Smart Home skill +

- In next screen, make sure *v3* is selected in `Payload version`. - Now, you have created a skeleton of Smart Home skill. Next step we will do some "real" developer work. You can keep Alex Developer Console opened, we need change the skill configuration later. @@ -75,7 +77,9 @@ First thing you need to do after sing in [AWS console](https://console.aws.amazo - Click `Roles` in the left panel, then click `Create role`, select `AWS Service` -> `Lambda` in the first page of the wizard, then click `Next: Permissions` - Select `AWSLambdaBasicExecutionRole` policy, then click `Next: Tags`. (Tips: you can use the search box to filter the policy) +

Screenshot: Attach permission policy to IAM role +

- You can skip `Add tags` page, click `Next: Review`. - Give your new role a name, such as `AWSLambdaBasicExecutionRole-SmartHome`, then click `Create role` button. You should be able to find your new role in the roles list now. @@ -97,13 +101,16 @@ Next you need create a Lambda function. - Under `Configuration` tab, expand `Designer`, then click `Alexa Smart Home` in the left part of the panel to add a Alexa Smart Home trigger to your Lambda function. - Scroll down little bit, you need input the `Skill ID` from the skill you created in previous step. (tips: you may need switch back to Alexa Developer Console to copy the `Skill ID`. - Click your Lambda Function icon in the middle of the diagram, scroll down you will see a `Function code` window. -- Clear the example code, copy the Python script from: (modified code to support Alexa's proactive mode, see details below) +- Clear the example code, copy the Python script from: [https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b](https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b) (modified code to support Alexa's proactive mode, see details below) - Scroll down a little bit, you will find `Environment variables`, you need add 4 environment variables: * BASE_URL *(required)*: your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*. * NOT_VERIFY_SSL *(optional)*: you can set it to *True* to ignore the SSL issue, if you don't have a valid SSL certificate or you are using self-signed certificate. * DEBUG *(optional)*: set to *True* to log the debug message * LONG_LIVED_ACCESS_TOKEN *(optional, not recommend)*: you will connect your Alexa Smart Home skill with your Home Assistant user account in the later steps, so that you don't need to use long-lived access token here. However, the access token you got from login flow is only valid for 30 minutes. It will be hard for you to test lambda function with the access token in test data. So for your convinces, you can remove the access token from the test data, [generate a long-lived access token][generate-long-lived-access-token] put here, then the function will fall back to read token from environment variables. (tips: You did not enable the security storage for your environment variables, so your token saved here is not that safe. You should only use it for debugging and testing purpose. You should remove and delete the long-lived access token after you finish the debugging.) + +

Screenshot: Environment variables in Lambda function +

- Now scroll up to the top, click `Save` button. - You need copy the ARN displayed in the top of the page, which is the identify of this Lambda function. You will need this ARN to continue Alexa Smart Home skill configuration later. @@ -178,7 +185,9 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom * `Scope`: input `smart_home`, Home Assistant is not using it yet, we may use it in the future when we allow more fine-grained access control. - You can leave `Domain List` and `Default Access Token Expiration Time` as empty. +

Screenshot: Account Linking +

- Click `Save` button in the top right corner. - Next, you will use Alexa Mobile App or [Alexa web-based app](#alexa-web-based-app) to link your account. From eca6eea498324b4a2ed1695ad713c42c6233354f Mon Sep 17 00:00:00 2001 From: SteveDinn Date: Wed, 23 Oct 2019 02:55:03 -0300 Subject: [PATCH 272/289] Help for to_json and from_json template filters (#10952) --- .../_docs/configuration/templating.markdown | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 9719eb1c148..5df06230c4f 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -180,6 +180,54 @@ The same thing can also be expressed as a filter: - Filter `timestamp_utc` will convert a UNIX timestamp to UTC time/data. - Filter `timestamp_custom(format_string, local_boolean)` will convert a UNIX timestamp to a custom format, the use of a local timestamp is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime). +### To/From JSON + +The `to_json` filter serializes an object to a JSON string. In some cases, it may be necessary to format a JSON string for use with a webhook, as a parameter for command line utilities or any number of other applications. This can be complicated in a template, especially when dealing with escaping special characters. Using the `to_json` filter, this is handled automatically. + +The `from_json` filter operates similarly, but in the other direction, de-serializing a JSON string back into an object. + +### To/From JSON examples + +In this example, the special character '°' will be automatically escaped in order to produce valid JSON. The difference between the stringified object and the actual JSON is evident. + +*Template* + +{% raw %} +```text +{% set temp = {'temperature': 25, 'unit': '°C'} %} +stringified object: {{ temp }} +object|to_json: {{ temp|to_json }} +``` +{% endraw %} + +*Output* + +{% raw %} +```text +stringified object: {'temperature': 25, 'unit': '°C'} +object|to_json: {"temperature": 25, "unit": "\u00b0C"} +``` +{% endraw %} + +Conversely, `from_json` can be used to de-serialize a JSON string back into an object to make it possible to easily extract usable data. + +*Template* + +{% raw %} +```text +{% set temp = '{"temperature": 25, "unit": "\u00b0C"}'|from_json %} +The temperature is {{ temp.temperature }}{{ temp.unit }} +``` +{% endraw %} + +*Output* + +{% raw %} +```text +The temperature is 25°C +``` +{% endraw %} + ### Distance - `distance()` will measure the distance in kilometers between home, entity, coordinates. From 130c2a2eb885c8688520e6912774405362f95f2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per-=C3=98yvind=20Bruun?= Date: Wed, 23 Oct 2019 11:14:11 +0200 Subject: [PATCH 273/289] New platform Microsoft Teams (#10911) * Created documentation for the new Microsoft Teams platform * Added service data * Changed from webook_url to url * Added missing logo and changed some things after code review --- source/_integrations/msteams.markdown | 54 +++++++++++++++++++++ source/images/supported_brands/msteams.jpg | Bin 0 -> 29521 bytes 2 files changed, 54 insertions(+) create mode 100644 source/_integrations/msteams.markdown create mode 100644 source/images/supported_brands/msteams.jpg diff --git a/source/_integrations/msteams.markdown b/source/_integrations/msteams.markdown new file mode 100644 index 00000000000..69ae8cb6c9d --- /dev/null +++ b/source/_integrations/msteams.markdown @@ -0,0 +1,54 @@ +--- +title: "Microsoft Teams" +description: "Instructions on how to send a notification to a Microsoft Teams channel." +logo: msteams.jpg +ha_category: + - Notifications +ha_release: 0.101 +--- + +The `Microsoft Teams` platform allows you to send notifications from Home Assistant to a team channel in [Microsoft Teams](https://products.office.com/en-us/microsoft-teams/group-chat-software). + +## Setup + +To send a notification to teams, you need to add the Incoming Webhook app to your team channel. When the app is added, you will receive a webhook URL that needs to be added to your `configuration.yaml`. + + +## Configuration + +To add the Microsoft Teams platform to your installation, add the following to your `configuration.yaml` file: + +```yaml +notify: + - platform: msteams + url: https://outlook.office.com/webhook/ +``` + +{% configuration %} +name: + description: Setting this parameter allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. + required: false + type: string + default: "notify" +url: + description: The webhook URL created in the setup step. + required: true + type: string +{% endconfiguration %} + +### Microsoft Teams service data + +The following attributes can be placed inside `data` for extended functionality. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `image_url` | yes | Attach an image to the message. + +Example for posting file from URL: + +```yaml +title: Title of the message. +message: Message that will be added. +data: + image_url: URL_OF_IMAGE +``` diff --git a/source/images/supported_brands/msteams.jpg b/source/images/supported_brands/msteams.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e411bfcea1b556392b91ea6e6e59c260891fc5e8 GIT binary patch literal 29521 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 X|0;cewr>2BC*{9k?KU7{pZxy;-(xIu literal 0 HcmV?d00001 From ec18414c92986176a999b7fbb5211fefa6e27972 Mon Sep 17 00:00:00 2001 From: SNoof85 Date: Wed, 23 Oct 2019 11:15:55 +0200 Subject: [PATCH 274/289] fix ident in influxdb doc (#10954) --- source/_integrations/influxdb.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/influxdb.markdown b/source/_integrations/influxdb.markdown index 8e056452a6b..80ecdaf708e 100644 --- a/source/_integrations/influxdb.markdown +++ b/source/_integrations/influxdb.markdown @@ -285,7 +285,7 @@ sensor: measurement: '"°C"' field: value database: db1 - - name: Min for last hour + - name: Min for last hour unit_of_measurement: '%' value_template: '{% raw %}{{ value | round(1) }}{% endraw %}' group_function: min @@ -293,4 +293,4 @@ sensor: measurement: '"%"' field: tmp database: db2 -``` \ No newline at end of file +``` From adf1795591623f5d7d4cc5c3c4dd55ac94fd09d3 Mon Sep 17 00:00:00 2001 From: Matt Kasa Date: Wed, 23 Oct 2019 06:16:44 -0700 Subject: [PATCH 275/289] Add strip type multi-outlet device support (#10914) Relates to home-assistant/home-assistant!26220 --- source/_integrations/tplink.markdown | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index 6ce87e65cf5..3332b859ee2 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -32,6 +32,12 @@ The following devices are known to work with this component. - HS105 - HS110 +### Multi-Plug Strips + +- HS107 (indoor 2-outlet) +- HS300 (powerstrip 6-outlet) +- KP400 (outdoot 2-outlet) + ### Wall Switches - HS200 @@ -71,6 +77,15 @@ light: description: Hostname or IP address of the device. required: true type: string +strip: + description: List of multi-outlet on/off switch devices. + required: false + type: list + keys: + host: + description: Hostname or IP address of the device. + required: true + type: string switch: description: List of on/off switch devices. required: false @@ -106,6 +121,9 @@ tplink: dimmer: - host: 192.168.200.5 - host: 192.168.200.6 + strip: + - host: 192.168.200.7 + - host: 192.168.200.8 ``` ## Extracting Energy Sensor data From c642bae70864ff213fb6bb205e9f6b96f6db6a96 Mon Sep 17 00:00:00 2001 From: libots <989623+libots@users.noreply.github.com> Date: Wed, 23 Oct 2019 14:06:53 -0400 Subject: [PATCH 276/289] Additional Abode events support (#10956) --- source/_integrations/abode.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/abode.markdown b/source/_integrations/abode.markdown index 31ad73696e5..8d4f2ca3483 100644 --- a/source/_integrations/abode.markdown +++ b/source/_integrations/abode.markdown @@ -71,6 +71,12 @@ They are grouped into the below events: - **abode_automation**: Fired when an Automation is triggered from Abode. - **abode_panel_fault**: Fired when there is a fault with the Abode hub. This includes events like loss of power, low battery, tamper switches, polling failures, and signal interference. - **abode_panel_restore**: Fired when the panel fault is restored. +- **abode_disarm**: Fired when the alarm is disarmed. +- **abode_arm**: Fired when the alarm is armed (home or away). +- **abode_test**: Fired when a sensor is in test mode. +- **abode_capture**: Fired when an image is captured. +- **abode_device**: Fired for device changes/additions/deletions. +- **abode_automation_edit**: Fired for changes to automations. All events have the fields: From 316f39c0c27defc042e4271b00c4ff800d7d2d46 Mon Sep 17 00:00:00 2001 From: Adam <22942687+SilvrrGIT@users.noreply.github.com> Date: Wed, 23 Oct 2019 13:10:43 -0500 Subject: [PATCH 277/289] Update example to match current WeMo docs. (#10963) WeMo is now an integration of its own and does not belong under switch. --- .../restart_ha_if_wemo_switch_is_not_detected.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown index 7a1beb312eb..3caf90f7caf 100644 --- a/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown +++ b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown @@ -29,9 +29,11 @@ notify: - platform: pushbullet api_key: *** name: pushbullet - + +wemo: + discovery: true + switch: - - platform: wemo - platform: mqtt state_topic: "home/killhass" command_topic: "home/killhass" From 6353fe3b7fe857ecae498ce4d02e52419b3ce8c7 Mon Sep 17 00:00:00 2001 From: a-r-j-a-n Date: Wed, 23 Oct 2019 20:12:19 +0200 Subject: [PATCH 278/289] =?UTF-8?q?Update=20turn=5Fon=5Flight=5Ffor=5F10?= =?UTF-8?q?=5Fminutes=5Fwhen=5Fmotion=5Fdetected.markd=E2=80=A6=20(#10957)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed to the proper light service for controlling lights --- ..._light_for_10_minutes_when_motion_detected.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_cookbook/turn_on_light_for_10_minutes_when_motion_detected.markdown b/source/_cookbook/turn_on_light_for_10_minutes_when_motion_detected.markdown index 97a5c2b9bcb..4afb1e49785 100644 --- a/source/_cookbook/turn_on_light_for_10_minutes_when_motion_detected.markdown +++ b/source/_cookbook/turn_on_light_for_10_minutes_when_motion_detected.markdown @@ -16,7 +16,7 @@ automation: entity_id: sensor.motion_sensor to: 'on' action: - service: homeassistant.turn_on + service: light.turn_on entity_id: light.kitchen_light - alias: Turn off kitchen light 10 minutes after last movement @@ -27,7 +27,7 @@ automation: for: minutes: 10 action: - service: homeassistant.turn_off + service: light.turn_off entity_id: light.kitchen_light ``` @@ -41,7 +41,7 @@ automation: entity_id: sensor.motion_sensor, binary_sensor.front_door, binary_sensor.doorbell to: 'on' action: - - service: homeassistant.turn_on + - service: light.turn_on data: entity_id: - light.hallway_0 @@ -57,7 +57,7 @@ automation: event_data: entity_id: timer.hallway action: - service: homeassistant.turn_off + service: light.turn_off data: entity_id: - light.hallway_0 @@ -99,4 +99,4 @@ You can also restrict lights from turning on based on time of day and implement entity_id: group.office_lights data: transition: 160 -``` \ No newline at end of file +``` From 2ac48b3606d95ad590585f2a3d0fb85c6803720e Mon Sep 17 00:00:00 2001 From: a-r-j-a-n Date: Wed, 23 Oct 2019 20:13:21 +0200 Subject: [PATCH 279/289] Update automation_sun.markdown (#10959) Change to the proper service use. Better to use as an example. --- source/_cookbook/automation_sun.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_cookbook/automation_sun.markdown b/source/_cookbook/automation_sun.markdown index e83bec979e7..8add13a3c5d 100644 --- a/source/_cookbook/automation_sun.markdown +++ b/source/_cookbook/automation_sun.markdown @@ -17,7 +17,7 @@ automation: entity_id: group.all_devices state: home action: - service: homeassistant.turn_on + service: light.turn_on entity_id: group.living_room_lights ``` From 6136497878176bafb305c4cb6aaa8f693ae8e742 Mon Sep 17 00:00:00 2001 From: Tomasz Jagusz Date: Wed, 23 Oct 2019 20:14:24 +0200 Subject: [PATCH 280/289] Update control section in group (#10726) * update control section `control: hidden` works fine on lovelace because of https://github.com/home-assistant/home-assistant-polymer/pull/2478 * Added info about generated mode od Lovelace --- source/_integrations/group.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/group.markdown b/source/_integrations/group.markdown index d56e3f7fdea..451f8ca80a5 100644 --- a/source/_integrations/group.markdown +++ b/source/_integrations/group.markdown @@ -55,7 +55,7 @@ view: type: boolean default: false control: - description: "**Only applies to the deprecated UI `/states`**. Set value to `hidden`. If hidden then the group switch will be hidden. *Does not apply to Lovelace.*" + description: "**This is only a feature in generated mode of Lovelace** If value set to `hidden` the group switch will be hidden." required: false type: string {% endconfiguration %} From 62109431fe6b52b355ddb69fffbc23a6deb3a6ee Mon Sep 17 00:00:00 2001 From: EgonMarmol <56889319+EgonMarmol@users.noreply.github.com> Date: Wed, 23 Oct 2019 20:16:34 +0200 Subject: [PATCH 281/289] Http to https redirect (#10951) * Http to https redirect * Fixed incorrect https redirect Co-authored-by: Ketil Moland Olsen --- source/_integrations/waqi.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/waqi.markdown b/source/_integrations/waqi.markdown index f687ecc7ca6..14cefc5cd39 100644 --- a/source/_integrations/waqi.markdown +++ b/source/_integrations/waqi.markdown @@ -8,9 +8,9 @@ ha_release: 0.34 ha_iot_class: Cloud Polling --- -The `waqi` sensor platform will query [World Air Quality Index](http://aqicn.org) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs. +The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.org/city/beijing/) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs. -This sensor requires an API token. Please obtain one at [AQICN API token](http://aqicn.org/data-platform/token/#/). +This sensor requires an API token. Please obtain one at [AQICN API token](https://aqicn.org/data-platform/token/#/). To enable this sensor, add the following lines to your `configuration.yaml` file: From 384b8b294eeb7e30866d0e581f245bad286060af Mon Sep 17 00:00:00 2001 From: Fredrik Erlandsson Date: Wed, 23 Oct 2019 20:19:11 +0200 Subject: [PATCH 282/289] Added documentation for resource_template for REST sensor (#10918) * Added documentation for resource_template * Fix jinja issues * minor changes * :pencil2: Tweak Co-authored-by: Franck Nijhof --- source/_integrations/rest.markdown | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/source/_integrations/rest.markdown b/source/_integrations/rest.markdown index 54b669718ce..1c91c94b0b3 100644 --- a/source/_integrations/rest.markdown +++ b/source/_integrations/rest.markdown @@ -30,12 +30,28 @@ sensor: payload: '{ "device" : "heater" }' ``` +or a template based request: + +{% raw %} + +```yaml +# Example configuration.yaml entry +sensor: + - platform: rest + resource_template: http://IP_ADDRESS/{{ now().strftime('%Y-%m-%d') }} +``` + +{% endraw %} + {% configuration %} resource: description: The resource or endpoint that contains the value. required: true type: string - default: string +resource_template: + description: The resource or endpoint that contains the value with template support. + required: true + type: template method: description: The method of the request. Either `POST` or `GET`. required: false @@ -103,6 +119,12 @@ force_update: Make sure that the URL exactly matches your endpoint or resource.
+
+ +Use either `resource` or `resource_template`. + +
+ `curl` can help you identify the variable you want to display in your Home Assistant frontend. The example below shows the JSON response of a device that is running with [aREST](https://arest.io/). ```bash From 0f023e82b855e945610ce81b95825796b4298dfc Mon Sep 17 00:00:00 2001 From: Jon Gilmore <7232986+JonGilmore@users.noreply.github.com> Date: Wed, 23 Oct 2019 13:26:40 -0500 Subject: [PATCH 283/289] Include support for Lutron Pico keypads (#10490) Added support for Lutron Pico keypads. Updated documentation to reference this --- source/_integrations/lutron.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/lutron.markdown b/source/_integrations/lutron.markdown index b7c5dd60c68..7fff4ee7543 100644 --- a/source/_integrations/lutron.markdown +++ b/source/_integrations/lutron.markdown @@ -65,7 +65,7 @@ For single-action buttons (scene selection, etc.), `action` will be `single`, an ## Scene -This integration uses keypad programming to identify scenes. Currently, it works with seeTouch, hybrid seeTouch, main repeater, homeowner, and seeTouch RF tabletop keypads. +This integration uses keypad programming to identify scenes. Currently, it works with seeTouch, hybrid seeTouch, main repeater, homeowner, Pico, and seeTouch RF tabletop keypads. The Lutron scene platform allows you to control scenes programmed into your SeeTouch keypads. After setup, scenes will appear in Home Assistant using the area, keypad and button name. From 28471e372ced4e3a645e5e33886ef0927c104f33 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Wed, 23 Oct 2019 14:33:20 -0400 Subject: [PATCH 284/289] Support custom source type for MQTT device tracker (#10910) * support custom source type for MQTT device tracker * :pencil2: Tweak Co-authored-by: Franck Nijhof --- source/_integrations/device_tracker.mqtt.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/device_tracker.mqtt.markdown b/source/_integrations/device_tracker.mqtt.markdown index 6694029cf0f..bdde83a6e2e 100644 --- a/source/_integrations/device_tracker.mqtt.markdown +++ b/source/_integrations/device_tracker.mqtt.markdown @@ -43,6 +43,10 @@ payload_not_home: required: false type: string default: 'not_home' +source_type: + description: Attribute of a device tracker that affects state when being used to track a [person](/integrations/person/). Valid options are `gps`, `router`, `bluetooth`, or `bluetooth_le`. + required: false + type: string {% endconfiguration %} ## Complete example configuration @@ -56,6 +60,7 @@ device_tracker: qos: 1 payload_home: 'present' payload_not_home: 'not present' + source_type: bluetooth ``` ## Usage From 84ed4c67211221373bcb1b1e1b7631f728e22bbe Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Wed, 23 Oct 2019 13:34:23 -0500 Subject: [PATCH 285/289] Lovelace: support actions on rows (#10826) --- source/_lovelace/entities.markdown | 90 ++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index 5e6bb25ae28..9f352854c81 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -67,6 +67,96 @@ format: required: false description: "How the state should be formatted. Currently only used for timestamp sensors. Valid values are: `relative`, `total`, `date`, `time` and `datetime`." type: string +tap_action: + required: false + description: Action to take on tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`toggle`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none +hold_action: + required: false + description: Action to take on tap-and-hold + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none {% endconfiguration %} ## Special Row Elements From 046b281fb7462fbd17b26ae20406c050cabb8b1a Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Wed, 23 Oct 2019 13:45:26 -0500 Subject: [PATCH 286/289] Lovelace: custom badges and state-badge actions (#10915) * custom badges and state-badge actions * address comments * format * image option for state-label * Fix build Co-authored-by: Franck Nijhof --- source/_lovelace/picture-elements.markdown | 105 ++++++++ source/lovelace/views.markdown | 287 +++++++++++++++++++-- 2 files changed, 375 insertions(+), 17 deletions(-) diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 6bc830afb59..59920f2a60a 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -62,6 +62,111 @@ title: required: false description: State badge tooltip. Set to null to hide. type: string +tap_action: + required: false + description: Action to take on tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`toggle`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +hold_action: + required: false + description: Action to take on tap-and-hold + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" {% endconfiguration %} ### Icon representing an entity state diff --git a/source/lovelace/views.markdown b/source/lovelace/views.markdown index 1d5f4d1107c..46c17081047 100644 --- a/source/lovelace/views.markdown +++ b/source/lovelace/views.markdown @@ -57,11 +57,234 @@ views: default: true {% endconfiguration %} -## Options For Badges +## Options For Visible -If you define badges as objects instead of strings (by adding `entity:` before entity ID), allowing you to add more customizations: +If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab: {% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string +{% endconfiguration %} + +## Badges + +### State Label Badge + +The State Label badge allows you to dislay a state badge + +```yaml +type: state-label +entity: light.living_room +``` + +{% configuration state_label %} +type: + required: true + description: entity-button + type: string +entity: + required: true + description: Home Assistant entity ID. + type: string +name: + required: false + description: Overwrites friendly name. + type: string + default: Name of Entity +icon: + required: false + description: Overwrites icon or entity picture. + type: string + default: Entity Domain Icon +image: + required: false + description: The URL of an image. + type: string +show_name: + required: false + description: Show name. + type: boolean + default: "true" +show_icon: + required: false + description: Show icon. + type: boolean + default: "true" +tap_action: + required: false + description: Action to take on tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`toggle`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +hold_action: + required: false + description: Action to take on tap-and-hold + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +{% endconfiguration %} + +#### Options For Confirmation + +If you define confirmation as an object instead of boolean, you can add more customization and configurations: +{% configuration confirmation %} +text: + required: false + description: Text to present in the confirmation dialog. + type: string +exemptions: + required: false + description: "List of `exemption` objects. See below" + type: list +{% endconfiguration %} + +#### Options For Exemptions + +{% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string +{% endconfiguration %} + +#### Example + +View config: + +```yaml +- title: Living room + badges: + - device_tracker.demo_paulus + - entity: light.ceiling_lights + name: Ceiling Lights + icon: mdi:bulb + - entity: switch.decorative_lights + image: /local/lights.png +``` + +### Entity Filter Badge + +This badge allows you to define a list of entities that you want to track only when in a certain state. Very useful for showing lights that you forgot to turn off or show a list of people only when they're at home. + +{% configuration filter_badge %} +type: + required: true + description: entity-filter + type: string +entities: + required: true + description: A list of entity IDs or `entity` objects, see below. + type: list +state_filter: + required: true + description: List of strings representing states or `filter` objects, see below. + type: list +{% endconfiguration %} + +#### Options For Entities + +If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configurations: + +{% configuration entities %} +type: + required: false + description: "Sets a custom badge type: `custom:my-custom-badge`" + type: string entity: required: true description: Home Assistant entity ID. @@ -78,32 +301,62 @@ image: required: false description: The URL of an image. type: string +state_filter: + required: false + description: List of strings representing states or `filter` objects, see below. + type: list {% endconfiguration %} -## Options For Visible +#### Options For state_filter -If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab: +If you define state_filter as objects instead of strings (by adding `value:` before your state value), you can add more customization to your filter: -{% configuration badges %} -user: +{% configuration state_filter %} +value: required: true - description: User id that can see the view tab. + description: String representing the state. + type: string +operator: + required: false + description: Operator to use in the comparison. Can be `==`, `<=`, `<`, `>=`, `>`, `!=` or `regex`. + type: string +attribute: + required: false + description: Attribute of the entity to use instead of the state. type: string {% endconfiguration %} -### Example +#### Examples -View config: +Show only active switches or lights in the house ```yaml -- title: Living room - badges: - - device_tracker.demo_paulus - - entity: light.ceiling_lights - name: Ceiling Lights - icon: mdi:bulb - - entity: switch.decorative_lights - image: /local/lights.png +type: entity-filter +entities: + - entity: light.bed_light + name: Bed + - light.kitchen_lights + - light.ceiling_lights +state_filter: + - "on" +``` + +Specify filter for a single entity + +```yaml +type: entity-filter +state_filter: + - "on" + - operator: ">" + value: 90 +entities: + - sensor.water_leak + - sensor.outside_temp + - entity: sensor.humidity_and_temp + state_filter: + - operator: ">" + value: 50 + attribute: humidity ``` ## Paths From 4a58377cce567e260a4522cc4f51f0de81f16075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20H=C3=B6rsken?= Date: Wed, 23 Oct 2019 20:53:22 +0200 Subject: [PATCH 287/289] Update documentation for HomeKit Bridge (home-assistant#26791) (#10410) * Update documentation for HomeKit Bridge (home-assistant#26791) - Add documentation for advertise_ip and advertise_mac options - Add documentation section for Docker Network Isolation - Update homekit.markdown * :pencil2: Tweaks * Remove the possibility to set the MAC address of the HomeKit Bridge Since the MAC address is a random device ID, there is no need for the user to be able to set a custom MAC address value for it. This change was requested in the parent PR home-assistant#26791. * :pencil2: Tweaks Co-authored-by: Franck Nijhof --- source/_integrations/homekit.markdown | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown index 218af288be1..888745f30ab 100644 --- a/source/_integrations/homekit.markdown +++ b/source/_integrations/homekit.markdown @@ -82,6 +82,10 @@ homekit: required: false type: boolean default: false + advertise_ip: + description: If you need to override the IP address used for mDNS advertisement. (For example, using network isolation in Docker and together with an mDNS forwarder like `avahi-daemon` in reflector mode) + required: false + type: string filter: description: Filters for entities to be included/excluded from HomeKit. ([Configure Filter](#configure-filter)) required: false @@ -160,8 +164,8 @@ homekit: After Home Assistant has started, the entities specified by the filter are exposed to HomeKit if they are [supported](#supported-components). To add them: 1. Open the Home Assistant frontend. A new card will display the `pin code`. Note: If pin code is not displayed, check "Notifications" (the bell icon) in the upper-right of the Home Assistant UI. -1. Open the `Home` app. -2. Click `Add Accessory`, then select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`. +2. Open the `Home` app. +3. Click `Add Accessory`, then select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`. 4. Confirm that you are adding an `Uncertified Accessory` by clicking on `Add Anyway`. 5. Enter the `PIN` code. 6. Follow the setup by clicking on `Next` and lastly `Done` in the top right-hand corner. @@ -324,6 +328,19 @@ To avoid any errors, after you have successfully paired your Home Assistant Brid
+## Docker Network Isolation + +The `advertise_ip` option can be used to run this integration even inside an ephemeral Docker container with network isolation enabled, e.g., not using the host network. + +To use `advertise_ip`, add the option to your `homekit` config: + +```yaml +homekit: + advertise_ip: "STATIC_IP_OF_YOUR_DOCKER_HOST" +``` + +Restart your Home Assistant instance. This feature requires running an mDNS forwarder on your Docker host, e.g., `avahi-daemon` in reflector mode. This kind of setup most likely requires `safe_mode` during the bridge setup. + ## Supported Components The following integrations are currently supported: @@ -403,6 +420,8 @@ Remember that the iOS device needs to be in the same local network as the Home A Set `network_mode: host`. If you have further problems this [issue](https://github.com/home-assistant/home-assistant/issues/15692) might help. +You can also try to use `avahi-daemon` in reflector mode together with the option `advertise_ip`, see above. + #### `Home Assistant Bridge` doesn't appear in the Home App (for pairing) - VirtualBox Configure the network mode as `networkbridge`. Otherwise the Home Assistant Bridge won't be exposed to the network. From 8d03830e78ec4623d90d7697858cc7d60ffd09f1 Mon Sep 17 00:00:00 2001 From: Ernst Klamer Date: Wed, 23 Oct 2019 20:55:33 +0200 Subject: [PATCH 288/289] Add Solar-Log integration docs (#10473) * Add Solar-Log docs * fix suggested changes * Remove of scan interval configuration option * :pencil2: Tweak * :pencil2: Tweak * :pencil2: Tweak * Update due to component changes Added the option to use configuration in the user interface. Removed the requirement to not have http:// in the host address (will be automatically added now if not provided). * :pencil2: Tweaks Co-authored-by: Klaas Schoute Co-authored-by: Franck Nijhof --- source/_components/solarlog.markdown | 103 +++++++++++++++++++ source/images/supported_brands/solar-log.png | Bin 0 -> 3555 bytes 2 files changed, 103 insertions(+) create mode 100644 source/_components/solarlog.markdown create mode 100644 source/images/supported_brands/solar-log.png diff --git a/source/_components/solarlog.markdown b/source/_components/solarlog.markdown new file mode 100644 index 00000000000..c8c21bf73c0 --- /dev/null +++ b/source/_components/solarlog.markdown @@ -0,0 +1,103 @@ +--- +title: "Solar-Log Sensor" +description: "Instructions on how to integrate Solar-Log sensors within Home Assistant." +logo: solar-log.png +ha_category: Sensor +ha_release: 0.101 +ha_iot_class: Local Polling +--- + +The `solarlog` integration uses the open JSON interface on Solar-Log PV monitoring systems to allow you to get details from your Solar-Log device and integrate these into your Home Assistant installation. + +Before being able to use the integration, you have to activate the open JSON interface on your Solar-Log device. This can be activated from the Configuration | System | Access control menu of your Solar-Log device. +When activating the interface, a red warning triangle with security information and risks is displayed. + +The `solarlog` integration uses the default host address "http://solar-log" if you don't specify a host. If your device isn't accessible on this address, use its IP Address instead. + +
+The open JSON interface is deactivated by default. To activate the open JSON interface, a user password must first be set. The password isn't needed for accessing the open JSON interface. +
+ +## Configuration + +There are 2 options in configuring the `solarlog` integration: + +- Via the Home Assistant user interface where it will let you enter the name and host to connect to your Solar-Log device. +- Via the Home Assistant `configuration.yaml` file. + +```yaml +# Example configuration.yaml entry +sensor: + platform: solarlog +``` + +{% configuration %} +host: + description: The IP Address or host address of your Solar-Log device. + required: false + default: http://solar-log + type: string +name: + description: Let you overwrite the name of the device in the frontend. + required: false + default: solarlog + type: string +{% endconfiguration %} + +### Full configuration sample + +A full configuration entry would look like the sample below. + +```yaml +# Example configuration.yaml entry +sensor: + - platform: solarlog + name: solarlog + host: 192.168.1.123 +``` + +In case you would like to convert the values, for example, to Wh instead of the default kWh, you can use the [template platform](/integrations/template/). + +{% raw %} +```yaml +# Example configuration.yaml entry for sensor template platform +sensor: + - platform: template + sensors: + solarlog_yield_day_template: + value_template: "{{ (states('sensor.solarlog_yield_day') | float * 1000) | round(0) }}" +``` +{% endraw %} + +## Sensors + +The following sensors are available in the library: + +| name | Unit | Description | +|-----------------------|--------|:-------------------------------------------| +| last_update | | Time of latest data update. | +| power_ac | W | Total output PAC from all of the inverters and meters in inverter mode. | +| power_dc | W | Total output PAC from all of the inverters. | +| voltage_ac | V | Average voltage AC from the inverter. | +| voltage_dc | V | Average voltage DC from the inverter | +| yield_day | kWh | Total yield for the day from all of the inverters | +| yield_yesterday | kWh | Total yield for the previous day from all of the inverters. | +| yield_month | kWh | Total yield for the month from all of the inverters. | +| yield_year | kWh | Total yield for the year from all of the inverters. | +| yield_total | kWh | Total yield from all of the inverters. | +| consumption_ac | kWh | Current total consumption AC from all of the consumption meters. | +| consumption_day | kWh | Total consumption for the day from all of the consumption meters. | +| consumption_yesterday | kWh | Total consumption for the previous day from all of the consumption meters. | +| consumption_month | kWh | Total consumption for the month from all of the consumption meters. | +| consumption_year | kWh | Total consumption for the year from all of the consumption meters. | +| consumption_total | kWh | Accumulated total consumption from all consumption meters. | +| total_power | Wp | Installed generator power. | +| alternator_loss | W | Altenator loss (equals to power_dc - power_ac) | +| capacity | % | Capacity (equals to power_dc / total power) | +| efficiency | % W/Wp | Efficiency (equals to power_ac / power_dc | +| power_available | W | Available power (equals to power_ac - consumption_ac) | +| usage | | Usage (equals to consumption_ac / power_ac) | + +
+The solarlog integration is using the sunwatcher pypi package to get the data from your Solar-Log device. The last five sensors are not reported by your Solar-Log device directly, but are computed by the sunwatcher package. +
diff --git a/source/images/supported_brands/solar-log.png b/source/images/supported_brands/solar-log.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9a360ba749a319a98fed0e27664b7095d3e179 GIT binary patch literal 3555 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 literal 0 HcmV?d00001 From daae90bd095d970ef796431d0c9b21312d8b2ea3 Mon Sep 17 00:00:00 2001 From: Balazs Keresztury Date: Wed, 23 Oct 2019 20:58:11 +0200 Subject: [PATCH 289/289] Added info on how to install dependencies for bluetooth_tracker (#10962) --- source/_integrations/bluetooth_tracker.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/bluetooth_tracker.markdown b/source/_integrations/bluetooth_tracker.markdown index 030d2431252..a520b9b9d77 100644 --- a/source/_integrations/bluetooth_tracker.markdown +++ b/source/_integrations/bluetooth_tracker.markdown @@ -10,6 +10,12 @@ ha_release: 0.18 This tracker discovers new devices on boot and tracks Bluetooth devices periodically based on `interval_seconds` value. It is not required to pair the devices with each other! Devices discovered are stored with 'bt_' as the prefix for device MAC addresses in `known_devices.yaml`. +This platform requires pybluez to be installed. On Debian based installs, run + +```bash +sudo apt install bluetooth libbluetooth-dev +``` + To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file: ```yaml

From 741d3f2084d0a785daf6f986c4ffbcfd5ac88719 Mon Sep 17 00:00:00 2001 From: Dubh Ad Date: Sun, 6 Oct 2019 10:45:49 +0100 Subject: [PATCH 015/289] Update glossary.yml (#10629) It came up [in this thread](https://community.home-assistant.io/t/is-there-any-basic-tutorial-on-hassio/140714/5) that the docs don't explain things like what a binary sensor is in an easy to find way. I've pulled a bunch of common platforms into this, not all, and am open to suggestions as to what others I could/should add. --- source/_data/glossary.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index 25957403526..2ba4458766f 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -2,16 +2,22 @@ description: "[Actions](/docs/automation/action/) are events that fires once all triggers and conditions have been met." - topic: Automation description: "[Automations](/docs/automation/) offer the capability to call a service based on a simple or complex trigger. Automation allows a condition such as a sunset to cause an event, such as a light turning on." +- topic: Binary sensor + description: "A [binary sensor](/integrations/binary_sensor) returns information about things that only have two states - such as on or off." - topic: Component description: "Integrations (see below) used to be known as components." - topic: Condition description: "[Conditions](/docs/scripts/conditions/) are an optional part of an automation that will prevent an action from firing if they are not met." - topic: Cookbook description: "The [Cookbook](/cookbook/) contains a set of configuration examples of Home Assistant from the community." +- topic: Cover + description: "[Covers](/integrations/cover) are devices such as blinds, garage doors, etc than can be opened and closed and optionally set to a specific position." - topic: Customize description: "[Customization](/docs/configuration/customizing-devices/) allows you to overwrite the default parameter of your devices in the configuration." - topic: Device description: "A device is usually a physical unit which can do or observe something." +- topic: Device tracker + description: "[Device trackers](/integrations/device_tracker) are used to track the presence, or location, of a device." - topic: Discovery description: "[Discovery](/integrations/discovery/) is the automatic setup of zeroconf/mDNS and uPnP devices after they are discovered." - topic: Entity @@ -30,6 +36,10 @@ description: "[Integrations](/integrations/) provide the core logic for the functionality in Home Assistant. Like `notify` provides sending notifications." - topic: Lovelace description: "[Lovelace](/lovelace/) is the name of the current frontend." +- topic: Light + description: "A [light](/integrations/light) has a brightness you can control, and optionally color temperature or RGB color control." +- topic: Notification + description: "You can use [notifications](/integrations/#notifications) to send messages, pictures, and more, to devices." - topic: Packages description: "[Packages](/docs/configuration/packages/) allow you to bundle different component configurations together." - topic: Platform @@ -38,11 +48,17 @@ description: "[Scenes](/integrations/scene/) capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red." - topic: Script description: "[Scripts](/docs/scripts/) are components that allow users to specify a sequence of actions to be executed by Home Assistant when turned on." +- topic: Sensor + description: "[Sensors](/integrations/sensor) return information about a thing, for instance the level of water in a tank." - topic: Service description: "[Services](/docs/scripts/service-calls/) are called to perform actions." +- topic: Switch + description: "[Switches](/integrations/switch) are things that have two states you can select between, such as turning on or off a socket." - topic: Template description: "A [template](/docs/automation/templating/) is an automation definition that can include variables for the service or data from the trigger values. This allows automations to generate dynamic actions." - topic: Trigger description: "A [trigger](/docs/automation/trigger/) is a set of values or conditions of a platform that are defined to cause an automation to run." +- topic: TTS + description: "TTS ([text to speech](/integrations/tts) allows Home Assistant to talk to you." - topic: Zone description: "[Zones](/integrations/zone/) are areas that can be used for presence detection." From af45c0b5dd4889c7be51f5142e4a6ccf349b31f5 Mon Sep 17 00:00:00 2001 From: Phil Hawthorne Date: Sun, 6 Oct 2019 19:49:21 +1000 Subject: [PATCH 016/289] Update switch documentation for all entities (#10626) #19006 changed the way services interact with all entities. This PR just updates the documentation to reflect that the user must use `all` to target all switches --- source/_integrations/switch.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/switch.markdown b/source/_integrations/switch.markdown index 5e5ace9ec26..762cfec9c80 100644 --- a/source/_integrations/switch.markdown +++ b/source/_integrations/switch.markdown @@ -23,4 +23,4 @@ In the frontend open the sidebar. At the bottom, under **Developer Tools**, clic | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | Only act on a specific switch. Otherwise, it targets all switches. +| `entity_id` | no | The entity ID of the switch to control. To target all switches, set the entity ID to `all`| From 19e0ab8253ab2c4c2ba45f8db8cd697145d578df Mon Sep 17 00:00:00 2001 From: scheric <38077357+scheric@users.noreply.github.com> Date: Sun, 6 Oct 2019 12:11:08 +0200 Subject: [PATCH 017/289] Fix broken links (#10617) * Fix broken link * fix link OwnTracks platform * fix link in lights built-in profiles * fix link in Configurator the source * fix link in Todoist determine.... determine what task in each project is "most" important --- source/_docs/scripts/conditions.markdown | 2 +- source/_integrations/configurator.markdown | 2 +- source/_integrations/light.markdown | 2 +- source/_integrations/todoist.markdown | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown index 51d3bd5b4fd..4293ca6a990 100644 --- a/source/_docs/scripts/conditions.markdown +++ b/source/_docs/scripts/conditions.markdown @@ -241,7 +241,7 @@ A better weekday condition could be by using the [Workday Binary Sensor](/integr ### Zone condition -Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/integrations/device_tracker.owntracks/) and the [iCloud platform](/integrations/device_tracker.icloud/). +Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/integrations/owntracks/) and the [iCloud platform](/integrations/icloud/). ```yaml condition: diff --git a/source/_integrations/configurator.markdown b/source/_integrations/configurator.markdown index 30881ae8086..d300d0ef522 100644 --- a/source/_integrations/configurator.markdown +++ b/source/_integrations/configurator.markdown @@ -20,4 +20,4 @@ The configurator integration allows integrations to request information from the The Hue integration in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo integration](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/integrations/demo) for a simple example. -See [the source](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/integrations/configurator) for more details on how to use the configurator integration. +See [the source](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/configurator) for more details on how to use the configurator integration. diff --git a/source/_integrations/light.markdown b/source/_integrations/light.markdown index 332e1b4d6be..5ac5d705140 100644 --- a/source/_integrations/light.markdown +++ b/source/_integrations/light.markdown @@ -26,7 +26,7 @@ Most lights do not support all attributes. You can check the integration documen | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`s of lights. Else targets all. | `transition` | yes | Number that represents the time (in seconds) the light should take to transition to the new state. -| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/integrations/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten. +| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten. | `hs_color` | yes | A list containing two floats representing the hue and saturation of the color you want the light to be. Hue is scaled 0-360, and saturation is scaled 0-100. | `xy_color` | yes | A list containing two floats representing the xy color you want the light to be. Two comma-separated floats that represent the color in XY. You can find a great chart here: [Hue Color Chart](https://developers.meethue.com/documentation/core-concepts#color_gets_more_complicated). | `rgb_color` | yes | A list containing three integers between 0 and 255 representing the RGB color you want the light to be. Three comma-separated integers that represent the color in RGB, within square brackets. Note that the specified RGB value will not change the light brightness, only the color. diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown index c0f8229784c..1632d27aaff 100644 --- a/source/_integrations/todoist.markdown +++ b/source/_integrations/todoist.markdown @@ -89,7 +89,7 @@ As you can see, there are 4 custom projects here: You can mix-and-match these attributes to create all sorts of custom projects. You can even use [IFTTT](https://ifttt.com/todoist) to create a task with a certain label, then have Home Assistant do some kind of automation when a task with that label comes due. -Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/integrations/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below). +Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below). ### Sensor attributes From 8c8bede5df5d15a85177f108a2c376666e3c6772 Mon Sep 17 00:00:00 2001 From: scheric <38077357+scheric@users.noreply.github.com> Date: Sun, 6 Oct 2019 16:36:29 +0200 Subject: [PATCH 018/289] fix OwnTracks in MQTT Brokers (#10638) --- source/_docs/mqtt/broker.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index 6d16ee60476..553fcbb36dc 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -105,7 +105,7 @@ mqtt: ### CloudMQTT -[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance that is free for up to 10 connected devices. This is enough to get started with for example [OwnTracks](/integrations/device_tracker.owntracks/) and give you a taste of what is possible. +[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance that is free for up to 10 connected devices. This is enough to get started with for example [OwnTracks](/integrations/owntracks/) and give you a taste of what is possible.
Home Assistant is not affiliated with CloudMQTT nor will receive any kickbacks. From e13bae66c9db30d0854cc824f7653fcb691c1d64 Mon Sep 17 00:00:00 2001 From: scheric <38077357+scheric@users.noreply.github.com> Date: Sun, 6 Oct 2019 19:52:50 +0200 Subject: [PATCH 019/289] fix link in Configurator the source.. (#10640) the source of the demo integration --- source/_integrations/configurator.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/configurator.markdown b/source/_integrations/configurator.markdown index d300d0ef522..763a7e493d6 100644 --- a/source/_integrations/configurator.markdown +++ b/source/_integrations/configurator.markdown @@ -18,6 +18,6 @@ The configurator integration allows integrations to request information from the - Input fields can be defined with a description, and optional type - It will trigger a callback when the button is pressed -The Hue integration in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo integration](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/integrations/demo) for a simple example. +The Hue integration in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo integration](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/demo) for a simple example. See [the source](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/configurator) for more details on how to use the configurator integration. From 4194c4d141602c9a1d50fe84c890ebf3f88c6158 Mon Sep 17 00:00:00 2001 From: definitio <37266727+definitio@users.noreply.github.com> Date: Sun, 6 Oct 2019 22:08:52 +0400 Subject: [PATCH 020/289] Fix plural in titles (#10639) --- source/_integrations/light.markdown | 2 +- source/_integrations/switch.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/light.markdown b/source/_integrations/light.markdown index 5ac5d705140..0e623c64b0a 100644 --- a/source/_integrations/light.markdown +++ b/source/_integrations/light.markdown @@ -1,5 +1,5 @@ --- -title: "Lights" +title: "Light" description: "Instructions on how to setup your lights with Home Assistant." logo: home-assistant.png ha_category: diff --git a/source/_integrations/switch.markdown b/source/_integrations/switch.markdown index 762cfec9c80..bfddce7d1d4 100644 --- a/source/_integrations/switch.markdown +++ b/source/_integrations/switch.markdown @@ -1,5 +1,5 @@ --- -title: "Switches" +title: "Switch" description: "Instructions on how to set up your switches with Home Assistant." logo: home-assistant.png ha_category: From 8243ed01ca78b34029b5e2c86561d991713fd68d Mon Sep 17 00:00:00 2001 From: Malachi Soord Date: Sun, 6 Oct 2019 22:46:52 +0200 Subject: [PATCH 021/289] Update google_maps.markdown (#10641) Provide additional information to track devices through this integration. --- source/_integrations/google_maps.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/google_maps.markdown b/source/_integrations/google_maps.markdown index 2b8878a693d..becbbfc9b0a 100644 --- a/source/_integrations/google_maps.markdown +++ b/source/_integrations/google_maps.markdown @@ -28,6 +28,10 @@ device_tracker: username: YOUR_USERNAME ``` +Once enabled and you have rebooted devices discovered through this integration wil be listed in the `known_devices.yaml`file within your configuration directory. + +They will be created with indentifiers like `google_maps_`. To be able to properly track entities you must set the `track` attribute to `true`. + {% configuration %} username: description: The email address for the Google account that has access to your shared location. From 67b99f6577666c94b26d53b1bebd9a2ebf527a34 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 6 Oct 2019 23:10:31 +0200 Subject: [PATCH 022/289] =?UTF-8?q?=F0=9F=94=97=20Fix=20broken=20links=20(?= =?UTF-8?q?part=207)=20(#10636)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-smart-plugs-and-neurio-energy-sensors.markdown | 3 +-- source/_posts/2016-05-21-release-020.markdown | 3 +-- ...016-09-29-async-sleepiq-emoncms-stocks.markdown | 2 +- .../2017-01-14-iss-usps-images-packages.markdown | 2 +- ...5-20-automation-editor-zwave-panel-ocr.markdown | 4 ++-- source/_posts/2017-06-04-release-46.markdown | 5 ++--- source/_posts/2017-07-02-release-48.markdown | 4 ++-- source/_posts/2017-08-12-release-51.markdown | 2 +- source/_posts/2017-08-26-release-0-52.markdown | 2 +- source/_posts/2017-09-09-release-53.markdown | 2 +- source/_posts/2017-10-07-release-55.markdown | 2 +- source/_posts/2017-11-04-release-57.markdown | 3 +-- source/_posts/2018-01-14-release-61.markdown | 4 ++-- source/_posts/2018-02-10-release-63.markdown | 14 ++++---------- source/_posts/2018-03-09-release-65.markdown | 8 ++++---- source/_posts/2018-04-14-release-67.markdown | 8 +++----- source/_posts/2018-05-11-release-69.markdown | 6 +++--- source/_posts/2018-05-18-release-70.markdown | 2 +- source/_posts/2018-06-22-release-72.markdown | 4 ++-- source/_posts/2018-07-06-release-73.markdown | 2 +- source/_posts/2018-07-16-release-73-2.markdown | 2 +- source/_posts/2018-07-21-release-74.markdown | 2 +- source/_posts/2018-08-03-release-75.markdown | 8 ++++---- source/_posts/2018-08-29-release-77.markdown | 4 ++-- source/_posts/2018-10-12-release-80.markdown | 4 ++-- source/_posts/2018-11-28-release-83.markdown | 11 +++++------ source/_posts/2019-01-09-release-85.markdown | 3 +-- source/_posts/2019-02-20-release-88.markdown | 7 +++---- source/_posts/2019-04-24-release-92.markdown | 4 ++-- source/_posts/2019-08-28-release-98.markdown | 1 - 30 files changed, 56 insertions(+), 72 deletions(-) diff --git a/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown b/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown index 1c1b72e2180..1f263841b77 100644 --- a/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown +++ b/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown @@ -30,7 +30,7 @@ It's been another two weeks which means it's time for release: 0.14! - Switch: [D-Link smart plugs] now supported ([@LinuxChristian]) - Script: Toggle support added ([@Andythigpen]) - Light: [Wemo] now supported ([@jaharkes]) - - Rollershutter: [Command line platform][rollershutter.command_line] added ([@t30]) + - Rollershutter: Command line platform added ([@t30]) - Sensor: [Steam] now supported ([@GreenTurtwig]) - Binary Sensor: [Wink] now supported ([@w1ll1am23]) - Demo has been updated ([@kfgoode]) @@ -64,7 +64,6 @@ It's been another two weeks which means it's time for release: 0.14! [Z-Wave]: /integrations/zwave [D-Link smart plugs]: /integrations/dlink [Wemo]: /integrations/wemo -[rollershutter.command_line]: /integrations/rollershutter.command_line/ [Steam]: /integrations/steam_online [Wink]: /integrations/wink#binary-sensor [the cookbook]: /cookbook/python_component_simple_alarm/ diff --git a/source/_posts/2016-05-21-release-020.markdown b/source/_posts/2016-05-21-release-020.markdown index 99be1e3bac1..21b3319391f 100644 --- a/source/_posts/2016-05-21-release-020.markdown +++ b/source/_posts/2016-05-21-release-020.markdown @@ -25,7 +25,7 @@ Tons of new supported things in 0.20. - Configurator: allow supplying a link to the user ([@mnestor]) - Media Player: [Roku] now supported ([@bah2830]) - Sensor: [Last.fm] now supported ([@darookee], [@GreenTurtwig]) -- Notify: Amazon Lambda, [SNS], [SQS] now supported ([@robbiet480]) +- Notify: Amazon Lambda, [SNS], SQS now supported ([@robbiet480]) - Light: allow human readable colors in turn_on command ([@robbiet480]) - YAML: new include dir options [`!include_dir_merge_list`] and [`!include_dir_merge_named`] ([@happyleavesaoc]) - Media Player: [LG Netcast TVs] now supported ([@wokar]) @@ -76,7 +76,6 @@ device_tracker: [purge days option]: /integrations/recorder/ [Roku]: /integrations/roku#media-player [SNS]: /integrations/notify.aws_sns/ -[SQS]: /integrations/notify.aws_sqs/ [supervisord]: /integrations/supervisord [Twilio SMS]: /integrations/twilio_sms [Last.fm]: /integrations/lastfm diff --git a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown index 5f3fd8c27dc..c7e1047e04f 100644 --- a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown +++ b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown @@ -170,7 +170,7 @@ Since 0.28 [automation rules](/blog/2016/09/10/notify-group-reload-api-pihole/#r [KNX]: /integrations/sensor.knx/ [Kodi]: /integrations/kodi [Modbus]: /integrations/modbus/ -[Nest]: /integrations/fan.nest/ +[Nest]: /integrations/nest/ [Nuimo]: /integrations/nuimo_controller/ [OpenALPR]: /integrations/openalpr_local_local [passwordless]: /integrations/http/ diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index 81d10d07d67..ed734c2b5d7 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -168,7 +168,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [facebook]: /integrations/facebook [image]: /integrations/image_processing/ [influx]: /integrations/influxdb/ -[insteon]: /integrations/insteon_local/ +[insteon]: /integrations/insteon/ [iss]: /integrations/iss [kankun]: /integrations/kankun [lannouncer]: /integrations/lannouncer diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index 25731517f82..168a4a80dc4 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -364,8 +364,8 @@ Experiencing issues introduced by this release? Please report them in our [issue [image_processing.dlib_face_identify docs]: /integrations/dlib_face_identify [image_processing.microsoft_face_detect docs]: /integrations/microsoft_face_detect [image_processing.microsoft_face_identify docs]: /integrations/microsoft_face_identify -[image_processing.openalpr_cloud docs]: /integrations/openalpr_local_cloud -[image_processing.openalpr_local docs]: /integrations/openalpr_local_local +[image_processing.openalpr_cloud docs]: /integrations/openalpr_cloud +[image_processing.openalpr_local docs]: /integrations/openalpr_local [image_processing.opencv docs]: /integrations/opencv [image_processing.seven_segments docs]: /integrations/seven_segments [kira docs]: /integrations/kira/ diff --git a/source/_posts/2017-06-04-release-46.markdown b/source/_posts/2017-06-04-release-46.markdown index 2d729a7e088..42b11dc9d2d 100644 --- a/source/_posts/2017-06-04-release-46.markdown +++ b/source/_posts/2017-06-04-release-46.markdown @@ -100,7 +100,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Always return rgb color of bulbs ([@w1ll1am23] - [#7743]) ([light.wink docs]) - Redesign monitored variables for hp_ilo sensor ([@Juggels] - [#7534]) ([sensor.hp_ilo docs]) (breaking change) - Fix time_date sensor to update at predictable intervals ([@stu-gott] - [#7644]) ([sensor.time_date docs]) -- Added new commands and functionality to the harmony remote component. ([@everix1992] - [#7113]) ([remote docs]) ([remote.harmony docs]) ([remote.services.yaml docs]) +- Added new commands and functionality to the harmony remote component. ([@everix1992] - [#7113]) ([remote docs]) ([remote.harmony docs]) (remote.services.yaml docs) - Template light ([@cribbstechnologies] - [#7657]) ([light.template docs]) (new-platform) - Exclude filter for event types ([@amigian74] - [#7627]) - Change setup script to use pip install instead of setup.py develop ([@hoh] - [#7756]) @@ -329,7 +329,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [hassio docs]: /integrations/hassio/ [homematic docs]: /integrations/homematic/ [image_processing.seven_segments docs]: /integrations/seven_segments -[insteon_local docs]: /integrations/insteon_local/ +[insteon_local docs]: /integrations/insteon/ [ios docs]: /integrations/ios/ [light.__init__ docs]: /integrations/light.__init__/ [light.flux_led docs]: /integrations/flux_led @@ -355,7 +355,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [recorder.__init__ docs]: /integrations/recorder.__init__/ [remote docs]: /integrations/remote/ [remote.harmony docs]: /integrations/harmony -[remote.services.yaml docs]: /integrations/remote.services.yaml/ [scene.hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview [sensor.amcrest docs]: /integrations/amcrest [sensor.arlo docs]: /integrations/arlo#sensor diff --git a/source/_posts/2017-07-02-release-48.markdown b/source/_posts/2017-07-02-release-48.markdown index dc3ec6883ae..c8eb2232a3c 100644 --- a/source/_posts/2017-07-02-release-48.markdown +++ b/source/_posts/2017-07-02-release-48.markdown @@ -448,12 +448,12 @@ light: [digital_ocean docs]: /integrations/digital_ocean/ [fan.comfoconnect docs]: /integrations/comfoconnect [fan.dyson docs]: /integrations/dyson#fan -[fan.insteon_local docs]: /integrations/insteon_local/ +[fan.insteon_local docs]: /integrations/insteon/ [group docs]: /integrations/group/ [image_processing.opencv docs]: /integrations/opencv [influxdb docs]: /integrations/influxdb/ [insteon_hub docs]: /integrations/insteon/ -[insteon_local docs]: /integrations/insteon_local/ +[insteon_local docs]: /integrations/insteon/ [knx docs]: /integrations/knx/ [light.decora docs]: /integrations/decora [light.isy994 docs]: /integrations/isy994 diff --git a/source/_posts/2017-08-12-release-51.markdown b/source/_posts/2017-08-12-release-51.markdown index a6ba4d72f04..76f8cd2fb65 100644 --- a/source/_posts/2017-08-12-release-51.markdown +++ b/source/_posts/2017-08-12-release-51.markdown @@ -376,7 +376,7 @@ vacuum: [history docs]: /integrations/history/ [image_processing.opencv docs]: /integrations/opencv [influxdb docs]: /integrations/influxdb/ -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [light.decora_wifi docs]: /integrations/decora_wifi/ [light.flux_led docs]: /integrations/flux_led [light.lifx docs]: /integrations/lifx diff --git a/source/_posts/2017-08-26-release-0-52.markdown b/source/_posts/2017-08-26-release-0-52.markdown index 9c3015ca550..c652c8b9090 100644 --- a/source/_posts/2017-08-26-release-0-52.markdown +++ b/source/_posts/2017-08-26-release-0-52.markdown @@ -324,7 +324,7 @@ usps: [fan.isy994 docs]: /integrations/isy994 [image_processing.dlib_face_detect docs]: /integrations/dlib_face_detect [image_processing.dlib_face_identify docs]: /integrations/dlib_face_identify -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [light.decora_wifi docs]: /integrations/decora_wifi/ [light.flux_led docs]: /integrations/flux_led [light.hue docs]: /integrations/hue diff --git a/source/_posts/2017-09-09-release-53.markdown b/source/_posts/2017-09-09-release-53.markdown index a338fe77087..80dc891e302 100644 --- a/source/_posts/2017-09-09-release-53.markdown +++ b/source/_posts/2017-09-09-release-53.markdown @@ -385,7 +385,7 @@ frontend: [image_processing.dlib_face_detect docs]: /integrations/dlib_face_detect [image_processing.dlib_face_identify docs]: /integrations/dlib_face_identify [input_text docs]: /integrations/input_text/ -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [light.homematic docs]: /integrations/homematic [light.hue docs]: /integrations/hue [light.lutron_caseta docs]: /integrations/lutron_caseta/ diff --git a/source/_posts/2017-10-07-release-55.markdown b/source/_posts/2017-10-07-release-55.markdown index adc6adc4ccf..1db919b9b96 100644 --- a/source/_posts/2017-10-07-release-55.markdown +++ b/source/_posts/2017-10-07-release-55.markdown @@ -321,7 +321,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [cover.rflink docs]: /integrations/cover.rflink/ [demo docs]: /integrations/demo/ [device_tracker.owntracks docs]: /integrations/owntracks -[device_tracker.owntracks_http docs]: /integrations/owntracks_http/ +[device_tracker.owntracks_http docs]: /integrations/owntracks [duckdns docs]: /integrations/duckdns/ [ecobee docs]: /integrations/ecobee/ [emulated_hue docs]: /integrations/emulated_hue/ diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown index 6346353164c..0ca7bae43dc 100644 --- a/source/_posts/2017-11-04-release-57.markdown +++ b/source/_posts/2017-11-04-release-57.markdown @@ -213,7 +213,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Add Sytadin Traffic component ([@gautric] - [#9524]) ([sensor.sytadin docs]) (new-platform) - media_title property now returns current source ([@etsinko] - [#10120]) ([media_player.monoprice docs]) - Added new Clickatell SMS messaging Notify Platform ([@davlloyd] - [#9775]) ([notify.clickatell docs]) (new-platform) -- update boto3 to 1.4.7 and botocore to 1.7.34 ([@TopdRob] - [#10121]) (notify.aws_lambda docs) ([notify.aws_sns docs]) ([notify.aws_sqs docs]) ([tts.amazon_polly docs]) +- update boto3 to 1.4.7 and botocore to 1.7.34 ([@TopdRob] - [#10121]) (notify.aws_lambda docs) ([notify.aws_sns docs]) (notify.aws_sqs docs) ([tts.amazon_polly docs]) - Add Random binary sensor ([@fabaff] - [#10164]) ([binary_sensor.random docs]) (new-platform) - Add clickatell ([@fabaff] - [#10199]) - Update CODEOWNERS ([@ggravlingen] - [#10198]) @@ -587,7 +587,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [namecheapdns docs]: /integrations/namecheapdns/ [no_ip docs]: /integrations/no_ip/ [notify.aws_sns docs]: /integrations/notify.aws_sns/ -[notify.aws_sqs docs]: /integrations/notify.aws_sqs/ [notify.clickatell docs]: /integrations/clickatell [notify.sendgrid docs]: /integrations/sendgrid [notify.yessssms docs]: /integrations/yessssms diff --git a/source/_posts/2018-01-14-release-61.markdown b/source/_posts/2018-01-14-release-61.markdown index aeb9d3abe23..64aaae1f4e4 100644 --- a/source/_posts/2018-01-14-release-61.markdown +++ b/source/_posts/2018-01-14-release-61.markdown @@ -666,7 +666,7 @@ Note however, that this feature was replaced by a new ignore_string config optio [device_tracker.snmp docs]: /integrations/snmp [device_tracker.tile docs]: /integrations/tile [digital_ocean docs]: /integrations/digital_ocean/ -[fan.insteon_local docs]: /integrations/insteon_local/ +[fan.insteon_local docs]: /integrations/insteon/ [fan.isy994 docs]: /integrations/isy994 [fan.xiaomi_miio docs]: /integrations/fan.xiaomi_miio/ [google_assistant docs]: /integrations/google_assistant/ @@ -681,7 +681,7 @@ Note however, that this feature was replaced by a new ignore_string config optio [image_processing.opencv docs]: /integrations/opencv [input_boolean docs]: /integrations/input_boolean/ [input_select docs]: /integrations/input_select/ -[insteon_local docs]: /integrations/insteon_local/ +[insteon_local docs]: /integrations/insteon/ [isy994 docs]: /integrations/isy994/ [knx docs]: /integrations/knx/ [light.deconz docs]: /integrations/deconz#light diff --git a/source/_posts/2018-02-10-release-63.markdown b/source/_posts/2018-02-10-release-63.markdown index 1182b2a81d3..fe695202524 100644 --- a/source/_posts/2018-02-10-release-63.markdown +++ b/source/_posts/2018-02-10-release-63.markdown @@ -51,7 +51,7 @@ We're planning a lot of cool stuff around the entity registry. Stay tuned! ## Release 0.63.2 - February 14 -- Fix MercedesMe - add check for unsupported features ([@ReneNulschDE] - [#12342]) ([mercedesme docs]) (binary_sensor.mercedesme docs) ([device_tracker.mercedesme docs]) ([sensor.mercedesme docs]) +- Fix MercedesMe - add check for unsupported features ([@ReneNulschDE] - [#12342]) (mercedesme docs) (binary_sensor.mercedesme docs) (device_tracker.mercedesme docs) (sensor.mercedesme docs) - Fix WUnderground names ([@OttoWinter] - [#12346]) ([sensor.wunderground docs]) - Updated beacontools ([@citruz] - [#12368]) ([sensor.eddystone_temperature docs]) - Introduce zone_id to identify player+zone ([@sdague] - [#12382]) ([media_player.yamaha docs]) @@ -226,7 +226,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Canary live stream ([@snjoetw] - [#11949]) ([canary docs]) ([camera.canary docs]) (breaking change) - Replace Gitter with Discord ([@fabaff] - [#12199]) - Upgrade Sphinx to 1.6.7 ([@fabaff] - [#12200]) -- Change attributes in new Mercedes Me component ([@ReneNulschDE] - [#12147]) ([mercedesme docs]) (binary_sensor.mercedesme docs) ([device_tracker.mercedesme docs]) ([sensor.mercedesme docs]) +- Change attributes in new Mercedes Me component ([@ReneNulschDE] - [#12147]) (mercedesme docs) (binary_sensor.mercedesme docs) (device_tracker.mercedesme docs) (sensor.mercedesme docs) - Binary Sensor Template: Add icon_template and entity_picture_template support ([@hawk259] - [#12158]) ([binary_sensor.template docs]) - Bump pyeconet version to fix JSONDecodeError ([@w1ll1am23] - [#12204]) ([climate.econet docs]) - Add support for Alexa.StepSpeaker ([@lucasweb78] - [#12183]) ([alexa docs]) @@ -528,7 +528,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [cover.template docs]: /integrations/cover.template/ [deconz docs]: /integrations/deconz/ [device_tracker.huawei_router docs]: /integrations/huawei_router -[device_tracker.mercedesme docs]: /integrations/device_tracker.mercedesme/ [device_tracker.mikrotik docs]: /integrations/mikrotik [device_tracker.mqtt docs]: /integrations/device_tracker.mqtt/ [device_tracker.owntracks docs]: /integrations/owntracks @@ -543,7 +542,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [group docs]: /integrations/group/ [homematic docs]: /integrations/homematic/ [http docs]: /integrations/http/ -[image_processing.openalpr_cloud docs]: /integrations/openalpr_local_cloud +[image_processing.openalpr_cloud docs]: /integrations/openalpr_cloud [influxdb docs]: /integrations/influxdb/ [input_text docs]: /integrations/input_text/ [ios docs]: /integrations/ios/ @@ -572,7 +571,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [media_player.volumio docs]: /integrations/volumio [media_player.webostv docs]: /integrations/webostv#media-player [melissa docs]: /integrations/melissa/ -[mercedesme docs]: /integrations/mercedesme/ [mochad docs]: /integrations/mochad/ [notify.gntp docs]: /integrations/gntp [notify.kodi docs]: /integrations/kodi @@ -592,7 +590,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.deutsche_bahn docs]: /integrations/deutsche_bahn [sensor.fritzbox_callmonitor docs]: /integrations/fritzbox#sensor_callmonitor/ [sensor.melissa docs]: /integrations/melissa/ -[sensor.mercedesme docs]: /integrations/sensor.mercedesme/ [sensor.miflora docs]: /integrations/miflora [sensor.onewire docs]: /integrations/onewire [sensor.pollen docs]: /integrations/iqvia @@ -653,12 +650,9 @@ Experiencing issues introduced by this release? Please report them in our [issue [@amelchio]: https://github.com/amelchio [@citruz]: https://github.com/citruz [@sdague]: https://github.com/sdague -[device_tracker.mercedesme docs]: /integrations/device_tracker.mercedesme/ [light.limitlessled docs]: /integrations/limitlessled -[media_player.yamaha docs]: /integrations/yamaha -[mercedesme docs]: /integrations/mercedesme/ +[media_player.yamaha docs]: /integrations/yamah [sensor.eddystone_temperature docs]: /integrations/eddystone_temperature -[sensor.mercedesme docs]: /integrations/sensor.mercedesme/ [sensor.wunderground docs]: /integrations/wunderground [#12392]: https://github.com/home-assistant/home-assistant/pull/12392 [#12421]: https://github.com/home-assistant/home-assistant/pull/12421 diff --git a/source/_posts/2018-03-09-release-65.markdown b/source/_posts/2018-03-09-release-65.markdown index cf971dc800e..1c76851490c 100644 --- a/source/_posts/2018-03-09-release-65.markdown +++ b/source/_posts/2018-03-09-release-65.markdown @@ -178,7 +178,7 @@ Experiencing issues introduced by this release? Please report them in our [issue ## Breaking Changes -- Insteon PLM: If you have created platform overrides in your configuration.yaml file to change a your INSTEON device to map to a different Home Assistant platform, that mapping will no longer be in effect. Please see the new device override capabilities in the [insteon_plm documentation](/integrations/insteon_plm/). ([@teharris1] - [#12534]) ([insteon_plm docs]) ([binary_sensor.insteon_plm docs]) ([fan.insteon_plm docs]) ([light.insteon_plm docs]) ([sensor.insteon_plm docs]) ([switch.insteon_plm docs]) (breaking change) +- Insteon PLM: If you have created platform overrides in your configuration.yaml file to change a your INSTEON device to map to a different Home Assistant platform, that mapping will no longer be in effect. Please see the new device override capabilities in the [insteon_plm documentation](/integrations/insteon/). ([@teharris1] - [#12534]) ([insteon_plm docs]) ([binary_sensor.insteon_plm docs]) ([fan.insteon_plm docs]) ([light.insteon_plm docs]) ([sensor.insteon_plm docs]) ([switch.insteon_plm docs]) (breaking change) - AirVisual's air index unit is AQI (Air Quality Index), not PSI (Pressure per Square Inch). ([@chilicheech] - [#12730]) ([sensor.airvisual docs]) (breaking change) - TekSavvy Sensor: The sensor entity id for peak upload usage used to be `sensor.teksavvy_on_peak_upload_` this has been changed to `sensor.teksavvy_on_peak_upload`. The `usage` title was shared between and therefore indeterminate between GB and % usage. Therefore % usage entity ID has been changed to `sensor.teksavvy_usage_ratio` ([@mikeodr] - [#12325]) ([sensor.teksavvy docs]) (breaking change) - Egardia redesign - generic component and sensor support ([@jeroenterheerdt] - [#11994]) ([egardia docs]) ([alarm_control_panel.egardia docs]) ([binary_sensor.egardia docs]) (breaking change) (new-platform) @@ -549,7 +549,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [binary_sensor.concord232 docs]: /integrations/concord232#binary-sensor [binary_sensor.egardia docs]: /integrations/egardia#binary-sensor [binary_sensor.hikvision docs]: /integrations/hikvision -[binary_sensor.insteon_plm docs]: /integrations/insteon_plm/ +[binary_sensor.insteon_plm docs]: /integrations/insteon/ [binary_sensor.isy994 docs]: /integrations/isy994 [binary_sensor.knx docs]: /integrations/binary_sensor.knx/ [binary_sensor.upcloud docs]: /integrations/upcloud#binary-sensor @@ -582,7 +582,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [hue docs]: /integrations/hue/ [ihc docs]: /integrations/ihc/ [influxdb docs]: /integrations/influxdb/ -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [knx docs]: /integrations/knx/ [light docs]: /integrations/light/ [light.demo docs]: /integrations/light.demo/ @@ -636,7 +636,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.zestimate docs]: /integrations/zestimate [shopping_list docs]: /integrations/shopping_list/ [switch.edimax docs]: /integrations/edimax -[switch.insteon_plm docs]: /integrations/insteon_plm/ +[switch.insteon_plm docs]: /integrations/insteon/ [switch.rest docs]: /integrations/switch.rest/ [switch.tesla docs]: /integrations/tesla [switch.upcloud docs]: /integrations/upcloud#switch diff --git a/source/_posts/2018-04-14-release-67.markdown b/source/_posts/2018-04-14-release-67.markdown index ce2c50e55bc..6dc2a8690c7 100644 --- a/source/_posts/2018-04-14-release-67.markdown +++ b/source/_posts/2018-04-14-release-67.markdown @@ -56,7 +56,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Updates default Pilight port number ([@frenck] - [#13419]) ([pilight docs]) (breaking change) - Update to new "b2vapi" of BMW ConnectedDrive ([@ChristianKuehnel] - [#13305]) ([bmw_connected_drive docs]) ([binary_sensor.bmw_connected_drive docs]) ([lock.bmw_connected_drive docs]) ([sensor.bmw_connected_drive docs]) (breaking change) -- Remove MercedesME component ([@ReneNulschDE] - [#13538]) ([device_tracker docs]) ([mercedesme docs]) (binary_sensor.mercedesme docs) ([sensor.mercedesme docs]) (breaking change) +- Remove MercedesME component ([@ReneNulschDE] - [#13538]) ([device_tracker docs]) (mercedesme docs) (binary_sensor.mercedesme docs) (sensor.mercedesme docs) (breaking change) - Channel up and down for webostv ([@stephanerosi] - [#13624]) ([media_player.webostv docs]) (breaking change) - Add media type separation for video/movie ([@tadly] - [#13612]) (breaking change) - Added ENTITY_ID_FORMAT import and set entity_id in __init__ ([@timmo001] - [#13642]) ([switch.broadlink docs]) (breaking change) @@ -108,7 +108,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Added HassOpenCover and HassCloseCover intents ([@tschmidty69] - [#13372]) ([conversation docs]) ([cover docs]) - rfxtrx lib 0.22.0 ([@Danielhiversen] - [#13576]) ([rfxtrx docs]) - xiaomi lib upgrade ([@Danielhiversen] - [#13577]) ([xiaomi_aqara docs]) -- Remove MercedesME component ([@ReneNulschDE] - [#13538]) ([device_tracker docs]) ([mercedesme docs]) (binary_sensor.mercedesme docs) ([sensor.mercedesme docs]) (breaking change) +- Remove MercedesME component ([@ReneNulschDE] - [#13538]) ([device_tracker docs]) (mercedesme docs) (binary_sensor.mercedesme docs) (sensor.mercedesme docs) (breaking change) - Added Waze travel time sensor ([@Myrddyn1] - [#12387]) ([sensor.waze_travel_time docs]) (new-platform) - Added switch component to Amcrest IP Camera. ([@adpriebe] - [#12992]) ([amcrest docs]) ([switch.amcrest docs]) (new-platform) - Upgrade pyhydroquebec 2.2.1 ([@titilambert] - [#13586]) ([sensor.hydroquebec docs]) @@ -354,7 +354,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [freedns docs]: /integrations/freedns/ [homekit docs]: /integrations/homekit/ [hue docs]: /integrations/hue/ -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [light docs]: /integrations/light/ [light.nanoleaf_aurora docs]: /integrations/nanoleaf/ [light.hue docs]: /integrations/hue @@ -371,7 +371,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [media_player.philips_js docs]: /integrations/philips_js [media_player.songpal docs]: /integrations/songpal [media_player.webostv docs]: /integrations/webostv#media-player -[mercedesme docs]: /integrations/mercedesme/ [mqtt docs]: /integrations/mqtt/ [mysensors docs]: /integrations/mysensors/ [notify docs]: /integrations/notify/ @@ -387,7 +386,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.file docs]: /integrations/file#sensor [sensor.hydroquebec docs]: /integrations/hydroquebec [sensor.imap_email_content docs]: /integrations/imap_email_content/ -[sensor.mercedesme docs]: /integrations/sensor.mercedesme/ [sensor.plex docs]: /integrations/plex#sensor [sensor.qnap docs]: /integrations/qnap [sensor.qwikswitch docs]: /integrations/qwikswitch diff --git a/source/_posts/2018-05-11-release-69.markdown b/source/_posts/2018-05-11-release-69.markdown index 24e1152ffe2..a6e3e3207e4 100644 --- a/source/_posts/2018-05-11-release-69.markdown +++ b/source/_posts/2018-05-11-release-69.markdown @@ -376,7 +376,7 @@ rainmachine: [auth docs]: /integrations/auth/ [binary_sensor docs]: /integrations/binary_sensor/ [binary_sensor.deconz docs]: /integrations/deconz#binary-sensor -[binary_sensor.insteon_plm docs]: /integrations/insteon_plm/ +[binary_sensor.insteon_plm docs]: /integrations/insteon/ [binary_sensor.tapsaff docs]: /integrations/tapsaff [binary_sensor.trend docs]: /integrations/trend [binary_sensor.workday docs]: /integrations/workday @@ -405,7 +405,7 @@ rainmachine: [image_processing.microsoft_face_identify docs]: /integrations/microsoft_face_identify [image_processing.opencv docs]: /integrations/opencv [influxdb docs]: /integrations/influxdb/ -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [light.deconz docs]: /integrations/deconz#light [light.flux_led docs]: /integrations/flux_led [light.hue docs]: /integrations/hue @@ -466,7 +466,7 @@ rainmachine: [sensor.yweather docs]: /integrations/yweather [switch.deluge docs]: /integrations/deluge#switch [switch.fritzbox docs]: /integrations/fritzbox -[switch.insteon_plm docs]: /integrations/insteon_plm/ +[switch.insteon_plm docs]: /integrations/insteon/ [switch.mqtt docs]: /integrations/switch.mqtt/ [switch.rainmachine docs]: /integrations/rainmachine#switch [switch.xiaomi_aqara docs]: /integrations/switch.xiaomi_aqara/ diff --git a/source/_posts/2018-05-18-release-70.markdown b/source/_posts/2018-05-18-release-70.markdown index a3a8c75489f..6e05762d28c 100644 --- a/source/_posts/2018-05-18-release-70.markdown +++ b/source/_posts/2018-05-18-release-70.markdown @@ -379,7 +379,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [homematicip_cloud docs]: /integrations/homematicip_cloud/ [http docs]: /integrations/http/ [image_processing.facebox docs]: /integrations/facebox -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [iota docs]: /integrations/iota/ [isy994 docs]: /integrations/isy994/ [konnected docs]: /integrations/konnected/ diff --git a/source/_posts/2018-06-22-release-72.markdown b/source/_posts/2018-06-22-release-72.markdown index 80140475db8..535e0dddd2e 100644 --- a/source/_posts/2018-06-22-release-72.markdown +++ b/source/_posts/2018-06-22-release-72.markdown @@ -426,7 +426,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [hassio docs]: /integrations/hassio/ [hue docs]: /integrations/hue/ [image_processing.facebox docs]: /integrations/facebox -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [konnected docs]: /integrations/konnected/ [light.deconz docs]: /integrations/deconz#light [light.lifx docs]: /integrations/lifx @@ -485,7 +485,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.xiaomi_miio docs]: /integrations/sensor.xiaomi_miio/ [sonos docs]: /integrations/sonos/ [switch.doorbird docs]: /integrations/doorbird#switch -[switch.insteon_plm docs]: /integrations/insteon_plm/ +[switch.insteon_plm docs]: /integrations/insteon/ [switch.linode docs]: /integrations/linode#switch [switch.mystrom docs]: /integrations/mystrom#switch [switch.neato docs]: /integrations/neato#switch diff --git a/source/_posts/2018-07-06-release-73.markdown b/source/_posts/2018-07-06-release-73.markdown index e503bc74362..6f7e88313b5 100644 --- a/source/_posts/2018-07-06-release-73.markdown +++ b/source/_posts/2018-07-06-release-73.markdown @@ -288,7 +288,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [http docs]: /integrations/http/ [hue docs]: /integrations/hue/ [image_processing.opencv docs]: /integrations/opencv -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [light.deconz docs]: /integrations/deconz#light [light.flux_led docs]: /integrations/flux_led [light.homekit_controller docs]: /integrations/homekit_controller diff --git a/source/_posts/2018-07-16-release-73-2.markdown b/source/_posts/2018-07-16-release-73-2.markdown index 915455d8481..90d8a8de1bd 100644 --- a/source/_posts/2018-07-16-release-73-2.markdown +++ b/source/_posts/2018-07-16-release-73-2.markdown @@ -23,7 +23,7 @@ After research, the following integrations have been impacted. Although the odds - [google_assistant](/integrations/google_assistant/) (manual setup) - [google_domains](/integrations/google_domains/) - [homematicip_cloud](/integrations/homematicip_cloud/) -- [image_processing.openalpr_cloud](/integrations/openalpr_local_cloud) +- [image_processing.openalpr_cloud](/integrations/openalpr_cloud) - [microsoft_face](/integrations/microsoft_face/) - [namecheapdns](/integrations/namecheapdns/) - [no_ip](/integrations/no_ip/) diff --git a/source/_posts/2018-07-21-release-74.markdown b/source/_posts/2018-07-21-release-74.markdown index e4dd8c0f426..0e401457e72 100644 --- a/source/_posts/2018-07-21-release-74.markdown +++ b/source/_posts/2018-07-21-release-74.markdown @@ -397,7 +397,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.enocean docs]: /integrations/enocean#switch [switch.eufy docs]: /integrations/eufy [switch.fritzbox docs]: /integrations/fritzbox -[switch.insteon_plm docs]: /integrations/insteon_plm/ +[switch.insteon_plm docs]: /integrations/insteon/ [switch.tuya docs]: /integrations/tuya [tahoma docs]: /integrations/tahoma/ [tts docs]: /integrations/tts/ diff --git a/source/_posts/2018-08-03-release-75.markdown b/source/_posts/2018-08-03-release-75.markdown index 088097ae572..cf3f8c2e08a 100644 --- a/source/_posts/2018-08-03-release-75.markdown +++ b/source/_posts/2018-08-03-release-75.markdown @@ -313,7 +313,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [auth docs]: /integrations/auth/ [binary_sensor.alarmdecoder docs]: /integrations/alarmdecoder [binary_sensor.ihc docs]: /integrations/ihc#binary-sensor -[binary_sensor.insteon_plm docs]: /integrations/insteon_plm/ +[binary_sensor.insteon_plm docs]: /integrations/insteon/ [binary_sensor.tahoma docs]: /integrations/tahoma [binary_sensor.trend docs]: /integrations/trend [calendar.todoist docs]: /integrations/todoist @@ -335,7 +335,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [fan docs]: /integrations/fan/ [fan.comfoconnect docs]: /integrations/comfoconnect [fan.dyson docs]: /integrations/dyson#fan -[fan.insteon_local docs]: /integrations/insteon_local/ +[fan.insteon_local docs]: /integrations/insteon/ [fan.template docs]: /integrations/fan.template/ [fan.tuya docs]: /integrations/tuya [fan.wink docs]: /integrations/wink#fan @@ -347,7 +347,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [http docs]: /integrations/http/ [ihc docs]: /integrations/ihc/ [image_processing.opencv docs]: /integrations/opencv -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_plm docs]: /integrations/insteon/ [light docs]: /integrations/light/ [light.deconz docs]: /integrations/deconz#light [light.futurenow docs]: /integrations/futurenow @@ -398,7 +398,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [spider docs]: /integrations/spider/ [switch docs]: /integrations/switch/ [switch.ihc docs]: /integrations/ihc#switch -[switch.insteon_plm docs]: /integrations/insteon_plm/ +[switch.insteon_plm docs]: /integrations/insteon/ [switch.mqtt docs]: /integrations/switch.mqtt/ [switch.spider docs]: /integrations/spider [switch.tplink docs]: /integrations/tplink diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index 8fe6fffb297..692fd0d74e3 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -448,8 +448,8 @@ Experiencing issues introduced by this release? Please report them in our [issue [http docs]: /integrations/http/ [image_processing.opencv docs]: /integrations/opencv [input_datetime docs]: /integrations/input_datetime/ -[insteon_local docs]: /integrations/insteon_local/ -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_local docs]: /integrations/insteon/ +[insteon_plm docs]: /integrations/insteon/ [konnected docs]: /integrations/konnected/ [light.deconz docs]: /integrations/deconz#light [light.wemo docs]: /integrations/wemo diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown index 0e20cebb9b6..4351081033e 100644 --- a/source/_posts/2018-10-12-release-80.markdown +++ b/source/_posts/2018-10-12-release-80.markdown @@ -600,8 +600,8 @@ Experiencing issues introduced by this release? Please report them in our [issue [automation.webhook docs]: /docs/automation/trigger/#webhook-trigger [binary_sensor.blink docs]: /integrations/blink [binary_sensor.bmw_connected_drive docs]: /integrations/bmw_connected_drive -[binary_sensor.ffmpeg_motion docs]: /integrations/ffmpeg_motion_motion/ -[binary_sensor.ffmpeg_noise docs]: /integrations/ffmpeg_motion_noise/ +[binary_sensor.ffmpeg_motion docs]: /integrations/ffmpeg_motion/ +[binary_sensor.ffmpeg_noise docs]: /integrations/ffmpeg_noise/ [binary_sensor.fritzbox docs]: /integrations/fritzbox [binary_sensor.mqtt docs]: /integrations/binary_sensor.mqtt/ [binary_sensor.openuv docs]: /integrations/openuv diff --git a/source/_posts/2018-11-28-release-83.markdown b/source/_posts/2018-11-28-release-83.markdown index 8fd672c6723..eb8198d2c23 100644 --- a/source/_posts/2018-11-28-release-83.markdown +++ b/source/_posts/2018-11-28-release-83.markdown @@ -38,7 +38,7 @@ Note, this release includes a migration to add an index to speed up the logbook - Implemented tplink_lte components and notify service via SMS ([@andtos90] - [#17111]) ([notify docs]) ([tplink_lte docs]) (new-platform) - Add Traccar device tracker ([@ludeeus] - [#18200]) ([device_tracker docs]) (new-platform) - Add support for Google Home device tracking ([@ludeeus] - [#18190]) ([device_tracker docs]) (new-platform) -- Add Norwegian Public Transportation sensor (Ruter). ([@ludeeus] - [#18237]) ([sensor.ruter docs]) (new-platform) +- Add Norwegian Public Transportation sensor (Ruter). ([@ludeeus] - [#18237]) (sensor.ruter docs) (new-platform) - Split out geofency with a component and platform. The geofency device_tracker platform no longer takes any configuration. The configuration needs to be applied to the component geofency instead. The platform will be automatically loaded with the component. ([@rohankapoorcom] - [#17933]) ([device_tracker docs]) ([geofency docs]) (breaking change) (new-platform) - Add support for Lupusec alarm control panel ([@majuss] - [#17691]) ([lupusec docs]) ([alarm_control_panel.lupusec docs]) ([binary_sensor.lupusec docs]) ([switch.lupusec docs]) (new-platform) - Add upload and download sensors and component for asuswrt ([@kennedyshead] - [#17757]) ([asuswrt docs]) ([device_tracker docs]) ([sensor.asuswrt docs]) (breaking change) (new-platform) @@ -181,7 +181,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - fixed wording that may confuse user ([@eliseomartelli] - [#18628]) (beta fix) - Updated webhook_register, version bump pypoint ([@fredrike] - [#18635]) ([point docs]) (beta fix) - Fix vol Dict -> dict ([@bramkragten] - [#18637]) ([lovelace docs]) (beta fix) -- Set correct default offset ([@ludeeus] - [#18678]) ([sensor.ruter docs]) (beta fix) +- Set correct default offset ([@ludeeus] - [#18678]) (sensor.ruter docs) (beta fix) - Add permission checks to Rest API ([@balloob] - [#18639]) ([api docs]) ([http docs]) (beta fix) - Fix logbook filtering entities ([@balloob] - [#18721]) ([logbook docs]) (beta fix) - Async tests for owntracks device tracker ([@armills] - [#18681]) (beta fix) @@ -252,7 +252,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Normalize MAC addresses ([@balloob] - [#16916]) - HmIP thermostat fix with operations ([@pvizeli] - [#18068]) ([climate.homematic docs]) - Update PR checklist with commented out code check ([@armills] - [#18272]) -- Add Norwegian Public Transportation sensor (Ruter). ([@ludeeus] - [#18237]) ([sensor.ruter docs]) (new-platform) +- Add Norwegian Public Transportation sensor (Ruter). ([@ludeeus] - [#18237]) (sensor.ruter docs) (new-platform) - Split out geofency with a component and platform ([@rohankapoorcom] - [#17933]) ([device_tracker docs]) ([geofency docs]) (breaking change) (new-platform) - Use async_add_executor_job at the xiaomi_miio platforms ([@syssi] - [#18294]) ([device_tracker docs]) ([fan.xiaomi_miio docs]) ([light.xiaomi_miio docs]) ([remote.xiaomi_miio docs]) ([sensor.xiaomi_miio docs]) ([switch.xiaomi_miio docs]) ([vacuum.xiaomi_miio docs]) - Remove skipped device tracker tests ([@armills] - [#18291]) @@ -265,7 +265,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Upgrade hdate to 0.7.5 ([@tsvi] - [#18296]) ([sensor.jewish_calendar docs]) - Add SUPPORT_SEEK for DLNA DMR devices + now (better) providing media_image_url for DLNA DMR devices ([@StevenLooman] - [#18157]) ([upnp docs]) ([media_player.dlna_dmr docs]) - Add upload and download sensors and component for asuswrt ([@kennedyshead] - [#17757]) ([asuswrt docs]) ([device_tracker docs]) ([sensor.asuswrt docs]) (breaking change) (new-platform) -- Update pyruter to 1.1.0 to be able to reuse aiohttp session. ([@ludeeus] - [#18310]) ([sensor.ruter docs]) +- Update pyruter to 1.1.0 to be able to reuse aiohttp session. ([@ludeeus] - [#18310]) (sensor.ruter docs) - Make flux switch async ([@jawilson] - [#18277]) ([switch.flux docs]) - Add support for 17track.net package sensors ([@bachya] - [#18038]) ([sensor.seventeentrack docs]) (new-platform) - Added optional precision configuration option to generic_thermostat. ([@partofthething] - [#18317]) ([climate.generic_thermostat docs]) @@ -380,7 +380,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - fixed wording that may confuse user ([@eliseomartelli] - [#18628]) (beta fix) - Updated webhook_register, version bump pypoint ([@fredrike] - [#18635]) ([point docs]) (beta fix) - Fix vol Dict -> dict ([@bramkragten] - [#18637]) ([lovelace docs]) (beta fix) -- Set correct default offset ([@ludeeus] - [#18678]) ([sensor.ruter docs]) (beta fix) +- Set correct default offset ([@ludeeus] - [#18678]) (sensor.ruter docs) (beta fix) - Add permission checks to Rest API ([@balloob] - [#18639]) ([api docs]) ([http docs]) (beta fix) - Fix logbook filtering entities ([@balloob] - [#18721]) ([logbook docs]) (beta fix) - Async tests for owntracks device tracker ([@armills] - [#18681]) (beta fix) @@ -781,7 +781,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.point docs]: /integrations/point#sensor [sensor.pollen docs]: /integrations/iqvia [sensor.rainmachine docs]: /integrations/rainmachine -[sensor.ruter docs]: /integrations/sensor.ruter/ [sensor.season docs]: /integrations/season [sensor.seventeentrack docs]: /integrations/seventeentrack [sensor.sql docs]: /integrations/sql diff --git a/source/_posts/2019-01-09-release-85.markdown b/source/_posts/2019-01-09-release-85.markdown index c88540318fe..4c9e9ff3854 100644 --- a/source/_posts/2019-01-09-release-85.markdown +++ b/source/_posts/2019-01-09-release-85.markdown @@ -245,7 +245,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Clean up RFLink tests and add two tests ([@javicalle] - [#19511]) - Add ZHA battery sensor ([@dmulcahey] - [#19363]) ([zha docs]) ([sensor.zha docs]) - Restore state for zha binary_sensors on restart. ([@Adminiuga] - [#19314]) ([binary_sensor.zha docs]) -- Add deprecation warning ([@ludeeus] - [#19515]) ([sensor.ruter docs]) +- Add deprecation warning ([@ludeeus] - [#19515]) (sensor.ruter docs) - Update yale smart alarm client to v0.1.6 ([@domwillcode] - [#19495]) ([alarm_control_panel.yale_smart_alarm docs]) - Add sunrise and sunset to Darksky weather sensor ([@fabaff] - [#19492]) ([sensor.darksky docs]) - Update ZHA entity state on ZigBee zdo device announce ([@dmulcahey] - [#19208]) ([zha docs]) @@ -864,7 +864,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.plum_lightpad docs]: /integrations/plum_lightpad [sensor.point docs]: /integrations/point#sensor [sensor.prezzibenzina docs]: /integrations/prezzibenzina -[sensor.ruter docs]: /integrations/sensor.ruter/ [sensor.scrape docs]: /integrations/scrape [sensor.seventeentrack docs]: /integrations/seventeentrack [sensor.solaredge docs]: /integrations/solaredge diff --git a/source/_posts/2019-02-20-release-88.markdown b/source/_posts/2019-02-20-release-88.markdown index da58c0cfc5d..7c676456642 100644 --- a/source/_posts/2019-02-20-release-88.markdown +++ b/source/_posts/2019-02-20-release-88.markdown @@ -206,13 +206,13 @@ Experiencing issues introduced by this release? Please report them in our [issue - Add ZHA binary sensor tests ([@dmulcahey] - [#20711]) - Add ZHA fan tests ([@dmulcahey] - [#20712]) - Add ZHA light tests ([@dmulcahey] - [#20713]) -- Add google home alarm sensor ([@eliseomartelli] - [#20709]) ([googlehome docs]) (new-platform) +- Add google home alarm sensor ([@eliseomartelli] - [#20709]) (googlehome docs) (new-platform) - Add missing abbreviations ([@emontnemery] - [#20741]) ([mqtt docs]) - Update pysmartthings to 0.5.0 ([@andrewsayre] - [#20759]) ([smartthings docs]) - Use PLATFORM_SCHEMA_BASE as base schema for additional components. ([@emontnemery] - [#20578]) (breaking change) - Update flake8 to 3.7.5 ([@Danielhiversen] - [#20761]) ([cast docs]) ([device_tracker docs]) ([isy994 docs]) - Modifying MTUs acquisition ([@SupremeSports] - [#20654]) ([sensor.ted5000 docs]) -- Fix googlehome alarm sensor platform ([@eliseomartelli] - [#20742]) ([googlehome docs]) +- Fix googlehome alarm sensor platform ([@eliseomartelli] - [#20742]) (googlehome docs) - SMHI component: Bugfix - calc precipitation ([@helto4real] - [#20745]) ([smhi docs]) - Added HomeKit fan speed based on speed_list ([@nd-net] - [#19767]) ([homekit docs]) (new-feature) - Reproduce states by letting each component opt in on handling state recovery itself ([@elupus] - [#18700]) @@ -649,7 +649,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [feedreader docs]: /integrations/feedreader/ [freedns docs]: /integrations/freedns/ [google_pubsub docs]: /integrations/google_pubsub/ -[googlehome docs]: /integrations/googlehome/ [harmony docs]: /integrations/harmony/ [homekit docs]: /integrations/homekit/ [homematic docs]: /integrations/homematic/ @@ -700,7 +699,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.modbus docs]: /integrations/sensor.modbus/ [sensor.rejseplanen docs]: /integrations/rejseplanen [sensor.speedtest docs]: /integrations/speedtestdotnet -[sensor.speedtestdotnet docs]: /integrations/speedtestdotnetdotnet/ +[sensor.speedtestdotnet docs]: /integrations/speedtestdotnet [sensor.sql docs]: /integrations/sql [sensor.ted5000 docs]: /integrations/ted5000 [sensor.thermoworks_smoke docs]: /integrations/thermoworks_smoke diff --git a/source/_posts/2019-04-24-release-92.markdown b/source/_posts/2019-04-24-release-92.markdown index 37c50ab549e..73dafc2baed 100644 --- a/source/_posts/2019-04-24-release-92.markdown +++ b/source/_posts/2019-04-24-release-92.markdown @@ -1027,8 +1027,8 @@ Experiencing issues introduced by this release? Please report them in our [issue [ifttt docs]: /integrations/ifttt/ [ign_sismologia docs]: /integrations/ign_sismologia/ [influxdb docs]: /integrations/influxdb/ -[insteon_local docs]: /integrations/insteon_local/ -[insteon_plm docs]: /integrations/insteon_plm/ +[insteon_local docs]: /integrations/insteon/ +[insteon_plm docs]: /integrations/insteon/ [introduction docs]: /integrations/introduction/ [lcn docs]: /integrations/lcn/ [light docs]: /integrations/light/ diff --git a/source/_posts/2019-08-28-release-98.markdown b/source/_posts/2019-08-28-release-98.markdown index 40ad7cd4773..e82affce39c 100644 --- a/source/_posts/2019-08-28-release-98.markdown +++ b/source/_posts/2019-08-28-release-98.markdown @@ -806,7 +806,6 @@ anymore. - ([@abmantis] - [#25971]) [geniushub docs]: /integrations/geniushub/ [geonetnz_quakes docs]: /integrations/geonetnz_quakes/ [google_maps docs]: /integrations/google_maps/ -[googlehome docs]: /integrations/googlehome/ [group docs]: /integrations/group/ [heos docs]: /integrations/heos/ [homekit_controller docs]: /integrations/homekit_controller/ From d12924444763f20a36aa0da79a5f71164aec7262 Mon Sep 17 00:00:00 2001 From: Anders Fogh Eriksen Date: Sun, 6 Oct 2019 23:11:14 +0200 Subject: [PATCH 023/289] Bump Python version in Travis CI example (#10635) --- source/_docs/ecosystem/backup/backup_github.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index 1d0845c6085..967585395f0 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -159,7 +159,7 @@ Example .travis.yml ```yaml language: python python: - - "3.5" + - "3.7" before_install: - mv travis_secrets.yaml secrets.yaml - sudo apt-get install -y libudev-dev From c3a027a9a37db6cb149648e089d1c4400b69fe49 Mon Sep 17 00:00:00 2001 From: scheric <38077357+scheric@users.noreply.github.com> Date: Sun, 6 Oct 2019 23:13:26 +0200 Subject: [PATCH 024/289] Update SolarEdge_local documentation (#10611) * update SolarEdge_local documentation * all inverters without a lcd screen * fix broken link * Update solaredge_local.markdown * Update solaredge_local.markdown * Update solaredge_local.markdown * Update solaredge_local.markdown * Update solaredge_local.markdown * Update solaredge_local.markdown * Add unit and icon to template example * Update solaredge_local.markdown --- source/_integrations/solaredge_local.markdown | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/source/_integrations/solaredge_local.markdown b/source/_integrations/solaredge_local.markdown index 90606d16067..d536dc76e91 100644 --- a/source/_integrations/solaredge_local.markdown +++ b/source/_integrations/solaredge_local.markdown @@ -11,14 +11,17 @@ ha_iot_class: Local Polling The `solaredge_local` platform uses the local API available on some SolarEdge Inverters to allow you to get details from your SolarEdge solar power setup and integrate these into your Home Assistant installation. -Only specific models support the local API. The local API is available on the SExxxxH-US models with SetApp as well as European three-phase inverters SEXXK-XXXTXBXX4 models with SetApp like SE3K-E10K, SE12.5K-SE27.6K and SE33.3K. Please check the datasheets carefully if in the section "Additional Features", sub-section "Inverter Commissioning" is present the following line "With the SetApp mobile application using built-in Wi-Fi access point for local connection". +Only specific models support the local API. The local API is available on inverters that do not have an LCD character screen. You can also check the datasheets if in the section "Additional Features", sub-section "Inverter Commissioning" is present the following line "With the SetApp mobile application using built-in Wi-Fi access point for local connection". These inverters also have a part number that ends with a 4. For example: SEXXK-XXXXXBXX4 or SEXXXXH-XXXXXBXX4 -You can check by finding the IP address of your inverter and visiting it in a browser. If it supports the local API, you'll see the SolarEdge logo and a "Commissioning" menu. +You can check if the local API works by finding the IP address of your inverter and visiting it in a browser. If it supports the local API, you'll see a HTML page with the SolarEdge logo and a "Commissioning" menu.
-If your inveter does not support the local API, you can use the [cloud based version](/integrations/solaredge/) instead. + +If your inverter does not support the local API, you can use the [cloud based version](/integrations/solaredge/) +
+ ## Configuration To use the SolarEdge sensors in your installation, add the following to your configuration.yaml file: @@ -26,8 +29,8 @@ To use the SolarEdge sensors in your installation, add the following to your con ```yaml # Example configuration.yaml entry sensor: - platform: solaredge_local - ip_address: IP_ADDRESS + - platform: solaredge_local + ip_address: IP_ADDRES ``` {% configuration %} @@ -64,5 +67,7 @@ sensor: sensors: solaredge_energy_this_year_template: value_template: "{{ (states('sensor.solaredge_energy_this_year') | float / 1000) | round(2) }}" + unit_of_measurement: 'KWh' + icon_template: "mdi:solar-power" ``` {% endraw %} From ac0d298d8d0075a752fce7cc8265b7cc633a9de1 Mon Sep 17 00:00:00 2001 From: Santobert Date: Sun, 6 Oct 2019 23:18:34 +0200 Subject: [PATCH 025/289] Neato config flow (#10356) * inital commit * Update neato.markdown --- source/_integrations/neato.markdown | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/source/_integrations/neato.markdown b/source/_integrations/neato.markdown index 6db41b26cca..bc4a9b03cef 100644 --- a/source/_integrations/neato.markdown +++ b/source/_integrations/neato.markdown @@ -7,11 +7,23 @@ ha_category: - Switch - Vacuum ha_release: 0.33 +ha_config_flow: true --- The `neato` integration allows you to control your [Neato Botvac Connected Robots](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/). -To enable `neato` in your installation, add the following to your `configuration.yaml` file: +To activate `neato` in your installation, you can set it up from the integration screen or add it to your `configuration.yaml` file. + +## Setup the integration via the integrations screen + +Menu: *Configuration* -> *Integrations* + +Search for or select **Neato** from the list and configure the integration. You will need to enter your username and password and whether you are using a Neato or Vorwerk device. +After that, all the entities will automatically show up in Home Assistant. + +## Setup the integration via configuration.yaml + +Add the following to your configuration.yaml: ```yaml # Example configuration.yaml entry From 0283a93c29583556771e15c55761779b42d1220f Mon Sep 17 00:00:00 2001 From: Sebastian Muszynski Date: Sun, 6 Oct 2019 23:24:53 +0200 Subject: [PATCH 026/289] Require the entity_id for all Xiaomi miIO services (#10633) --- source/_integrations/fan.xiaomi_miio.markdown | 38 +++++++++---------- .../_integrations/light.xiaomi_miio.markdown | 16 ++++---- .../_integrations/switch.xiaomi_miio.markdown | 8 ++-- .../_integrations/vacuum.xiaomi_miio.markdown | 12 +++--- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/source/_integrations/fan.xiaomi_miio.markdown b/source/_integrations/fan.xiaomi_miio.markdown index 8e8acf1f0ec..901f1a5c624 100644 --- a/source/_integrations/fan.xiaomi_miio.markdown +++ b/source/_integrations/fan.xiaomi_miio.markdown @@ -311,7 +311,7 @@ Set the fan speed/operation mode. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | | `speed` | no | Fan speed. Valid values are 'Auto', 'Silent', 'Favorite' and 'Idle' | ### Service `fan.xiaomi_miio_set_buzzer_on` (Air Purifier Pro excluded) @@ -320,7 +320,7 @@ Turn the buzzer on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_buzzer_off` (Air Purifier Pro excluded) @@ -328,7 +328,7 @@ Turn the buzzer off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_led_on` (Air Purifiers only) @@ -336,7 +336,7 @@ Turn the led on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_led_off` (Air Purifiers only) @@ -344,7 +344,7 @@ Turn the led off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_child_lock_on` @@ -352,7 +352,7 @@ Turn the child lock on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_child_lock_off` @@ -360,7 +360,7 @@ Turn the child lock off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_led_brightness` (Air Purifier 2S and Air Purifier Pro excluded) @@ -368,7 +368,7 @@ Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off). | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | | `brightness` | no | Brightness, between 0 and 2. | ### Service `fan.xiaomi_miio_set_favorite_level` (Air Purifiers only) @@ -377,7 +377,7 @@ Set the favorite level of the operation mode "favorite". | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | | `level` | no | Level, between 0 and 16. | ### Service `fan.xiaomi_miio_set_auto_detect_on` (Air Purifier 2S and Air Purifier Pro only) @@ -386,7 +386,7 @@ Turn the auto detect on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_auto_detect_off` (Air Purifier 2S and Air Purifier Pro only) @@ -394,7 +394,7 @@ Turn the auto detect off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_learn_mode_on` (Air Purifier 2 only) @@ -402,7 +402,7 @@ Turn the learn mode on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_learn_mode_off` (Air Purifier 2 only) @@ -410,7 +410,7 @@ Turn the learn mode off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_volume` (Air Purifier Pro only) @@ -418,7 +418,7 @@ Set the sound volume. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | | `volume` | no | Volume, between 0 and 100. | ### Service `fan.xiaomi_miio_reset_filter` (Air Purifier 2 only) @@ -427,7 +427,7 @@ Reset the filter lifetime and usage. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_extra_features` (Air Purifier only) @@ -435,7 +435,7 @@ Set the extra features. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | | `features` | no | Integer, known values are 0 and 1. | ### Service `fan.xiaomi_miio_set_target_humidity` (Air Humidifier only) @@ -444,7 +444,7 @@ Set the target humidity. | Service data attribute | Optional | Description | |---------------------------|----------|-----------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | | `humidity` | no | Target humidity. Allowed values are 30, 40, 50, 60, 70 and 80 | ### Service `fan.xiaomi_miio_set_dry_on` (Air Humidifier CA only) @@ -453,7 +453,7 @@ Turn the dry mode on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | ### Service `fan.xiaomi_miio_set_dry_off` (Air Humidifier CA only) @@ -461,4 +461,4 @@ Turn the dry mode off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. | diff --git a/source/_integrations/light.xiaomi_miio.markdown b/source/_integrations/light.xiaomi_miio.markdown index 3a52336e7a4..f6b160f1798 100644 --- a/source/_integrations/light.xiaomi_miio.markdown +++ b/source/_integrations/light.xiaomi_miio.markdown @@ -138,7 +138,7 @@ Set one of the 4 available fixed scenes. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | | `scene` | no | Scene, between 1 and 4. | ### Service `light.xiaomi_miio_set_delayed_turn_off` @@ -147,7 +147,7 @@ Delayed turn off. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | | `time_period` | no | Time period for the delayed turn off. | ### Service `light.xiaomi_miio_reminder_on` (Eyecare Smart Lamp 2 only) @@ -156,7 +156,7 @@ Enable the eye fatigue reminder/notification. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | ### Service `light.xiaomi_miio_reminder_off` (Eyecare Smart Lamp 2 only) @@ -164,7 +164,7 @@ Disable the eye fatigue reminder/notification. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | ### Service `light.xiaomi_miio_night_light_mode_on` (Eyecare Smart Lamp 2 only) @@ -172,7 +172,7 @@ Turn the smart night light mode on. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | ### Service `light.xiaomi_miio_night_light_mode_off` (Eyecare Smart Lamp 2 only) @@ -180,7 +180,7 @@ Turn the smart night light mode off. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | ### Service `light.xiaomi_miio_eyecare_mode_on` (Eyecare Smart Lamp 2 only) @@ -188,7 +188,7 @@ Turn the eyecare mode on. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | ### Service `light.xiaomi_miio_eyecare_mode_off` (Eyecare Smart Lamp 2 only) @@ -196,4 +196,4 @@ Turn the eyecare mode off. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. | diff --git a/source/_integrations/switch.xiaomi_miio.markdown b/source/_integrations/switch.xiaomi_miio.markdown index 89bea373127..17049dc3faf 100644 --- a/source/_integrations/switch.xiaomi_miio.markdown +++ b/source/_integrations/switch.xiaomi_miio.markdown @@ -94,7 +94,7 @@ Turn the wifi led on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miio switch entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | ### Service `switch.xiaomi_miio_set_wifi_led_off` (Power Strip only) @@ -102,7 +102,7 @@ Turn the wifi led off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miio switch entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | ### Service `switch.xiaomi_miio_set_power_price` (Power Strip) @@ -110,7 +110,7 @@ Set the power price. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miio switch entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | | `price` | no | Power price, between 0 and 999. | ### Service `switch.xiaomi_miio_set_power_mode` (Power Strip V1 only) @@ -119,5 +119,5 @@ Set the power mode. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miio switch entity. Else targets all. | +| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. | | `mode` | no | Power mode, valid values are 'normal' and 'green' | diff --git a/source/_integrations/vacuum.xiaomi_miio.markdown b/source/_integrations/vacuum.xiaomi_miio.markdown index cf31fab2000..b00631d5f9d 100644 --- a/source/_integrations/vacuum.xiaomi_miio.markdown +++ b/source/_integrations/vacuum.xiaomi_miio.markdown @@ -68,7 +68,7 @@ Start the remote control mode of the robot. You can then move it with `remote_co | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------| -| `entity_id` | yes | Only act on a specific robot; default targets all | +| `entity_id` | no | Only act on a specific robot | ### Service `vacuum.xiaomi_remote_control_stop` @@ -76,7 +76,7 @@ Exit the remote control mode of the robot. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------| -| `entity_id` | yes | Only act on a specific robot; default targets all | +| `entity_id` | no | Only act on a specific robot | ### Service `vacuum.xiaomi_remote_control_move` @@ -84,7 +84,7 @@ Remote control the robot. Please ensure you first set it in remote control mode | Service data attribute | Optional | Description | |---------------------------|----------|-----------------------------------------------------------| -| `entity_id` | yes | Only act on a specific robot; default targets all | +| `entity_id` | no | Only act on a specific robot | | `velocity` | no | Speed: between -0.29 and 0.29 | | `rotation` | no | Rotation: between -179 degrees and 179 degrees | | `duration` | no | The number of milliseconds that the robot should move for | @@ -95,7 +95,7 @@ Enter remote control mode, make one move, stop, and exit remote control mode. | Service data attribute | Optional | Description | |---------------------------|----------|-----------------------------------------------------------| -| `entity_id` | yes | Only act on a specific robot; default targets all | +| `entity_id` | no | Only act on a specific robot | | `velocity` | no | Speed: between -0.29 and 0.29 | | `rotation` | no | Rotation: between -179 degrees and 179 degrees | | `duration` | no | The number of milliseconds that the robot should move for | @@ -106,9 +106,9 @@ Start the cleaning operation in the areas selected for the number of repeats ind | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on specific robot; default targets all | +| `entity_id` | no | Only act on a specific robot | | `zone` | no | List of zones. Each zone is an array of 4 integer value. Example: [[23510,25311,25110,26361]] | -| `repeats` | no | Number of cleaning repeats for each zone between 1 and 3. | +| `repeats` | no | Number of cleaning repeats for each zone between 1 and 3. | Example of `vacuum.xiaomi_clean_zone` use: From c47bb891272fc06233481e75ea7eb4ad2c1fe20a Mon Sep 17 00:00:00 2001 From: finity69x2 <32221243+finity69x2@users.noreply.github.com> Date: Mon, 7 Oct 2019 06:28:29 -0400 Subject: [PATCH 027/289] clarify how the advanced options need to be added (#10647) --- source/_integrations/life360.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/life360.markdown b/source/_integrations/life360.markdown index 89a1f1268a8..f11c4dd1ee3 100644 --- a/source/_integrations/life360.markdown +++ b/source/_integrations/life360.markdown @@ -17,7 +17,7 @@ You must first [create a Life360 account](https://www.life360.com/websignup). Then in the Home Assistant user interface (UI), click on Configuration in the left pane, then on Integrations and then on the yellow circle in the lower-right corner to "Set up a new integration." Scroll through the list and click on Life360. Enter your Life360 username and password and click SUBMIT. You can add as many Life360 accounts as you like. -If you would like to set any advanced options, see the following section. You may want to do this before entering your Life360 account information in the UI, or you can change it at any time. You can also enter your account information in the configuration file (in addition to, or instead of, the UI) if you prefer. +If you would like to set any advanced options, see the following section. You may want to do this before entering your Life360 account information in the UI, or you can change it at any time. Any of the advanced options you want to set from the section below will need to be set manually in your configuration.yaml file. They are not able to be set from the UI. You can also enter your account information in the configuration file (in addition to, or instead of, the UI) if you prefer. {% configuration %} accounts: From 4b2d43a0b06a1db22a5e7bd9094debbfbf5f8951 Mon Sep 17 00:00:00 2001 From: Fabian Rodriguez Date: Mon, 7 Oct 2019 06:30:19 -0400 Subject: [PATCH 028/289] Added links to Anthem products (#10646) Added links to Anthem products individual overview pages --- source/_integrations/anthemav.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/anthemav.markdown b/source/_integrations/anthemav.markdown index 3d232210814..08bcbe64910 100644 --- a/source/_integrations/anthemav.markdown +++ b/source/_integrations/anthemav.markdown @@ -12,10 +12,10 @@ Both [Anthem]'s current and last generation of A/V Receivers and Processors supp ## Supported Models -* MRX 520, MRX 720, MRX 1120, and AVM 60 -* MRX 310, MRX 510, MRX 710 +* [MRX 520](https://www.anthemav.com/products-current/series=mrx-series-gen3/model=mrx-520/page=overview), [MRX 720](https://www.anthemav.com/products-current/collection=performance/model=mrx-720/page=overview), [MRX 1120](https://www.anthemav.com/products-current/collection=performance/model=mrx-1120/page=overview), and [AVM 60](https://www.anthemav.com/products-current/model=avm-60/page=overview) +* [MRX 310](https://www.anthemav.com/products-archived/type=av-receiver/model=mrx-310/page=overview), [MRX 510](https://www.anthemav.com/products-archived/series=mrx-series/model=mrx-510/page=overview), [MRX 710](https://www.anthemav.com/products-archived/type=av-receiver/model=mrx-710/page=overview) -Support is provided through the Python [anthemav] module. Older, RS-232 serial-based units like the D2v use a different protocol entirely and are not currently supported. +Support is provided through the Python [anthemav] module. Older, RS-232 serial-based units like the [D2v](https://www.anthemav.com/products-current/type=av-processor/model=d2v-3d/page=overview) use a different protocol entirely and are not currently supported. [Anthem]: http://www.anthemav.com/ [anthemav]: https://github.com/nugget/python-anthemav From 6822874da8ba877ce3e48f89d02630b8a902a30b Mon Sep 17 00:00:00 2001 From: Fabian Rodriguez Date: Mon, 7 Oct 2019 06:31:07 -0400 Subject: [PATCH 029/289] Added links to receivers (#10645) Links to receivers spec pages at yamaha.com --- source/_integrations/yamaha.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_integrations/yamaha.markdown b/source/_integrations/yamaha.markdown index d995a428ffe..ce8c04b7ebc 100644 --- a/source/_integrations/yamaha.markdown +++ b/source/_integrations/yamaha.markdown @@ -11,11 +11,11 @@ The `yamaha` platform allows you to control [Yamaha Network Receivers](http://us Supported devices: -- HTR-4065 -- RX-V473 -- RX-V573 -- RX-V673 -- RX-V773 +- [HTR-4065](http://www.yamaha.com/cchtr4065/) +- [RX-V473](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v473/specs.html) +- [RX-V573](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v573/specs.html) +- [RX-V673](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v673/specs.html) +- [RX-V773](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v773/specs.html) - And more To add a Yamaha Network Receiver to your installation, add the following to your `configuration.yaml` file: From 0ee25497daafa8e8e895e28e6c0b45578a3c005f Mon Sep 17 00:00:00 2001 From: Brendon Baumgartner Date: Mon, 7 Oct 2019 03:35:01 -0700 Subject: [PATCH 030/289] speedtest port 8080 (#10644) --- source/_integrations/speedtestdotnet.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/speedtestdotnet.markdown b/source/_integrations/speedtestdotnet.markdown index b6f09865304..fdab413f67e 100644 --- a/source/_integrations/speedtestdotnet.markdown +++ b/source/_integrations/speedtestdotnet.markdown @@ -15,6 +15,8 @@ Enabling this integration will automatically create the Speedtest.net Sensors fo By default, a speed test will be run every hour. The user can change the update frequency in the configuration by defining the `scan_interval` for a speed test to run. +Most Speedtest.net servers require TCP port 8080 outbound to function. Without this port open you may experience significant delays or no results at all. See note on their [help page](https://www.speedtest.net/help). + ## Configuration For the `server_id` check the list of [available servers](https://www.speedtest.net/speedtest-servers.php). From 083351b990596508e594843ede5ab74290e6f1ac Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 7 Oct 2019 18:54:55 +0200 Subject: [PATCH 031/289] Add Netlify header control to improve CouldFlare caching behavior (#10628) * Add Netlify header control to improve CouldFlare caching behavior * Add security headers * Add old school cache busting to Jekyll css/js * Add a little browser cache to assets to improve speed of pages --- _config.yml | 3 ++- source/_headers | 20 ++++++++++++++++++++ source/_includes/javascripts/scripts.html | 2 +- source/_includes/site/head.html | 4 ++-- 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 source/_headers diff --git a/_config.yml b/_config.yml index 1fcd8b3c3e8..992531cb00f 100644 --- a/_config.yml +++ b/_config.yml @@ -134,5 +134,6 @@ defaults: # Support for files Jekyll will normally exclude include: - - ".well-known" + - "_headers" - "_redirects" + - ".well-known" diff --git a/source/_headers b/source/_headers new file mode 100644 index 00000000000..fc8bb7936c7 --- /dev/null +++ b/source/_headers @@ -0,0 +1,20 @@ +/* + Cache-Control: public, max-age: 0, s-max-age=3600, must-revalidate + Content-Security-Policy: form-action https: + Feature-Policy: vibrate 'none'; geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; vibrate 'none'; payment 'none' + Referrer-Policy: strict-origin-when-cross-origin + X-Content-Type-Options: nosniff + X-Frame-Options: DENY + X-XSS-Protection: 1; mode=block +/*.css + Cache-Control: public, max-age: 604800, s-max-age=604800 +/*.js + Cache-Control: public, max-age: 604800, s-max-age=604800 +/assets/* + Cache-Control: public, max-age: 0, s-max-age=604800, must-revalidate +/fonts/* + Cache-Control: public, max-age: 1800, s-max-age=604800, must-revalidate +/images/* + Cache-Control: public, max-age: 1800, s-max-age=604800, must-revalidate +/static/* + Cache-Control: public, max-age: 1800, s-max-age=604800, must-revalidate diff --git a/source/_includes/javascripts/scripts.html b/source/_includes/javascripts/scripts.html index 5f7df97cef5..4330401c789 100644 --- a/source/_includes/javascripts/scripts.html +++ b/source/_includes/javascripts/scripts.html @@ -5,7 +5,7 @@ g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js s.parentNode.insertBefore(g,s)}(document,'script')); - + diff --git a/source/_includes/site/head.html b/source/_includes/site/head.html index be4531fca06..35b140ccf88 100644 --- a/source/_includes/site/head.html +++ b/source/_includes/site/head.html @@ -28,8 +28,8 @@ - - + + From 48be9b63197dd3543358cc763f82168f3010c76c Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Mon, 7 Oct 2019 12:00:11 -0700 Subject: [PATCH 032/289] Add neato battery sensor docs (#10652) --- source/_integrations/neato.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/neato.markdown b/source/_integrations/neato.markdown index bc4a9b03cef..4443feb0d08 100644 --- a/source/_integrations/neato.markdown +++ b/source/_integrations/neato.markdown @@ -4,6 +4,7 @@ description: "Instructions on how to integrate your Neato within Home Assistant. logo: neato.png ha_category: - Camera + - Sensor - Switch - Vacuum ha_release: 0.33 @@ -104,6 +105,10 @@ Some information about the capabilities might be found on the [Neato Developer P The `neato` camera platform allows you to view the latest cleaning map of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/). +## Sensor + +The `neato` sensor platform allows you to view the battery level for your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/). + ## Switch The `neato` switch platform allows you to enable or disable the schedule of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/). From 689792c7f19a381f2c954b327f4e9439c1c5d6af Mon Sep 17 00:00:00 2001 From: jjlawren Date: Mon, 7 Oct 2019 14:37:37 -0500 Subject: [PATCH 033/289] Remove manual flow description, fix components->integrations reference (#10655) --- source/_integrations/plex.markdown | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/_integrations/plex.markdown b/source/_integrations/plex.markdown index 8620c3fa52c..872fe7e7d87 100644 --- a/source/_integrations/plex.markdown +++ b/source/_integrations/plex.markdown @@ -29,9 +29,7 @@ Local and secure connections are preferred when setting up an Integration. After
-Alternatively, you can manually configure a Plex server connection by selecting the "Manual setup" option when configuring a Plex integration. This will allow you to specify the server connection options which will be validated before setup is completed. The available options are similar to the **Configuration Variables** section below. - -If [discovery](/components/discovery/) is enabled and a local Plex server is found, a legacy `media_player` configuration (i.e., a `plex.conf` file) will be imported. GDM can be enabled via the Plex Web App under **Settings** -> **(Server Name)** -> **Settings** -> **Network** and choosing **Enable local network discovery (GDM)**. +If [discovery](/integrations/discovery/) is enabled and a local Plex server is found, a legacy `media_player` configuration (i.e., a `plex.conf` file) will be imported. GDM can be enabled via the Plex Web App under **Settings** -> **(Server Name)** -> **Settings** -> **Network** and choosing **Enable local network discovery (GDM)**. The `plex` integration can also be configured via `configuration.yaml`: From d6c2db6c6ad59ccbcbea159cf68cbc971872b0cf Mon Sep 17 00:00:00 2001 From: Tom Brien Date: Tue, 8 Oct 2019 11:55:08 +0100 Subject: [PATCH 034/289] Update instructions for using Check Config Tool (#10619) * automation troubleshooting.markdown Add explanation of making check config visible * withings.markdown Add explanation of how to make the check config tool visible * configuration.markdown Add explanation to display the check config tool --- source/_docs/automation/troubleshooting.markdown | 2 +- source/_integrations/withings.markdown | 10 ++++++---- source/getting-started/configuration.markdown | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/source/_docs/automation/troubleshooting.markdown b/source/_docs/automation/troubleshooting.markdown index f72f410ff0c..5085acd0a12 100644 --- a/source/_docs/automation/troubleshooting.markdown +++ b/source/_docs/automation/troubleshooting.markdown @@ -28,7 +28,7 @@ Please note that if you click on **Trigger** of an automation in the frontend, * All this makes that Trigger feature pretty limited and nearly useless for debugging purposes so you need to find another way. Make sure you check and adapt to your circumstances appropriate examples from Automation Trigger, Conditions and Actions. -It is also useful to go to **Configuration** -> **Server Control** and click on **Check Config** button in Configuration validation section to make sure there are no syntax errors before restarting Home Assistant. +It is also useful to go to **Configuration** -> **Server Control** and click on **Check Config** button in Configuration validation section to make sure there are no syntax errors before restarting Home Assistant. In order for **Check Config** to be visible, you must enable **Advanced Mode** on your user profile. If your automation uses templates in any part, you can do the following to make sure it works as expected: diff --git a/source/_integrations/withings.markdown b/source/_integrations/withings.markdown index 8833a78a5a4..ae66ac8846a 100644 --- a/source/_integrations/withings.markdown +++ b/source/_integrations/withings.markdown @@ -2,7 +2,7 @@ title: "Withings" description: "Instructions on how to integrate Withings health products within Home Assistant." logo: withings.png -ha_category: +ha_category: - Health - Sensor ha_release: 0.99 @@ -15,7 +15,7 @@ The `withings` sensor platform consumes data from various health products produc ### Step 1 - Create a Withings Account -You must have a developer account to distribute the data. [Create a free development account](https://account.withings.com/partner/add_oauth2). +You must have a developer account to distribute the data. [Create a free development account](https://account.withings.com/partner/add_oauth2). Values for your account: @@ -42,7 +42,7 @@ Withings supports multiple profiles per account. Each profile has a person's nam ### Step 3 - Authorize Home Assistant -- Confirm your YAML configuration is valid by using the `Check Config` tool. +- Confirm your YAML configuration is valid by using the `Check Config` tool (see note). - Restart Home Assistant. - Go to the integrations page. - Add a Withings integration. @@ -50,12 +50,14 @@ Withings supports multiple profiles per account. Each profile has a person's nam - On the Withings site, choose the profile you selected in the previous step (if prompted). - Note: It's important you select the same profile from the previous step. Choosing a different one will result in Home Assistant displaying data for profile 2, but it will be labeled as profile 1. - Authorize the application. Your browser will redirect you to your Home Assistant URL. - - Note: If you get a browser error saying the site is inaccessible, you can modify the + - Note: If you get a browser error saying the site is inaccessible, you can modify the `http://domain` portion of the URL to something you know is accessible, locally or publically. For example, `http://localhost:8123`. This occurs when the base URL provided by Home Assistant to Withings is not accessible to the outside world. Changing the domain will not affect how data is synchronized. - Data will synchronize immediately and update every 5 minutes. +Note: In order for "Check Config" to be visible, you must enable "Advanced Mode" on your user profile. The "Check Config" tool can be found by clicking "Configuration" from the sidebar (cog icon) and then clicking "Server Control". + ## Configuration ```yaml diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index 9f7c921ff95..75fe7f154ef 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -31,7 +31,7 @@ Now let's make a small change using the configurator: we are going to change the - Find the `homeassistant:` configuration block, which should be the first thing in `configuration.yaml`. In this block, update `name`, `latitude`, `longitude`, `unit_system` and `time_zone` to match yours. - Click the save icon in the top right to commit changes. - Most changes in `configuration.yaml` require Home Assistant to be restarted to see the changes. You can verify that your changes are acceptable by running a config check. Do this by clicking on Configuration in the sidebar, click on General and click on the "Check Config" button. When it's valid, it will show the text "Configuration valid!". - - Now Restart Home Assistant using the "restart" in the Server management section on the same page. + - Now Restart Home Assistant using the "restart" in the Server management section on the same page. In order for "Check Config" to be visible, you must enable "Advanced Mode" on your user profile.

From 774fbdd195e97efb7569c72af8d46ca9e09c7384 Mon Sep 17 00:00:00 2001 From: wmn79 Date: Tue, 8 Oct 2019 14:05:04 +0200 Subject: [PATCH 035/289] Added note for users of earlier versions than 0.97 (#10659) * Added note for users of earlier versions than 0.97 Updated page with a note for users coming from earlier versions than 0.97 to only remove password from the config file. Used parts of the text from the breaking change text for release 0.97. Fixes issue #10179 * MInor change --- source/_integrations/google_maps.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/google_maps.markdown b/source/_integrations/google_maps.markdown index becbbfc9b0a..40603019494 100644 --- a/source/_integrations/google_maps.markdown +++ b/source/_integrations/google_maps.markdown @@ -47,3 +47,7 @@ scan_interval: default: 60 type: integer {% endconfiguration %} + +

+As of release 0.97 Google passwords are no longer required in your configuration. Users coming from earlier releases should only remove the password entry from their configuration file (username is still required) and restart Home Assistant. The cookie file previously generated should still be valid and will allow the tracker to continue functioning normally until the cookie is invalidated. +
From 5b41bb0abc7844b37cd0423466f05e7e016245d8 Mon Sep 17 00:00:00 2001 From: Eirik Z <46269073+atxbyea@users.noreply.github.com> Date: Tue, 8 Oct 2019 15:57:05 +0200 Subject: [PATCH 036/289] Update with working instructions (#10663) * Update with working instructions Old instructions failed to include virtualenv, also failed to actually start HA as the config directory it default creates was wrong, and empty. * Minor changes --- source/_docs/installation/freenas.markdown | 37 +++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown index e7057b16d6a..08c2a4109a0 100644 --- a/source/_docs/installation/freenas.markdown +++ b/source/_docs/installation/freenas.markdown @@ -14,13 +14,15 @@ pw groupadd -n homeassistant -g 8123 echo 'homeassistant:8123:8123::::::/bin/csh:' | adduser -f - ``` -Install the necessary Python packages: +Install the necessary Python packages and virtualenv: ```bash pkg update pkg upgrade pkg install -y python37 py37-sqlite3 ca_root_nss python3.7 -m ensurepip +pip3 install --upgrade pip +pip3 install --upgrade virtualenv ``` Create the configuration directory: @@ -45,11 +47,38 @@ cd /usr/local/share/homeassistant virtualenv -p python3.7 . source ./bin/activate.csh pip3 install homeassistant +``` + +While still in the `venv`, start Home Assistant to populate the configuration directory. + +```bash +hass --open-ui +``` + +Wait until you see: + +```bash +(MainThread) [homeassistant.core] Starting Home Assistant +``` + +Then escape and exit the `venv`. + +```bash deactivate exit ``` -Create an `rc.d` script for the system-level service that enables Home Assistant to start when the jail starts. Create a file at `/usr/local/etc/rc.d/homeassistant` with the following contents: +Create the directory and the `rc.d` script for the system-level service that enables Home Assistant to start when the jail starts. + +```bash +mkdir /usr/local/etc/rc.d/ +``` + +Then create a file at `/usr/local/etc/rc.d/homeassistant` and insert the content below: + +```bash +vi /usr/local/etc/rc.d/homeassistant +``` ```bash #!/bin/sh @@ -71,7 +100,7 @@ Create an `rc.d` script for the system-level service that enables Home Assistant # empty string as this will cause the daemon to run with group wheel. # Default: homeassistant # homeassistant_config_dir: Directory where config files are located. -# Default: /usr/local/homeassistant +# Default: /usr/home/homeassistant/.homeassistant # homeassistant_install_dir: Directory where Home Assistant is installed. # Default: /usr/local/share/homeassistant # @@ -89,7 +118,7 @@ load_rc_config ${name} : ${homeassistant_enable:="NO"} : ${homeassistant_user:="homeassistant"} : ${homeassistant_group:="homeassistant"} -: ${homeassistant_config_dir:="/usr/local/homeassistant"} +: ${homeassistant_config_dir:="/usr/home/homeassistant/.homeassistant"} : ${homeassistant_install_dir:="/usr/local/share/homeassistant"} command="/usr/sbin/daemon" From dfee71b20ceb5bcf54ec46cf359358881114c2fa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Oct 2019 16:55:14 +0200 Subject: [PATCH 037/289] Airly move (#10664) * Move file to correct location * Add heading --- .../{_components => _integrations}/airly.markdown | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) rename source/{_components => _integrations}/airly.markdown (81%) diff --git a/source/_components/airly.markdown b/source/_integrations/airly.markdown similarity index 81% rename from source/_components/airly.markdown rename to source/_integrations/airly.markdown index f5a4540c3fd..433dd654567 100644 --- a/source/_components/airly.markdown +++ b/source/_integrations/airly.markdown @@ -8,13 +8,21 @@ ha_release: 0.101 ha_iot_class: Cloud Polling --- -The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location. To generate an Airly API key, go to [Airly for developers](https://developer.airly.eu/register) page. +The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location. + +## Setup + +To generate an Airly API key, go to [Airly for developers](https://developer.airly.eu/register) page. ## Configuration To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI and enable the Airly integration. By default, the values will be taken from the Home Assistant configuration. {% configuration %} +api_key: + description: The Airly API key. + required: true + type: string name: description: Manually specify Name. required: false @@ -30,8 +38,4 @@ longitude: required: false type: float default: Provided by Home Assistant configuration -api_key: - description: Airly API key. - required: true - type: string {% endconfiguration %} From 0064a22f341048e22d7c80494d5ee1ca00a62463 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Oct 2019 16:55:32 +0200 Subject: [PATCH 038/289] Update for Python 3.8 (#10665) --- source/_docs/installation/fedora.markdown | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/source/_docs/installation/fedora.markdown b/source/_docs/installation/fedora.markdown index 0db6af933c9..ed399d8517c 100644 --- a/source/_docs/installation/fedora.markdown +++ b/source/_docs/installation/fedora.markdown @@ -11,12 +11,6 @@ Install the development package of Python. sudo dnf -y install python3-devel redhat-rpm-config ``` -and Home Assistant itself. - -```bash -pip3 install homeassistant -``` - To isolate the Home Assistant installation a [`venv`](https://docs.python.org/3/library/venv.html) is handy. First create a new directory to store the installation and adjust the permissions. ```bash @@ -24,19 +18,20 @@ sudo mkdir -p /opt/homeassistant sudo useradd -rm homeassistant -G dialout sudo chown -R homeassistant:homeassistant /opt/homeassistant ``` + Now switch to the new directory, setup the `venv`, and activate it. ```bash sudo -u homeassistant -H -s cd /opt/homeassistant -python3.6 -m venv . +python3.8 -m venv . source bin/activate ``` Install Home Assistant itself. ```bash -$ pip3 install homeassistant colorlog +pip3 install homeassistant colorlog ``` Check the [autostart](/docs/autostart/systemd/) section in the documentation for further details and the [Firewall section](/docs/installation/troubleshooting/#no-access-to-the-frontend) if you want to access your Home Assistant installation. From 303b8eea0ed25286833b5401ef51108b919eb363 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 8 Oct 2019 09:59:38 -0700 Subject: [PATCH 039/289] Add scene apply docs (#10657) * Add scene apply docs * Fix lint * Fix formatting --- source/_integrations/scene.markdown | 33 ++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/source/_integrations/scene.markdown b/source/_integrations/scene.markdown index 466b815b248..2745e4825ef 100644 --- a/source/_integrations/scene.markdown +++ b/source/_integrations/scene.markdown @@ -50,14 +50,41 @@ Scenes can be activated using the service `scene.turn_on` (there is no 'scene.tu ```yaml # Example automation -... automation: trigger: platform: state entity_id: device_tracker.sweetheart - from: 'not_home' - to: 'home' + from: "not_home" + to: "home" action: service: scene.turn_on entity_id: scene.romantic ``` + +## Applying a scene without defining it + +With the `scene.apply` service you are able to apply a scene without first defining it via configuration. Instead, you pass the states as part of the service data. The format of the data is the same as the `entities` field in a configuration. + +```yaml +# Example automation +automation: + trigger: + platform: state + entity_id: device_tracker.sweetheart + from: "not_home" + to: "home" + action: + service: scene.apply + data: + entities: + light.tv_back_light: + state: on + brightness: 100 + light.ceiling: off + media_player.sony_bravia_tv: + source: HDMI 1 +``` + +## Reloading scenes + +Whenever you make a change to your scene configuration, you can call the `scene.reload` service to reload the scenes. From 139a33dd0a80d2e75fd950efc69b74392148267c Mon Sep 17 00:00:00 2001 From: Dubh Ad Date: Wed, 9 Oct 2019 10:02:57 +0100 Subject: [PATCH 040/289] Removed reference to input_slider (#10671) Long enough has passed since 0.55, referencing how things were back then is just causing confusion. --- source/_integrations/input_number.markdown | 6 ------ 1 file changed, 6 deletions(-) diff --git a/source/_integrations/input_number.markdown b/source/_integrations/input_number.markdown index 4a601d0374f..93168999ab1 100644 --- a/source/_integrations/input_number.markdown +++ b/source/_integrations/input_number.markdown @@ -8,12 +8,6 @@ ha_release: 0.55 ha_qa_scale: internal --- -
- -Before version 0.55 this integration was known as `input_slider` and did not have the `mode` configuration option. Also, service `select_value` is now `set_value`. - -
- The `input_number` integration allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. The frontend can display a slider, or a numeric input box. Changes to the slider or numeric input box generate state events. These state events can be utilized as `automation` triggers as well. To enable this input number in your installation, add the following lines to your `configuration.yaml`: From 3030ae3793a8c02bdc0a2af03a24201b3e08beb8 Mon Sep 17 00:00:00 2001 From: claughinghouse Date: Wed, 9 Oct 2019 06:41:18 -0400 Subject: [PATCH 041/289] Fixed generic.camera links #10491 (#10669) --- source/_posts/2018-05-18-release-70.markdown | 2 +- source/_posts/2018-07-16-release-73-2.markdown | 2 +- source/_posts/2018-08-29-release-77.markdown | 2 +- source/_posts/2019-03-20-release-90.markdown | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_posts/2018-05-18-release-70.markdown b/source/_posts/2018-05-18-release-70.markdown index 6e05762d28c..60cd476658b 100644 --- a/source/_posts/2018-05-18-release-70.markdown +++ b/source/_posts/2018-05-18-release-70.markdown @@ -358,7 +358,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [bmw_connected_drive docs]: /integrations/bmw_connected_drive/ [camera docs]: /integrations/camera/ [camera.familyhub docs]: /integrations/familyhub -[camera.generic docs]: /integrations/generic +[camera.generic docs]: /integrations/generic_ip_camera [climate.mysensors docs]: /integrations/climate.mysensors/ [climate.sensibo docs]: /integrations/sensibo [climate.venstar docs]: /integrations/venstar diff --git a/source/_posts/2018-07-16-release-73-2.markdown b/source/_posts/2018-07-16-release-73-2.markdown index 90d8a8de1bd..251bb843ade 100644 --- a/source/_posts/2018-07-16-release-73-2.markdown +++ b/source/_posts/2018-07-16-release-73-2.markdown @@ -79,7 +79,7 @@ Local, so cannot be impacted: - [camera.amcrest](/integrations/amcrest) - [camera.doorbird](/integrations/doorbird#camera) - [camera.familyhub](/integrations/familyhub) -- [camera.generic](/integrations/generic) +- [camera.generic](/integrations/generic_ip_camera) - [camera.mjpeg](/integrations/mjpeg) - [camera.proxy](/integrations/proxy) - [camera.synology](/integrations/synology) diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index 692fd0d74e3..fd8b9a49eff 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -425,7 +425,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [bmw_connected_drive docs]: /integrations/bmw_connected_drive/ [calendar.google docs]: /integrations/calendar.google/ [camera docs]: /integrations/camera/ -[camera.generic docs]: /integrations/generic +[camera.generic docs]: /integrations/generic_ip_camera [camera.proxy docs]: /integrations/proxy [camera.push docs]: /integrations/push [climate docs]: /integrations/climate/ diff --git a/source/_posts/2019-03-20-release-90.markdown b/source/_posts/2019-03-20-release-90.markdown index addbae610aa..0e5310b1341 100644 --- a/source/_posts/2019-03-20-release-90.markdown +++ b/source/_posts/2019-03-20-release-90.markdown @@ -721,7 +721,7 @@ Users will need to change `- platform: firetv` to `- platform: androidtv` in the [binary_sensor.workday docs]: /integrations/workday [camera docs]: /integrations/camera/ [camera.ffmpeg docs]: /integrations/camera.ffmpeg/ -[camera.generic docs]: /integrations/generic +[camera.generic docs]: /integrations/generic_ip_camera [camera.onvif docs]: /integrations/onvif [camera.proxy docs]: /integrations/proxy [camera.xeoma docs]: /integrations/xeoma From a68adbbc0e3756a2b89296aa9d3eec5e59c0e089 Mon Sep 17 00:00:00 2001 From: LJU Date: Wed, 9 Oct 2019 12:46:58 +0200 Subject: [PATCH 042/289] Update link to speedtestservers (#10612) * Update link to speedtestservers and server_id The link to the speedtestservers seems to be broken. The new link does work. Also the server_id seems to be mandatory at this point. So this sets the server_id to be required and in the example configuration.yaml inserts an example server_id. * Removes sever_id from configuration.yaml Removes sever_id from configuration.yaml. It's not necessary if server_id is optional. * Changes server_id to be optional again --- source/_integrations/speedtestdotnet.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/speedtestdotnet.markdown b/source/_integrations/speedtestdotnet.markdown index fdab413f67e..4449a58166b 100644 --- a/source/_integrations/speedtestdotnet.markdown +++ b/source/_integrations/speedtestdotnet.markdown @@ -19,7 +19,7 @@ Most Speedtest.net servers require TCP port 8080 outbound to function. Without t ## Configuration -For the `server_id` check the list of [available servers](https://www.speedtest.net/speedtest-servers.php). +For the `server_id` check the list of [available servers](http://www.speedtestserver.com). To add Speedtest.net sensors to your installation, add the following to your `configuration.yaml` file: From 02c6c8975b4c6a01f81b257313e9aabb74c1514a Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Wed, 9 Oct 2019 22:27:45 +0200 Subject: [PATCH 043/289] =?UTF-8?q?Hint=20that=20problems=20with=20=C2=B0-?= =?UTF-8?q?symbol=20is=20caused=20by=20configuration=20not=20saved=20as=20?= =?UTF-8?q?UTF-8=20(#10673)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update sensor.command_line.markdown * Update sensor.command_line.markdown --- source/_integrations/sensor.command_line.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/sensor.command_line.markdown b/source/_integrations/sensor.command_line.markdown index 77c98904a2f..670f5f2fb50 100644 --- a/source/_integrations/sensor.command_line.markdown +++ b/source/_integrations/sensor.command_line.markdown @@ -75,7 +75,7 @@ sensor: - platform: command_line name: HD Temperature command: "hddtemp -n /dev/sda" - # If errors occur, remove degree symbol below + # If errors occur, make sure configuration file is encoded as UTF-8 unit_of_measurement: "°C" ``` @@ -90,7 +90,7 @@ sensor: - platform: command_line name: CPU Temperature command: "cat /sys/class/thermal/thermal_zone0/temp" - # If errors occur, remove degree symbol below + # If errors occur, make sure configuration file is encoded as UTF-8 unit_of_measurement: "°C" value_template: '{{ value | multiply(0.001) | round(1) }}' ``` From a544cf45dd47e15b9427807895743e150e74bf4a Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Wed, 9 Oct 2019 22:28:41 +0200 Subject: [PATCH 044/289] Update troubleshooting.markdown (#10674) --- source/_docs/configuration/troubleshooting.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_docs/configuration/troubleshooting.markdown b/source/_docs/configuration/troubleshooting.markdown index 392794099dc..6c0b22d35cd 100644 --- a/source/_docs/configuration/troubleshooting.markdown +++ b/source/_docs/configuration/troubleshooting.markdown @@ -18,11 +18,12 @@ If you have incorrect entries in your configuration files you can use the [`chec #### Problems with the configuration -One of the most common problems with Home Assistant is an invalid `configuration.yaml` file. +One of the most common problems with Home Assistant is an invalid `configuration.yaml` or other configuration file. - You can test your configuration using the command line with: `hass --script check_config`. - On Hass.io you can use the [hassio command](/hassio/commandline/#home-assistant): `hassio homeassistant check`. - On Docker you can use `docker exec home-assistant python -m homeassistant --script check_config --config /config` - where `homeassistant` is the name of the container. + - The configuration files, including `configuration.yaml` must be UTF-8 encoded. If you see error like `'utf-8' codec can't decode byte`, edit the offending configuration and re-save it as UTF-8. - You can verify your configuration's yaml structure using [this online YAML parser](http://yaml-online-parser.appspot.com/) or [YAML Lint](http://www.yamllint.com/). - To learn more about the quirks of YAML, read [YAML IDIOSYNCRASIES](https://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html) by SaltStack (the examples there are specific to SaltStack, but do explain YAML issues well). From 2cb7defdb8da45a0d866e8887a25e463af700516 Mon Sep 17 00:00:00 2001 From: Dubh Ad Date: Wed, 9 Oct 2019 21:29:56 +0100 Subject: [PATCH 045/289] Clarity edit (#10672) The docs say that the default value is zero, then that it's restored if you don't set the default value... --- source/_integrations/input_number.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/input_number.markdown b/source/_integrations/input_number.markdown index 93168999ab1..084225cb371 100644 --- a/source/_integrations/input_number.markdown +++ b/source/_integrations/input_number.markdown @@ -52,7 +52,7 @@ input_number: description: Initial value when Home Assistant starts. required: false type: float - default: 0 + default: The value at shutdown step: description: Step value for the slider. Smallest value `0.001`. required: false From 1af6dd5edaca5cb9095ee72556e991b3b2ebeba1 Mon Sep 17 00:00:00 2001 From: tomlut <10679300+tomlut@users.noreply.github.com> Date: Thu, 10 Oct 2019 07:34:10 +1100 Subject: [PATCH 046/289] Hostname updated (#10658) Hostname has changed. See discussion here: https://community.home-assistant.io/t/hass-io-mariadb-error-after-snapshot-restoration/130146/9?u=tom_l --- source/_addons/mariadb.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_addons/mariadb.markdown b/source/_addons/mariadb.markdown index 69d08a31000..a945d69f12b 100644 --- a/source/_addons/mariadb.markdown +++ b/source/_addons/mariadb.markdown @@ -11,14 +11,14 @@ Set up a [MariaDB](https://mariadb.org/) SQL server. It supports multiple databa "logins": [ { "username": "hass", - "host": "homeassistant", + "host": "%.local.hass.io", "password": "securePassword" } ], "rights": [ { "username": "hass", - "host": "homeassistant", + "host": "%.local.hass.io", "database": "homeassistant", "grant": "ALL PRIVILEGES ON" } From 69f5515096eb90b517a053f143e22d5159a085d6 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 10 Oct 2019 10:09:37 +0200 Subject: [PATCH 047/289] Referrer-Policy: no-referrer-when-downgrade, fix s-maxage (#10683) --- source/_headers | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/_headers b/source/_headers index fc8bb7936c7..0216498cc7f 100644 --- a/source/_headers +++ b/source/_headers @@ -1,20 +1,20 @@ /* - Cache-Control: public, max-age: 0, s-max-age=3600, must-revalidate + Cache-Control: public, max-age: 0, s-maxage=3600, must-revalidate Content-Security-Policy: form-action https: Feature-Policy: vibrate 'none'; geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; vibrate 'none'; payment 'none' - Referrer-Policy: strict-origin-when-cross-origin + Referrer-Policy: no-referrer-when-downgrade X-Content-Type-Options: nosniff X-Frame-Options: DENY X-XSS-Protection: 1; mode=block /*.css - Cache-Control: public, max-age: 604800, s-max-age=604800 + Cache-Control: public, max-age: 604800, s-maxage=604800 /*.js - Cache-Control: public, max-age: 604800, s-max-age=604800 + Cache-Control: public, max-age: 604800, s-maxage=604800 /assets/* - Cache-Control: public, max-age: 0, s-max-age=604800, must-revalidate + Cache-Control: public, max-age: 0, s-maxage=604800, must-revalidate /fonts/* - Cache-Control: public, max-age: 1800, s-max-age=604800, must-revalidate + Cache-Control: public, max-age: 1800, s-maxage=604800, must-revalidate /images/* - Cache-Control: public, max-age: 1800, s-max-age=604800, must-revalidate + Cache-Control: public, max-age: 1800, s-maxage=604800, must-revalidate /static/* - Cache-Control: public, max-age: 1800, s-max-age=604800, must-revalidate + Cache-Control: public, max-age: 1800, s-maxage=604800, must-revalidate From e93a7c4d703bcac5938d974a778d891c1f9daf60 Mon Sep 17 00:00:00 2001 From: Saurabh Sharma Date: Thu, 10 Oct 2019 04:15:21 -0500 Subject: [PATCH 048/289] Update microsoft.markdown (#10681) --- source/_integrations/microsoft.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/microsoft.markdown b/source/_integrations/microsoft.markdown index d578523350a..0a2cd4c28f6 100644 --- a/source/_integrations/microsoft.markdown +++ b/source/_integrations/microsoft.markdown @@ -27,7 +27,7 @@ api_key: required: true type: string language: - description: The language to use. Note that if you set the language to anything other than the default, you will need to specify a matching voice type as well. For the supported languages check the list of [available languages](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/integrations/microsoft/tts.py#L20). + description: The language to use. Note that if you set the language to anything other than the default, you will need to specify a matching voice type as well. For the supported languages check the list of [available languages](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/microsoft/tts.py#L20). required: false type: string default: "`en-us`" From 25fbaf047fc0fa8eef364ddc4cf83f824475d2c8 Mon Sep 17 00:00:00 2001 From: Mauricio Bonani Date: Thu, 10 Oct 2019 05:18:34 -0400 Subject: [PATCH 049/289] Update MDI cheatsheet link to 4.5.95 (#10680) --- source/_docs/configuration/customizing-devices.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index 5974a419d58..04eea1c2158 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -58,7 +58,7 @@ entity_picture: required: false type: string icon: - description: "Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://cdn.materialdesignicons.com/4.4.95/)). Prefix name with `mdi:`, ie `mdi:home`. Note: Newer icons may not yet be available in the current Home Assistant release. You can check when an icon was added to MaterialDesignIcons.com at [MDI History](https://materialdesignicons.com/history)." + description: "Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://cdn.materialdesignicons.com/4.5.95/)). Prefix name with `mdi:`, ie `mdi:home`. Note: Newer icons may not yet be available in the current Home Assistant release. You can check when an icon was added to MaterialDesignIcons.com at [MDI History](https://materialdesignicons.com/history)." required: false type: string assumed_state: From 4420e162c39a1d60a9cb4af24dfa58958f56d096 Mon Sep 17 00:00:00 2001 From: claughinghouse Date: Thu, 10 Oct 2019 05:55:20 -0400 Subject: [PATCH 050/289] Update more links (#10678) * Fix docs.micropython.org link Ref #10491 * Updated Python Requests link. Ref #10491 * Updated link https://home-assistant-lovelace-gallery.netlify.com/ to https://www.awesome-ha.com/ Ref #10491 * Fixed link to layla.amazon.com Ref #10491 * Updated the nestdevelopers.io link to point to developers.next.com since nestdevelopers.io returns a non existant domain Ref #10491 * Updated link for TOR browser on Android Now points to official App from the TOR project (#10491) * Updated light.mqtt link on blog post (#10491) * Fix typo. * Update outdated blog post link to translation (#10491) --- source/_integrations/alexa.smart_home.markdown | 2 +- source/_integrations/http.markdown | 2 +- source/_posts/2015-11-22-survey-november-2015.markdown | 2 +- .../_posts/2016-07-28-esp8266-and-micropython-part1.markdown | 2 +- source/_posts/2017-11-12-tor.markdown | 4 ++-- source/_posts/2017-11-18-release-58.markdown | 2 +- source/_posts/2018-07-21-release-74.markdown | 2 +- source/_posts/2019-01-24-nest-cannot-access-data.markdown | 2 +- source/lovelace/changelog.markdown | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index 2d8d2720bb2..2cac5ce2454 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -168,7 +168,7 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom * `Access Token URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/token * `Client ID`: - https://pitangui.amazon.com/ if you are in US - - https://layla.amazon.com/ if you are in EU + - https://layla.amazon.co.uk/ if you are in EU - https://alexa.amazon.co.jp/ if you are in JP and AU (not verified yet) The trailing slash is important here. diff --git a/source/_integrations/http.markdown b/source/_integrations/http.markdown index 4909b2caaf5..f6d572b5bc3 100644 --- a/source/_integrations/http.markdown +++ b/source/_integrations/http.markdown @@ -218,7 +218,7 @@ In this section you'll find some real-life examples of how to use this sensor, b #### Using Python request module -As already shown on the [API](/developers/rest_api/) page, it's very simple to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module for the interaction with Home Assistant. +As already shown on the [API](/developers/rest_api/) page, it's very simple to use Python and the [Requests](https://requests.kennethreitz.org//en/latest/) module for the interaction with Home Assistant. ```python response = requests.post( diff --git a/source/_posts/2015-11-22-survey-november-2015.markdown b/source/_posts/2015-11-22-survey-november-2015.markdown index 34a8ea42e80..7ba6aaf218a 100644 --- a/source/_posts/2015-11-22-survey-november-2015.markdown +++ b/source/_posts/2015-11-22-survey-november-2015.markdown @@ -19,7 +19,7 @@ Of course most users are running with the [automation](/getting-started/automati The [Alarm control panels](/integrations/alarm_control_panel/) and the [camera component](/integrations/camera/) are both used by around one third of the participants of the survey. It's safe to say that they cover a niche, but they will gain momentum when people discover how they can build alarm systems with Home Assistant. -[Philips Hue](/integrations/hue) is the "winner" in the light category closely followed by [MQTT lights](components/light.mqtt/). [Google Cast](/integrations/cast) and [ Plex](/integrations/plex#media-player) are the top media player platforms. [Pushbullet](/integrations/pushbullet) is by far the most-used [notification platform](/integrations/notify/). If you followed the recent efforts to improve this platform it's comprehensible. +[Philips Hue](/integrations/hue) is the "winner" in the light category closely followed by [MQTT lights](/integrations/light.mqtt/). [Google Cast](/integrations/cast) and [ Plex](/integrations/plex#media-player) are the top media player platforms. [Pushbullet](/integrations/pushbullet) is by far the most-used [notification platform](/integrations/notify/). If you followed the recent efforts to improve this platform it's comprehensible. It's interesting to see that most of the sensor, switch, and thermostat platforms are used. A lot of people seem to be interested in the weather data provided by the [Forecast sensor](/integrations/darksky). The MQTT sensors and switches are deployed in almost 50% of all Home Assistant setups. diff --git a/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown b/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown index fb6f1d67e6b..207caa98447 100644 --- a/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown +++ b/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown @@ -56,7 +56,7 @@ Type "help()" for more information.
-The public build of the firmware may be different than the firmware distributed to the backers of the Kickstarter campaign. Especially in regard of the [available modules](http://docs.micropython.org/en/latest/esp8266/py-modindex.html), turned on debug messages, and alike. Also, the WebREPL may not be started by default. +The public build of the firmware may be different than the firmware distributed to the backers of the Kickstarter campaign. Especially in regard of the [available modules](http://docs.micropython.org/en/latest/esp8266/quickref.html), turned on debug messages, and alike. Also, the WebREPL may not be started by default.
diff --git a/source/_posts/2017-11-12-tor.markdown b/source/_posts/2017-11-12-tor.markdown index a6941a7ea1e..a282666208b 100644 --- a/source/_posts/2017-11-12-tor.markdown +++ b/source/_posts/2017-11-12-tor.markdown @@ -88,7 +88,7 @@ Simply download and install the [Tor Browser](https://www.torproject.org/project Some other clients: - [Orbot](https://guardianproject.info/apps/orbot/) for Android -- [Orfox](https://play.google.com/store/apps/details?id=info.guardianproject.orfox&hl=nl) for Android +- ~~[Orfox](https://play.google.com/store/apps/details?id=info.guardianproject.orfox&hl=nl) for Android~~ Orfox for Android has been deprecated. Please use [Tor Browser for Android](https://www.torproject.org/download/#android). More information about the deprecation [here](https://trac.torproject.org/projects/tor/ticket/29955). - [Onion Browser](https://mike.tig.as/onionbrowser/) for iOS ## Cranking up security @@ -97,4 +97,4 @@ The setup described in this blog post is easy and relatively secure, but anyone This "Stealth"-mode adds an extra layer of security to your Hidden Service by only responding to a client that passes a unique secret cookie as it connects. Obviously, this requires additional configuration on the Tor client applications. -Additional information can be found in the [Tor documentation](/docs/ecosystem/tor/) and the [Tor add-on repository](https://github.com/hassio-addons/addon-tor), including how to setup the "Stealth"-mode. The Tor Project itself provides details about a variaty of topics in their [documentation](https://www.torproject.org/docs/documentation.html.en). +Additional information can be found in the [Tor documentation](/docs/ecosystem/tor/) and the [Tor add-on repository](https://github.com/hassio-addons/addon-tor), including how to setup the "Stealth"-mode. The Tor Project itself provides details about a variety of topics in their [documentation](https://www.torproject.org/docs/documentation.html.en). diff --git a/source/_posts/2017-11-18-release-58.markdown b/source/_posts/2017-11-18-release-58.markdown index ae542206e9d..c1dab98e57d 100644 --- a/source/_posts/2017-11-18-release-58.markdown +++ b/source/_posts/2017-11-18-release-58.markdown @@ -23,7 +23,7 @@ Talking about our translators, we now have 445 people with an account to help wi And because more translations is more better, [@robbiet480] has added the iOS app to Lokalise, our translation management platform. The iOS app is currently supported in 7 different languages. -[Learn more about how to help with translations](/blog/2017/11/05/frontend-translations/) +[Learn more about how to help with translations](/2017/11/06/frontend-translations/) ## Frontend improvements continue diff --git a/source/_posts/2018-07-21-release-74.markdown b/source/_posts/2018-07-21-release-74.markdown index 0e401457e72..7c8b7fc00b0 100644 --- a/source/_posts/2018-07-21-release-74.markdown +++ b/source/_posts/2018-07-21-release-74.markdown @@ -30,7 +30,7 @@ To try it out today, [read these instructions](https://developers.home-assistant We keep seeing [great examples](https://twitter.com/home_assistant/status/1019579208622845953) of UIs built with Lovelace. Follow us on social media ([FB](https://www.facebook.com/homeassistantio/?ref=bookmarks), [Twitter](https://twitter.com/home_assistant)) where we will keep sharing great examples. -For the Lovelace changes in this release, check out the [changelog](/lovelace/changelog/). To help our development and design teams, we've also introduced a [Lovelace card gallery](https://home-assistant-lovelace-gallery.netlify.com/). +For the Lovelace changes in this release, check out the [changelog](/lovelace/changelog/). To help our development and design teams, we've also introduced a [Lovelace card gallery](https://www.awesome-ha.com/). Thanks to [@c727], [@jeradM] and [@ciotlosm] for leading this effort ❤️ diff --git a/source/_posts/2019-01-24-nest-cannot-access-data.markdown b/source/_posts/2019-01-24-nest-cannot-access-data.markdown index 7e204543f45..e83230261af 100644 --- a/source/_posts/2019-01-24-nest-cannot-access-data.markdown +++ b/source/_posts/2019-01-24-nest-cannot-access-data.markdown @@ -8,7 +8,7 @@ author_twitter: balloob categories: Public-Service-Announcement --- -**Update 1 (Jan 24):** We got some reports from people that they are still able to create accounts and generate the right keys. We just verified and this is the case. So for now you can still access your data, which is good. We're still puzzled on the response to our tweet. And thanks to Reddit user /u/lefos123 for [pointing out](https://www.reddit.com/r/homeassistant/comments/ajgiz2/nest_locks_users_out_of_their_own_data/eevh8on/) that they [announced this](https://nestdevelopers.io/t/client-reviews-currently-suspended/1548) on Nov 2018. +**Update 1 (Jan 24):** We got some reports from people that they are still able to create accounts and generate the right keys. We just verified and this is the case. So for now you can still access your data, which is good. We're still puzzled on the response to our tweet. And thanks to Reddit user /u/lefos123 for [pointing out](https://www.reddit.com/r/homeassistant/comments/ajgiz2/nest_locks_users_out_of_their_own_data/eevh8on/) that they ~~[announced this](https://nestdevelopers.io/t/client-reviews-currently-suspended/1548)~~ [updated link](https://developers.nest.com/) on Nov 2018. Although it's still working, we're still scared about the future of the Nest API. diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index aed4dbe4736..e78645b89d5 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -186,7 +186,7 @@ description: "Changelog of the Lovelace UI." - 🔧 [history graph card]: Fix cache of image between views ## Changes in 0.74.0 -- 📣 [Lovelace card gallery](https://home-assistant-lovelace-gallery.netlify.com/) +- 📣 [Lovelace card gallery](https://www.awesome-ha.com/) - 🔧 Async communication improvements ### Views From 5f049e4c52db9e8827938dd0f71ba459675ac6f8 Mon Sep 17 00:00:00 2001 From: Benjamin Richter Date: Thu, 10 Oct 2019 11:55:43 +0200 Subject: [PATCH 051/289] Small documentation fix for history_graph (#10677) "title"-field was incorrectly documented as "name" --- source/_integrations/history_graph.markdown | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/source/_integrations/history_graph.markdown b/source/_integrations/history_graph.markdown index d18cbd82b8b..6e8f83f6ab1 100644 --- a/source/_integrations/history_graph.markdown +++ b/source/_integrations/history_graph.markdown @@ -30,10 +30,9 @@ entities: description: List of entities whose history to show as a graph. required: true type: string -name: - description: Name to display. +title: + description: Card title to display above graph. required: false - default: ID type: string hours_to_show: description: Number of hours to show in the graph. @@ -53,14 +52,14 @@ refresh: # Full configuration.yaml entry history_graph: gr1: - name: Lights Graph + title: Lights Graph entities: - light.ceiling.lights - light.bed_light hours_to_show: 240 refresh: 60 gr2: - name: Temperature + title: Temperature entities: - sensor.outside_temperature - sensor.inside_temperature From 0ab7e92eb1bfe2bd16b7d34725405cdb25182f44 Mon Sep 17 00:00:00 2001 From: J <49540618+Tediore@users.noreply.github.com> Date: Thu, 10 Oct 2019 04:56:26 -0500 Subject: [PATCH 052/289] Correct minor grammar/clarity issues (#10676) --- source/_integrations/adguard.markdown | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/_integrations/adguard.markdown b/source/_integrations/adguard.markdown index c3749d519d4..486ccc30c1b 100644 --- a/source/_integrations/adguard.markdown +++ b/source/_integrations/adguard.markdown @@ -10,7 +10,7 @@ ha_release: 0.95 ha_iot_class: Local Polling --- -AdGuard Home is a network-wide ad-and-tracker blocking DNS server with parental +AdGuard Home is a network-wide ad- and tracker-blocking DNS server with parental control (adult content blocking) capabilities. The `adguard` integration allows you to control and monitor your AdGuard Home instance in Home Assistant. @@ -19,7 +19,7 @@ you to control and monitor your AdGuard Home instance in Home Assistant. Menu: **Configuration** -> **Integrations**. Click on the `+` sign to add an integration and click on **AdGuard Home**. -Follow the configuration flow, after finishing, the AdGuard Home +After completing the configuration flow, the AdGuard Home integration will be available. ## Sensors @@ -49,8 +49,8 @@ The integration will create a number of switches: These switches allow you to automate things easily. For example, one could write an automation to turn off Safe Search after the kids' bedtime. -The "AdGuard Protection" switch, is a master switch. It will turn off and -bypass all AdGuard feature, regardless if they are switched on or not. +The "AdGuard Protection" switch is a master switch. It will turn off and +bypass all AdGuard features, regardless of whether they are switched on or not.
Turning off Query Log will result in all sensors not receiving updates anymore. @@ -63,8 +63,8 @@ These services allow one to manage filter subscriptions in AdGuard Home. Using these services in automations could be helpful to block certain sites/domains at certain times. -For example, you could create a custom filter list blocking social media sites, -during the day and release them during the evening, using a simple automation. +For example, you could create a custom filter list that blocks social media sites +during the day and releases them during the evening. ### Service `add_url` @@ -105,7 +105,7 @@ Refresh all filter subscriptions in AdGuard Home. | Service data attribute | Optional | Description | | ---------------------- | -------- | ------------------------------------------------- | -| `force` | Yes | Force update (bypasses AdGuard Home throttling). | +| `force` | Yes | Force update (bypasses AdGuard Home throttling). | By default, `force` is set to `false`. Forcing an update bypasses AdGuard Home's throttling logic, so use with care. From c5befaf3ed46943f079df68d21a1f1af68b907d9 Mon Sep 17 00:00:00 2001 From: dnguyen800 <25126347+dnguyen800@users.noreply.github.com> Date: Thu, 10 Oct 2019 02:59:06 -0700 Subject: [PATCH 053/289] small changes to Prerequisites instructions (#10682) I recently followed these instructions and thought it could use a few changes for consistency. --- source/_integrations/calendar.google.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_integrations/calendar.google.markdown b/source/_integrations/calendar.google.markdown index fb2ade2bd60..15d67f27e32 100644 --- a/source/_integrations/calendar.google.markdown +++ b/source/_integrations/calendar.google.markdown @@ -23,13 +23,13 @@ Generate a Client ID and Client Secret on 1. Follow the wizard using the following information. 1. When it gets to the point of asking _Which API are you using?_ just click cancel. -1. Under APIs & Services > Credentials, click on the tab 'OAuth consent screen'. +1. Under APIs & Services (left sidebar) > Credentials, click on the tab 'OAuth consent screen'. 1. Set the 'Application Name' (the name of the application asking for consent) to anything you want. We suggest "Home-Assistant". 1. Save this page. You don't have to fill out anything else there. -1. Click 'Create credentials' -> OAuth client ID. -1. Set the Application type to 'Other' and give this credential set a name then click Create. +1. Under APIs & Services > Credentials, click 'Create credentials' > OAuth client ID. +1. Set the Application type to 'Other' and give this credential set a name then click 'Create'. 1. Copy the client ID and secret to a text editor temporarily as you will need to put these in your `configuration.yaml` file. -1. Under "API's and Services" (left sidebar), click on "Library." Search for "Google Calendar API" and enable it if it isn't already enabled automatically through this process. +1. Under APIs and Services > Library, search for "Google Calendar API" and enable it if it isn't already enabled automatically through this process. If you will be adding more scopes than just the "Google Calendar API" to the OAuth for this application, you will need to delete your token file. You will lose your refresh token due to the re-authenticating to add more API access. It's recommended to use different authorizations for different pieces of Google. From 3026a2dd7c0cade96751dab33f56b0c0876cdbda Mon Sep 17 00:00:00 2001 From: Micah Neal Date: Thu, 10 Oct 2019 05:00:12 -0500 Subject: [PATCH 054/289] Removed missing link, updated future to past tense (#10679) * Removed missing link, updated future to past tense * Minor changes --- source/_integrations/hipchat.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_integrations/hipchat.markdown b/source/_integrations/hipchat.markdown index 3057371def7..b8f4ed392ea 100644 --- a/source/_integrations/hipchat.markdown +++ b/source/_integrations/hipchat.markdown @@ -8,16 +8,17 @@ ha_release: 0.52 ---
-This integration will be removed from Home Assistant in the future. Slack has taken over Hipchat and Stride and will therefore stop these platforms. For more information: announcement. -
-
-Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch. +This integration was removed from Home Assistant. Slack [has taken](https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership) over Hipchat and Stride and will therefore stop these platforms. Hipchat was disconnected on February 15th, 2019. This document is now legacy.
The `hipchat` platform allows you to send notifications from Home Assistant to [HipChat](https://hipchat.com/). +## Setup + You need to obtain a [HipChat API token](https://developer.atlassian.com/hipchat/guide/hipchat-rest-api/api-access-tokens#APIaccesstokens-Usergeneratedtokens) to be able to send notifications. +## Configuration + To enable the HipChat notification in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -61,7 +62,6 @@ format: host: description: Setting the host will override the default HipChat server host. required: false - default: "https://api.hipchat.com/" type: string {% endconfiguration %} From 45bb8c4e2c2b4314a255354cd23cfb193dba58d5 Mon Sep 17 00:00:00 2001 From: Brendon Baumgartner Date: Thu, 10 Oct 2019 03:03:06 -0700 Subject: [PATCH 055/289] CentOS boot script update (#10610) * centos * Update source/_docs/installation/centos.markdown Fine with me. I did like having the "venv" in there to make it more obvious as to what is going on. Co-Authored-By: Fabian Affolter * Update source/_docs/installation/centos.markdown Co-Authored-By: Fabian Affolter --- source/_docs/installation/centos.markdown | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/source/_docs/installation/centos.markdown b/source/_docs/installation/centos.markdown index 38a0d1aba1c..de9a401d718 100644 --- a/source/_docs/installation/centos.markdown +++ b/source/_docs/installation/centos.markdown @@ -52,22 +52,23 @@ You will need to enable the software collection each time you log on before you ### Systemd with Software Collections -To autostart Home Assistant using systemd follow the main [instructions](/docs/autostart/systemd/) and adjust the template as follows: +To autostart Home Assistant using systemd and a python36 (from SCL) virtual environment, follow the main [instructions](/docs/autostart/systemd/) and adjust the template as follows: +Filename: `/etc/systemd/system/home-assistant@homeassistant.service` ```txt [Unit] Description=Home Assistant -After=network.target +After=network-online.target [Service] Type=simple -User=homeassistant -# Make sure the virtualenv Python binary is used -Environment=VIRTUAL_ENV="/srv/homeassistant" -Environment=PATH="$VIRTUAL_ENV/bin:$PATH" -# ExecStart using software collection: -ExecStart=/usr/bin/scl enable rh-python36 -- /srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant" +# %i means the username is derrived from the filename. +User=%i +# a python venv for hass exists in /opt/hass/venv +ExecStart=/srv/homeassistant/bin/hass [Install] WantedBy=multi-user.target ``` + +This works because the Python virtual environment was created using the SCL environment, thus there is no need to activate SCL. From dd7daadad4eda2f88f84dd0b2b290140e6fd23c6 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 10 Oct 2019 15:26:37 +0200 Subject: [PATCH 056/289] Revert "Small documentation fix for history_graph (#10677)" (#10685) This reverts commit 5f049e4c52db9e8827938dd0f71ba459675ac6f8. --- source/_integrations/history_graph.markdown | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/_integrations/history_graph.markdown b/source/_integrations/history_graph.markdown index 6e8f83f6ab1..d18cbd82b8b 100644 --- a/source/_integrations/history_graph.markdown +++ b/source/_integrations/history_graph.markdown @@ -30,9 +30,10 @@ entities: description: List of entities whose history to show as a graph. required: true type: string -title: - description: Card title to display above graph. +name: + description: Name to display. required: false + default: ID type: string hours_to_show: description: Number of hours to show in the graph. @@ -52,14 +53,14 @@ refresh: # Full configuration.yaml entry history_graph: gr1: - title: Lights Graph + name: Lights Graph entities: - light.ceiling.lights - light.bed_light hours_to_show: 240 refresh: 60 gr2: - title: Temperature + name: Temperature entities: - sensor.outside_temperature - sensor.inside_temperature From c6dc5533f1e9e4d5cb769d01eed0d7cbc88e8cf3 Mon Sep 17 00:00:00 2001 From: L Date: Thu, 10 Oct 2019 15:27:48 +0200 Subject: [PATCH 057/289] Inserted a note about using the correct TLD (#10688) Issue #26729 --- source/_integrations/google_maps.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/google_maps.markdown b/source/_integrations/google_maps.markdown index 40603019494..bde372a9fe5 100644 --- a/source/_integrations/google_maps.markdown +++ b/source/_integrations/google_maps.markdown @@ -15,7 +15,8 @@ The `google_maps` platform allows you to detect presence using the unofficial AP You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). 1. You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing). -2. You need to use the cookies from that account after you have properly authenticated which you can retrieve with either [Export cookies](https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/?src=search) for firefox (make sure that "Prefix HttpOnly cookies" is unchecked) or [cookies.txt](https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg?hl=en-US) for chrome. +2. You need to use the cookies from that account after you have properly authenticated which you can retrieve with either [Export cookies](https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/?src=search) for firefox (make sure that "Prefix HttpOnly cookies" is unchecked) or [cookies.txt](https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg?hl=en-US) for chrome. + - *Note:* Make sure to use the `.com` TLD (e.g.: maps.google.com), otherwise the cookie won't be able to provide a valid session. 3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account. - For example: if your email was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`. From 07e1b6e2d506b416e2ec8ccd0e6a2284151bfdd6 Mon Sep 17 00:00:00 2001 From: Fredrik Erlandsson Date: Thu, 10 Oct 2019 15:33:30 +0200 Subject: [PATCH 058/289] Sorted yaml for automation (#10686) --- source/_integrations/ifttt.markdown | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown index 9f4f82e14d1..348ca13ccca 100644 --- a/source/_integrations/ifttt.markdown +++ b/source/_integrations/ifttt.markdown @@ -36,14 +36,15 @@ automation: - id: this_is_the_automation_id alias: The optional automation alias trigger: - platform: event - event_type: ifttt_webhook_received - event_data: + - event_data: action: call_service + event_type: ifttt_webhook_received + platform: event + condition: [] action: - service_template: '{% raw %}{{ trigger.event.data.service }}{% endraw %}' - data_template: + - data_template: entity_id: '{% raw %}{{ trigger.event.data.entity_id }}{% endraw %}' + service_template: '{% raw %}{{ trigger.event.data.service }}{% endraw %}' ``` ## Sending events to IFTTT From 0c19522d9e7a0c8db727a14211505335d19845fc Mon Sep 17 00:00:00 2001 From: Eirik Z <46269073+atxbyea@users.noreply.github.com> Date: Thu, 10 Oct 2019 15:44:39 +0200 Subject: [PATCH 059/289] Grammar updates (#10687) Improved language --- source/_integrations/waze_travel_time.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_integrations/waze_travel_time.markdown b/source/_integrations/waze_travel_time.markdown index 44f423786cb..ef0b7186647 100644 --- a/source/_integrations/waze_travel_time.markdown +++ b/source/_integrations/waze_travel_time.markdown @@ -10,7 +10,7 @@ ha_release: 0.67 The `waze_travel_time` sensor provides travel time from the [Waze](https://www.waze.com/). -Unit system is set to metric system. +Unit system is by default set to the metric system. ## Configuration @@ -57,7 +57,7 @@ realtime: type: boolean default: true units: - description: "Set the unit for the sensor in metric or imperial, otherwise the default unit the same as the unit set in `unit_system:`." + description: "Set the unit of measurement for the sensor in metric or imperial, otherwise the default unit of measurement is the same as the unit set in `unit_system:`." required: false type: string vehicle_type: @@ -70,7 +70,7 @@ vehicle_type: Using the flexible option to set a sensor value to the `destination`, you can setup a single Waze integration that will calculate travel time to multiple optional locations on demand. -In the following example, the `Input Select` is converted into an address which is used to modify the destination for Waze route calculation from `device_tracker.myphone` location (It takes a few minutes for the value to update due to the interval set to fetch Waze data). +In the following example, the `Input Select` is converted into an address which is used to modify the destination for Waze route calculation from `device_tracker.myphone` location (It takes a few minutes for the value to update due to the interval of Waze data fetching). {% raw %} ```yaml @@ -117,11 +117,11 @@ sensor: destination: "725 5th Ave, New York, NY 10022, USA" region: 'US' units: imperial # 'metric' for Metric, 'imperial' for Imperial - vehicle_type: motorcycle # vehicle type used for route + vehicle_type: motorcycle # vehicle type used for routing ``` {% endraw %} -## Using the live map in a iFrame +## Using the live map in an iFrame If you plan to use [Waze's live map](https://developers.google.com/waze/iframe/) in Lovelace [iframe](/lovelace/iframe/) then use From e85a777a73f7509aec9e3f039fbe9638622dbd78 Mon Sep 17 00:00:00 2001 From: J <49540618+Tediore@users.noreply.github.com> Date: Thu, 10 Oct 2019 09:17:16 -0500 Subject: [PATCH 060/289] Correct minor grammar issues and improve clarity (#10693) --- source/_integrations/hue.markdown | 54 +++++++++++++++---------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/source/_integrations/hue.markdown b/source/_integrations/hue.markdown index 6340af2a2fb..b1e36814b1b 100644 --- a/source/_integrations/hue.markdown +++ b/source/_integrations/hue.markdown @@ -11,18 +11,18 @@ featured: true ha_release: "0.60" --- -Philips Hue support is integrated into Home Assistant as a Hub that can drive the light & sensor platforms. The preferred way to setup the Philips Hue platform is by enabling the [discovery component](/integrations/discovery/). +Philips Hue support is integrated into Home Assistant as a hub that can drive the light and sensor platforms. The preferred way to set up the Philips Hue platform is by enabling the [discovery component](/integrations/discovery/). There is currently support for the following device types within Home Assistant: -- Light -- Motion sensors (including temperature & light level sensors) +- Lights +- Motion sensors (including temperature and light level sensors) -Once discovered, if you have a custom default view, locate `configurator.philips_hue` in the entities list ( < > ) and add it to a group in `configuration.yaml`. Restart Home Assistant so that the configurator is visible in the Home Assistant dashboard. Once Home Assistant is restarted, locate and click on `configurator.philips_hue` to bring up the initiation dialog. This will prompt you to press the Hue button to register the Hue hub in Home Assistant. Once complete, the configurator entity isn't needed anymore and can be removed from any visible group in `configuration.yaml`. +Once discovered, if you have a custom default view, locate `configurator.philips_hue` in the States developer tool ( < > ) and add it to a group in `configuration.yaml`. Restart Home Assistant so that the configurator is visible in the Home Assistant dashboard. Once Home Assistant is restarted, locate and click on `configurator.philips_hue` to bring up the initiation dialog. This will prompt you to press the Hue button to register the Hue bridge in Home Assistant. Once complete, the configurator entity isn't needed anymore and can be removed from any visible group in `configuration.yaml`. -When you configure the Hue bridge from Home Assistant, it writes a token to a file in your Home Assistant [configuration directory](/docs/configuration/). That token authenticates the communication with the Hue bridge. This token uses the Address of the Hue Bridge. If the IP address for the Hue Bridge changes, you will need to register the Hue Bridge with Home Assistant again. To avoid this you may set up DHCP registration for your Hue Bridge, so that it always has the same IP address. +When you configure the Hue bridge from Home Assistant, it writes a token to a file in your Home Assistant [configuration directory](/docs/configuration/). That token authenticates the communication with the Hue bridge. This token uses the IP address of the bridge. If the IP address for the bridge changes, you will need to register it with Home Assistant again. To avoid this, you may set up a DHCP reservation on your router for your Hue bridge so that it always has the same IP address. -Once registration is complete you should see the Hue lights listed as `light` entities, Hue presence sensors listed as `binary_sensor` entites, Hue temperature and light level sensors listed as `sensor` entities. If you don't you may have to restart Home Assistant once more. +Once registration is complete you should see the Hue lights listed as `light` entities, the Hue motion sensors listed as `binary_sensor` entities, and the Hue temperature and light level sensors (which are built in to the motion sensors) listed as `sensor` entities. If you don't, you may have to restart Home Assistant once more. If you want to enable the integration without relying on the [discovery component](/integrations/discovery/), add the following lines to your `configuration.yaml` file: @@ -35,7 +35,7 @@ hue: {% configuration %} host: - description: The IP address of the device, e.g., 192.168.1.10. Required if not using the `discovery` integration to discover Hue bridges. + description: The IP address of the bridge (e.g., 192.168.1.10). Required if not using the `discovery` integration to discover Hue bridges. required: true type: string allow_unreachable: @@ -44,7 +44,7 @@ allow_unreachable: type: boolean default: false filename: - description: Make this unique if specifying multiple Hue hubs. + description: Make this unique if specifying multiple Hue bridges. required: false type: string allow_hue_groups: @@ -67,7 +67,7 @@ hue: ### Multiple Hue bridges -Multiple Hue bridges work transparently with discovery, you don't have to do anything. If you prefer to configure them manually and use multiple Hue bridges then it's needed that you provide a configuration file for every bridge. The bridges can't share a single configuration file. +Multiple Hue bridges work transparently with discovery, so you don't have to do anything special to set them up. If you prefer to configure them manually and use multiple Hue bridges, then you need to provide a configuration file for every bridge. The bridges can't share a single configuration file. Add `filename` to your Hue configuration entry in your `configuration.yaml` file: @@ -83,23 +83,23 @@ hue: ### Using Hue Groups in Home Assistant -The Hue API allows you to group lights. Home Assistant also supports grouping of entities natively, but sometimes it can be useful to use Hue Groups to group light bulbs. By doing so, Home Assistant only needs to send one API call to change the state of all the bulbs in those groups instead of one call for every light in the group. This causes all the bulbs to change state simultaneously. +The Hue API allows you to group lights. Home Assistant also supports grouping of entities natively, but sometimes it can be useful to use Hue groups to group light bulbs. By doing so, Home Assistant only needs to send one API call to change the state of all the bulbs in those groups instead of one call for every light in the group. This causes all the bulbs to change state simultaneously. -These Hue Groups can be a `Luminaire`, `Lightsource`, `LightGroup` or `Room`. The `Luminaire` and `Lightsource` can't be created manually since the Hue bridge manages these automatically based on the discovered bulbs. The `Room` and `LightGroup` can be created manually through the API, or the mobile app. A bulb can only exist in one `Room`, but can exist in multiple `LightGroup`. The `LightGroup` can be useful to link certain bulbs together since. +These Hue groups can be a `Luminaire`, `Lightsource`, `LightGroup`, or `Room`. The `Luminaire` and `Lightsource` can't be created manually since the Hue bridge manages these automatically based on the discovered bulbs. The `Room` and `LightGroup` can be created manually through the API or the mobile app. A bulb can only exist in one `Room`, but can exist in more than one `LightGroup`. The `LightGroup` can be useful if you want to link certain bulbs together. -The 2nd generation Hue app only allows to create a `Room`. You need to use the first generation app or the API to create a `LightGroup`. +The 2nd generation Hue app only has the ability to create a `Room`. You need to use the first generation app or the API to create a `LightGroup`. Example: -To create a `LightGroup` named `Ceiling lights` that contains the lights 1, 2 and 3, execute the following command: +To create a `LightGroup` named `Ceiling lights` that contains the lights 1, 2, and 3, execute the following command: ```bash $ curl -XPOST -d '{"name": "Ceiling lights", "lights": ["1", "2", "3"]}' http:///api//groups ``` -The `` is the string that is used to register Home Assistant on the bridge, you can find it in the `core.config_entries` file in your configuration\.storage path. `` is the IP address or hostname of your Hue bridge. +The `` is the string that is used to register Home Assistant on the bridge. You can find it in the `core.config_entries` file in your configuration\.storage path. `` is the IP address or hostname of your Hue bridge. -You can find out the ids of your lights by executing the following command: +You can find the IDs of your lights by executing the following command: ```bash $ curl http:///api//lights @@ -108,17 +108,17 @@ $ curl http:///api//lights Home Assistant will automatically detect your new `LightGroup` and add it to the interface.
- To support Hue Light Groups, your bridge needs to have at least firmware 1.13 (released on June 3, 2016). + To support Hue light groups, your bridge needs to have at least firmware 1.13 (released on June 3, 2016).
More information can be found on the [Philips Hue API documentation](https://www.developers.meethue.com/documentation/groups-api#22_create_group) website. ### Using Hue Scenes in Home Assistant -The Hue platform has its own concept of scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them, many that you've never used, almost all very poorly named. +The Hue platform has its own concept of scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them—many that you've never used, and almost all very poorly named. -To avoid user interface overload we don't expose scenes directly. Instead there is a hue.hue_activate_scene service which can be used by `automation` or `script` components. -This will have all the bulbs transitioned at once, instead of one at a time using standard scenes in Home Assistant. +To avoid user interface overload, we don't expose scenes directly. Instead there is a hue.hue_activate_scene service which can be used by `automation` or `script` components. +This will have all the bulbs transitioned at once, instead of one at a time like when using standard scenes in Home Assistant. For instance: @@ -134,23 +134,23 @@ script: | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `group_name` | no | The group/room name of the lights. Find this in the Hue official app. -| `scene_name` | no | The name of the scene. Find this in the Hue official app. +| `group_name` | no | The group/room name of the lights. Find this in the official Hue app. +| `scene_name` | no | The name of the scene. Find this in the official Hue app. -*Note*: `group_name` is not linked to Home Assistant group name. +*Note*: `group_name` is not a reference to a Home Assistant group name. It can only be the name of a group/room in the Hue app. ### Finding Group and Scene Names How do you find these names? -The easiest way to do this is only use the scenes from the 2nd generation Hue app. That is organized by room (group) and scene Name. Use the values of room name and scene name that you see in the app. You can test these work on the `dev-service` console of your Home Assistant instance. +The easiest way to do this is to only use the scenes from the 2nd generation Hue app, which is organized by room (group) and scene name. Use the values of room name and scene name that you see in the app. You can test that these work by using the `dev-service` console of your Home Assistant instance. -Alternatively, you can dump all rooms and scene names using this [gist](https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578). This does **not** tell you which groups and scenes work together but it's sufficient to get values that you can test in the `dev-service` console. +Alternatively, you can dump all rooms and scene names using this [gist](https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578). This does **not** tell you which groups and scenes work together, but it is sufficient to get values that you can test in the `dev-service` console. ### Caveats -The Hue API doesn't activate scenes directly, only on a Hue Group (typically rooms, especially if using the 2nd gen app). But Hue Scenes don't actually reference their group. So heuristic matching is used. +The Hue API doesn't activate scenes directly; rather, they must be associated with a Hue group (typically rooms, especially if using the 2nd gen app). But Hue scenes don't actually reference their group. So heuristic matching is used. -Neither group names or scene names are guaranteed unique in Hue. If you are getting non deterministic behavior, adjust your Hue scenes via the App to be more identifying. +Neither group names nor scene names are guaranteed unique in Hue. If you are observing unexpected behavior from calling Hue scenes in Home Assistant, make the names of your Hue scenes more specific in the Hue app. -The Hue hub has limited spaces for scenes, and will delete scenes if new ones get created that would overflow that space. The API docs say this is based on "Least Recently Used". +The Hue hub has limited space for scenes and will delete scenes if new ones get created that would overflow that space. The API docs say this is based on the scenes that are "least recently used." From 22aebe52bff057b853ef5d06340264b1b5ad255e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Oct 2019 16:24:03 +0200 Subject: [PATCH 061/289] Move raw (#10691) --- source/_integrations/ifttt.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown index 348ca13ccca..20067909284 100644 --- a/source/_integrations/ifttt.markdown +++ b/source/_integrations/ifttt.markdown @@ -31,6 +31,7 @@ For example, set the body of the IFTTT webhook to: You then need to consume that incoming information with the following automation: +{% raw %} ```yaml automation: - id: this_is_the_automation_id @@ -43,9 +44,10 @@ automation: condition: [] action: - data_template: - entity_id: '{% raw %}{{ trigger.event.data.entity_id }}{% endraw %}' - service_template: '{% raw %}{{ trigger.event.data.service }}{% endraw %}' + entity_id: '{{ trigger.event.data.entity_id }}' + service_template: '{{ trigger.event.data.service }}' ``` +{% endraw %} ## Sending events to IFTTT From 82feea28bc07ece828d8ae0aab05639ff1f611c9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Oct 2019 18:32:49 +0200 Subject: [PATCH 062/289] Remove hipchat (#10692) * Remove hipchat * Remove hipchat --- source/_integrations/hipchat.markdown | 79 --------------------- source/_redirects | 2 - source/images/supported_brands/hipchat.png | Bin 1553 -> 0 bytes 3 files changed, 81 deletions(-) delete mode 100644 source/_integrations/hipchat.markdown delete mode 100644 source/images/supported_brands/hipchat.png diff --git a/source/_integrations/hipchat.markdown b/source/_integrations/hipchat.markdown deleted file mode 100644 index b8f4ed392ea..00000000000 --- a/source/_integrations/hipchat.markdown +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "HipChat" -description: "Instructions on how to add HipChat notifications to Home Assistant." -logo: hipchat.png -ha_category: - - Notifications -ha_release: 0.52 ---- - -
-This integration was removed from Home Assistant. Slack [has taken](https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership) over Hipchat and Stride and will therefore stop these platforms. Hipchat was disconnected on February 15th, 2019. This document is now legacy. -
- -The `hipchat` platform allows you to send notifications from Home Assistant to [HipChat](https://hipchat.com/). - -## Setup - -You need to obtain a [HipChat API token](https://developer.atlassian.com/hipchat/guide/hipchat-rest-api/api-access-tokens#APIaccesstokens-Usergeneratedtokens) to be able to send notifications. - -## Configuration - -To enable the HipChat notification in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -notify: - - name: NOTIFIER_NAME - platform: hipchat - token: YOUR_TOKEN - room: 1234567 -``` - -{% configuration %} -name: - description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. - required: false - default: notify - type: string -token: - description: The HipChat API token to use for sending HipChat notifications. - required: true - type: string -room: - description: The default room to post to if no room is explicitly specified when sending the notification. - required: true - type: integer -color: - description: Setting color will override the default color for the notification. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'. - required: false - default: yellow - type: string -notify: - description: Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. Valid options are 'true' and 'false'. - required: false - default: false - type: boolean -format: - description: Setting format will override the default message format. Valid options are 'text' and 'html'. - required: false - default: text - type: string -host: - description: Setting the host will override the default HipChat server host. - required: false - type: string -{% endconfiguration %} - -### HipChat service data - -The following attributes can be placed `data` for extended functionality. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `room` | yes | (int) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml. -| `color` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml. -| `notify` | yes | (bool) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml. -| `format` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml. - -To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_redirects b/source/_redirects index de66afd057d..19bc6f6ce11 100644 --- a/source/_redirects +++ b/source/_redirects @@ -570,7 +570,6 @@ /components/notify.free_mobile /integrations/free_mobile /components/notify.gntp /integrations/gntp /components/notify.hangouts /integrations/hangouts -/components/notify.hipchat /integrations/hipchat /components/notify.homematic /integrations/homematic /components/notify.html5 /integrations/html5 /components/notify.huawei_lte /integrations/huawei_lte @@ -1432,7 +1431,6 @@ /components/heos /integrations/heos /components/hikvision /integrations/hikvision /components/hikvisioncam /integrations/hikvisioncam -/components/hipchat /integrations/hipchat /components/history /integrations/history /components/history_graph /integrations/history_graph /components/history_stats /integrations/history_stats diff --git a/source/images/supported_brands/hipchat.png b/source/images/supported_brands/hipchat.png deleted file mode 100644 index a6abc84fae385e29f8cacb074714e5847040977e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1553 zcmV+s2JZQZP)00004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px#KTu3mMMrQ<7Ai~@DohqCO%^On7As8_Doh$ENfs(i z7Ai~@DohqCOcp9k7Aj2^DohqCOcp9k7Ai~@DohqCOcyInf0{p60000KbW%=J0NcGQ z5gvXA==nkNZBCLj%%QMgMEXX-000G0NklLL;4UT>(1vMVYd6gb>@{%gG zjdG)ppo}=e7|m*@9Qx@`JvJJ~mZGp&w`&$WNLVkpbb-fZus-$C7xN4pqaFk$wRhc+ z=2h-9hB4r>b`>Xxo2#!VeDkD4ZiZJA;<*{Q31YCC=jMqa_E8YZRUX#sfv{-o%o#i8 zYuJ4bL}<0s`O6?8E=^l~?2M>~p(GAWY&L;SOGD;kAYsojkMu>5(5u|-h+|4ahR2)E zL$BU^2!x>rE1blOAiVOQ=tFvTsK@|w_ro0!>Z5UucsO5#uFF>lp;_15t3uExkyK38fjGvZ2R4EG;d3BE|BR#S2#|Pj1LS!1Yg0OAb(q}(HX!?) zLWu2^Q;_tS?6ZsnNbBTJL7V}JQwaDrh)$4Tr)jc=wkCqb35Xyuv4G~eLHwz0{2j08 zA&(Hp_1W2lJVWc)RkL%>xAr8ijUCN0N`P&I zneL83B$d`nFq3M{QA9!+E}{%xG=I-)k?gknCS14`#2$joP3xJ%<*loR-A{L3&+I%R zzDjdK8T&Pmy_>xN*+dui=&R%I-hs###K^kF?z#WZYp)=*ins{^+u%M3EU~zT_E|jB z2+wm|$dq!46+}V6NPi=G3et}y(SfIRA0$OpKgYBWPZKW7?}_jT<>6!uL}+Y1wy#UP za^BfUM9nSb=Hmop)Pz#gR};Sik;wB&E=EF(iXW*s{qD!&Ud`71VYu@ z0xzDj-tzRn!lH2sWf-A>7c2u1cla9o4^!9&*smx~{NxET+wZ5@X}ED)l932{wOGBYu7j1Xh_VKr-dxEe6wR zOqpk&YWx%kc=s`o=@v-&(tB&IS2sY?ot(#0zR6|Ol*iU`jsAZGQc|UTCUFdssdEs# z6Gvhz=!)~;gxAz4rVGVj;N)XT^xps}1#aw8gOH`m(GH=fAbrg>?}DTXaKq)n*vr#L2RQa^+o+ z;!L88mk-(IS!B1318vSQgFLJdmuIh6*ISaCF}kg|t2dRg@KPxyeG}OgTmV`&!aWrh z5V@3HmaW+vUMZzQp2h?Sx*<|Fa~cHJOl_$KM{ZCVIk_KH9qVyv%k=&QiSiDD;pS|D z4Ir#N>IO+$lE623&s9J;oJ)CcwQD!50KW*Aqib~F8-+{#N}DuDKE@IQhh|W3k)}n* zf`w5HJAY+m@p6`wPG)0Vm5txOE8Bqh@4S8^L*P;3!wRcadGd82+hPQ(=A7w!LGt^) zwAav=gQUG?H0MM2^&oG_FUWrrM1DU=`5y@Ox90l?vK!w=%X8y@00000NkvXXu0mjf Dr|Zct From b1c046eecd612ec4520ede8157c386907f3a5555 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Oct 2019 19:05:07 +0200 Subject: [PATCH 063/289] Add heading (#10690) --- source/_integrations/google_maps.markdown | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/source/_integrations/google_maps.markdown b/source/_integrations/google_maps.markdown index bde372a9fe5..7c9d18a78a2 100644 --- a/source/_integrations/google_maps.markdown +++ b/source/_integrations/google_maps.markdown @@ -10,15 +10,16 @@ ha_iot_class: Cloud Polling The `google_maps` platform allows you to detect presence using the unofficial API of [Google Maps Location Sharing](https://myaccount.google.com/locationsharing). -## Configuration +## Setup -You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). +You first need to create an additional Google account and share your location with that account. This integration will use that account to fetch the location of your device(s). 1. You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing). -2. You need to use the cookies from that account after you have properly authenticated which you can retrieve with either [Export cookies](https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/?src=search) for firefox (make sure that "Prefix HttpOnly cookies" is unchecked) or [cookies.txt](https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg?hl=en-US) for chrome. - - *Note:* Make sure to use the `.com` TLD (e.g.: maps.google.com), otherwise the cookie won't be able to provide a valid session. -3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account. - - For example: if your email was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`. +2. You need to use the cookies from that account after you have properly authenticated which you can retrieve with either [Export cookies](https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/?src=search) for Firefox (make sure that "Prefix HttpOnly cookies" is unchecked) or [cookies.txt](https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg?hl=en-US) for Chrome/Chromium. +3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account. Make sure to use the `.com` TLD (e.g., maps.google.com), otherwise the cookie won't be able to provide a valid session. + - For example: If your email address was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`. + +## Configuration To integrate Google Maps Location Sharing in Home Assistant, add the following section to your `configuration.yaml` file: From 9e84fd889e9c09fe3b2e6195503ea7b531a37729 Mon Sep 17 00:00:00 2001 From: Evan Morse <32440312+RowdyDog12@users.noreply.github.com> Date: Thu, 10 Oct 2019 12:07:05 -0500 Subject: [PATCH 064/289] Update updater.markdown (#10695) --- source/_integrations/updater.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/updater.markdown b/source/_integrations/updater.markdown index 0833d8af843..7df49745d48 100644 --- a/source/_integrations/updater.markdown +++ b/source/_integrations/updater.markdown @@ -10,7 +10,7 @@ ha_release: 0.8 The `updater` binary sensor will check daily for new releases. The state will be "on" when an update is available. Otherwise, the state will be "off". The newer version, as well as the link to the release notes, are attributes of the updater. As [Hass.io](/hassio/) has its own schedule for release it doesn't make sense to use this binary sensor on Hass.io. -The updater integration will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/integrations/updater). +The updater integration will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/updater).
From 0ca9f96f8241b6a3d094c7b77cd1878129c70187 Mon Sep 17 00:00:00 2001 From: J <49540618+Tediore@users.noreply.github.com> Date: Thu, 10 Oct 2019 12:48:19 -0500 Subject: [PATCH 065/289] Improve clarity and correct minor grammar issues (#10694) Also created note about /config directory if using Hass.io or Docker. --- source/_integrations/tradfri.markdown | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/_integrations/tradfri.markdown b/source/_integrations/tradfri.markdown index d3f682afe69..4a43f7baa50 100644 --- a/source/_integrations/tradfri.markdown +++ b/source/_integrations/tradfri.markdown @@ -1,6 +1,6 @@ --- title: "IKEA Trådfri (Tradfri)" -description: "Access and control your IKEA Trådfri Gateway (a.k.a. IKEA Tradfri hub/bridge) and via it its connected Zigbee-based devices." +description: "Access and control your IKEA Trådfri Gateway and its connected Zigbee-based devices." featured: true logo: ikea.svg ha_iot_class: Local Polling @@ -13,12 +13,12 @@ ha_category: - Switch --- -The `tradfri` integration support the IKEA Trådfri Gateway (a.k.a. IKEA Tradfri hub/bridge). The gateway can control compatible Zigbee-based lights (certified ZigBee Light Link products) connected to it and Home Assistant will automatically discover the gateways presence on your local network, if `discovery:` is present in your `configuration.yaml` file. +The `tradfri` integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified ZigBee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file. -You will be prompted to configure the gateway through the Home Assistant interface. The configuration process is very simple, when prompted, enter the security key printed on the physical sticker that is on the bottom of the IKEA Trådfri Gateway, then click configure. +You will be prompted to configure the gateway through the Home Assistant interface. The configuration process is very simple: when prompted, enter the security key printed on the sticker on the bottom of the IKEA Trådfri Gateway, then click *configure*.
-If you see an "Unable to connect" message, restart the gateway and try again. Don't forget to assign a permanent IP address to your IKEA Trådfri Gateway in your router / DHCP-server. +If you see an "Unable to connect" message, restart the gateway and try again. Don't forget to assign a permanent IP address to your IKEA Trådfri Gateway on your router or DHCP server.
## Configuration @@ -47,11 +47,11 @@ allow_tradfri_groups: ### Firmware updates -After updating the firmware of your IKEA Trådfri Gateway it might be necessary to repeat the configuration process. Possible errors: `Fatal DTLS error: code 115`. If you encounter problems: -- when configured using the integration: remove the integration through Settings > Integrations > Tradfri > delete using trash can icon; -- with manual configuration: delete the `.tradfri_psk.conf` file in your `.homeassistant` directory; +After updating your IKEA Trådfri Gateway firmware it might be necessary to repeat the configuration process. One error you might experience after a firmware update is `Fatal DTLS error: code 115`. If you encounter problems: +- when configured using the integration: remove the integration through Settings > Integrations > Tradfri > delete (trash can icon) +- with manual configuration: delete the `.tradfri_psk.conf` file in your `/.homeassistant` directory (`/config` directory if using Hass.io or Docker) -Then restart Home Assistant, when prompted enter the security key and click configure, just like during initial setup. +Then restart Home Assistant. When prompted, enter the security key and click *configure*, just like during initial setup. ### Compilation issues @@ -59,7 +59,7 @@ Then restart Home Assistant, when prompted enter the security key and click conf This does not apply to Hass.io or Docker.
-Please make sure you have `autoconf` installed (`$ sudo apt-get install autoconf`) if you want to use this component. Also, installing some dependencies might take considerable time (>1 h) on slow devices. +Please make sure you have `autoconf` installed (`$ sudo apt-get install autoconf`) if you want to use this component. Also, installing some dependencies might take considerable time (more than one hour) on slow devices. ### Setting the `api_key` From 051c09007c36f12d03728c1c67094b5cabf41913 Mon Sep 17 00:00:00 2001 From: J <49540618+Tediore@users.noreply.github.com> Date: Thu, 10 Oct 2019 13:12:45 -0500 Subject: [PATCH 066/289] Correct some minor typos (#10675) * Correct some minor typos Also provide some additional information and provide consistency with not capitalizing "ecobee" (except in the title) * :pencil2: Tweaks --- source/_integrations/ecobee.markdown | 56 ++++++++++++++++------------ 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown index 80ec0bec1ab..feb369009e1 100644 --- a/source/_integrations/ecobee.markdown +++ b/source/_integrations/ecobee.markdown @@ -1,6 +1,6 @@ --- title: "Ecobee" -description: "Instructions for how to integrate Ecobee thermostats and sensors within Home Assistant." +description: "Instructions for how to integrate ecobee thermostats and sensors within Home Assistant." logo: ecobee.png ha_category: - Sensor @@ -13,11 +13,11 @@ ha_release: 0.9 ha_iot_class: Cloud Poll --- -The `ecobee` integration lets you control thermostats and view sensor data from [ecobee](https://ecobee.com) thermostats and remote sensors. +The `ecobee` integration lets you control and view sensor data from [ecobee](https://ecobee.com) thermostats. ## Preliminary Step -You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, first, you need to register your thermostat which should be done as part of the ecobee installation. Once you have done that, perform the following steps. +You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, you first need to register your thermostat which, should be done as part of the ecobee installation. Once you have done that, perform the following steps. 1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/developers/). 2. Log in with your ecobee credentials. @@ -25,7 +25,7 @@ You will need to obtain an API key from ecobee's [developer site](https://www.ec 4. Fill in the fields. 5. Click **save**. -Now login to the regular consumer portal and in the hamburger menu, there will be a new option **Developer**. Now we can create an Application to link to Home Assistant. +Log in to the regular consumer portal, and click the overflow menu button in the upper right. You will see a new option named **Developer**. Now we can create the Application to hook up to Home Assistant. 1. Select the **Developer** option from the hamburger menu. 2. Select **Create New**. @@ -34,15 +34,15 @@ Now login to the regular consumer portal and in the hamburger menu, there will b 5. You don't need an Application Icon or Detailed Description. 6. Click **Create**. -Now under the Name and Summary Section, you will have an API key. Copy this key as you will need it in the steps that follow. Click the **X** to close the Developer section. +Under the Name and Summary Section, you will now have an API key. Copy this key and use it in your configuration section below. Click the **X** to close the Developer section. ## Configuring the Integration -To configure the ecobee integration in Home Assistant, you can either use the **Configuration** -> **Integrations** menu, or add an entry to `configuration.yaml`. +To configure the ecobee integration in Home Assistant, you can either use the **Configuration** > **Integrations** menu, or add an entry to `configuration.yaml`. ### Setup via the Integrations menu -1. In the **Configuration** -> **Integrations** menu, click **+** and then select `ecobee` from the pop-up menu. +1. In the **Configuration** > **Integrations** menu, click **+** and then select `ecobee` from the pop-up menu. 2. In the pop-up box, enter the API key you obtained from ecobee.com. 3. In the next pop-up box, you will be presented with a unique four-character PIN code which you will need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by logging in, selecting **My Apps** from the hamburger menu, clicking **Add Application** on the left, entering the PIN code from Home Assistant, and clicking **Validate** and then **Add Application** in the bottom right. 4. After authorizing the App on ecobee.com, return to Home Assistant and hit **Submit**. If the authorization was successful, a config entry will be created and your thermostats and sensors will be available in Home Assistant. @@ -57,11 +57,9 @@ ecobee: api_key: YOUR_API_KEY ``` -[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. In the **Configuration** -> **Integrations** menu, hit **Configure** next to the discovered `ecobee` entry, and continue to authorize the App per the Integration menu instructions above. - {% configuration %} api_key: - description: Your ecobee API key. This is only needed for the initial setup of the integration. Once registered it can be removed. If you revoke the key in the ecobee portal, you will need to remove the existing `ecobee` configuration in the **Integrations** menu, update this, and then configure the Integration again. + description: Your ecobee API key. This is only needed for the initial setup of the integration. Once registered it can be removed. If you revoke the key in the ecobee portal, you will need to remove the existing `ecobee` configuration in the **Integrations** menu, update this, and then configure the integration again. required: false type: string {% endconfiguration %} @@ -71,9 +69,19 @@ api_key:

+[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. In the **Configuration** -> **Integrations** menu, hit **Configure** next to the discovered `ecobee` entry, and continue to authorize the App per the Integration menu instructions above. + +The first time you (re)run Home Assistant with this integration it will give you a PIN code that you need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by clicking **Add Application** in the **My Apps** section in the sidebar. + +The PIN can be found in the Home Assistant portal on the Ecobee card or from the **configurator.ecobee** entity in the States developer tool. + +- If you do not have an ecobee card, you may be using groups with `default_view` that don't show the card. To get around this, you can temporarily comment out the `default_view` section or add the `configurator.ecobee` integration to your `default_view` and restart Home Assistant. + +Once you enter the PIN on the ecobee site, wait approximately 5 minutes, and then click on the **I have authorized the app** link at the bottom of the ecobee pop-up window. If everything worked correctly, you should now be able to restart Home Assistant again to see the full ecobee card with all of the sensors populated or see the list of sensors in the developer tools. Now you can re-enable your `default_view` (if you had to disable it) and add the ecobee sensors to a group and/or view. + ## Notifications -To get your Ecobee notifications working with Home Assistant, you must first have the main Ecobee integration loaded and running. Once you have that configured, you can set up this integration to send messages to your Ecobee device. +To get your ecobee notifications working with Home Assistant, you must first have the main ecobee integration loaded and running. Once you have that configured, you can set up this integration to send messages to your ecobee device. To use this notification platform in your installation, add the following to your `configuration.yaml` file: @@ -98,7 +106,7 @@ To use notifications, please see the [getting started with automation page](/get ### Concepts -The Ecobee Thermostat supports the following key concepts. +The ecobee thermostat supports the following key concepts. The _target temperature_ is the temperature that the device attempts to achieve. The target temperature is either determined by the @@ -113,7 +121,7 @@ limits). A _climate_ is a predefined or user-defined set of presets that the thermostat aims to achieve. The ecobee thermostat provides three predefined -climates: Home, Away, and Sleep. The user can define additional climates. +climates: Home, Away, and Sleep. Ecobee refers to these as _comfort settings_. The user can define additional climates. A _preset_ is an override of the target temperature defined in the currently active climate. The temperature targeted in the preset mode may be @@ -122,30 +130,30 @@ climate (home, away, sleep, etc.), or it may be derived from a vacation defined by the thermostat. All holds are temporary. Temperature and climate holds expire when the thermostat transitions to the next climate defined in its program. A vacation hold starts at the beginning of the -defined vacation period, and expires when the vacation period ends. +defined vacation period and expires when the vacation period ends. When in _away preset_, the target temperature is permanently overridden by the target temperature defined for the away climate. The away preset is a simple way to emulate a vacation mode. The _HVAC mode_ of the device is the currently active operational -modes that the Ecobee thermostat provides: heat, auxHeatOnly, cool, +modes that the ecobee thermostat provides: heat, auxHeatOnly, cool, auto, and off. ## Attributes -The Ecobee climate entity has some extra attributes to represent the state of the thermostat. +The ecobee climate entity has some extra attributes to represent the state of the thermostat. -| Name | Description | -| ------------------- | ------------------------------------------------------------------------------------- | -| `fan` | If the fan is currently on or off: `on` / `off`. | -| `climate_mode` | This is the climate mode that is active, or would be active if no override is active. | -| `equipment_running` | This is a comma seperated list of equipment that is currently running. | -| `fan_min_on_time` | The minimum amount of minutes that the fan will be on when it's turned on. | +| Name | Description | +| ---- | ----------- | +| `fan` | If the fan is currently on or off: `on` / `off`. +| `climate_mode` | This is the climate mode that is active, or would be active if no override is active. +| `equipment_running` | This is a comma-separated list of equipment that is currently running. +| `fan_min_on_time` | The minimum amount of time (in minutes) that the fan will run per hour. This is determined by the minimum fan runtime setting which can be changed in the ecobee app or on the thermostat itself. ## Services -Besides the standard services provided by the Home Assistant [Climate](/integrations/climate/) integration, the following extra services are provided by the Ecobee integration: +Besides the standard services provided by the Home Assistant [Climate](/integrations/climate/) integration, the following extra services are provided by the ecobee integration: - `ecobee.create_vacation` - `ecobee.delete_vacation` @@ -159,7 +167,7 @@ Creates a vacation on the selected ecobee thermostat. | Service data attribute | Optional | Description | | ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- | | `entity_id` | no | ecobee thermostat on which to create the vacation | -| `vacation_name` | no | Name of the vacation to create; must be unique on the thermostat | +| `vacation_name` | no | Name of the vacation to create. Must be unique on the thermostat | | `cool_temp` | no | Cooling temperature during the vacation | | `heat_temp` | no | Heating temperature during the vacation | | `start_date` | yes | Date the vacation starts in YYYY-MM-DD format | From 010806ffe025adaa25aaad1a651b8404f8955067 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 10 Oct 2019 11:15:10 -0700 Subject: [PATCH 067/289] Remove no longer relevant note --- source/hassio/installation.markdown | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 8f4d5fb91a8..c42831da194 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -64,10 +64,6 @@ If you are using a Raspberry Pi please remember to ensure you're using an [appro Now you can [configure][configure] your install. -### Migrating from a non-Hass.io install - -If you copy over your existing Home Assistant configuration, make sure to enable the Hass.io panel by adding either `discovery:` or `hassio:` to your configuration. - ## Updating a Hass.io installation Best practice for updating a Hass.io installation: From 64562c9bb4943dcf16efc83acf888e7eaa749936 Mon Sep 17 00:00:00 2001 From: MeIchthys Date: Thu, 10 Oct 2019 14:43:11 -0400 Subject: [PATCH 068/289] Reddit doesn't support two-factor auth (#10701) Add a note that this integration doesn't support two-factor authentication. --- source/_integrations/reddit.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_integrations/reddit.markdown b/source/_integrations/reddit.markdown index 5a51aa13285..0fe263b79e5 100644 --- a/source/_integrations/reddit.markdown +++ b/source/_integrations/reddit.markdown @@ -14,6 +14,10 @@ The Reddit sensor integrates data from [Reddit](https://reddit.com/) to monitor To set up this sensor, you will need to generate a `client_id` and `client_secret` for the user account you will use to connect. Follow the first steps in [this Wiki page](https://github.com/reddit-archive/reddit/wiki/OAuth2-Quick-Start-Example). +
+This integration does not support Reddit's two-factor authentication. If you use two-factor authentication for your Reddit account, create a separate Reddit account without two-factor authentication for use with Home Assistant. +
+ ## Configuration To enable this platform, add the following to your `configuration.yaml` file: From 697e899d4a0a120e10f6cd13ec25d7a18afc393d Mon Sep 17 00:00:00 2001 From: J <49540618+Tediore@users.noreply.github.com> Date: Thu, 10 Oct 2019 13:49:22 -0500 Subject: [PATCH 069/289] Improve clarity and add a note (#10702) Home Assistant might detect some HomeKit devices that aren't currently supported by the integration (such as TVs that have been updated with HomeKit support). Added a note to explain this situation. --- .../_integrations/homekit_controller.markdown | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/source/_integrations/homekit_controller.markdown b/source/_integrations/homekit_controller.markdown index 84f694fd8cf..05c90c88149 100644 --- a/source/_integrations/homekit_controller.markdown +++ b/source/_integrations/homekit_controller.markdown @@ -16,7 +16,7 @@ ha_release: 0.68 ha_iot_class: Local Polling --- -The [HomeKit](https://developer.apple.com/homekit/) controller integration allows you to use accessories with the "Works with HomeKit" logo with Home Assistant. This integration should not be confused with the [HomeKit](/integrations/homekit/) integration, which allows you to control Home Assistant devices via HomeKit. +The [HomeKit](https://developer.apple.com/homekit/) controller integration allows you to connect accessories with the "Works with HomeKit" logo to Home Assistant. This integration should not be confused with the [HomeKit](/integrations/homekit/) integration, which allows you to control Home Assistant devices via HomeKit. The integration will automatically detect HomeKit compatible devices that are ready to pair if the [`zeroconf`](/integrations/zeroconf/) integration is enabled. This is enabled by default on new installations via the [`default_config`](/integrations/default_config/) component. @@ -37,38 +37,44 @@ There is currently support for the following device types within Home Assistant: HomeKit IP accessories for these device types may work with some caveats: -- If the device is WiFi based and has no physical controls or screen then you may need an Apple HomeKit device like an iPhone or iPad to get the accessory onto your WiFi network. For example, for a Koogeek LS1 you must add the accessory to HomeKit on your iOS device, then remove it from the iOS device. This leaves the LS1 in an unpaired state but still on your WiFi. Then Home Assistant can find it and pair with it. -- You need to know the HomeKit PIN. There is no way to recover this if you do not have it. You will need to contact the manufacturer to see what options you have. +- If the device is WiFi based and has no physical controls or screen then you may need an Apple HomeKit device like an iPhone or iPad to get the accessory onto your WiFi network. For example, for a Koogeek LS1 you must add the accessory to HomeKit on your iOS device, then remove it from the iOS device. This leaves the LS1 in an unpaired state but still on your WiFi. Home Assistant can then find it and pair with it. +- You need to know the HomeKit PIN. There is no way to recover this if you do not have it. In this case, you will need to contact the manufacturer to see what options you have. Home Assistant does not currently support HomeKit BLE. +
+ + HomeKit Controller might detect some HomeKit devices on your network that are not currently supported by this integration. One such example is HomeKit displays (such as Vizio TVs which have been updated with HomeKit support). These devices might pair with Home Assistant if you go through the pairing process, but no entity will be created, and you won't be able to control these devices with Home Assistant. However, pairing the device with Home Assistant *will* remove the persistent notification generated when Home Assistant finds new devices. + +
+ ## Troubleshooting ### I don't have a HomeKit PIN -When you buy a certified HomeKit enabled device the PIN maybe with the instructions or on a sticker on the side or under the accessory. +When you buy a certified HomeKit-enabled device, the PIN might be in the instructions or on a sticker on the accessory itself. -Devices with screens like thermostats may not have PIN codes in the packaging at all. Every time you click on "Configure" in the Home Assistant front end your accessory will generate a new pairing code and show it on the display. +Devices with screens like thermostats may not have PIN codes in the packaging at all. Every time you click on "Configure" in the Home Assistant frontend, your accessory will generate a new pairing code and show it on the display. -If your device doesn't have a display and got HomeKit support after it was released you may not have a pairing code. Dealing with this is manufacturer specific. Some manufacturers allow you to see the pairing code in their iOS app. Others force you to use their app to configure HomeKit and don't let you have the pairing pin - right now you won't be able to use HomeKit controller with those devices. +If your device doesn't have a display and received HomeKit support after it was released, you may not have a pairing code. Dealing with this is manufacturer specific. Some manufacturers allow you to see the pairing code in their iOS app. Others force you to use their app to configure HomeKit and don't let you have the pairing pin - right now you won't be able to use HomeKit Controller with those devices. -If you have lost your PIN code then you may not be able to repair your accessory. You should contact the manufacturer to see if there is anything you can do. +If you have lost your PIN code, then you may not be able to pair your accessory. You should contact the manufacturer to see if there is anything you can do. ### My accessory isn't updating straight away -This is normal - HomeKit controller is currently a local polling based integration. It polls your accessory for its latest state once a minute. +This is normal - HomeKit controller is currently a local polling based integration. It polls your accessory for its latest state once per minute. ### Home Assistant cannot discover my device -For IP accessories, Home Assistant can only find devices that are already on the same network as your device. If an accessory is WiFi based and has no user interface for joining it to your Wifi network you will need an Apple HomeKit controller device (an iPhone or iPad). You should pair it with the controller and then remove the pairing in the UI (but do not reset the accessory itself). This will leave the accessory on your WiFi network but in an unpaired state, and then Home Assistant can find it. +For IP accessories, Home Assistant can only find devices that are already on the same network as your device. If an accessory is WiFi based and has no user interface for joining it to your Wifi network, you will need an Apple HomeKit controller device (an iPhone or iPad). You should pair it with the controller and then remove the pairing in the UI (but do not reset the accessory itself). This will leave the accessory on your WiFi network but in an unpaired state, and then Home Assistant can find it. -Home Assistant can only find accessories that aren't already paired. Even if you reset your Home Assistant configuration the accessory will still think it is paired and you won't be able to use it with Home Assistant. You should reset the accessory according to the manufacturer instructions. Some devices have a "Reset HomeKit" option, and some may require a full reset. +Home Assistant can only find accessories that aren't already paired. Even if you reset your Home Assistant configuration, the accessory will still think it is paired and you won't be able to use it with Home Assistant. You should reset the accessory according to the manufacturer's instructions. Some devices have a "Reset HomeKit" option, and some may require a full reset. -### HomeKit controller is finding devices on my network even though I don't have any Apple device +### HomeKit controller is finding devices on my network even though I don't have any Apple devices -This is completely normal. Unlike many other commercial IoT offerings the HomeKit protocol is a local and offline protocol that does not rely on the Apple ecosystem to function. You do not need an Apple online account to use a "Works with HomeKit" device. Some WiFi devices may need an iOS briefly to get them onto your WiFi but other than that you do not need any Apple hardware on your network either. +This is completely normal. Unlike many other commercial IoT offerings, the HomeKit protocol is a local and offline protocol that does not rely on the Apple ecosystem to function. You do not need an Apple online account to use a "Works with HomeKit" device. Some WiFi devices may need an iOS device briefly to get them onto your WiFi, but other than that you do not need any Apple hardware on your network. -Many IoT devices are getting a post-launch HomeKit upgrade. This might mean your device starts showing in Home Assistant as a `homekit_controller` device even though when you bought it without HomeKit support. If maybe this is a better choice for you than a native integration. For example, a lot of climate devices have an online-only API and a HomeKit API. The HomeKit one might not expose all of the settings and controls you are used to but won't break if your internet connection goes down or the cloud service goes away. +Many IoT devices are getting a post-launch HomeKit upgrade. This might mean your device starts showing in Home Assistant as a `homekit_controller` device even though when you bought it without HomeKit support. This might be a better choice for you than a native integration. For example, many climate devices have an online-only API and a HomeKit API. The HomeKit one might not expose all of the settings and controls you are used to, but it also won't break if your Internet connection goes down or the cloud service goes away. ### I have a warning in my logs about HomeKit controller skipping updates @@ -78,10 +84,10 @@ You may say a log entry that looks like this: HomeKit controller update skipped as previous poll still in flight ``` -In these cases it's unlikely that HomeKit controller itself is directly responsible. This is a safety feature to avoid overloading your HomeAssistant instance. It means that Home Assistant tried to poll your accessory but the previous poll was still happening. This means it is taking over 1 minute to poll your accessory. This could be caused by a number of things: +In these cases it's unlikely that HomeKit controller itself is directly responsible. This is a safety feature to avoid overloading your Home Assistant instance. It means that Home Assistant tried to poll your accessory but the previous poll was still happening. This means it is taking over 1 minute to poll your accessory. This could be caused by a number of things: -- You have too many blocking synchronous integrations for your Home Assistant instance. All synchronous integrations share a thread pool and if there are lots of tasks to run on it they will queued, causing delays. In the worst cases this queue can build up faster than it can be emptied. Faster hardware may help, but you may need to disable some integrations. -- Your network connection to an accessory is poor and HomeKit controller is unable to reach the accessory reliably. This will likely require a change to your network setup to improve WiFi coverage or replace damaged cabling etc. -- There is a problem with the actual accessory and this may be causing intermittent network issues. +- You have too many blocking synchronous integrations for your Home Assistant instance. All synchronous integrations share a thread pool, and if there are lots of tasks to run on it they will queued, which will cause delays. In the worst cases this queue can build up faster than it can be emptied. Faster hardware may help, but you may need to disable some integrations. +- Your network connection to an accessory is poor and HomeKit Controller is unable to reach the accessory reliably. This will likely require a change to your network setup to improve WiFi coverage or replace damaged cabling. +- There is a problem with the accessory itself which is causing intermittent network issues. -In these cases HomeKit controller will skip polling to avoid a build up of back pressure in your instance. +In these cases, HomeKit Controller will skip polling to avoid a buildup of back pressure in your instance. From 3a1ba2fbd832370a67b890619da7f87affbb8285 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 10 Oct 2019 20:58:23 +0200 Subject: [PATCH 070/289] Remove hydroquebec integration (ADR-0004) (#10700) --- source/_integrations/hydroquebec.markdown | 93 ------------------- ...17-01-14-iss-usps-images-packages.markdown | 3 +- source/_posts/2017-07-02-release-48.markdown | 3 +- source/_posts/2017-07-29-release-50.markdown | 3 +- source/_posts/2017-11-18-release-58.markdown | 3 +- source/_posts/2018-01-14-release-61.markdown | 4 +- source/_posts/2018-04-14-release-67.markdown | 6 +- source/_posts/2018-04-27-release-68.markdown | 5 +- .../_posts/2018-07-16-release-73-2.markdown | 2 +- source/_redirects | 2 - .../images/supported_brands/hydroquebec.svg | 1 - 11 files changed, 11 insertions(+), 114 deletions(-) delete mode 100644 source/_integrations/hydroquebec.markdown delete mode 100644 source/images/supported_brands/hydroquebec.svg diff --git a/source/_integrations/hydroquebec.markdown b/source/_integrations/hydroquebec.markdown deleted file mode 100644 index 2acb7064bb8..00000000000 --- a/source/_integrations/hydroquebec.markdown +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: "Hydro-Québec" -description: "Instructions on how to integrate Hydro-Québec consumption profile within Home Assistant." -logo: hydroquebec.svg -ha_category: - - Energy -ha_release: 0.35 -ha_iot_class: Cloud Polling ---- - -Integrate your [Hydro-Québec](https://www.hydroquebec.com/portail/) consumption profile information into Home Assistant. - -
- -Breaking change: Since Home Assistant v0.40, **contract** attribute is required. - -
- -```yaml -# Example configuration.yaml entry -sensor: - - platform: hydroquebec - username: MYUSERNAME - password: MYPASSWORD - contract: '123456789' - monitored_variables: - - period_total_bill - - period_length - - period_total_days -``` - -{% configuration %} -username: - description: Username used to log into the Hydro-Québec site. - required: true - type: string -password: - description: Password used to log into the Hydro-Québec site. - required: true - type: string -contract: - description: Your contract number with Hydro-Québec. - required: true - type: string -name: - description: A friendly name for this sensor. - required: false - default: HydroQuebec - type: string -monitored_variables: - description: Variables to monitor. - required: true - type: list - keys: - balance: - description: Current balance - period_total_bill: - description: Current period bill - period_length: - description: Current period length - period_total_days: - description: Total number of days in this period - period_mean_daily_bill: - description: Period daily average bill - period_mean_daily_consumption: - description: Period daily average consumption - period_total_consumption: - description: Total consumption - period_lower_price_consumption: - description: Period lower price consumption - period_higher_price_consumption: - description: Period higher price consumption - period_average_temperature: - description: Period average temperature - yesterday_total_consumption: - description: Yesterday total consumption - yesterday_lower_price_consumption: - description: Yesterday lower price consumption - yesterday_higher_price_consumption: - description: Yesterday higher price consumption - yesterday_average_temperature: - description: Yesterday average temperature -{% endconfiguration %} - -To find your contract id, go to the [Hydro-Québec website](https://www.hydroquebec.com/portail/) -and connect to your account. -On the main page your can see your contract IDs. -It should be something like: "Contract 1234 56789". -You just have to keep numbers and remove the space. - -
-Multi contracts accounts are supported only from Home Assistant v0.40. -
diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index da1a7741a30..516a924aeef 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -34,7 +34,7 @@ The new [image processing component][image] currently works with [number plates] ## All changes -- Sensor: Support for [HydroQuebec][quebec] ([@titilambert]) +- Sensor: Support for HydroQuebec ([@titilambert]) - Sensor: Tracking the [ISS][iss] ([@HydrelioxGitHub]) - Sensor: USPS deliveries tracking ([@happyleavesaoc]) - Device tracker: New [ping-based][ping] tracker ([@michaelarnauts]) @@ -177,7 +177,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [pico]: /integrations/picotts [ping]: /integrations/ping [plates]: /integrations/openalpr_local_local -[quebec]: /integrations/hydroquebec [rest]: /integrations/rest_command/ [sma]: /integrations/sma#sensors [sonarr]: /integrations/sonarr diff --git a/source/_posts/2017-07-02-release-48.markdown b/source/_posts/2017-07-02-release-48.markdown index 8712f37a6b8..bd01a923669 100644 --- a/source/_posts/2017-07-02-release-48.markdown +++ b/source/_posts/2017-07-02-release-48.markdown @@ -165,7 +165,7 @@ light: - Do not call update() in constructor ([@fabaff] - [#8120]) ([sensor.netdata docs]) - Change Error Message when Turning off ISY994 Light ([@SConaway] - [#8131]) ([light.isy994 docs]) - Allow iteration in python_script ([@balloob] - [#8134]) ([python_script docs]) -- Add current balance to hydroquebec sensor ([@titilambert] - [#8138]) ([sensor.hydroquebec docs]) +- Add current balance to hydroquebec sensor ([@titilambert] - [#8138]) - Decora light: Fix brightness level in UI ([@titilambert] - [#8139]) ([light.decora docs]) - Add I2c BME280 temperature, humidity and pressure sensor for Raspberry Pi ([@azogue] - [#7989]) ([sensor.bme280 docs]) (new-platform) - Upgrade libsoundtouch to prevent Python3.6 errors with enum. #7733 #8103 ([@CharlesBlonde] - [#8143]) ([media_player.soundtouch docs]) @@ -489,7 +489,6 @@ light: [sensor.dyson docs]: /integrations/dyson#sensor [sensor.glances docs]: /integrations/glances [sensor.htu21d docs]: /integrations/htu21d -[sensor.hydroquebec docs]: /integrations/hydroquebec [sensor.knx docs]: /integrations/sensor.knx/ [sensor.netdata docs]: /integrations/netdata [sensor.openhardwaremonitor docs]: /integrations/openhardwaremonitor diff --git a/source/_posts/2017-07-29-release-50.markdown b/source/_posts/2017-07-29-release-50.markdown index 5d2264acc3d..52776a60d82 100644 --- a/source/_posts/2017-07-29-release-50.markdown +++ b/source/_posts/2017-07-29-release-50.markdown @@ -138,7 +138,7 @@ conversation: - Remove deprecated automation keywords ([@amelchio] - [#8510]) ([automation.state docs]) ([automation.time docs]) (breaking change) - Citybikes: Allow None as result for empty slots ([@janLo] - [#8528]) ([sensor.citybikes docs]) - Return a 0 temperature value when none is found ([@phil-lavin] - [#8518]) ([climate.maxcube docs]) -- Fix #6469 and #6828 ([@titilambert] - [#8537]) ([sensor.hydroquebec docs]) +- Fix #6469 and #6828 ([@titilambert] - [#8537]) - Update docstrings ([@fabaff] - [#8536]) - Upgrade TwitterAPI to 2.4.6 ([@fabaff] - [#8535]) ([notify.twitter docs]) - Decora: Fix set brightness and improve reconnection ([@titilambert] - [#8522]) ([light.decora docs]) @@ -381,7 +381,6 @@ conversation: [sensor.dht docs]: /integrations/dht [sensor.fitbit docs]: /integrations/fitbit [sensor.google_wifi docs]: /integrations/google_wifi -[sensor.hydroquebec docs]: /integrations/hydroquebec [sensor.knx docs]: /integrations/sensor.knx/ [sensor.lyft docs]: /integrations/lyft [sensor.octoprint docs]: /integrations/octoprint#sensor diff --git a/source/_posts/2017-11-18-release-58.markdown b/source/_posts/2017-11-18-release-58.markdown index ae542206e9d..c7f91918a36 100644 --- a/source/_posts/2017-11-18-release-58.markdown +++ b/source/_posts/2017-11-18-release-58.markdown @@ -64,7 +64,7 @@ Our about screen that shows the error logs has gained a nice upgrade by [@postlu - Fix yweather ([@tinloaf] - [#10661]) ([weather.yweather docs]) - Properly initialize Harmony remote ([@amelchio] - [#10665]) ([remote.harmony docs]) -- Handle the new version of HydroQuebec website ([@titilambert] - [#10682]) ([sensor.hydroquebec docs]) +- Handle the new version of HydroQuebec website ([@titilambert] - [#10682]) - Fix for time_date sensor ([@etsinko] - [#10694]) ([sensor.time_date docs]) - Frontend fixes ([@andrey-git] [@armills] [@balloob]) @@ -493,6 +493,5 @@ Experiencing issues introduced by this release? Please report them in our [issue [@tinloaf]: https://github.com/tinloaf [@titilambert]: https://github.com/titilambert [remote.harmony docs]: /integrations/harmony -[sensor.hydroquebec docs]: /integrations/hydroquebec [sensor.time_date docs]: /integrations/time_date [weather.yweather docs]: /integrations/yweather diff --git a/source/_posts/2018-01-14-release-61.markdown b/source/_posts/2018-01-14-release-61.markdown index 64aaae1f4e4..eed5ed65952 100644 --- a/source/_posts/2018-01-14-release-61.markdown +++ b/source/_posts/2018-01-14-release-61.markdown @@ -161,7 +161,7 @@ Note however, that this feature was replaced by a new ignore_string config optio ## All changes - Try multiple methods of getting data in asuswrt. ([@PeWu] - [#11140]) ([device_tracker.asuswrt docs]) -- Hydroquebec component use now asyncio ([@titilambert] - [#10795]) ([sensor.hydroquebec docs]) +- Hydroquebec component use now asyncio ([@titilambert] - [#10795]) - Hive Component Release Two ([@KJonline] - [#11053]) ([hive docs]) ([climate.hive docs]) ([light.hive docs]) - Add Discogs Sensor platform ([@thibmaek] - [#10957]) ([sensor.discogs docs]) (new-platform) - Fix statistics sensor mean and median when only one sample is available. ([@markferry] - [#11180]) ([sensor.statistics docs]) @@ -259,7 +259,7 @@ Note however, that this feature was replaced by a new ignore_string config optio - Input Select - Added service description ([@cdce8p] - [#11456]) ([input_select docs]) - Input Boolean - Deleted 'DEFAULT_INITIAL' ([@cdce8p] - [#11453]) ([input_boolean docs]) - Updated gitignore file ([@cdce8p] - [#11452]) -- Update hydroquebec component to use hass httpsession ([@titilambert] - [#11412]) ([sensor.hydroquebec docs]) +- Update hydroquebec component to use hass httpsession ([@titilambert] - [#11412]) - Catch everything when calling to OctoPrint API to fix #10557 ([@w1ll1am23] - [#11457]) ([octoprint docs]) - Update PULL_REQUEST_TEMPLATE.md ([@danielhiversen] - [#11465]) - Alexa to not use customize for entity config ([@balloob] - [#11461]) ([cloud docs]) ([alexa.smart_home docs]) (breaking change) diff --git a/source/_posts/2018-04-14-release-67.markdown b/source/_posts/2018-04-14-release-67.markdown index 6dc2a8690c7..634c64d4189 100644 --- a/source/_posts/2018-04-14-release-67.markdown +++ b/source/_posts/2018-04-14-release-67.markdown @@ -38,7 +38,7 @@ This release includes a security fix. The error log was accessible via the API w - Import operation modes from air humidifier ([@syssi] - [#13908]) ([fan.xiaomi_miio docs]) - Upgrade pyqwikswitch to 0.71 ([@kellerza] - [#13920]) ([qwikswitch docs]) - Upgrade somecomfort to 0.5.2 ([@balloob] - [#13940]) ([climate.honeywell docs]) -- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) ([sensor.hydroquebec docs]) +- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) - Update pyfido to 2.1.1 ([@titilambert] - [#13947]) ([sensor.fido docs]) - Bumped pypollencom to 1.1.2 ([@bachya] - [#13959]) ([sensor.pollen docs]) - Revert "Upgrade pyqwikswitch to 0.71 ([@balloob] - [#13920]) ([qwikswitch docs]) @@ -111,7 +111,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Remove MercedesME component ([@ReneNulschDE] - [#13538]) ([device_tracker docs]) (mercedesme docs) (binary_sensor.mercedesme docs) (sensor.mercedesme docs) (breaking change) - Added Waze travel time sensor ([@Myrddyn1] - [#12387]) ([sensor.waze_travel_time docs]) (new-platform) - Added switch component to Amcrest IP Camera. ([@adpriebe] - [#12992]) ([amcrest docs]) ([switch.amcrest docs]) (new-platform) -- Upgrade pyhydroquebec 2.2.1 ([@titilambert] - [#13586]) ([sensor.hydroquebec docs]) +- Upgrade pyhydroquebec 2.2.1 ([@titilambert] - [#13586]) - Add mastodon ([@fabaff] - [#13441]) ([notify docs]) (new-platform) - Added support for requesting RSSI values from Bluetooth devices ([@FrederikBolding] - [#12458]) ([device_tracker.bluetooth_tracker docs]) - Fix mysensors update callback ([@MartinHjelmare] - [#13602]) ([mysensors docs]) @@ -384,7 +384,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.canary docs]: /integrations/canary#sensor [sensor.cpuspeed docs]: /integrations/cpuspeed [sensor.file docs]: /integrations/file#sensor -[sensor.hydroquebec docs]: /integrations/hydroquebec [sensor.imap_email_content docs]: /integrations/imap_email_content/ [sensor.plex docs]: /integrations/plex#sensor [sensor.qnap docs]: /integrations/qnap @@ -435,7 +434,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [fan.xiaomi_miio docs]: /integrations/fan.xiaomi_miio/ [qwikswitch docs]: /integrations/qwikswitch/ [sensor.fido docs]: /integrations/fido -[sensor.hydroquebec docs]: /integrations/hydroquebec [sensor.pollen docs]: /integrations/iqvia [switch.broadlink docs]: /integrations/broadlink#switch [switch.vesync docs]: /integrations/vesync#switches diff --git a/source/_posts/2018-04-27-release-68.markdown b/source/_posts/2018-04-27-release-68.markdown index 7774988c29a..2a6c06026fc 100644 --- a/source/_posts/2018-04-27-release-68.markdown +++ b/source/_posts/2018-04-27-release-68.markdown @@ -156,7 +156,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Add support for new platform: climate.modbus ([@Kirchoff] - [#12224]) ([climate.modbus docs]) (new-platform) - Hive R3 update ([@KJonline] - [#13357]) ([hive docs]) ([binary_sensor.hive docs]) ([climate.hive docs]) ([light.hive docs]) ([sensor.hive docs]) ([switch.hive docs]) - Updated foobot_async package version ([@reefab] - [#13942]) ([sensor.foobot docs]) -- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) ([sensor.hydroquebec docs]) (beta fix) +- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) (beta fix) - Upgrade alpha_vantage to 2.0.0 ([@fabaff] - [#13943]) ([sensor.alpha_vantage docs]) - Cleanup on exit ([@dgomes] - [#13918]) ([media_player.mediaroom docs]) - Upgrade somecomfort to 0.5.2 ([@balloob] - [#13940]) ([climate.honeywell docs]) (beta fix) @@ -183,7 +183,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Import operation modes from air humidifier ([@syssi] - [#13908]) ([fan.xiaomi_miio docs]) (beta fix) - Upgrade pyqwikswitch to 0.71 ([@kellerza] - [#13920]) ([qwikswitch docs]) - Upgrade somecomfort to 0.5.2 ([@balloob] - [#13940]) ([climate.honeywell docs]) (beta fix) -- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) ([sensor.hydroquebec docs]) (beta fix) +- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) (beta fix) - Revert "Upgrade pyqwikswitch to 0.71 ([@balloob] - [#13920]) ([qwikswitch docs]) - Bump skybellpy version to 0.1.2 ([@MisterWil] - [#13974]) ([skybell docs]) - Fix typo an coding style ([@stephanerosi] - [#13970]) ([device_tracker docs]) @@ -476,7 +476,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.foobot docs]: /integrations/foobot [sensor.fritzbox_netmonitor docs]: /integrations/fritzbox#sensor_netmonitor/ [sensor.hive docs]: /integrations/hive#sensor -[sensor.hydroquebec docs]: /integrations/hydroquebec [sensor.linux_battery docs]: /integrations/linux_battery [sensor.miflora docs]: /integrations/miflora [sensor.mqtt docs]: /integrations/sensor.mqtt/ diff --git a/source/_posts/2018-07-16-release-73-2.markdown b/source/_posts/2018-07-16-release-73-2.markdown index 251bb843ade..3b5063c63e3 100644 --- a/source/_posts/2018-07-16-release-73-2.markdown +++ b/source/_posts/2018-07-16-release-73-2.markdown @@ -42,7 +42,7 @@ Also impacted, but integrations are read only: - [sensor.ebox](/integrations/ebox) - [sensor.fido](/integrations/fido) - [sensor.foobot](/integrations/foobot) -- [sensor.hydroquebec](/integrations/hydroquebec) +- sensor.hydroquebec - [sensor.startca](/integrations/startca) - [sensor.teksavvy](/integrations/teksavvy) - [sensor.thethingsnetwork](/integrations/thethingsnetwork#sensor) diff --git a/source/_redirects b/source/_redirects index 19bc6f6ce11..f6c2c686714 100644 --- a/source/_redirects +++ b/source/_redirects @@ -750,7 +750,6 @@ /components/sensor.htu21d /integrations/htu21d /components/sensor.huawei_lte /integrations/huawei_lte#sensor /components/sensor.hydrawise /integrations/hydrawise#sensor -/components/sensor.hydroquebec /integrations/hydroquebec /components/sensor.ihc /integrations/ihc#sensor /components/sensor.imap /integrations/imap /components/sensor.imap_email_content /integrations/imap_email_content @@ -1455,7 +1454,6 @@ /components/hue /integrations/hue /components/hunterdouglas_powerview /integrations/hunterdouglas_powerview /components/hydrawise /integrations/hydrawise -/components/hydroquebec /integrations/hydroquebec /components/hyperion /integrations/hyperion /components/ialarm /integrations/ialarm /components/iaqualink /integrations/iaqualink diff --git a/source/images/supported_brands/hydroquebec.svg b/source/images/supported_brands/hydroquebec.svg deleted file mode 100644 index c482ce108bf..00000000000 --- a/source/images/supported_brands/hydroquebec.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 376d3170c5daca834b62da68d1de05f94042e527 Mon Sep 17 00:00:00 2001 From: Tsvi Mostovicz Date: Thu, 10 Oct 2019 22:03:05 +0300 Subject: [PATCH 071/289] Add documentation about new key: time_format (#10463) * Add documentation about new key: time_format Based on PR home-assistant/home-asssitant#26940 this adds athe documentation about the new key + a warning on relying to much on the time based sensors. * Remove time_format key as it doesn't belong in backend * Remove time_format from the full configuration example * Add info about time being represented as UTC --- source/_integrations/jewish_calendar.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/jewish_calendar.markdown b/source/_integrations/jewish_calendar.markdown index 3166f74adf8..9c6034bf43e 100644 --- a/source/_integrations/jewish_calendar.markdown +++ b/source/_integrations/jewish_calendar.markdown @@ -61,6 +61,12 @@ havdalah_minutes_after_sunset: - omer_count: An integer sensor indicating the day of the Omer (1-49) or 0 if it is not currently the Omer. ### Time sensors + +*Note: Due to the variety of rabbinic opinions on how to calculate the different times, we do not take any responsibility on your religious reliance upon these calculations.* + +Time sensor states are represented as ISO8601 formatted *UTC time*. +For easier use in automations, all time sensors have a `timestamp` attribute, which returns the UNIX timestamp. + - first_light: First light of dawn (Alot Hashachar - עלות השחר). - gra_end_shma: Last time for reading of the Shma according to the GR"A. - mga_end_shma: Last time for reading of the Shma according to the MG"A. From b5b5d32b65473332899dcb15a4334e5cea20772e Mon Sep 17 00:00:00 2001 From: Matthew Donoughe Date: Thu, 10 Oct 2019 15:30:34 -0400 Subject: [PATCH 072/289] document scene action for scripts (#10616) script support added in home-assistant/home-assistant#27223 --- source/_docs/scripts.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index bd6679bd9f9..c871b6303da 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -34,6 +34,14 @@ The most important one is the action to call a service. This can be done in vari brightness: 100 ``` +#### Activate a Scene + +Scripts may also use a shortcut syntax for activating scenes instead of calling the `scene.turn_on` service. + +```yaml +- scene: scene.morning_living_room +``` + ### Test a Condition While executing a script you can add a condition to stop further execution. When a condition does not return `true`, the script will stop executing. There are many different conditions which are documented at the [conditions page]. From 88aee17d2dc0e9d6563f86dd2c9b1b525d564233 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 10 Oct 2019 13:02:44 -0700 Subject: [PATCH 073/289] 100.1 --- _config.yml | 2 +- source/_posts/2019-10-10-release-100.markdown | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 344268f346b..a7c36a013ba 100644 --- a/_config.yml +++ b/_config.yml @@ -101,7 +101,7 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 100 -current_patch_version: 0 +current_patch_version: 1 date_released: 2019-10-10 # Either # or the anchor link to latest release notes in the blog post. diff --git a/source/_posts/2019-10-10-release-100.markdown b/source/_posts/2019-10-10-release-100.markdown index 42eb221281b..e3025f84476 100644 --- a/source/_posts/2019-10-10-release-100.markdown +++ b/source/_posts/2019-10-10-release-100.markdown @@ -134,6 +134,10 @@ As always, this release of Home Assistant is accompanied with a new release of t - Add basic support for IKEA Fyrtur blinds ([@ggravlingen] - [#26659]) ([tradfri docs]) (new-platform) - Centralize rainbird config and add binary sensor platform ([@konikvranik] - [#26393]) ([rainbird docs]) (breaking change) (new-platform) +## Release 0.100.1 - October 10 + +- Fix build not succeeding [@bramkragten] + ## 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). From f1b1c7b3b0f3f87f3ed52e9e752b62a6b2889cf5 Mon Sep 17 00:00:00 2001 From: Evan Morse <32440312+RowdyDog12@users.noreply.github.com> Date: Fri, 11 Oct 2019 01:15:32 -0500 Subject: [PATCH 074/289] Update bom.markdown (#10708) --- source/_integrations/bom.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/bom.markdown b/source/_integrations/bom.markdown index 5d0dacef237..ba8d6710074 100644 --- a/source/_integrations/bom.markdown +++ b/source/_integrations/bom.markdown @@ -204,8 +204,8 @@ sensor: To get the station ID for any BOM station: - Find your station on these maps: [NSW](http://www.bom.gov.au/nsw/observations/map.shtml), [QLD](http://www.bom.gov.au/qld/observations/map.shtml), [VIC](http://www.bom.gov.au/vic/observations/map.shtml), [WA](http://www.bom.gov.au/wa/observations/map.shtml), [SA](http://www.bom.gov.au/sa/observations/map.shtml), [TAS](http://www.bom.gov.au/tas/observations/map.shtml), [ACT](http://www.bom.gov.au/act/observations/canberramap.shtml), [NT](http://www.bom.gov.au/nt/observations/map.shtml). - alternatively, from the [BOM website](http://www.bom.gov.au/), navigate to State -> Observations -> Latest Observations -> Choose the station. -- The URL will look like: http://www.bom.gov.au/products/IDx60801/[station].shtml - - For Adelaide, the URL will look like `http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml`; the station ID is `IDS60801.94675`. +- The URL will look like `http://www.bom.gov.au/products/IDx60801/[station].shtml` +- For Adelaide, the URL will look like `http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml`; the station ID is `IDS60801.94675`. {% configuration %} station: From 5c36d7359a023b21450a796ec71199d2f04c12fe Mon Sep 17 00:00:00 2001 From: Evan Morse <32440312+RowdyDog12@users.noreply.github.com> Date: Fri, 11 Oct 2019 03:40:32 -0500 Subject: [PATCH 075/289] Update watson_iot.markdown (#10709) * Update watson_iot.markdown * :pencil2: Tweak --- source/_integrations/watson_iot.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/watson_iot.markdown b/source/_integrations/watson_iot.markdown index 87db524ea15..f01c6696e46 100644 --- a/source/_integrations/watson_iot.markdown +++ b/source/_integrations/watson_iot.markdown @@ -14,7 +14,7 @@ with an [IBM Watson IoT Platform instance](https://www.ibm.com/us-en/marketplace To use this component, you first need to register a gateway device type and then a gateway device in your IoT platform instance. For instructions on how to do -this check the [official documentation](https://console.bluemix.net/docs/services/IoT/gateways/dashboard.html#IoT_connectGateway) +this check the [official documentation](https://cloud.ibm.com/docs/services/IoT?topic=iot-platform-getting-started#IoT_connectGateway) which provides the details on doing this. After you register the gateway device for your home-assistant you'll need 4 pieces of information: From d6bd1bd3f50e0a3e4fdf9e7c00361938cbb3f4c6 Mon Sep 17 00:00:00 2001 From: Jacob Mansfield Date: Fri, 11 Oct 2019 10:29:18 +0100 Subject: [PATCH 076/289] Add info about images to Discord documentation (#10706) --- source/_integrations/discord.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown index ccff715d00d..15d5024a48d 100644 --- a/source/_integrations/discord.markdown +++ b/source/_integrations/discord.markdown @@ -84,3 +84,5 @@ You can tag any user inside a channel by using their user ID in the message like For more information about creating and authorizing bots, visit the [OAuth2 information page](https://discordapp.com/developers/docs/topics/oauth2) To use notifications effectively, please see the [getting started with automation page](/getting-started/automation/). + +Images are uploaded to Discord when a message is sent. As such, a local path to the image is required (i.e. `/config/www/garage.jpg` as opposed to `/local/garage.jpg`), and updating an image after sending it in a message will not update the message in Discord. From b70e06aadf918eff848c5e56170cf2906b38f7e1 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Fri, 11 Oct 2019 04:36:27 -0500 Subject: [PATCH 077/289] add title option to stack cards (#10512) * add title option to stack cards * Update horizontal-stack.markdown * Update vertical-stack.markdown --- source/_lovelace/horizontal-stack.markdown | 5 +++++ source/_lovelace/vertical-stack.markdown | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/source/_lovelace/horizontal-stack.markdown b/source/_lovelace/horizontal-stack.markdown index 9a5ab1d0308..0c3c05a4581 100644 --- a/source/_lovelace/horizontal-stack.markdown +++ b/source/_lovelace/horizontal-stack.markdown @@ -11,6 +11,10 @@ type: required: true description: horizontal-stack type: string +title: + required: false + description: Title of Stack + type: string cards: required: true description: List of cards. @@ -21,6 +25,7 @@ cards: ```yaml type: horizontal-stack +title: Lights cards: - type: picture-entity image: /local/bed_1.png diff --git a/source/_lovelace/vertical-stack.markdown b/source/_lovelace/vertical-stack.markdown index 146f009220d..c918c3cc4ef 100644 --- a/source/_lovelace/vertical-stack.markdown +++ b/source/_lovelace/vertical-stack.markdown @@ -11,6 +11,10 @@ type: required: true description: vertical-stack type: string +title: + required: false + description: Title of Stack + type: string cards: required: true description: List of cards. @@ -23,6 +27,7 @@ Basic example: ```yaml type: vertical-stack +title: Backyard cards: - type: picture-entity entity: camera.demo_camera From 1a0a2d045b404ce4eeb0d8bfe21dac70876b46cf Mon Sep 17 00:00:00 2001 From: Askarov Rishat Date: Fri, 11 Oct 2019 19:06:04 +0300 Subject: [PATCH 078/289] fix_typo (#10717) --- source/_integrations/yandex_transport.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/yandex_transport.markdown b/source/_integrations/yandex_transport.markdown index f3e5c207196..bbb22373c3b 100644 --- a/source/_integrations/yandex_transport.markdown +++ b/source/_integrations/yandex_transport.markdown @@ -25,7 +25,7 @@ To activate Yandex Transport, add the following lines to your `configuration.yam ```yaml # Example configuration.yaml entry sensor: - - platform: yandex_tranport + - platform: yandex_transport stop_id: YOUR_STOP_ID ``` From d8dfed65b7dd0cba90b1742e4ed3340517128371 Mon Sep 17 00:00:00 2001 From: Askarov Rishat Date: Fri, 11 Oct 2019 19:06:04 +0300 Subject: [PATCH 079/289] fix_typo (#10717) --- source/_integrations/yandex_transport.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/yandex_transport.markdown b/source/_integrations/yandex_transport.markdown index f3e5c207196..bbb22373c3b 100644 --- a/source/_integrations/yandex_transport.markdown +++ b/source/_integrations/yandex_transport.markdown @@ -25,7 +25,7 @@ To activate Yandex Transport, add the following lines to your `configuration.yam ```yaml # Example configuration.yaml entry sensor: - - platform: yandex_tranport + - platform: yandex_transport stop_id: YOUR_STOP_ID ``` From 9869fbb2cc71532cb5e9d56121b2226e479d90e4 Mon Sep 17 00:00:00 2001 From: David Beitey Date: Sat, 12 Oct 2019 02:08:42 +1000 Subject: [PATCH 080/289] Explain Markdown renderer and specs; minor tidy (#10719) Knowing the specifics of what Markdown syntaxes are supported help when writing content. This change explains which renderer is used and the specs it supports. --- source/_lovelace/markdown.markdown | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/_lovelace/markdown.markdown b/source/_lovelace/markdown.markdown index 3f3c15dd81f..bb4585dca91 100644 --- a/source/_lovelace/markdown.markdown +++ b/source/_lovelace/markdown.markdown @@ -4,7 +4,10 @@ sidebar_label: Markdown description: "Markdown card is used to render markdown" --- -Markdown card is used to render [markdown](http://commonmark.org/help/). +Markdown card is used to render [Markdown](https://commonmark.org/help/). + +The renderer uses [Marked.js](https://marked.js.org), which supports [several specifications of Markdown](https://marked.js.org/#/README.md#specifications), including CommonMark, GitHub Flavored Markdown (GFM) and `markdown.pl`. +

Screenshot of the markdown card @@ -18,7 +21,7 @@ type: type: string content: required: true - description: "Content to render as [markdown](http://commonmark.org/help/). May contain [templates](/docs/configuration/templating/)." + description: "Content to render as [Markdown](https://commonmark.org/help/). May contain [templates](/docs/configuration/templating/)." type: string title: required: false From 5543e79b4acbc3fe72587778b0a45f1edfade5a0 Mon Sep 17 00:00:00 2001 From: Evan Morse <32440312+RowdyDog12@users.noreply.github.com> Date: Fri, 11 Oct 2019 11:09:08 -0500 Subject: [PATCH 081/289] Update discogs.markdown (#10718) --- source/_integrations/discogs.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/discogs.markdown b/source/_integrations/discogs.markdown index fa6af02d26e..d2b58f61764 100644 --- a/source/_integrations/discogs.markdown +++ b/source/_integrations/discogs.markdown @@ -8,7 +8,7 @@ logo: discogs.png ha_iot_class: Cloud Polling --- -The `discogs` platform allows you to see the current amount of records in your [Discogs](https://discogs.com) collection. +The `discogs` platform allows you to see the current amount of records in your [Discogs](https://www.discogs.com) collection. ## Setup From c545e19c4651ee949fb9bd60bb47a8edab8bf411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 12 Oct 2019 00:58:24 +0300 Subject: [PATCH 082/289] Spelling fixes (#10723) * Spelling fixes * :pencil2: Tweak --- source/_docs/configuration/basic.markdown | 2 +- source/_docs/configuration/packages.markdown | 2 +- source/_docs/ecosystem/synology.markdown | 2 +- source/_docs/security.markdown | 2 +- source/_docs/z-wave/device-specific.markdown | 4 ++-- source/_integrations/alexa.smart_home.markdown | 2 +- source/_integrations/aws.markdown | 2 +- source/_integrations/binary_sensor.template.markdown | 2 +- source/_integrations/hyperion.markdown | 2 +- source/_integrations/rejseplanen.markdown | 2 +- source/_integrations/waze_travel_time.markdown | 4 ++-- source/_integrations/yessssms.markdown | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index ff2bf2c2943..3cfa87fc8a1 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -4,7 +4,7 @@ description: "Setting up the basic info of Home Assistant." redirect_from: /getting-started/basic/ --- -As part of the default onboarding proccess, Home Assistant can detect your location from IP address geolocation. Home Assistant will automatically select a temperature unit and time zone based on this location. You may adjust this during onboarding, or afterwards at Configuration -> General. +As part of the default onboarding process, Home Assistant can detect your location from IP address geolocation. Home Assistant will automatically select a temperature unit and time zone based on this location. You may adjust this during onboarding, or afterwards at Configuration -> General. If you prefer YAML, you can add the following information to your `configuration.yaml`: diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown index 880dce51a88..d3ba7e9dba0 100644 --- a/source/_docs/configuration/packages.markdown +++ b/source/_docs/configuration/packages.markdown @@ -82,7 +82,7 @@ homeassistant: ``` This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames. -See the documentation about [splitting the configuration](/docs/configuration/splitting_configuration/) for more information about `!include_dir_named` and other include statements that might be helpful. The benefit of this approach is to pull all configurations required to integrate a system, into one file, rather than accross several. +See the documentation about [splitting the configuration](/docs/configuration/splitting_configuration/) for more information about `!include_dir_named` and other include statements that might be helpful. The benefit of this approach is to pull all configurations required to integrate a system, into one file, rather than across several. ### Customizing entities with packages diff --git a/source/_docs/ecosystem/synology.markdown b/source/_docs/ecosystem/synology.markdown index bfb3986552f..d9df9e24cf4 100644 --- a/source/_docs/ecosystem/synology.markdown +++ b/source/_docs/ecosystem/synology.markdown @@ -11,7 +11,7 @@ Synology NAS are the perfect companion to running Home Assistant. But by default Starting with DSM 6.2.1+, you can create "custom headers" in the Application Portal: * Go to Application Portal and edit your entry * Click on "custom headers" tab and click the dropdon on the "Create" button -* Select "Websocket". This will automaticly add the required headers for websocket to this reverse proxy. +* Select "Websocket". This will automatically add the required headers for websocket to this reverse proxy. * Click "OK". Home Assistant should work now with the reverse proxy. It's not necessary anymore to change the template anymore since Version DSM 6.2.1. Changing the `Portal.mustache` is not recommended! You should use the following part only if you're using a Version before DSM 6.2.1. on your Synology. diff --git a/source/_docs/security.markdown b/source/_docs/security.markdown index bdb36dd7582..d06d22e1a37 100644 --- a/source/_docs/security.markdown +++ b/source/_docs/security.markdown @@ -21,7 +21,7 @@ See the [open ports](/docs/security/porosity/) of a Hass.io instance with variou ## HTTP SSL/TLS -Home Assistant is following the [Mozilla's Operations Security team recommendations](https://wiki.mozilla.org/Security/Server_Side_TLS) for Server side SSL/TLS settings. Home Assistant uses **Modern compatibility** by default. If an user wishes to use **Intermediate compatibilty**, this is configurable in the [`http` integration](/integrations/http/). +Home Assistant is following the [Mozilla's Operations Security team recommendations](https://wiki.mozilla.org/Security/Server_Side_TLS) for Server side SSL/TLS settings. Home Assistant uses **Modern compatibility** by default. If an user wishes to use **Intermediate compatibility**, this is configurable in the [`http` integration](/integrations/http/). ## SSH diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index 6ed30e45d2c..f58e205f810 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -195,7 +195,7 @@ Triple tap on|2|4 Many Zooz Zen26/27 switches that have been sold do not have firmware 2.0+. Contact Zooz to obtain the over the air firmware update instructions and new user manual for the switches. -Once the firmware is updated, the the new configuration paramters will have to be added to the `zwcfg` file. Replace the existing `COMMAND_CLASS_CONFIGURATION` with the one of the following options (depending on your model of switch): +Once the firmware is updated, the the new configuration parameters will have to be added to the `zwcfg` file. Replace the existing `COMMAND_CLASS_CONFIGURATION` with the one of the following options (depending on your model of switch): Zen26 (On/Off Switch): ```xml @@ -329,7 +329,7 @@ For Zooz switches, you'll need to update (or possibly add) the `COMMAND_CLASS_CE ``` -Go to the Z-Wave Network Management section in the Home Assistant Configuration, select the node which has just been updated and enable the scene support configuration paramter. +Go to the Z-Wave Network Management section in the Home Assistant Configuration, select the node which has just been updated and enable the scene support configuration parameter. Once this is complete, you should see the following `zwave.scene_activated` events: diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index 2cac5ce2454..416a4e947da 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -20,7 +20,7 @@ Amazon provides a Smart Home API for richer home automation control. It takes considerable effort to configure. The easy solution is to use [Home Assistant Cloud](/integrations/cloud/). -However, config Amazon Alexa Smart Home Skill is not a easy job, you have to allow +However, config Amazon Alexa Smart Home Skill is not an easy job, you have to allow your Home Assistant accessible from Internet, and you need to create Amazon Developer account and an Amazon Web Service account. diff --git a/source/_integrations/aws.markdown b/source/_integrations/aws.markdown index 259f8053a2f..8325a46dc5a 100644 --- a/source/_integrations/aws.markdown +++ b/source/_integrations/aws.markdown @@ -72,7 +72,7 @@ region_name: required: true type: string credential_name: - description: A reference to a `aws` credential. Notify platform will use the `default profile` defined in `~/.aws` if none of `credential_name`, `aws_access_key_id`, or `profile_name` was given. + description: A reference to an `aws` credential. Notify platform will use the `default profile` defined in `~/.aws` if none of `credential_name`, `aws_access_key_id`, or `profile_name` was given. required: false type: string aws_access_key_id: diff --git a/source/_integrations/binary_sensor.template.markdown b/source/_integrations/binary_sensor.template.markdown index 381493deffb..b8fa12ad0bb 100644 --- a/source/_integrations/binary_sensor.template.markdown +++ b/source/_integrations/binary_sensor.template.markdown @@ -238,7 +238,7 @@ binary_sensor: ### Device Tracker sensor with Latitude and Longitude Attributes -This example shows how to combine an non-GPS (e.g. NMAP) and GPS device tracker while still including latitude and longitude attributes +This example shows how to combine a non-GPS (e.g. NMAP) and GPS device tracker while still including latitude and longitude attributes {% raw %} ```yaml diff --git a/source/_integrations/hyperion.markdown b/source/_integrations/hyperion.markdown index 5b85e62de74..1d6424fdfe0 100644 --- a/source/_integrations/hyperion.markdown +++ b/source/_integrations/hyperion.markdown @@ -76,7 +76,7 @@ automation: effect: "Full color mood blobs" ``` -To have the lights playing a effect when pausing, idle or turn off a media player like plex you can use this example: +To have the lights playing an effect when pausing, idle or turn off a media player like plex you can use this example: ```yaml - alias: Set hyperion effect after playback diff --git a/source/_integrations/rejseplanen.markdown b/source/_integrations/rejseplanen.markdown index f985da9a4f3..8d54e29a1d6 100644 --- a/source/_integrations/rejseplanen.markdown +++ b/source/_integrations/rejseplanen.markdown @@ -23,7 +23,7 @@ If you don't know the name of the stop follow this guide: - Now insert the coordinates for the location in the url, in this example it will be: [http://xmlopen.rejseplanen.dk/bin/rest.exe/stopsNearby?coordX=56.15756&coordY=10.20674&](http://xmlopen.rejseplanen.dk/bin/rest.exe/stopsNearby?coordX=56.15756&coordY=10.20674&) - You will now see the 30 stops closest to your location. -You will se a output like this: +You will see an output like this: ```text "StopLocation":[{ diff --git a/source/_integrations/waze_travel_time.markdown b/source/_integrations/waze_travel_time.markdown index ef0b7186647..2f65bb76550 100644 --- a/source/_integrations/waze_travel_time.markdown +++ b/source/_integrations/waze_travel_time.markdown @@ -27,11 +27,11 @@ sensor: {% configuration %} origin: - description: Enter the starting address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter an entity id which provides this information in its state, a entity id with latitude and longitude attributes, or zone friendly name. + description: Enter the starting address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter an entity id which provides this information in its state, an entity id with latitude and longitude attributes, or zone friendly name. required: true type: string destination: - description: Enter the destination address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter an entity id which provides this information in its state, a entity id with latitude and longitude attributes, or zone friendly name. + description: Enter the destination address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter an entity id which provides this information in its state, an entity id with latitude and longitude attributes, or zone friendly name. required: true type: string region: diff --git a/source/_integrations/yessssms.markdown b/source/_integrations/yessssms.markdown index 06b79c0be0c..322cde2d07f 100644 --- a/source/_integrations/yessssms.markdown +++ b/source/_integrations/yessssms.markdown @@ -9,7 +9,7 @@ ha_release: 0.57 The `yessssms` platform is using the Austrian mobile operator [Yesss.at](https://yesss.at) and others to send SMS via their web-site. -Currenty some MVNOs (mobile virtual network operators), in the A1 network, that use the kontomanager.at interface work. These are currently (as of version 0.4.0 of [YesssSMS](https://pypi.org/project/YesssSMS/)): +Currently some MVNOs (mobile virtual network operators), in the A1 network, that use the kontomanager.at interface work. These are currently (as of version 0.4.0 of [YesssSMS](https://pypi.org/project/YesssSMS/)): * YESSS * billitel * EDUCOM From d4f4b0b5a5300df3881958dbd9f5e809a73d8c80 Mon Sep 17 00:00:00 2001 From: tiagofreire-pt <41837236+tiagofreire-pt@users.noreply.github.com> Date: Sat, 12 Oct 2019 07:05:21 +0100 Subject: [PATCH 083/289] REST & XYZ HUB API/CLI mention (#10722) --- source/_integrations/here_travel_time.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/here_travel_time.markdown b/source/_integrations/here_travel_time.markdown index e93da66fa16..bf08996b0dc 100644 --- a/source/_integrations/here_travel_time.markdown +++ b/source/_integrations/here_travel_time.markdown @@ -13,7 +13,7 @@ The `here_travel_time` sensor provides travel time from the [HERE Routing API](h ## Setup -You need to register for an API key by following the instructions [here](https://developer.here.com/documentation/routing/topics/introduction.html?create=Freemium-Basic&keepState=true&step=account). +You need to register for an API key (REST & XYZ HUB API/CLI) by following the instructions [here](https://developer.here.com/documentation/routing/topics/introduction.html?create=Freemium-Basic&keepState=true&step=account). HERE offers a Freemium Plan which includes 250.000 free Transactions per month. For the Routing API, one transaction equals one request with one starting point (no multi stop). More information can be found [here](https://developer.here.com/faqs#payment-subscription) From d755b6dd9fed02fc36b2051e0b5c0fbf452cec74 Mon Sep 17 00:00:00 2001 From: Tom Raithel Date: Sat, 12 Oct 2019 08:05:42 +0200 Subject: [PATCH 084/289] Fix copy & paste error in homematic documentation for callback_port (#10721) --- source/_integrations/homematic.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown index 2fb9b297ea5..e78c30c89d9 100644 --- a/source/_integrations/homematic.markdown +++ b/source/_integrations/homematic.markdown @@ -94,7 +94,7 @@ callback_ip: required: false type: string callback_port: - description: Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.). + description: Set this, if Home Assistant is reachable under a different port from the CCU (NAT, Docker etc.). required: false type: integer resolvenames: From 8089dddff9df197fd74bb19f5d71a29fac635e9c Mon Sep 17 00:00:00 2001 From: System Tester Date: Sat, 12 Oct 2019 16:12:15 +1000 Subject: [PATCH 085/289] corrected URL reference (#10727) --- source/_integrations/history_stats.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/history_stats.markdown b/source/_integrations/history_stats.markdown index ef743ab46eb..6038fbd4c10 100644 --- a/source/_integrations/history_stats.markdown +++ b/source/_integrations/history_stats.markdown @@ -188,6 +188,6 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd

- The `/dev-template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct. If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted. + The `/developer-tools/template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct. If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
From 43cd38f9b2d65af4f29553a46820485f4637ea09 Mon Sep 17 00:00:00 2001 From: MeIchthys Date: Sat, 12 Oct 2019 02:14:16 -0400 Subject: [PATCH 086/289] Add Moon sensor screenshot (#10705) * Add Moon sensor screenshot Add moon sensor screenshot like sun sensor. * Add Moon sensor screenshot * Use integration --- source/_integrations/moon.markdown | 6 +++++- .../images/screenshots/more-info-dialog-moon.png | Bin 0 -> 8932 bytes 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 source/images/screenshots/more-info-dialog-moon.png diff --git a/source/_integrations/moon.markdown b/source/_integrations/moon.markdown index 3d90dadeec1..28b08bd1133 100644 --- a/source/_integrations/moon.markdown +++ b/source/_integrations/moon.markdown @@ -9,7 +9,7 @@ ha_release: 0.38 ha_qa_scale: internal --- -The `moon` sensor platform is tracking the moon phases. +The `moon` integration is tracking the moon phases. ## Configuration @@ -23,3 +23,7 @@ sensor: This sensor will return one of the following values: `new_moon`, `waxing_crescent`, `first_quarter`, `waxing_gibbous`, `full_moon`, `waning_gibbous`, `last_quarter` or `waning_crescent` . + +

+ +

diff --git a/source/images/screenshots/more-info-dialog-moon.png b/source/images/screenshots/more-info-dialog-moon.png new file mode 100644 index 0000000000000000000000000000000000000000..48a2c5458161d096c0e0e734591c3a36c870730f GIT binary patch literal 8932 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 Date: Sat, 12 Oct 2019 11:41:05 +0200 Subject: [PATCH 087/289] Revert "Allow code elements to wrap if necessary (#10366)" (#10729) This reverts commit efe635302c4cdbcfa5e63d7601fef4d19dba1261. --- sass/custom/_paulus.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index 5db79363d7c..09d7e804da7 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -535,7 +535,7 @@ code { font-size: 0.8em; color: #1990b8; word-spacing: normal; - word-break: break-word; + word-break: normal; word-wrap: normal; -moz-tab-size: 4; @@ -556,4 +556,4 @@ code { border: 1px solid #ddd; border-radius: 0.4em; padding: .1em .4em -} +} \ No newline at end of file From c13f1cd4fb6aabcefeeb2580d5ec90359ddd65a2 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 12 Oct 2019 11:59:35 +0200 Subject: [PATCH 088/289] Fixing broken links in aRest documentation (#10730) --- source/_integrations/arest.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_integrations/arest.markdown b/source/_integrations/arest.markdown index 5c76d7ab19f..4cfe510e6cf 100644 --- a/source/_integrations/arest.markdown +++ b/source/_integrations/arest.markdown @@ -33,7 +33,7 @@ binary_sensor: {% configuration %} resource: - description: IP address and schema of the device that is exposing an aREST API, e.g., http://192.168.1.10. + description: IP address and schema of the device that is exposing an aREST API, e.g., `http://192.168.1.10`. required: true type: string pin: @@ -46,7 +46,7 @@ name: type: string {% endconfiguration %} -Accessing the URL http://IP_ADDRESS/digital/PIN_NUMBER should give you the state of the pin inside a JSON response as `return_value`. +Accessing the URL `http://IP_ADDRESS/digital/PIN_NUMBER` should give you the state of the pin inside a JSON response as `return_value`. ```bash $ curl -X GET http://192.168.0.5/digital/9 @@ -89,7 +89,7 @@ sensor: {% configuration %} resource: - description: "IP address and schema of the device that is exposing an aREST API, e.g., https://192.168.1.10." + description: "IP address and schema of the device that is exposing an aREST API, e.g., `https://192.168.1.10`." required: true type: string name: @@ -145,7 +145,7 @@ monitored_variables: The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you could use the one of the example sketches (eg. [Ethernet](https://raw.githubusercontent.com/marcoschwartz/aREST/master/examples/Ethernet/Ethernet.ino) for an Arduino with Ethernet shield). In those sketches are two variables (`temperature` and `humidity`) available which will act as endpoints. -Accessing one of the endpoints (eg. http://192.168.1.10/temperature) will give you the value inside a JSON response. +Accessing one of the endpoints (eg. `http://192.168.1.10/temperature`) will give you the value inside a JSON response. ```json {"temperature": 23, "id": "sensor01", "name": "livingroom", "connected": true} @@ -165,7 +165,7 @@ The root will give you a JSON response that contains all variables and their cur } ``` -`return_value` contains the sensor's data in a JSON response for a given pin (eg. http://192.168.1.10/analog/2/ or http://192.168.1.10/digital/7/). +`return_value` contains the sensor's data in a JSON response for a given pin (eg. `http://192.168.1.10/analog/2/` or `http://192.168.1.10/digital/7/`). ```json {"return_value": 34, "id": "sensor02", "name": "livingroom", "connected": true} From 14f15b3d3d8138d7bde3913e28ac1f0498978eb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 12 Oct 2019 13:00:49 +0300 Subject: [PATCH 089/289] Improve content and formatting of hassio installation network config (#10724) --- source/hassio/installation.markdown | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index c42831da194..a262396b468 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -36,9 +36,10 @@ The following will take you through the steps required to install Hass.io. - Load the appliance image into your virtual machine software. Choose 64-bit Linux and UEFI boot. 3. Optional - set up the WiFi or static IP. There are two possible places for that: -- On a blank USB stick with Fat32 partition (partition label: "CONFIG"), while in / directory, create `network/my-network` file -- or on Hassio SD card first, bootable partition (might not be auto mounted in Linux) create `CONFIG/network/my-network` file -For the content of this file follow the [HassOS howto][hassos-network]. + - on a blank USB stick with a FAT32 partition having partition label `CONFIG`, while in its root directory, create the `network/my-network` file, or + - on the Hassio SD card's first, bootable partition (labeled `hassio-boot`, might not be auto mounted in Linux) create the `CONFIG/network/my-network` file. + + For the content of this file, follow the [HassOS howto][hassos-network]. 4. For image-based installs insert the SD card (and optional USB stick) into the device. From 2abfdc8b7b04f33a9185fe7259c755828a5352fc Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 12 Oct 2019 12:12:14 +0200 Subject: [PATCH 090/289] Fix broken links in mjpeg and generic ip cam documentation (#10732) * Fix broken links * Fix broken links --- source/_integrations/generic_ip_camera.markdown | 4 ++-- source/_integrations/mjpeg.markdown | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/generic_ip_camera.markdown b/source/_integrations/generic_ip_camera.markdown index 8ea0e420c1d..e701055785c 100644 --- a/source/_integrations/generic_ip_camera.markdown +++ b/source/_integrations/generic_ip_camera.markdown @@ -25,11 +25,11 @@ camera: {% configuration %} still_image_url: - description: "The URL your camera serves the image on, e.g., http://192.168.1.21:2112/. Can be a [template](/topics/templating/)." + description: "The URL your camera serves the image on, e.g., `http://192.168.1.21:2112/`. Can be a [template](/topics/templating/)." required: true type: string stream_source: - description: "The URL your camera serves the live stream on, e.g., rtsp://192.168.1.21:554/." + description: "The URL your camera serves the live stream on, e.g., `rtsp://192.168.1.21:554/`." required: false type: string name: diff --git a/source/_integrations/mjpeg.markdown b/source/_integrations/mjpeg.markdown index 2f9ccd4884d..33383a68061 100644 --- a/source/_integrations/mjpeg.markdown +++ b/source/_integrations/mjpeg.markdown @@ -25,7 +25,7 @@ camera: {% configuration %} mjpeg_url: - description: The URL your camera serves the video on, e.g., http://192.168.1.21:2112/ + description: The URL your camera serves the video on, e.g., `http://192.168.1.21:2112/` required: true type: string still_image_url: From b25040550a6199f26b5cce7f750532c1a55ca7d5 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 12 Oct 2019 12:14:22 +0200 Subject: [PATCH 091/289] Fixing broken links (#10731) --- source/_integrations/isy994.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/isy994.markdown b/source/_integrations/isy994.markdown index 26b3f65af65..9bde4e8c6d1 100644 --- a/source/_integrations/isy994.markdown +++ b/source/_integrations/isy994.markdown @@ -16,7 +16,7 @@ ha_iot_class: Local Push --- The ISY994 is a home automation controller that is capable of controlling Insteon and X10 devices. Some models of the ISY994 can even control Z-Wave devices. -The ISY994 controller is manufactured by [Universal Devices](https://www.universal-devices.com/residential/isy994i-series/). +The ISY994 controller is manufactured by [Universal Devices](https://www.universal-devices.com/smarthome). There is currently support for the following device types within Home Assistant: @@ -44,7 +44,7 @@ isy994: {% configuration %} host: - description: The host entry should be in full URL format, e.g., http://192.168.10.100:80 + description: The host entry should be in full URL format, e.g., `http://192.168.10.100:80` required: true type: string username: From 563eea843dce13ac710262f8979bdedf2e940c11 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 12 Oct 2019 12:51:51 +0200 Subject: [PATCH 092/289] Fix broken links in Tellstick, Android IP Webcam, Squeezebox and Hassbian / installation documentation (#10733) * Fixing broken links in Hassbian installation docs * Fix broken link in Tellstick documentation * Fix broken links * Fix broken links * Fix broken links --- source/_addons/tellstick.markdown | 2 +- source/_docs/installation/hassbian/installation.markdown | 4 ++-- source/_docs/installation/raspberry-pi.markdown | 4 ++-- source/_integrations/android_ip_webcam.markdown | 2 +- source/_integrations/squeezebox.markdown | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/_addons/tellstick.markdown b/source/_addons/tellstick.markdown index ddd4f9e844e..c618bd9f03b 100644 --- a/source/_addons/tellstick.markdown +++ b/source/_addons/tellstick.markdown @@ -92,7 +92,7 @@ For more information about the configuration including protocols, see the [telld If you wish to teach a self-learning device in your TellStick configuration: -Go to Home Assistant [service call](http://hassio.local:8123/dev-service) in Developer tools and select. +Go to Home Assistant service call in Developer tools and select. - Service: `hassio.addon_stdin` - Enter service Data: diff --git a/source/_docs/installation/hassbian/installation.markdown b/source/_docs/installation/hassbian/installation.markdown index b10fe4f6afa..a5cfce1bf89 100644 --- a/source/_docs/installation/hassbian/installation.markdown +++ b/source/_docs/installation/hassbian/installation.markdown @@ -13,7 +13,7 @@ One of the easiest ways to install Home Assistant on your Raspberry Pi Zero, 2,
-Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar. +Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/documentation/faqs/#pi-power) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar.
@@ -22,7 +22,7 @@ Additional information is available in this [video](https://www.youtube.com/watc After initial boot an installer will run in the background, this will download and install the newest version of [hassbian-config](https://github.com/home-assistant/hassbian-scripts) and Home-Assistant, this takes around 10 minutes to complete, after it has finished, you will be prompted to login: `hassbian login:`. Installation is complete at this point. The default username is `pi` and the password is `raspberry`. -Open a browser on a device that's connected to the same network as your Raspberry Pi and point it to Home Assistant at [http://hassbian.local:8123]. If you want to login via SSH, the default username is `pi` and password is `raspberry` (please change this by running `passwd`). The Home Assistant configuration is located at `/home/homeassistant/.homeassistant/`. +Open a browser on a device that's connected to the same network as your Raspberry Pi and point it to Home Assistant at `http://hassbian.local:8123`. If you want to login via SSH, the default username is `pi` and password is `raspberry` (please change this by running `passwd`). The Home Assistant configuration is located at `/home/homeassistant/.homeassistant/`. If you find that the web page is not reachable after 30 minutes or so, check that you have files in `/home/homeassistant/.homeassistant/`, if there are no files in this location then run the installer manually using this command: `sudo systemctl start install_homeassistant.service`. diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown index 982fd32faac..485b30c93ef 100644 --- a/source/_docs/installation/raspberry-pi.markdown +++ b/source/_docs/installation/raspberry-pi.markdown @@ -14,7 +14,7 @@ Although these installation steps specifically mention a Raspberry Pi, you can g
-Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable, since some are designed to only provide the full power with that manufacturer's handsets. USB ports on your computer also will not supply enough power and must not be used. +Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/documentation/faqs/#pi-power) with your Pi. Mobile chargers may not be suitable, since some are designed to only provide the full power with that manufacturer's handsets. USB ports on your computer also will not supply enough power and must not be used.
@@ -84,7 +84,7 @@ Start Home Assistant for the first time. This will complete the installation for ```bash (homeassistant) $ hass ``` -You can now reach your installation on your Raspberry Pi over the web interface on [http://ipaddress:8123](http://ipaddress:8123). +You can now reach your installation on your Raspberry Pi over the web interface on `http://ipaddress:8123`.
diff --git a/source/_integrations/android_ip_webcam.markdown b/source/_integrations/android_ip_webcam.markdown index ba061946ef5..3d13b52a815 100644 --- a/source/_integrations/android_ip_webcam.markdown +++ b/source/_integrations/android_ip_webcam.markdown @@ -202,4 +202,4 @@ camera: The `android_ip_webcam` sensor platform lets you observe states of [Android IP webcam](https://play.google.com/store/apps/details?id=com.pas.webcam) sensors through Home Assistant. Devices will be configured automatically. -You can setup your own sensors by examining the JSON file from the webcam server: http://IP:8080/sensors.json +You can setup your own sensors by examining the JSON file from the webcam server: `http://IP:8080/sensors.json` diff --git a/source/_integrations/squeezebox.markdown b/source/_integrations/squeezebox.markdown index 0fc30a12769..e9b09617c8e 100644 --- a/source/_integrations/squeezebox.markdown +++ b/source/_integrations/squeezebox.markdown @@ -63,7 +63,7 @@ transporter_toslink: Call a custom Squeezebox JSONRPC API. -See documentation for this interface on http://HOST:PORT/html/docs/cli-api.html?player= where HOST and PORT are the host name and port for your Logitech Media Server. +See documentation for this interface on `http://HOST:PORT/html/docs/cli-api.html?player=` where HOST and PORT are the host name and port for your Logitech Media Server. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | From b0998ea88b7f57a0129f442444e440e3b12cd80b Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 12 Oct 2019 12:51:57 +0200 Subject: [PATCH 093/289] Fixing some more broken links (#10734) * Fixing broken links in LaMetric documentation * Fix broken links in Apache documentation * Fix broken links in nginx documentation * Fix broken links in Docker documentation * Fix broken link in Synology documentation * Fix broken link in armbian documentation * Fix broken link in cover.rfxtrx * Fix broken links in Installation notebooks docs --- source/_docs/ecosystem/apache.markdown | 12 ++++++------ source/_docs/ecosystem/nginx_subdomain.markdown | 12 ++++++------ .../_docs/ecosystem/notebooks/installation.markdown | 6 ++---- source/_docs/installation/armbian.markdown | 2 +- source/_docs/installation/docker.markdown | 6 +++--- source/_docs/installation/synology.markdown | 2 +- source/_integrations/cover.rfxtrx.markdown | 2 +- source/_integrations/lametric.markdown | 4 ++-- 8 files changed, 22 insertions(+), 24 deletions(-) diff --git a/source/_docs/ecosystem/apache.markdown b/source/_docs/ecosystem/apache.markdown index 295b64f588c..2c535697c12 100644 --- a/source/_docs/ecosystem/apache.markdown +++ b/source/_docs/ecosystem/apache.markdown @@ -14,7 +14,7 @@ This is useful if you want to have: #### Subdomain -So you already have a working Apache server available at example.org. Your Home Assistant is correctly working on this web server and available at http://localhost:8123 +So you already have a working Apache server available at example.org. Your Home Assistant is correctly working on this web server and available at `http://localhost:8123` Enable [`mod_proxy_wstunnel`](https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html) by running if you encounter issues while serving Home Assistant through your proxy: @@ -22,7 +22,7 @@ Enable [`mod_proxy_wstunnel`](https://httpd.apache.org/docs/2.4/mod/mod_proxy_ws $ sudo a2enmod proxy_wstunnel ``` -To be able to access to your Home Assistant instance by using https://home.example.org, add the following file to `/etc/httpd/conf/extra/` as `hass.conf` +To be able to access to your Home Assistant instance by using `https://home.example.org`, add the following file to `/etc/httpd/conf/extra/` as `hass.conf` ```text @@ -68,9 +68,9 @@ In case you are getting occasional HTTP 504 error messages ("Gateway Timeout") o #### Multiple Instance -You already have Home Assistant running on http://localhost:8123 and available at home.example.org as describe before. The configuration file for this Home Assistant is available in `/home/alice/.homeassistant/configuration.yaml` +You already have Home Assistant running on `http://localhost:8123` and available at home.example.org as describe before. The configuration file for this Home Assistant is available in `/home/alice/.homeassistant/configuration.yaml` -You want another instance available at https://countryside.example.org +You want another instance available at `https://countryside.example.org` You can either : * Create a new user, `bob`, to hold the configuration file in `/home/bob/.homeassistant/configuration.yaml` and run Home Assistant as this new user @@ -84,9 +84,9 @@ http: ... ``` -Start Home Assistant: Now, you have another instance running on http://localhost:8124 +Start Home Assistant: Now, you have another instance running on `http://localhost:8124` -To access this instance by using https://countryside.example.org add to `/etc/httpd/conf/extra/hass.conf` +To access this instance by using `https://countryside.example.org` add to `/etc/httpd/conf/extra/hass.conf` ```text diff --git a/source/_docs/ecosystem/nginx_subdomain.markdown b/source/_docs/ecosystem/nginx_subdomain.markdown index 49bd7ff8ca8..c749b49d5ee 100644 --- a/source/_docs/ecosystem/nginx_subdomain.markdown +++ b/source/_docs/ecosystem/nginx_subdomain.markdown @@ -13,9 +13,9 @@ This is useful if you want to have: #### Subdomain -So you already have a working NGINX server available at example.org. Your Home Assistant is correctly working on this web server and available at http://localhost:8123 +So you already have a working NGINX server available at example.org. Your Home Assistant is correctly working on this web server and available at `http://localhost:8123` -To be able to access to your Home Assistant instance by using https://home.example.org, create file `/etc/nginx/sites-enabled/homeassistant` (or symlink via `/etc/nginx/sites-available`) and add the following: +To be able to access to your Home Assistant instance by using `https://home.example.org`, create file `/etc/nginx/sites-enabled/homeassistant` (or symlink via `/etc/nginx/sites-available`) and add the following: ```nginx server { @@ -52,9 +52,9 @@ If you don't want HTTPS, you can change `listen 443 ssl` to `listen 80` or bette #### Multiple Instance -You already have Home Assistant running on http://localhost:8123 and available at home.example.org as describe before. The configuration file for this Home Assistant is available in `/home/alice/.homeassistant/configuration.yaml`. +You already have Home Assistant running on `http://localhost:8123` and available at home.example.org as describe before. The configuration file for this Home Assistant is available in `/home/alice/.homeassistant/configuration.yaml`. -You want another instance available at https://countryside.example.org +You want another instance available at `https://countryside.example.org` You can either : * Create a new user, `bob`, to hold the configuration file in `/home/bob/.homeassistant/configuration.yaml` and run Home Assistant as this new user @@ -68,9 +68,9 @@ http: ... ``` -Start Home Assistant: Now, you have another instance running on http://localhost:8124 +Start Home Assistant: Now, you have another instance running on `http://localhost:8124` -To access this instance by using https://countryside.example.org create the file `/etc/nginx/sites-enabled/countryside.example.org` (or symlink via `/etc/nginx/sites-available`) and add the following: +To access this instance by using `https://countryside.example.org` create the file `/etc/nginx/sites-enabled/countryside.example.org` (or symlink via `/etc/nginx/sites-available`) and add the following: ```nginx server { diff --git a/source/_docs/ecosystem/notebooks/installation.markdown b/source/_docs/ecosystem/notebooks/installation.markdown index 08600ada88d..0afed74486d 100644 --- a/source/_docs/ecosystem/notebooks/installation.markdown +++ b/source/_docs/ecosystem/notebooks/installation.markdown @@ -4,7 +4,7 @@ description: "Setup and first steps for Jupyter Notebooks and Home Assistant." redirect_from: /ecosystem/notebooks/installation/ --- -To run Jupyter Notebooks locally, an installation of [Jupyter](http://jupyter.org/) is needed. Consider running Jupyter in a [virtualenv](/getting-started/installation-virtualenv/) in order to properly manage dependencies. +To run Jupyter Notebooks locally, an installation of [Jupyter](http://jupyter.org/) is needed. Consider running Jupyter in a [virtualenv](/docs/installation/virtualenv/) in order to properly manage dependencies. ```bash $ pip3 install jupyter matplotlib @@ -27,7 +27,7 @@ $ jupyter notebook [I 17:22:18.922 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). ``` -Open [http://localhost:8888/](http://localhost:8888/) in your browser. Press "New" -> "Python3" to open a new notebook. +Open `http://localhost:8888/` in your browser. Press "New" -> "Python3" to open a new notebook.

@@ -43,5 +43,3 @@ The downloadable version of this notebook is available in the [Home Assistant no As you can see is the Jupyter notebook workflow is very similar to working directly with a Python shell. One advantage of notebooks is that you can go back and forth between cells as you please and save your work. - - diff --git a/source/_docs/installation/armbian.markdown b/source/_docs/installation/armbian.markdown index f26dfca7c2b..3c61119fc87 100644 --- a/source/_docs/installation/armbian.markdown +++ b/source/_docs/installation/armbian.markdown @@ -24,7 +24,7 @@ hass --open-ui Running these commands will: - Install Home Assistant - - Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123) + - Launch Home Assistant and serve the web interface on `http://localhost:8123` - the configuration files will be created in /home/{user}/.homeassistant diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index d5430e0c6bc..027ae1c2fd8 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -36,7 +36,7 @@ If you wish to browse directly to `http://localhost:8123` from your macOS host, $ docker run --init -d --name="home-assistant" -e "TZ=America/Los_Angeles" -v /PATH_TO_YOUR_CONFIG:/config -p 8123:8123 homeassistant/home-assistant:stable ``` -Alternatively, `docker-compose` works with any recent release of `docker-ce` on macOS. Note that (further down this page) we provide an example `docker-compose.yml` however it differs from the `docker run` example above. To make the .yml directives match, you would need to make _two_ changes: first add the equivalent `ports:` directive, then _remove_ the `network_mode: host` section. This is because `Port mapping is incompatible with network_mode: host:`. More details can be found at [Docker networking docs](https://docs.docker.com/engine/userguide/networking/#default-networks). Note also the `/dev/tty*` device name used by your Arduino etc. devices will differ from the Linux example, so the compose `mount:` may require updates. +Alternatively, `docker-compose` works with any recent release of `docker-ce` on macOS. Note that (further down this page) we provide an example `docker-compose.yml` however it differs from the `docker run` example above. To make the .yml directives match, you would need to make _two_ changes: first add the equivalent `ports:` directive, then _remove_ the `network_mode: host` section. This is because `Port mapping is incompatible with network_mode: host:`. More details can be found at [Docker networking docs](https://docs.docker.com/network/). Note also the `/dev/tty*` device name used by your Arduino etc. devices will differ from the Linux example, so the compose `mount:` may require updates. ### Windows @@ -51,11 +51,11 @@ netsh interface portproxy add v4tov4 listenaddress=192.168.1.10 listenport=8123 netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 connectaddress=10.0.50.2 connectport=8123 ``` -This will let you access your Home Assistant portal from , and if you forward port 8123 on your router to your machine IP, the traffic will be forwarded on through to the docker container. +This will let you access your Home Assistant portal from `http://localhost:8123`, and if you forward port 8123 on your router to your machine IP, the traffic will be forwarded on through to the docker container. ### Synology NAS -As Synology within DSM now supports Docker (with a neat UI), you can simply install Home Assistant using docker without the need for command-line. For details about the package (including compatibility-information, if your NAS is supported), see +As Synology within DSM now supports Docker (with a neat UI), you can simply install Home Assistant using docker without the need for command-line. For details about the package (including compatibility-information, if your NAS is supported), see The steps would be: * Install "Docker" package on your Synology NAS diff --git a/source/_docs/installation/synology.markdown b/source/_docs/installation/synology.markdown index e2e640fffff..cb39fdbf175 100644 --- a/source/_docs/installation/synology.markdown +++ b/source/_docs/installation/synology.markdown @@ -22,7 +22,7 @@ The following configuration has been tested on Synology 413j running DSM 6.0-732 Running these commands will: - Install Home Assistant - - Enable Home Assistant to be launched on [http://localhost:8123](http://localhost:8123) + - Enable Home Assistant to be launched on `http://localhost:8123` Using the Synology webadmin: diff --git a/source/_integrations/cover.rfxtrx.markdown b/source/_integrations/cover.rfxtrx.markdown index 43a150ffe53..21da46532d5 100644 --- a/source/_integrations/cover.rfxtrx.markdown +++ b/source/_integrations/cover.rfxtrx.markdown @@ -23,7 +23,7 @@ cover: automatic_add: true ``` -Launch your homeassistant and go the website (e.g http://localhost:8123). Push your remote and your device should be added. +Launch your homeassistant and go the website (e.g `http://localhost:8123`). Push your remote and your device should be added. Once added it will show an ID (e.g `0b11000102ef9f210010f70`) and you can verify that it works from the frontend. Then you should update your configuration to: diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 09cbab06ed5..7d0345b5913 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -33,7 +33,7 @@ These are the steps to take: 3. Fill in the form. You can put almost anything in the fields, they just need to be populated: * App Name: Home Assistant * Description: Home Assistant - * Privacy Policy: http://localhost/ + * Privacy Policy: `http://localhost/` * Check all permission boxes * Hit Save 4. You should be directed to your [Notification Apps list](https://developer.lametric.com/applications/sources), click on "Home Assistant", copy your client ID and client Secret and paste into the Home Assistant configuration block in the previous section. @@ -134,4 +134,4 @@ If you have more than one La Metric device, you can specify which will receive t icon: 'i51' ``` - If target is not specified, all LaMetric devices will be notified. \ No newline at end of file + If target is not specified, all LaMetric devices will be notified. From abdfe5e0b237e121aa9f2b3eca4bbded85785a74 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 12 Oct 2019 13:21:53 +0200 Subject: [PATCH 094/289] Update footer links (#10735) * Fix http to https for Jekyll link in footer Prevents 301 redirecting. Hits on every page when scanning with Xenu. * Update facebook link Fixes 301 redirect. Xenu hits on every single page. --- source/_includes/site/footer.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_includes/site/footer.html b/source/_includes/site/footer.html index 2f2328a9569..64f21919d5b 100644 --- a/source/_includes/site/footer.html +++ b/source/_includes/site/footer.html @@ -8,7 +8,7 @@

- +
@@ -26,7 +26,7 @@