From cf24e608eda4a336ff6e1d0fd23c5db1ec1e0e9b Mon Sep 17 00:00:00 2001 From: ntalekt Date: Thu, 26 Oct 2017 22:29:05 -0700 Subject: [PATCH 001/117] Update: Added correct extension. (#3791) --- ...ion_yaml_by_ntalekt => configuration_yaml_by_ntalekt.markdown} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/_cookbook/{configuration_yaml_by_ntalekt => configuration_yaml_by_ntalekt.markdown} (100%) diff --git a/source/_cookbook/configuration_yaml_by_ntalekt b/source/_cookbook/configuration_yaml_by_ntalekt.markdown similarity index 100% rename from source/_cookbook/configuration_yaml_by_ntalekt rename to source/_cookbook/configuration_yaml_by_ntalekt.markdown From 22378493393a3f957df143eaa570838e3d9ae871 Mon Sep 17 00:00:00 2001 From: Devon Peet Date: Fri, 27 Oct 2017 01:32:29 -0400 Subject: [PATCH 002/117] Simple rewrite of phrase for clarity (#3793) --- source/_docs/installation/virtualenv.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown index 1fb11753b7e..00e487c03f2 100644 --- a/source/_docs/installation/virtualenv.markdown +++ b/source/_docs/installation/virtualenv.markdown @@ -42,7 +42,7 @@ $ sudo usermod -G dialout -a homeassistant ### {% linkable_title Step 2: Create a directory for Home Assistant %} -This can be anywhere you want. As example we put it in `/srv`. You also need to change the ownership of the directory to the user you created above (if you created one). +This can be anywhere you want. We chose to put it in `/srv`. You also need to change the ownership of the directory to the user you created above (if you created one). ```bash $ sudo mkdir /srv/homeassistant From 081d0d4dd9b3dee4f2f0af498902eb71c369c93d Mon Sep 17 00:00:00 2001 From: Devon Peet Date: Fri, 27 Oct 2017 01:33:15 -0400 Subject: [PATCH 003/117] Clarity Edits (#3794) --- source/_docs/autostart/systemd.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/autostart/systemd.markdown b/source/_docs/autostart/systemd.markdown index c2b40858d95..74f595f850c 100644 --- a/source/_docs/autostart/systemd.markdown +++ b/source/_docs/autostart/systemd.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/autostart-systemd/ --- -Newer linux distributions are trending towards using `systemd` for managing daemons. Typically, systems based on Fedora, ArchLinux, or Debian (8 or later) use `systemd`. This includes Ubuntu releases including and after 15.04, CentOS, and Red Hat. If you are unsure if your system is using `systemd`, you may check with the following command: +Newer Linux distributions are trending towards using `systemd` for managing daemons. Typically, systems based on Fedora, ArchLinux, or Debian (8 or later) use `systemd`. This includes Ubuntu releases including and after 15.04, CentOS, and Red Hat. If you are unsure if your system is using `systemd`, you may check with the following command: ```bash $ ps -p 1 -o comm= @@ -21,7 +21,7 @@ If the preceding command returns the string `systemd`, continue with the instruc A service file is needed to control Home Assistant with `systemd`. The template below should be created using a text editor. Note, root permissions via `sudo` will likely be needed. The following should be noted to modify the template: - `ExecStart` contains the path to `hass` and this may vary. Check with `whereis hass` for the location. -- For most systems, the file is `/etc/systemd/system/home-assistant@[your user].service` with [your user] replaced by the user account that Home Assistant will run as - normally `homeassistant`. In particular, this is the case for Ubuntu 16.04. +- For most systems, the file is `/etc/systemd/system/home-assistant@[your user].service` with [your user] replaced by the user account that Home Assistant will run as (normally `homeassistant`). In particular, this is the case for Ubuntu 16.04. - If unfamiliar with command-line text editors, `sudo nano -w [filename]` can be used with `[filename]` replaced with the full path to the file. Ex. `sudo nano -w /etc/systemd/system/home-assistant@[your user].service`. After text entered, press CTRL-X then press Y to save and exit. - If you're running Home Assistant in a Python virtual environment or a Docker container, please skip to the appropriate template listed below. From 39b30f6582be78740158b3fc8ada44514b1a2575 Mon Sep 17 00:00:00 2001 From: Devon Peet Date: Fri, 27 Oct 2017 01:34:29 -0400 Subject: [PATCH 004/117] Added restart && journal, which I use all the time (#3795) --- source/_docs/autostart/systemd.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/_docs/autostart/systemd.markdown b/source/_docs/autostart/systemd.markdown index 74f595f850c..f4d3b25ff83 100644 --- a/source/_docs/autostart/systemd.markdown +++ b/source/_docs/autostart/systemd.markdown @@ -127,3 +127,10 @@ Because the log can scroll quite quickly, you can select to view only the error ```bash $ sudo journalctl -f -u home-assistant@[your user] | grep -i 'error' ``` + +When working on Home Assitant, you can easily restart the system and then watch the log output by combining the above commands using `&&` + +```bash +$ sudo systemctl restart home-assistant@[your user] && sudo journalctl -f -u home-assistant@[your user] +``` + From ca52e23e4cfccf7fed8d4300a1cef00d4b565e06 Mon Sep 17 00:00:00 2001 From: Devon Peet Date: Fri, 27 Oct 2017 02:11:51 -0400 Subject: [PATCH 005/117] Updating language for readability (#3796) * Updating language for readability * Remove space --- source/_components/binary_sensor.markdown | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/_components/binary_sensor.markdown b/source/_components/binary_sensor.markdown index 43b66dd453e..53a5b46a023 100644 --- a/source/_components/binary_sensor.markdown +++ b/source/_components/binary_sensor.markdown @@ -9,9 +9,7 @@ sharing: true footer: true --- -Binary sensors gather information about state of switches, contacts, pins, and alike. The return value of those sensors is usually digital (1/0). This means that those sensors knows only two states: **0/off/low/closed/false** and **1/on/high/open/true**. - -Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality. +Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality. The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors: From e003f0baed9e6ec14221c0e589cec68addc97288 Mon Sep 17 00:00:00 2001 From: arretx <32052562+arretx@users.noreply.github.com> Date: Fri, 27 Oct 2017 01:14:08 -0700 Subject: [PATCH 006/117] Clarification for a moron ;) (#3797) * Clarification for a moron ;) Often it helps to see the syntax for configuration variables... * This ---> Something like this instead... --- source/_components/sensor.uptime.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_components/sensor.uptime.markdown b/source/_components/sensor.uptime.markdown index 5aa633d57a9..f81d0a36b88 100644 --- a/source/_components/sensor.uptime.markdown +++ b/source/_components/sensor.uptime.markdown @@ -28,3 +28,11 @@ Configuration variables: - **name** (*Optional*): Name of the sensor. Defaults to `Uptime`. - **unit_of_measurement** (*Optional*): Units for uptime measurement in either `days` or `hours`. Defaults to `days`. + +```yaml +# Example with configuration variables +sensor: + - platform: uptime + name: Time Online + unit_of_measurement: hours +```` From 608315f55164241793b0648335f8667a8fe12946 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Fri, 27 Oct 2017 18:27:39 +0100 Subject: [PATCH 007/117] Adding link to main docs --- source/hassio/zwave.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/hassio/zwave.markdown b/source/hassio/zwave.markdown index ad4eee5763c..39fe6469742 100644 --- a/source/hassio/zwave.markdown +++ b/source/hassio/zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave" -description: "Instructions on how-to use Z-Wave with Hass.io." +description: "Instructions on how-to enable Z-Wave with Hass.io." date: 2017-04-30 13:28 sidebar: true comments: false @@ -36,3 +36,7 @@ zha: usb_path: /dev/ttyUSB1 database_path: /config/zigbee.db ``` + +## {% linkable_title Further reading %} + +For more information on using Z-Wave, see the [main documentation](/docs/z-wave/). From b009e48f9580b597825fef67c54bd7c3aac08161 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Fri, 27 Oct 2017 18:28:38 +0100 Subject: [PATCH 008/117] Missed a character --- source/_docs/z-wave/installation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index 2c5cad179ca..4eda9dedd86 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -104,7 +104,7 @@ device_config: ### {% linkable_title Finding the controller path on Linux %} -

If you're using Hass.io please follow [these setup instructions](/hassio/zwave/) for finding the controller path.

From e8a743760cfe229786fb1061d141621c6eb4bf32 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Fri, 27 Oct 2017 18:36:11 +0100 Subject: [PATCH 009/117] Clarifications Fixed note classes, added emphasis to Add Node Secure, highlighted that the default Add Node is non-secure --- source/_docs/z-wave/adding.markdown | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown index 0ad7011a7cd..d9e8d5be1a8 100644 --- a/source/_docs/z-wave/adding.markdown +++ b/source/_docs/z-wave/adding.markdown @@ -9,24 +9,26 @@ sharing: true footer: true --- -To add (include) a Z-Wave [device](/docs/z-wave/devices/) to your system, go to the [Z-Wave control panel](/docs/z-wave/control-panel/) in the Home Assistant frontend and click the **Add Node** button in the *Z-Wave Network Management* card. This will place the controller in inclusion mode, after which you should activate your device to be included by following the instructions provided with the device. +## {% linkable_title Adding Non-Secure Devices %} -

+To add (include) a non-secure Z-Wave [device](/docs/z-wave/devices/) to your system, go to the [Z-Wave control panel](/docs/z-wave/control-panel/) in the Home Assistant frontend and click the **Add Node** button in the *Z-Wave Network Management* card. This will place the controller in inclusion mode, after which you should activate your device to be included by following the instructions provided with the device. Don't use this for secure devices, since this is likely to limit the features the device supports. + +

Don't use the OpenZWave control panel (OZWCP), or the physical button on a controller, to add or remove devices. Many devices will only send the information about their capabilities at the time you include them. If you use the OpenZWave control panel, or the button on a device, then Home Assistant won't have that information. Using the physical button on a controller will also result in a non-security inclusion being performed, which may limit the features the device supports.

When you add a device, it may initially appear without a specific entity ID (eg `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible. -## {% linkable_title Adding Security Devices %} +## {% linkable_title Adding Secure Devices %} -Security Z-Wave devices require a network key before being added to the network using the Add Secure Node button in the Z-Wave Network Management card. You must set the *network_key* configuration variable to use a network key before adding these devices. Some devices only expose their full capabilities when included this way, you should always read the manual for your device to find out the recommended inclusion method. +Security Z-Wave devices require a network key before being added to the network using the **Add Secure Node** button in the Z-Wave Network Management card. You must set the *network_key* configuration variable to use a network key before adding these devices. Some devices only expose their full capabilities when included this way, you should always read the manual for your device to find out the recommended inclusion method. An easy script to generate a random key: ```bash cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g' -e 's/, $//' ``` -

+

Ensure you keep a backup of this key. If you have to rebuild your system and don't have a backup of this key, you won't be able to reconnect to any security devices. This may mean you have to do a factory reset on those devices, and your controller, before rebuilding your Z-Wave network.

From 2edf3c5242d3b43c55c9f7413e70ca97e0e3c27c Mon Sep 17 00:00:00 2001 From: Elvis <2e3d4b71@opayq.com> Date: Fri, 27 Oct 2017 22:23:06 +0300 Subject: [PATCH 010/117] Update actions.markdown (#3803) --- source/_docs/ecosystem/ios/notifications/actions.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_docs/ecosystem/ios/notifications/actions.markdown b/source/_docs/ecosystem/ios/notifications/actions.markdown index a8510f52b09..7ed22d6c33c 100644 --- a/source/_docs/ecosystem/ios/notifications/actions.markdown +++ b/source/_docs/ecosystem/ios/notifications/actions.markdown @@ -44,16 +44,16 @@ When sending a notification:

## {% linkable_title Definitions %} -- Category - A category represents a type of notification that the app might receive. Think of it as a unique group of actions. A categories parameters include: -- Action - An action consists of a button title and the information that iOS needs to notify the app when the action is selected. You create separate action objects for distinct action your app supports. An actions parameters include: +- Category - A category represents a type of notification that the app might receive. Think of it as a unique group of actions. +- Actions - An action consists of a button title and the information that iOS needs to notify the app when the action is selected. You create separate action objects for distinct action your app supports. ## {% linkable_title Category parameters %} - **name** (*Required*): A friendly name for this category. - **identifier** (*Required*): A unique identifier for the category. Must be lowercase and have no special characters or spaces. -- **action** (*Required*): A list of actions. +- **actions** (*Required*): A list of actions. -## {% linkable_title Action parameters %} +## {% linkable_title Actions parameters %} - **identifier** (*Required*): A unique identifier for this action. Must be uppercase and have no special characters or spaces. Only needs to be unique to the category, not unique globally. - **title** (*Required*): The text to display on the button. Keep it short. From 130a3d0ea197812b8f1496aa6aa818cca34830b6 Mon Sep 17 00:00:00 2001 From: Johan van der Kuijl Date: Sat, 28 Oct 2017 08:12:54 +0200 Subject: [PATCH 011/117] The sunrise / sunset example code is not working I removed the offset so the callback is simply: self.run_at_sunrise(self.sunrise_cb) --- source/_docs/ecosystem/appdaemon.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/ecosystem/appdaemon.markdown b/source/_docs/ecosystem/appdaemon.markdown index f8f86bdff42..e2a8d23d68f 100755 --- a/source/_docs/ecosystem/appdaemon.markdown +++ b/source/_docs/ecosystem/appdaemon.markdown @@ -40,8 +40,8 @@ import appdaemon.appapi as appapi class OutsideLights(appapi.AppDaemon): def initialize(self): - self.run_at_sunrise(self.sunrise_cb, 0) - self.run_at_sunset(self.sunset_cb, 0) + self.run_at_sunrise(self.sunrise_cb) + self.run_at_sunset(self.sunset_cb) def sunrise_cb(self, kwargs): self.turn_on(self.args["off_scene"]) From fa2823493150e180dc67262da863157602a0c87e Mon Sep 17 00:00:00 2001 From: DoloresHA Date: Sat, 28 Oct 2017 03:23:37 -0400 Subject: [PATCH 012/117] Update notify.html5.markdown (#3806) line 132: changed "configuration" to "notification." line 236: fixed indentation error (was only one space, not two) --- source/_components/notify.html5.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index eb0bb0b9ddc..34547169778 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -129,7 +129,7 @@ By default, every notification sent has a randomly generated UUID (v4) set as it } ``` -Example of adding a tag to your configuration. This won't create new notification if there already exists one with the same tag. +Example of adding a tag to your notification. This won't create new notification if there already exists one with the same tag. ```yaml - alias: Push/update notification of sensor state with tag @@ -233,7 +233,7 @@ or platform: event event_type: html5_notification.clicked event_data: - action: open_door + action: open_door ``` #### {% linkable_title closed event %} From fcc6e8f6db7e6eb7061911fce24436035c6dccc0 Mon Sep 17 00:00:00 2001 From: Brady Rosino Date: Sat, 28 Oct 2017 03:25:00 -0400 Subject: [PATCH 013/117] Add missing 'tap and hold off' details (#3808) --- source/_docs/z-wave/device-specific.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index a73ffd58e32..b86e15bc2c8 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -155,3 +155,4 @@ Double tap off|2|3 Triple tap on|1|4 Triple tap off|2|4 Tap and hold on|1|2 +Tap and hold off|2|2 From 45190d9cc2e8635c38773fa0909f5c7c80671897 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 28 Oct 2017 17:36:15 +0200 Subject: [PATCH 014/117] Update releases and ordering of the links (#3811) --- source/_docs/frontend/browsers.markdown | 31 ++++++++++++++----------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/source/_docs/frontend/browsers.markdown b/source/_docs/frontend/browsers.markdown index f50f71e61f0..d0ead42c919 100644 --- a/source/_docs/frontend/browsers.markdown +++ b/source/_docs/frontend/browsers.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/browsers/ --- -Home Assistant requires a web browser to show the frontend and supports all major modern browsers. We don't test the web interface against all available browsers but this page tracks different browsers on various operating systems and should help you to pick a browser which works. +Home Assistant requires a web browser to show the frontend and supports all major modern browsers. We don't test the web interface against all available browsers but this page tracks different browsers on various operating systems and should help you to pick a browser which works. The "Release" column contains the release number which were tested. This doen't mean that older or newer releases not work. If a browser is listed as working but you are still having problems, it is possible that some add-on or extension may be the problem. Some add-ons or extenstion are known to cause issue with the frontend, but it's not possible to test them all. If you are having issues with the frontend displaying correctly, you should disable all your add-ons or extensions and enable them one at a time. @@ -37,10 +37,11 @@ We would appreciate if you help to keep this page up-to-date and add feedback. | Browser | Release | State | Comments | | :-------------------- |:---------------|:-----------|:-------------------------| -| [Firefox] | 55.0 | works | | +| [Firefox] | 57.0 | works | | | [Midori] | 0.5.11 | works | | -| [Chromium] | 60.0.3112.90 | works | | +| [Chromium] | 61.0.3163.100 | works | | | [Conkeror] | 1.0.2 | works | | +| [Tor Browser] | 7.0.8 | works | | | [Konqueror] | | unknown | | | [Uzbl] | 0.9.0 | works | | | [Opera] | 42.0.2393.351 | works | | @@ -67,20 +68,22 @@ We would appreciate if you help to keep this page up-to-date and add feedback. There are reports that devices running with iOS prior to iOS 10, especially old iPads, are having trouble. -[Firefox]: https://www.mozilla.org/en-US/firefox/ -[Midori]: http://midori-browser.org/ [Chrome]: https://www.google.com/chrome/ -[Iridium]: https://iridiumbrowser.de/ -[Opera]: http://www.opera.com/ -[Edge]: https://www.microsoft.com/en-us/windows/microsoft-edge -[IE]: http://windows.microsoft.com/en-us/internet-explorer/download-ie -[Safari]: http://www.apple.com/safari/ [Chromium]: https://www.chromium.org/ [Conkeror]: http://conkeror.org/ -[Konqueror]: https://konqueror.org/ -[Uzbl]: http://www.uzbl.org/ -[Lynx]: http://lynx.browser.org/ +[Edge]: https://www.microsoft.com/en-us/windows/microsoft-edge [elinks]: http://elinks.or.cz/ -[w3m]: http://w3m.sourceforge.net/ [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 +[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/ +[Tor Browser]: https://www.torproject.org/ +[Uzbl]: http://www.uzbl.org/ +[w3m]: http://w3m.sourceforge.net/ + From 219fcdbf116293231c5d3314f656f60f1035b9df Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 28 Oct 2017 17:30:18 +0100 Subject: [PATCH 015/117] Added externally accessible note A common question seems to be about being externally accessible, and SSL. I've added a note at the top about it. --- source/_components/google_assistant.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 4a2d6e8a0be..76e146327c1 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -16,6 +16,10 @@ ha_release: 0.56 # Google Assistant Docs The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up. +

+To use Google Assistant your Home Assistant configuration has to be externally accessible, with a hostname and SSL certificate. If you haven't already configured that you should do so before continuing. +

+ ### {% linkable_title Configuration %} ```yaml From 979f3994895bb8f0efbcd5f450b7a2021832e601 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 28 Oct 2017 18:48:15 +0100 Subject: [PATCH 016/117] Fix a missing character --- source/_components/google_assistant.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 76e146327c1..88d45d3b531 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -18,7 +18,7 @@ The Google Assistant component requires a bit more setup than most due to the wa

To use Google Assistant your Home Assistant configuration has to be externally accessible, with a hostname and SSL certificate. If you haven't already configured that you should do so before continuing. -

+

### {% linkable_title Configuration %} From 32617c01bd91b42dc4bd463fef03dba2adbc4c11 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 28 Oct 2017 22:02:48 +0100 Subject: [PATCH 017/117] Added remaining Z-Wave links --- source/_includes/asides/docs_navigation.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index b6c07f6f979..78798c0818d 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -97,8 +97,10 @@
  • {% active_link /docs/z-wave/adding/ Adding devices %}
  • {% active_link /docs/z-wave/control-panel/ The Z-Wave control panel %}
  • {% active_link /docs/z-wave/controllers/ Controllers %}
  • -
  • {% active_link /docs/z-wave/devices/ Devices %}
  • -
  • {% active_link /docs/z-wave/device-specific/ Device Specific %}
  • +
  • {% active_link /docs/z-wave/devices/ Devices %} and {% active_link /docs/z-wave/entities/ Entities %}
  • +
  • {% active_link /docs/z-wave/query-state/ Query Stages %} for devices
  • +
  • {% active_link /docs/z-wave/device-specific/ Device Specific %} configuration
  • +
  • {% active_link /docs/z-wave/events/ Events %} and {% active_link /docs/z-wave/services/ Services %}
  • From ad2aac6d68bef7469d1b58713234bbbe4f57211e Mon Sep 17 00:00:00 2001 From: Anders Melchiorsen Date: Sun, 29 Oct 2017 01:29:36 +0200 Subject: [PATCH 018/117] Simplify light dimming during media play (#3776) --- .../dim_lights_when_playing_media.markdown | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/source/_cookbook/dim_lights_when_playing_media.markdown b/source/_cookbook/dim_lights_when_playing_media.markdown index e0b0859193d..e0c19c45d3b 100644 --- a/source/_cookbook/dim_lights_when_playing_media.markdown +++ b/source/_cookbook/dim_lights_when_playing_media.markdown @@ -12,7 +12,7 @@ ha_category: Automation Examples Like it how the lights dim up/down at the movies? Do it at home as well! -This example uses the [media player](https://home-assistant.io/components/media_player/), [Philips Hue](https://home-assistant.io/components/light.hue/) (transitions) and the [sun](https://home-assistant.io/components/sun/) component. We'll use actions to detect media player state changes and scenes to control multiple lights, color settings and transition between scenes. +This example uses the [media player](https://home-assistant.io/components/media_player/), [lights](https://home-assistant.io/components/light/) (transitions) and the [sun](https://home-assistant.io/components/sun/) component. We'll use actions to detect media player state changes and [scenes](https://home-assistant.io/components/scene/) to control multiple lights and transition between scenes. #### {% linkable_title Scenes %} One scene for normal light, one for when movies are on. A 2 second transition gives a nice 'feel' to the switch. @@ -24,25 +24,21 @@ scene: light.light1: state: on transition: 2 - brightness: 150 - xy_color: [ 0.4448, 0.4066 ] + brightness_pct: 60 light.light2: state: on transition: 2 - brightness: 215 - xy_color: [ 0.4448, 0.4066 ] + brightness_pct: 85 - name: Livingroom dim entities: light.light1: state: on transition: 2 - brightness: 75 - xy_color: [ 0.5926, 0.3814 ] + brightness_pct: 30 light.light2: state: on transition: 2 - brightness: 145 - xy_color: [ 0.5529, 0.4107 ] + brightness_pct: 55 ``` From 4d2978ba673300fd8e5ec13a27b1058b048e1528 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 01:35:44 +0200 Subject: [PATCH 019/117] Update timestamps to ISO 8601 (#3814) --- source/_docs/configuration/state_object.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/configuration/state_object.markdown b/source/_docs/configuration/state_object.markdown index 8ba54380a55..72e62321477 100644 --- a/source/_docs/configuration/state_object.markdown +++ b/source/_docs/configuration/state_object.markdown @@ -23,8 +23,8 @@ Field | Description `state.domain` | Domain of the entity. Example: `light`. `state.object_id` | Object ID of entity. Example: `kitchen`. `state.name` | Name of the entity. Based on `friendly_name` attribute with fall back to object ID. Example: `Kitchen Ceiling`. -`state.last_updated` | Time the state was written to the state machine. Note that writing the exact same state including attributes will not result in this field being updated. Example: `14:10:03 13-03-2016`. -`state.last_changed` | Time the state changed. This is not updated when there are only updated attributes. Example: `14:10:03 13-03-2016`. +`state.last_updated` | Time the state was written to the state machine. Note that writing the exact same state including attributes will not result in this field being updated. Example: `2017-10-28 08:13:36.715874+00:00`. +`state.last_changed` | Time the state changed. This is not updated when there are only updated attributes. Example: `2017-10-28 08:13:36.715874+00:00`. `state.attributes` | A dictionary with extra attributes related to the current state. The attributes of an entity are optional. There are a few attributes that are used by Home Assistant for representing the entity in a specific way. Each component will also have it's own attributes to represent extra state data about the entity. For example, the light component has attributes for the current brightness and color of the light. When an attribute is not available, Home Assistant will not write it to the state. From a7e0330945058d19a4e82eecf8452cc9ca9998c6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 01:36:22 +0200 Subject: [PATCH 020/117] Add sample scripts, update output and re-format code (#3815) * Add sample scripts, update output and re-format code * Remove blank lines --- source/developers/python_api.markdown | 72 +++++++++++++++++++++++---- source/developers/rest_api.markdown | 70 +++++++++++++++----------- 2 files changed, 101 insertions(+), 41 deletions(-) diff --git a/source/developers/python_api.markdown b/source/developers/python_api.markdown index 727e94f071e..2e752f80b4c 100644 --- a/source/developers/python_api.markdown +++ b/source/developers/python_api.markdown @@ -40,7 +40,7 @@ print(remote.get_config(api)) ### {% linkable_title Get details about services, events, and entitites %} -The output from this is similar to the output you'd find via the frontend, using the DevTools console. +The output from this is similar to the output you'd find via the frontend, using the [Developer Tools](/docs/tools/dev-tools/). ```python import homeassistant.remote as remote @@ -71,12 +71,11 @@ To get the details of a single entity, use `get_state`: import homeassistant.remote as remote api = remote.API('127.0.0.1', 'YOUR_PASSWORD') -office_temperature = remote.get_state(api, 'sensor.office_temperature') -print('{} is {} {}.'.format(office_temperature.name, - office_temperature.state, - office_temperature.attributes['unit_of_measurement'] - ) - ) +office_temp = remote.get_state(api, 'sensor.office_temperature') +print('{} is {} {}.'.format( + office_temp.name, office_temp.state, + office_temp.attributes['unit_of_measurement']) +) ``` This outputs the details which are stored for this entity, ie: @@ -92,10 +91,9 @@ import homeassistant.remote as remote api = remote.API('127.0.0.1', 'YOUR_PASSWORD') switch_livingroom = remote.get_state(api, 'switch.livingroom_pin_2') -print('{} is {}.'.format(switch_livingroom.name, - switch_livingroom.state - ) - ) +print('{} is {}.'.format( + switch_livingroom.name, switch_livingroom.state) +) ``` ### {% linkable_title Set the state of an entity %} @@ -184,3 +182,55 @@ data = {"title":"Test", "message":"A simple test message from HA."} remote.call_service(api, domain, 'jabber', data) ``` + +## {% linkable_title Examples %} + +This section contains a couple of sample scripts. + +### {% linkable_title List all sensors and their value %} + +If you want to see, export or list all sensor states then an easy way to do it, is to get all entities and filter for the one you are looking for. + +```python +import homeassistant.remote as remote + +api = remote.API('127.0.0.1', 'YOUR_PASSWORD') +entities = remote.get_states(api) +for entity in entities: + if entity.entity_id.startswith('sensor'): + data = remote.get_state(api, entity.entity_id) + print('{}: {}'.format(data.attributes['friendly_name'], data.state)) +``` + +### {% linkable_title Show difference between `last_changed` and `last_updated` %} + +The documentation about the [State Objects](/docs/configuration/state_object/) describes the +`last_changed` and `last_updated` fields. This example shows how it works in practice. + +```python +import time + +from prettytable import PrettyTable +import homeassistant.remote as remote + +api = remote.API('127.0.0.1', 'YOUR_PASSWORD') + +ACTIONS = { + 'Create sensor': [21, 'Test'], + 'No new sensor value': [21, 'Test'], + 'New sensor value': [22, 'Test'], + 'Update attribute': [22, 'Test1'], +} + +output = PrettyTable(['Action', 'Last changed', 'Last updated']) + +for key, value in ACTIONS.items(): + remote.set_state(api, 'sensor.test', new_state=value[0], + attributes={'friendly_name': value[1]}) + data = remote.get_state(api, 'sensor.test') + output.add_row([key, data.last_changed, data.last_updated]) + time.sleep(2) + +print(output) +``` + diff --git a/source/developers/rest_api.markdown b/source/developers/rest_api.markdown index ede8f8157b2..8f620814d5a 100644 --- a/source/developers/rest_api.markdown +++ b/source/developers/rest_api.markdown @@ -39,7 +39,7 @@ print(response.text) ```

    -You can append `?api_password=YOUR_PASSWORD` to any url to log in automatically. +You can append `?api_password=YOUR_PASSWORD` to any URL to log in automatically.

    Successful calls will return status code 200 or 201. Other status codes that can return are: @@ -73,33 +73,43 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ Returns the current configuration as JSON. ```json -{ - "components": [ - "recorder", - "http", - "weather.openweathermap", - "api", - "websocket_api", - "frontend", - "sensor.time_date", - "sun", - "device_tracker", - "group", - "automation" - ], - "config_dir": "/home/ha/.homeassistant", - "elevation": 590, - "latitude": 45.92, - "location_name": "Home", - "longitude": 6.52, - "time_zone": "Europe/Zurich", - "unit_system": { - "length": "km", - "mass": "g", - "temperature": "\\u00b0C", - "volume": "L" - }, - "version": "0.37.0.dev0" +{ + "components":[ + "sensor.cpuspeed", + "frontend", + "config.core", + "http", + "map", + "api", + "sun", + "config", + "discovery", + "conversation", + "recorder", + "group", + "sensor", + "websocket_api", + "automation", + "config.automation", + "config.customize" + ], + "config_dir":"/home/ha/.homeassistant", + "elevation":510, + "latitude":45.8781529, + "location_name":"Home", + "longitude":8.458853651, + "time_zone":"Europe/Zurich", + "unit_system":{ + "length":"km", + "mass":"g", + "temperature":"\u00b0C", + "volume":"L" + }, + "version":"0.56.2", + "whitelist_external_dirs":[ + "/home/ha/.homeassistant/www", + "/home/ha/.homeassistant/" + ] } ``` @@ -115,10 +125,10 @@ Returns basic information about the Home Assistant instance as JSON. ```json { - "base_url": "http://127.0.0.1:8123", + "base_url": "http://192.168.0.2:8123", "location_name": "Home", "requires_api_password": true, - "version": "0.20.0.dev0" + "version": "0.56.2" } ``` From cda120f2747474c97106da3245bc534290097d1c Mon Sep 17 00:00:00 2001 From: Aleksey Jurchenko Date: Sun, 29 Oct 2017 02:37:51 +0300 Subject: [PATCH 021/117] new model added (#3820) --- source/_components/media_player.samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index 34f042724a4..511bdeee001 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -55,6 +55,7 @@ Currently known supported models: - U6300 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - K6500AF (port must be set to 8001) - KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed) +- KS7502 (port must be set to 8001, and `pip3 install websocket-client` must be executed, turn on doesn't work, turn off works fine) - K5600AK (partially supported, turn on works but state is not updated) Currently tested but not working models: From 2c1d63be6ecad18b961da9052916fe9c300987cb Mon Sep 17 00:00:00 2001 From: arretx <32052562+arretx@users.noreply.github.com> Date: Sat, 28 Oct 2017 16:41:49 -0700 Subject: [PATCH 022/117] Update customizing-devices.markdown (#3816) When I read this line, I was thinking that ALL THREE were required, otherwise it would fail. I believe the sentiment is that in order to utilize any of the three, they must fall under homeassistant: in order for them to work. Correct? --- 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 ad9e3b96971..9531f61520d 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -13,7 +13,7 @@ redirect_from: /getting-started/customizing-devices/ By default, all of your devices will be visible and have a default icon determined by their domain. You can customize the look and feel of your front page by altering some of these parameters. This can be done by overriding attributes of specific entities.

    -Be careful not to forget to place `customize`, `customize_domain`, and `customize_glob` inside `homeassistant:` or it will fail. +If you implement `customize`, `customize_domain`, or `customize_glob` you must make sure it is done inside of `homeassistant:` or it will fail.

    ```yaml From 34fccb00454027ee3cf0e0cab2a03294a8e2e9e5 Mon Sep 17 00:00:00 2001 From: arretx <32052562+arretx@users.noreply.github.com> Date: Sat, 28 Oct 2017 16:42:52 -0700 Subject: [PATCH 023/117] Clarification (#3817) I wasn't sure where the "jon" and "ram" user names were derived from in regards to the OwnTracks setup. --- source/_components/device_tracker.owntracks.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index 5d7ec9b0841..20cf68ab97a 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -30,7 +30,7 @@ Configuration variables: - **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account. - **waypoints** (*Optional*): 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. Defaults to `True`. -- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. Defaults to all users who are connected to Home Assistant via Owntracks. +- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g. owntracks/**username**/iPhone). Defaults to all users who are connected to Home Assistant via Owntracks. - **secret** (*Optional*): [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. A full sample configuration for the `owntracks` platform is shown below: From 1514fd7b121089beea69a306e89e55fefb8f8f21 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 02:46:32 +0200 Subject: [PATCH 024/117] Update title (#3822) * Update title * Remove featured --- source/_components/apple_tv.markdown | 1 - source/_components/media_player.apple_tv.markdown | 4 ++-- source/_components/remote.apple_tv.markdown | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/source/_components/apple_tv.markdown b/source/_components/apple_tv.markdown index 56bfd96c8bc..5709958530d 100644 --- a/source/_components/apple_tv.markdown +++ b/source/_components/apple_tv.markdown @@ -11,7 +11,6 @@ logo: apple.png ha_category: Hub ha_iot_class: "Local Push" ha_release: 0.49 -featured: true --- The `apple_tv` platform allows you to control an Apple TV (3rd and 4th generation). See the [remote platform](/components/remote.apple_tv/) if you want to send remote control buttons, e.g. arrow keys. diff --git a/source/_components/media_player.apple_tv.markdown b/source/_components/media_player.apple_tv.markdown index 3fd91fbe0a3..383afdae981 100644 --- a/source/_components/media_player.apple_tv.markdown +++ b/source/_components/media_player.apple_tv.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Apple TV" +title: "Apple TV Media Player" description: "Instructions how to integrate Apple TV devices into Home Assistant." date: 2017-02-08 07:11 sidebar: true @@ -13,4 +13,4 @@ ha_iot_class: "Local Push" ha_release: 0.38 --- -To setup the `apple_tv` platform, please follow the instructions on the [Apple TV Component page](/components/apple_tv/). +To setup the `apple_tv` media player platform, please follow the instructions on the [Apple TV Component page](/components/apple_tv/). diff --git a/source/_components/remote.apple_tv.markdown b/source/_components/remote.apple_tv.markdown index e1bba9e0659..68e11de80dd 100644 --- a/source/_components/remote.apple_tv.markdown +++ b/source/_components/remote.apple_tv.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Apple TV" +title: "Apple TV Remote" description: "Instructions how to integrate Apple TV remote into Home Assistant." date: 2017-06-26 20:50 sidebar: true @@ -38,7 +38,6 @@ data: - menu - select device: '' - ``` Please note that `device` must be specified (because of validation) but is not used by this platform. So you may specify any value. From d1e44b311e8a40c2bf3b6084ae3bf59a9be526ac Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 29 Oct 2017 09:58:46 +0000 Subject: [PATCH 025/117] Added note about Pi power Given the number of people using Pi as their platform, and then running into issues because they've skimped on the power supply, I'm adding warnings. --- source/hassio/installation.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 83a8dee27ec..2211ba4381f 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -20,6 +20,10 @@ Hass.io images are available for all available Raspberry Pi and Intel NUC platfo - Optional - Setup the WiFi or static IP: On the SD-card, edit the `system-connections/resin-sample` file and follow the [ResinOS howto][resinos-network]. - Insert SD card to Raspberry Pi and turn it on. On first boot, it downloads the latest version of Home Assistant which takes ~20 minutes (slower/faster depending on the platform). +

    +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. +

    + - You will be able to reach your installation at [http://hassio.local:8123][local]. From 2c9b770de2c6e05a3c89b72b56c79928ee44ffd8 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 29 Oct 2017 09:59:49 +0000 Subject: [PATCH 026/117] Adding power supply reminder --- source/_docs/installation/hassbian/installation.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_docs/installation/hassbian/installation.markdown b/source/_docs/installation/hassbian/installation.markdown index 81ce2e02add..3c4acb26e9d 100644 --- a/source/_docs/installation/hassbian/installation.markdown +++ b/source/_docs/installation/hassbian/installation.markdown @@ -17,6 +17,10 @@ The easiest way to install Home Assistant on your Raspberry Pi is by using HASSb 3. Ensure your Raspberry Pi has wired access to the internet for the entire process or configure your wireless network settings **before proceeding to step 4**. 4. Insert SD card to Raspberry Pi and turn it on. Initial installation of Home Assistant will take about 5 minutes. +

    +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. +

    + These instructions are also available as a [video](https://www.youtube.com/watch?v=iIz6XqDwHEk). Additional information is available in this [video](https://www.youtube.com/watch?v=tCGlQSsQ-Mc). After initial boot an installer will run in the background and takes around 15 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`. From 4d312f3a1043717e3eed902b67a3d21e770b02d4 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 29 Oct 2017 10:01:21 +0000 Subject: [PATCH 027/117] Power and Jessie notes Added warning about using a suitable power supply. Added note about Stretch not being supported yet. --- source/_docs/installation/raspberry-pi-all-in-one.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_docs/installation/raspberry-pi-all-in-one.markdown b/source/_docs/installation/raspberry-pi-all-in-one.markdown index 3d805901a87..485fc64ffdb 100644 --- a/source/_docs/installation/raspberry-pi-all-in-one.markdown +++ b/source/_docs/installation/raspberry-pi-all-in-one.markdown @@ -10,7 +10,11 @@ redirect_from: /getting-started/installation-raspberry-pi-all-in-one/ The [Raspberry Pi All-In-One Installer](https://github.com/home-assistant/fabric-home-assistant) deploys a complete Home Assistant server including support for MQTT with websockets, Z-Wave, and the OpenZWave Control Panel. -The only requirement is that you have a Raspberry Pi with a fresh installation of [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) connected to your network. +

    +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. +

    + +The only requirement is that you have a Raspberry Pi with a fresh installation of [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) Jessie (Stretch is not supported at this time) connected to your network.

    Note that as of 2016-11-30 SSH is disabled by default in the official Raspbian images. Adding an empty file called `ssh` to `/boot/` on the FAT32 partition will enable it. More information is on the Raspberry Pi Foundation [Blog](https://www.raspberrypi.org/blog/page/2/?fish#a-security-update-for-raspbian-pixel). From 2e4ab991bebad46bade3c4b211799ede49667216 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 29 Oct 2017 10:03:42 +0000 Subject: [PATCH 028/117] Typo fix --- source/_includes/asides/docs_navigation.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 78798c0818d..cc64ef04a9f 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -98,7 +98,7 @@

  • {% active_link /docs/z-wave/control-panel/ The Z-Wave control panel %}
  • {% active_link /docs/z-wave/controllers/ Controllers %}
  • {% active_link /docs/z-wave/devices/ Devices %} and {% active_link /docs/z-wave/entities/ Entities %}
  • -
  • {% active_link /docs/z-wave/query-state/ Query Stages %} for devices
  • +
  • {% active_link /docs/z-wave/query-stage/ Query Stages %} for devices
  • {% active_link /docs/z-wave/device-specific/ Device Specific %} configuration
  • {% active_link /docs/z-wave/events/ Events %} and {% active_link /docs/z-wave/services/ Services %}
  • From 0fb8f956efefc759f6db7ff79677692c017ae434 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 11:17:22 +0100 Subject: [PATCH 029/117] Update Clickatell docs (#3823) * Update Clickatell docs * Was milestoned for 0.56.3 --- source/_components/notify.clickatell.markdown | 22 +++++++++--------- source/images/supported_brands/clickatell.png | Bin 22491 -> 16811 bytes 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/source/_components/notify.clickatell.markdown b/source/_components/notify.clickatell.markdown index 52a1a7ba03a..0c274c9a1b7 100644 --- a/source/_components/notify.clickatell.markdown +++ b/source/_components/notify.clickatell.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Clikatell SMS" +title: "Clickatell SMS" description: "Instructions on how to add Clickatell notifications to Home Assistant." date: 2017-10-09 00:00 sidebar: true @@ -18,17 +18,17 @@ The `clickatell` platform uses [Clickatell](https://clickatell.com) to deliver S ### Get your Clickatell API Credentials Go to your [Clickatell SMS Platform Portal](https://portal.clickatell.com/#/) section and create a new SMS integration. There are three screens of information required to creater an integration. Please ensure the following: -1. Give the new Integration an identification name -2. ensure it is set for 'production' use -3. select 'HTTP' as your API type -4. Ensure that the you select for the messaging type to be 'one way messaging' -5. Be aware of the international number format option as this impacts the structure of the phone numbers you provide -6. Once you have completed entering your details an API key is generated. Copy the API key +1. Give the new Integration an identification name. +2. Ensure it is set for 'production' use. +3. Select 'HTTP' as your API type. +4. Ensure that the you select for the messaging type to be 'one way messaging'. +5. Be aware of the international number format option as this impacts the structure of the phone numbers you provide. +6. Once you have completed entering your details an API key is generated. Copy the API key. -### Configuration To add Clickatell to your installation, add the following to your Home Assistant `configuration.yaml` file: ```yaml +# Example configuration.yaml entry notify: - platform: clickatell name: USER_DEFINED_NAME @@ -38,9 +38,9 @@ notify: Configuration variables: -* **name** (Optional): Setting the optional parameter name allows multiple notifiers to be created. The default value is `Clickatell`. The notifier will bind to the service notify.NOTIFIER_NAME. -* **api_key** (Required): Your `API Key`. -* **recipient** (Required): Your phone no. This is where you want to send your notification SMS messages. eg: `61444333444` +* **name** (Optional): Setting the optional parameter name allows multiple notifiers to be created. The default value is `clickatell`. The notifier will bind to the service notify.NOTIFIER_NAME. +* **api_key** (Required): Your API key. +* **recipient** (Required): Your phone number. This is where you want to send your notification SMS messages. e.g. `61444333444`. To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/). diff --git a/source/images/supported_brands/clickatell.png b/source/images/supported_brands/clickatell.png index cacd25657674e8c1a058b088175ea4a6eda78a05..6483c877aa05afa690418425cfce1a4128f3641b 100644 GIT binary patch literal 16811 zcmc(H1y`F*)NMj=m*Q^4rMOGcqQ%{zxDBxrHC&wJ%3 zeCvi4l9fO*nVECWK6~#;^m{c0EOat-5D0|zPEl491Oi_H_kB^3f!~NTpd8=^*-}|S z7WDGpPkwjlSKtveH$?*v5D0_dzbhE@Et>>*5XJMIsvOEDIwgqt&2^j+@G>-@ce2vj zzDp-Le%aRBbA!FM-phZ`Js7Rl{g0Koy-Eq|8Bpo)jH(J^WEnEB!%*p@XK7lxT+Z>0 z-XhjB%_~iG%XE29{mT($4*PNJu_k$Xl3QWa+EH0iSyBp9m&kYtNk{59kZRj7AVraw(Ka%Is`) zMT}k*0)faJgkw7Ad?JK?gvFp*X$*kS1JMG}U*Sp|d`rog`rBgDJ<9`Ql|s-rjbMaY zRE#1>ph$pAV&7+oy{VO_WW)3OfPW@#u3(OE5G69_BXJNC+FSHEcjG?6Ur_x}*g-}I zC1cHn?}}X#Sy49WNMp0#+flj2!$tDQ4oNV1Ojhy#(AEi~N5MPCv2>Oq&SAkAl2Zmf zS)EO!ClqgXPy-z-WKtN+>75Yb6b!IQ@P>p_Zr%cea5!S`LKZ{Y!J|6*mU5eqhA4sk z2U!uE1#yJ1fvrGIWhQj_!+{%GI%~iE%WdV{bUuoHxqD&%2Vu@MMX(4-;^VHDkkl?( zr^IeRJ9r(HZM~S;snI=qbAB)CkYHK{{dW_U3qy|0M1+6x)~+LJ>loR)o$U(blb^Wgdnb4X>b96O%wC;) zjyOP*V}H>6JRX9ZY1i(JV$60bOh~%w(xdPfw0aR~qDsmwQtB5LaxlH!`S{zBqC{fH;K9}>u!Fn?jr>|y_eS!rKla2H zn)C6<;~T0J{7_ec7?a}Hfs7okZGh5DNs<&zUtq!L4r57vy0U@CGE*F;%ns7{L#qIO>z}j<8|P7=@sxE&)>+_;?oFx$qN|Tdl1%La$Y>1aE#E7!*gF7V(&kWH_Lm{Ciji!H% zX_k{mC(K?AM5n57g}V`+gQ~^k%E5 zzC#VX3b!>LjxYL36;!u$JYZk3JuW}<2e}y~rLIjryLo*hJd5taHv)R8r6mg+BwQ^? z^75-=^#3fvSy>}P5Ntup=}A7>CbJnKsXcm!-)`Z~(PvUdwwtZM#w^-e67jPP)>YsM zd2>b|hJ>xNSZLS~O^A@X`&MD=v?|@uc8Hurl$R>`f#{20G|CMlH`1SJpPZQonLV4G zQxPs;WMT*N`3o96u9d6qJ&O%9k+bk|N6A|I0wc+Tx3uA}lcxox#lqyiQ4MuZQwovJ zO7(^7DWD+zw;!<)jKk(OcQyR@txPN2LSyLf+XA?{T!i{qm~Wa?IRdLSJAuG;lpC6T zH~vKX;tDpMS3VJs_#MbGi2}7&(OyGSxiBg1_wj)9S7P;K1^o8$hy-+pzTobalH4T)UjMr!VHZ zirh2dQ5Wxlwcb`rSIy1nB@?RDNcJUu{codyPO9#ngDUV(8{D?JyW;e1Q z6??bla+P)Q-CVwvYwxCGF3fP+TB{qm3({+{!D1`$O~xQmM7(`-lB5y;a;r$(%tQni zM1gp}cTD#+yo){_9)_!&>to#*fhbpdLwRZPJ0c_F>?X^w+RQk{wayd^_GxZRmuYGl zRaKN)3Y1a(CNCm2gy5N@l{Rg+I6nCr!`%r7udZ3)Te3bAa!;c9_y-3Co?0og+cq;1 ztzPF&-zjOkep7m2W59K73he29nuPHigkW7- zo?a*JrYWDC#k8D7>I~!#HT53^$$A>8OY-ijq+>6kE-TxJ>?#YR#$9ys{Rhb58alh>OFb+AD_%Ie^hZ;c!a*4-(q z$)mkOsJ{c{HnuV(P2ipF$L0=|a1o@DaSF^WgbA?1L(Qe#34NRY^NoqEz*$9oHgYvB zBSAGz+)7q#8ovMXY~Ka*0zQQ%ex6z)8!Ew&74n%vigL#i0et@cxaQx_Wta|32MBgi z2or+nuMhJ6W^%pcXBZndA14kK_d+xrmqotZks=!Xd(OPpv;_|md_Nofc_`1N@rVv< zHsDJAtGI_^WbK1oXSmat{$Bh8cY^e~7gh7|=s4_aGbPbjsOT zU1i5IdcoxK?Wv`Nd;&x51bQB^vQ`vP98?Lx{>iY1?L$TIxX zKuQO^%lZK@9AuTkK+aaOfE%oh^l(-Y9NlPJy1r}_ij#o$36vv}eCrg@?S zvyoL3Cv{Zizn6SmDf2&-38en795D3ViBH5D6;r9!W8{GYe43d!ojxr8H}SaHY2HEa zME#cqNCI0J&-y>KIA8pH3`?+nR@tC&5N&qEbX&`h8b47XKRb!S4?%l$nGytrMNd}p zyCZWfsBeqSl~sBTE3?kAQg`6pKO+w24#2UvCJ@Ko-bw2PY@O=z)l`bV$uh5B$*XWL zAyUK0o}D+)Z&*AzQrvR|VOLHyKm1FvFV8{wp(xbBE~3}H=0n*C8qF^RbK52J+9-A- zi=V)o#}-aXxMCc$3`xS>-H)T~&KXUK^C_n0a@%@SYbz_o>+_u*HWgEJ&~*Ftu$hTk zg2W@J5!#88?o|!A__5o{xNPf0V@rn1foL;V;E|-URWb7Z;Ah@DG!GSyGH$q)&67#Y zXBXwgpTmn{=AQ7$@f)j8jtx$+Tg=>qDNb6@TteG>jxa|v;f$o)R5DdEQlIIi6p&L- zGLAaOK~%4`4kwcwc6#ixTUtba7|fmv)OJOU)^;ut2x9-N{0l(T1t67j4_m?hc8l0! zoLrv+p(+W$tZ$~PRrHxJGV{vS7!)&E@$7HW>!9Oc&1Z3_4qZ%OFI?osph^6$Kt@xS zM;zONJPdOQF{u`8g-1&1{h`FhRsyny5`?#dHp$dC>>q#b7h@w30r6zZG$psdNE$;U zdND*Sy^E(6O8t2H*6;5FO)WA%-xUjxji&;swf1Cps-@2hr5XE+@fOkl5P1?L&7rlN zC!j4=@^Xkiy%{osHRdOR)gN3=WA{W4u4iAldNxT;M$}LkzK#{jBEFik3f}Yp@H^`nM}|uXjag|U0s3%Cze0QP(ydhw6X97 zf-YkFdIRreg^x-=VXa4ypic;7eQFP8kslCRV<2I>YGgs|*WWPX^9jS5+V%8L%}8>L zY_&|2rZEsWSmvcMgzHK+O(3Cq0N9yNYyA4YmfO|}Y_|zilr&u5D^U6;NgNl#0w0D; zGXUV(BiaV&g?BfY{{5a{-BY~W-v`k@9vaL;z^T{IuYo>zCArG)@E3lBGjPzLATZ%- zGgmd7*aR66Stm}i_zpDi+TPcA7+GN!3mD=Ifbx^$O!#|^f4E&Fqp0BRG|#!q_izJ^hyAhLS8U z0okoI9o*@g@CF(g_Vosm_ico?dd*hIe|oMjW}KmAD!J#~E0OFMWdU+de46+8&Z88i zHnswgJCq+T2^{`{+6|x#tkJ`O1RX&n7hs@fRo4E^_oIaZpC&i}tk%|ZVvf0u=kBH9l&mIh|$a(x-Ejw?U5>C*ifn8#Pi&Cqkm`u3;tI{USEJHBJ?FXShK z#ic)VuhMcPz;1`auM~<-0@!H$g+H5%*k0z>bh+Rs^&TVKTTQZ|jWb4(|9qg`GVtEZ znyXYCZITVwJT36}=vsbR2ztSw*a~QG_Zs>Li3mZynQXSgd>}9A_hhf*t;m9^flP4p ziS?=fa3^tf5@=_4VKM*gf>%pZwH#m7=v2goCYe-dAvNntGiqmj-zkFUI~5&xwepPfBA z;cRm0`Bvo{T!Tn-mM3akjru4LukLu1`al@Bl)dmHbVLgNZ&iZr-zxQ*D_;^~Fy}X{^n|eyyHJIu5x9vzbkPn9G=g9U1n6pViRew&Qwk{P@%d^BX)Bs_xjul!mYIePar7+PzJ~Xl1+yU{at$IZ%l3Sg-3cC1 zgKu`W>)pfiah|7Z$FgMf1d!8WY2iX)y%tG^R>Zz6S5@2llf)vC%PkESl)oRls?zTr zQzLrP`V1}1z9pDvp-mNiuuWC)iFNlhooHzuAj+*fZjy0(Ep;Ufhvvrp#cKXy)CM}W z*w~~YTkw$X(U?7D3?*k56<_x82&q+5S%OK}&ZE6L9gLpSc1q2)mb{a=z(e>Xw{ zvRXLmM_Gm$P#bc|6<(POoRLpTY9Hbf{^q=Sm+zXHg*vR9hovbt*BX3aeY(*({t!>P z!2h>`Zvo07&#QH6l!AnG{xEKvAMR10truX)iJ$hV`bvW6pH+Cvc;7UK%a%A|EZRfg z5ck{yD?_LbeO`BBMeiTEUBkpFW-@j!wE`pWy}%?Ao_%lgLik=yEt6(E?vxBO%Ou+{ z1nDl;rgWh~O+^m5fSRM>_-ZNN=QGQxrSWE`S}!*EqI-p1I}x4!$S=QF#%uZci=S*R z7o;=Ns6M71LKh&ofoDZGBOLZuvzqqu%1+i5RLEGq4qBb_$yxtrdz1+mxdirCwt4dU zWwK-~ihq2nO5(wK1`!!=@f*JVNx>M#zKdUJT;9!0YqoW7`yrbC0eRAr1GI6jHZ!um z(2eZtr8R}ide(zKQRlv`13I0tsI3bd$&McpX}nO5(sG1fH5IK?PI?3_EH3-x_>j$s zuaAsft*%Vvf29xU0PXZwQ04_+2{OdRqm^{g*?Wrv=%I*wc7e3)6y^A!vt29eW8HgS zlF5SnDI}Lcqu-vA{h}-jwexpvy*TrhDS@}_b=~kiDwpg>_lfXR)O+|)o;R|Zb6KP5 z41c`gd%^b+oK+fc_fqFkS;D)AhC(ctO-}RUKt1!rpMkC~53S3zxTAXUEtg$!=x-&= zK}-A`1;wWI*jY#NMjo_c25 z-%ImU;$?zM02SNPJ0Te-@D%MZrk`>fT7Zy)^DZ#_EEkDd?4A7Tai5&dqer)iV`oDW zE8_Q0rGKPzSREO|z_gbv8u!qqh0SSccI)rtMYOwQzg6^7zt4=ej(j8JONm{AB z1!9rN-bflei1*#i%~e|6k{lKcb#1`uR7RQ0;>kAPw$@xp7p(62!Y!nSytC31Kj=2aW>cq9?x^IFTORsCdHh!(ZLJ)9W-&Wn65oNSfXS1qjWn#eKo6( zb@!}fgQ-JjMO2XH)_Kjl=x)>)VNYzDg2eJ^+3^#_JtMEMCd1YrEo1ek1`i!S` z8;jug^RlVyS&MJc2Io>tzx+b@g_ks2mEk2{r5qku%7;H)iiQrutRCu0zoQ4rAY!-p zz=!OE&hbyN`5r>_Tg(aHdw;EvFstX|C%Sws$KG zmYO-*9V9Ay1KKc0Mk*$uy$*86&^Q!RavF8-D7=mfvOYDPE89NgoKKrvElh@_s$Hf$ z60Bc0@TJIuW)-QJRWj2IHBy_E1~q=w_D;Y3^n{y%qFH5DY3ThS11=K#d#kM@&Kwh} z$A2rB`1nk9z$TO5pF-?C$(#vCTtUFs)4dA-xLZk;8+VAQ{d5CwKbrT16QsjNUpbgC zj6PzJ2D8+2=2Xm_lMVF(PbsdZ#OVf{HytQ`bToH-I#ANn zA!Sw*;iF(m9ftMhBahGbn+jM4ZzEq~n>BWA%m--#QQFErMQle>EfY=E;}dM2<^YTi z&_jiDHfYCFnHk{a$s8#iqX(j2=t>=kf42IS!~;i-SK`>X6ENLhE+a+`0sS zT@h@Jk!RtLPd#HDB!Vfc85sv8S$^U5XkCXV@`GwZ);P3im!F=BBJ`g)1_g=zsyA#m zRwHATWcrBG3N>Mnqvyi_F5#NWB)znnnc`lAbxkC|72I=+JhKd8$u&@+`8NXu^HD&1 zNg7GZ@u>Br6B52Z?k!t|pX}O|iLEZy4JC4iN`|vRPX6f8c#2c41K*uP<7XKD?#eWI zvOOWg+VZtmf^c$u{7AlbfV~ICXq?>z=qUiF;HE@bnp)lYh+Pb5;Oypl;uN5y7XD>i zfj+}cvm*b=QZ~3WN5yH7VAJ9!J-kygkfn!}#LALV$soJLVA;GCV$+Ju(bL23wWdv! z_AVQIS$`utihU13;m+lBDHk&-t8=P>_ar6lYz4GwxiPty?02tELw;E*cCZN0_xYz) zx^?qJ{iZx244 zvDa6fQ1$n^2mDsA0$U(`U@2u*G+?^~1Dgr)Sm)P5y5_D}*e9-VFcYLw=Wdlr+s_iT zbjxt&{XNGKWc0?Dm{cHR$nkpMhy{)2O?8AJ7uHkgk`yshG4ZkFrhisPcg(TCy{FDklAdIoPv zH(Iiqz!X#6mGrU3!IW}9IM%@Wz{B^K#=-j3a7#BUhPi8$!3t89c;b8`lmC(At6Mo^dP8)+PVxERKt1s@L|y~$bwAZyag zesBB^?`sDpyAHl<>SAs!fgps#U>J2|3&2|IGaJ8qO}1*Sg$e-?GhA(Slfr{%r1h~? zQO`(g`oiP22CR5#HityBWydL`_4BQXRg@^F8Tdhm?$QNFpBJD;P6@Q|pSoSGTf{QcLXB;V<)jxS^mbZ2`GVBKaXDW{h} zi|@2{*YMxM9n?n^gp0n*Ypw^06;(G*P8I5TVVzlGjnB2foB`>;>1ardUq#0QCc!Th zk{9iEDwP0U_xJ#A&j>2{${{N5iQ=RBxiwe#>f63bQ6xh38-_y9_JhHq(U3zy&-Eka}6SYB5&{z2GRpt<#S?5J;0i{K++?a8EnHU^(Z)K@mG|P z83HE>W(8m}K>3lo*^r_#*klTh)A6fdE2 zJB_~oxc@7Fu?^>y=eob~0wozB{0YKDZnaR=94ZL+0esdnv1F!aPAWDiyx245>dK4Oggs*m#jISm3h4IaHFXgAK@_v zC~I1_80NMrN8#nRp!J{R}R8}7j>0@kt~1A#6QKUn-Uj50~TL~uTR6e&hn z#QONZ!${|fJ4#qyy<*tS31tOcY!Offyp3#s0H23_0R@@}Fs&+ffZ*E!P|VU1G5bvF zxfwp8lGpuTU$D+p=9NuEZ44dqSZ3~D-&CbH0F4cB(}CcN+!nVnH19sx;o99!Eo75~ z9jz?gossU}4$!ew5hqU^KdA0|4ZZj10P)pm{lIkxOxe99uo13U5E;ZS>WuSTr=T>W z`b7UlaB2(P9es#dwx;RWQ@m5FP{18bSFOL>gu^W%u~crf;-R$5QG{#1w>2vXHj~f( zLT%vvf#WmZ_i@L+ECM>@@=b=XxLRtjP5~VK#E?O5`eltGPiSBKHV9!DaYK9K3BVm} zFmhC+6a!TH_i0RJnk~AwuGX#HPJn%)*-^7lQ+U=2>IJpVF)^kR(oYSCk^+m!`s3~h z9=X{505_ErX3mx%@jNrJ1>7D0??_H!!pA&-5CR~Mgdc$q zfOv%i5pTCUd#2DIY2Xc52v)J}4sUItd)0Fk2&}qe=+~GUQtWKo#mp1rec`KV5+l;o zPwAaw4ZOtQLBdrx`XmgfA+eQwVu1;|jf#}^*mUm|J_h9_@}6UO7}qa-x+ZZ~LHp5O zd&U_-y6>^~^_V|itw><93?$Kp%HLd#zx3~q3MuqW?tF+4)~@vi zv$cFvIX`)%o))M?hJTH=+WbQfe4zmS$mh=M^)5yOZuj zVK+b^;-EA(+|^t<-6j-@FXOfW0)`nmqID1XndBQ5c-CKf5Bp+pds2gYnkA%{YUP6> zIZbUt!1I>_ym7aPR26FD?Vu8cD|2DH`}!=VNNKsE^EceRv(JtmgV}D_L;HB$&pkG! zM&JCY(^ZtMuC!6E70CqNe$I6%b`JjN82%mI;3ln)ST}OG{N}7|%5{(= zB3IEbKd>#swhQxkI(bx5@Rit59j>Clo{ck>nEB!%*oe;xpoF2l8t#F`Apdf>h+tFP z!r!>leoO_0(d$xxM=T@y&27s#vtaQ1YG_H6<4LWZD@D#Ft%8awWq`v!ZHO@~r@UaP zs0;Ta-)DNBdix9Ik{igKj#Z<$INpy3SP1=RugkrJn-%i10Vj;KSPsz~hh((`qGVAZ zc~4l%?8bH?8#PIqM_^C#vz+@xbibXb*Zwd^5yI9?GT6|2GBs}?R8FkQ6(zQjV1) zVfJZ2P=B!W@Z!m#(f4TdB{)fc8bNfc2$3{A4e-5%ojiqI}yVOh`MRUiI3AO&J5XdhZ*)O5e!0 zvkL8Zesd8h$1Fd3#>^aE5f<#3Kq2c7rl0qvxwD6dRz8i`(v@Z(yp{0#$}+U=}JiZuDw>VxSi!A1b0BOBfKaX5#lM;1VLyCzMoMCZF3TB~V4#~x4z zn8htTF3lHcUGr|teVWh?1u)TNHEUs@oK*}Tn!$(~^%_XL2~g!o-5|wGdnU4VzD~dK z{jQhW4%X>=xuXA`^Y?gwpK(9TVAp6enIZq<$WhmmN{2jE0z1z&1>(Ax=>@zq+E6$w zq7XebvZR-XzgYpcfaH;bI>o0twlnKmrbZpscND9C_2PrH<-vl09F*N4 zZEK;;HFckg82hK@knLa^dAYRkO<*VLvNyw}0TKANh8N(qt)zkxM%hJR#Sd)TPz*dj z5sEV-LvQ(e;Xkc_7PJeSfpJNvvoeY!?GTxx04lTT3#>N0s_ElY2f!zTy|JYwi)yU=wa2Jl9hLa#EktSLT&6KrgC zYqsu}rCehJ0f{pNn7UH`Y=91nYdju}Mm+Ki#@C4G{m&#wz#ZQbw@-;x~+ znNR95T>C)#0sGv2DCVDfLLQCXbyz#FubkP#&P?_b({h6G+eoaB+~KM{MA)|kVbXcO zQ395Bkzfj$n*qDY=5AXVHK+~P+|lL*MOY$*O=1=};0efGHC)8@Y6hvOrZI85ur}B? zvgfD^7^sO<4N6O_kg}DG-v@TlAZjFrj9^A zV;Q7;`quknAkKP5zq;C+F#;fM1Yc+8-=HZy>&elDrq5`(bc>Y3|O4I?Yf~Hqa=tslM4dkX! z?9)&u40GLU?~{lyg*A)zAeaERUM6RysljT@EVL+a;V#hpcUSvjne>S};1AP9#70Pv z{S&p8fRdI0Q?v|D8~&%f;fhM^sj4KV<@itnFwqs#c(EqT1}by=x#tet)V_#q6m3>@ zr(CWKfCh~w8;mF7KB6a$;DNSBB1tC%+G8{4JYY^L4kbkU_rRrRkwm;cAt$_en@U8k$p1IOvc(=U~d zXh55?TXu^nJJFn8m<fs`_0;+?+B*UnZTV7Uta$+mnygeqD zrFDqXw80Sd*TBN z1bm9%&6b#A4L%^JffJ-SQjrQ#RW;U~Ft(A-$vl3W&kVIG)kEY234c#~BOyt#jTF}X zqQs3=Pxs^Fe9?W|v&jbgx|jRYSA+Yux&-N)pqG=*aRHrSQNpDQm%y#g@t9b-2vhv( zRwfDL=gE14TWa%wh;EIR($4oP#%Y|K%Le|~KLRW|yja~F0l&|#|FR&EUrjgG01<*d zqw%o?_Sw+vw=OFBL>KA`%E~+d3C1iVl2FGRz8oGwxA7JwDVkEbc^I53gK_jbD=$p| z_msSlYQORl9lxsMySv-t-U(ntP8-^Q5Q_E4>L%r-uaX>zXCbiT81(SSsBygtg9i%k z&r!Wk@m;0=)`Nib^rnt~h*d6V#PIi35s*iGsNDlu|2Pzd1#k-k^HPIE9qTYUs&Zi*YWJ3b#q2-YGxT8(RP{o!^|{>J zs^tGHQk|$upPs#kn^HbCWU?B8$kD6Hp@Qw07&n3wXx%r7&{kPr=~SlB(*CArORV*g zZfpwj6671CU{og^xfIn@1;TMeDg=t8fS`rUW!T;X>OYCd37zs?Se{Gw!9c0qwyyPU z%{I6bzz{|ogNR0cx^Ya|Ytu#uXW)ZX8of_9)%23gmtoIJA0s4s%R6@W)-aB+j3@ep z=QmNcfH)FdKN2U$r-!^PORtvaxlp#wWaoiGZN_`lF= z(bR#DTRtMWz%LhL^i*-r*5bWtha<@lQNAd6Io#=${BFO0EvN29>kZUa8jjKqD7)$3 zX698a3${xTF8rD=z0-0`@fn6r%fh(LQgJFWv#J`aiGF0?Ccr)*dJKDNyRdnm<_lU)U+2L z+lT{kZ)m?tc`-)RGxtMW!MY}N+$=U{daysK>G5-QYeKoez>pmlZ6wb>9O!*P4=`q~ow|6_yckPhH z9*aFfQW6q&h9_BD4T-E2J0Uy$yp~KI=pIyr+Bz zttW6GCHy{rHF+jmuGY1IYp5Vzgl#pSm_ySP`Bcls;YI;Qyx9vLM7@l`#Ka_uSLEl# zBmuP7Y~(eM?{E?RQVn3K`T7Fa$HpAriw@+A4Boh7SlaD*B;Don-nR`hzrS8JR-Wzy zJbx6@_w*1zIzuL!o!+ZTC&OYtP!y1O0-U((C@Xp+{8}Z&@&KrHji$HXo5aGzM2-m+ z1P3Fppo)<1Xq$U&U~O2gdp+AP9*#+=AqpT#K)NY+5!NvjEsc4^#fdIyguSa0Q4DPaG9*1ivX1m?NGHMws5aE}FCfTQ9?XFA zNt3Rji?H5MjKBrI0i}{iTKCs=h!v%`rY_@eFGid~C!v44f!$~HrxlNm0>hoVj`e_8 zipdRW*eWWJ{7Ncm6?NRAm+%(d7Z6uHVinItfx`}2c-bFcNDkzBvOHpkeCG0<{c#kD z-H7V&xGCHEd~&jY^(8xFOLFe-d4dQ5m~?`k=MTCNmEvcLOJ=tOxX8q-W_uiS^(5ZV z>rksu+1ub;z;WUuoq+TjH=E@J(=D}PjTcbqYovApKHV&$X5fh7?1cX3-d_afvPFA$ z5Jug9bFaK{1gnH0QT`5;I4W*IP(#mqC`T2nbbqJ7(@PUL5K-sq1CU9rw*MVFIx1LM zfCD+k>#LAk6Dvw|9qU;E>jH!r_=C%D{3R;Gt1y^(ejTzKq8sfH1a@CQyGD8CJu;q+ zcENl=MGJL8bf@aOlf(Nh4?D?!7v_1Om0yW;W3A-JU5Wo?`~v2TDhcTb_34{f0B53S zOC`xa;ndL%tplL%EtjlBUjwh&Ms}Uw2I6}VHaNHGc(g>?vsw~CoQ#ANty&k7AY}(1 z7l?90aszXt&nZB0q_H8tX)z(XkVR5YC&g?Qb7J#Kx-Bun9kodlDKn(C*ZRuba{zGW z4D4Y?p+LLHg4s`6Ghb4M_C~-hS%+w8e*{xrz1olm;5YM^eu?}j1i`9_ug^odA2sV*m$S!Et zm^$;=*C+TJc`(C*o)ff{+-uF!$nilni*-SrUAm1{j9)*=V99iUx~);uGN4bMrj;iaA$QoksiMk41on>_ z;Qs*x(ki`xbc*u(v%x1J3bgP2@ap|ewPBwe*N6z;*9UAssABG5B$1+$;mI>&WD*8* zQ|%})zg(Eu(yxyM0Yb(*a}OQyNgt0(C|h{kXE78JYR{t$A8{In1$byS);;3TeNWc% znorI<=@ywaahZ2wYg4^6?P;oC#f|SpZC8)6zbN2@Som?ySQL8YVMR0A++&P}xb99W* zK~*7oYkFFYej%x34u#1BT}m#HAbT16?qS%#roZ7|Wx0*ENa+U7CiK2jycj`(M+by9 z15v{9*5H;d8{pC_Kdb%dI@>=s<$I9bSccidkbxI*0j`J}f#zm9;{SJ1KINiG-bn)a zN#-bbJI5n2YQ3n=P4?N> z$AUgZY178Jj3RuXZ)mZx1rBwMe%XA=%{|@C#dwii2M$-{V@OG50<6Mu;oaVL=kJ;T z5!$ZP#Uwr;gE<`-gGKPKWVF>WPceG3F2kx&KumxUYV3?E54!RyxX1qX@&Tql2{=^z z+7J9*(0H*b>3PaUXR$u!z=eA+#rJ^~_bNS=M3Sdz$g?RWun=9l?l$frcD`4!An5}G zS_wXEC)%%P&;Cv)I6Fw{YfW^|tJPsrm5UB|ZUEJxA30~&AB+Fn?hqivl!3d2_ zH`!naAah@nF%Bs*jB*hp^YDn^GrE$PwpQAdQYR)I<8My<%Sfm~?7$n+`t@@$z`O8f zR~g_%%@;GZpzJ@4uRTY`#oi{p?V0nT!zJbJOm5B!Jk;F-@%V4J32xs;+|Y*{^>|yi ze%FzCDW$j!O}YZia)yL8oAm4OJFr2z!dGeQ+Wxn~fHUh= zmIMirpS-VgCh>J}`LQoVhj`av<5N^Wzu-WoAF8$EWTSK*#2JMXA`(zyNCzAup+;_b zt(YZQIn1zu1DgdTmm*oKFlJ%3b)queX~CviL8DjaI2c7w3sAu%D&a1)N0wQ7f&y{? zu~>rruR_FoSvnYed3#UD`%0j(gqH>ZvU z&fH|*MRnl@zmTqvQJTsqNFbX+1b`0%l>4=ESObRC9+Z<%2#0Z1>GLXwJ)pBb%hhR8 zv1Pi*>?lnJNj)ppWjGZ)Y7@OO5$tc^odEx)xrBKn3oOIzwDZt@`}y8JnrfmLZa!TL zsZK;1q#psUAd|dtW3CCn$eT@!rI1 z&-$m~H^w&xQY7tJ;nmJgDE^kWt))`AAmPylUPg~yAT_TkeNY2z;7V_Hcu{V755DB5 z15U!s!WJjsd_h3`G-M|Ap8$nTA1 z_ms_r3M(US$gLJhY4vTyG24JYsbmi{_4nGyJ~K$axnmu+A$jR^H~N!y33NxX_;-tk zC&00iMWqr2ouTYkL4u8)z=>40zc(mynaTAZIkEvj>IfLZ^kh$|K|b%K`bLPpdap~! zW04u(KjCe*G&_d!1B6mx(oQE@NOV>DH!&N-zvQpq3UYJn&rXW(i;C>IDkBtGj-Hm8 zgEPEcpW4xO_%>*PR#}ZZ#E*MuIzNA!vMFLc{f!*r6-I;!?%ise^}SioQJXGL(5t?1 z8bN*Ud&MMMX^x~-8T_EMTfg;KsUEBj;-SX09KQ_n+RI!ENh*l3HkX36>&67&hGmXg zT1=&3>{Pkw>WKm(3TueiqPHZxhT3WKs~}p7o)_qxLutv{Aw19BKnS{ClBppJ%Z{K-~1tFvl85fRRS) zJw?M!XPG!4luyV(j$zdrwqd7~5=8-CZ7A-t2U5r2N3q+UN7CCgxCk|&`13Cby>;L# z25A2KUI2uoBN=>AL|^JT+kWq-SGOz&ornSbH`u$~z3{zYEzd+QsS6mvo7DjJ6^UD& zoy+$n7yiiX1%Ae#FTkDuMXvm_{4-f_%AW+nI|ciCZqW&u$X?*3Hn1 z?)_j-h%?j}eaEmtnA#>nHzQQ#PY(`ii(szh=N{<){6!k;HpI>@0v`&ejsU(^0rXBz LO}6H(dD#B~^FNr~ literal 22491 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

    4F{2)_rVU%0X~Ggm2%scWKHr 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%0ACy{zLY@SzKO3Q{ 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 D34k=p From d70572b51d6f601399f5748c012978d732ea83ab Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 13:42:47 +0100 Subject: [PATCH 030/117] Demo blog post (#3813) * Add Demo blog post * Update title * Rename blog post * Update link to image * Let link point to the upcoming docs * Some small spelling & grammar fixes --- source/_posts/2017-10-28-demo.markdown | 106 ++++++++++++++++++ .../demo-platforms.png | Bin 0 -> 55134 bytes .../2017-10-interactive-demo/demo-random.png | Bin 0 -> 44336 bytes .../2017-10-interactive-demo/online-demo.png | Bin 0 -> 244385 bytes 4 files changed, 106 insertions(+) create mode 100644 source/_posts/2017-10-28-demo.markdown create mode 100644 source/images/blog/2017-10-interactive-demo/demo-platforms.png create mode 100644 source/images/blog/2017-10-interactive-demo/demo-random.png create mode 100644 source/images/blog/2017-10-interactive-demo/online-demo.png diff --git a/source/_posts/2017-10-28-demo.markdown b/source/_posts/2017-10-28-demo.markdown new file mode 100644 index 00000000000..d6d9d895827 --- /dev/null +++ b/source/_posts/2017-10-28-demo.markdown @@ -0,0 +1,106 @@ +--- +layout: post +title: "Home Assistant Demo" +description: "Showing a demo of Home Assistant to an audience." +date: 2017-10-28 10:00:00 +0200 +date_formatted: "October 28, 2017" +author: Fabian Affolter +author_twitter: fabaff +comments: true +categories: How-To +og_image: /images/blog/2017-10-interactive-demo/demo-random.png +--- + +If you are planning to host a Home Assistant meetup or doing a talk, then you probably want to show Home Assistant to an audience. You could use a Wireless router, bulbs, switches, and a single board computer to do a realistic demo. For a workshop, this is what I usually do because I think that working with physical hardware is more fun for the participants. The issue is that you need time to set up, power and space. For a talk or in a location, where you only have a beamer and a table or a lectern, the physical hardware approach is not very convenient. + +The simplest way to show Home Assistant to others is the online demo at [https://home-assistant.io/demo/](https://home-assistant.io/demo/) + +

    + + Home Assistant's online demo +

    + + + +## {% linkable_title `--demo-mode` and Demo platform %} +To be safe for your talk, you don't want to depend on an internet connection. The demo mode [`--demo-mode`](/docs/tools/hass/) allows you to run a demo locally including the latest features. Make sure that you have a backup of your configuration. + +```bash +$ hass --demo-mode +``` + +If you already have a `configuration.yaml` file in place then you will get a combination of your setup with all available [`demo`](/components/demo/) platforms. This can be overwhelming for the audience. The suggestion is that you tailor the demo to your needs by only showing a few selected platforms. For example: + +```yaml +sensor: + - platform: demo +binary_sensor: + - platform: demo +switch: + - platform: demo +``` + +

    + + Home Assistant's demo platforms +

    + +## {% linkable_title `random` platforms %} +Till now the frontend is static. Nothing is changing over time. Starting with 0.57 we ship a [`random` binary sensor](https://github.com/home-assistant/home-assistant.github.io/blob/next/source/_components/binary_sensor.random.markdown) platform in addition to the already available [`random` sensor](/components/sensor.random/). + +By adding those platform to your `configuration.yaml` file, your demo will become more interactive. + +```yaml +sensor: + - platform: demo + name: Temperature + unit_of_measurement: "°C" +binary_sensor: + - platform: random + name: Front Door + - platform: random + name: Back Door + scan_interval: 5 +``` + +

    + + Demo with `random` platforms +

    + +The `random` and the `demo` platforms can, of course, be used together. With a little work and some of the [`template`](/components/#search/template) platforms or the [`input_*`](/components/#search/input) components it would even be possible to simulate a complete apartment or a house. For a hint check the sample below: + +{% raw %} +```yaml +input_boolean: + on_off: + name: On or off +binary_sensor: + - platform: template + sensors: + on_tester: + value_template: "{{ states.input_boolean.on_off.state == 'on' }}" + friendly_name: 'Movement' + device_class: motion +``` +{% endraw %} + +## {% linkable_title MQTT Discovery %} +This is a section for advanced users as it will require to run a separate script. Instead of adding `demo` platforms to the configuration this setup make use of [MQTT discovery](/docs/mqtt/discovery/) and the [embedded MQTT broker](/docs/mqtt/broker/#embedded-broker). Simply add MQTT to your `configuration.yaml` file with `discovery:` + +```yaml +mqtt: + discovery: true +``` + +Download the [sample script](https://github.com/home-assistant/home-assistant-dev-helper/blob/master/ha-mqtt-demo.py). It depends on [paho-mqtt](https://pypi.python.org/pypi/paho-mqtt). If you run the script inside your [Home Assistant's virtual environment](/docs/installation/virtualenv/) then you are good to go as the dependency should be present if you have used MQTT before. Otherwise, install it with `$ pip3 install paho-mqtt`. The same applies to the embedded broker. + +```bash +(ha)[ha-demo]$ python3 ha-mqtt-demo.py +Demo is running... -> CTRL + C to shutdown +``` + +It will create sensors, a light, and a switch and update the states as long the script is running. It possible to stop and restart script without losing the entities. + +Some users share their slides and other documents in [our assets repository](https://github.com/home-assistant/home-assistant-assets). Also, take a look at that repository if you need a logo for your slides. + diff --git a/source/images/blog/2017-10-interactive-demo/demo-platforms.png b/source/images/blog/2017-10-interactive-demo/demo-platforms.png new file mode 100644 index 0000000000000000000000000000000000000000..eb984c8a5f5eef066e680782e4ce89d7f4f9eda2 GIT binary patch literal 55134 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%0AL4D%`IAmJ6 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

    GSU)$h*?C&7Q) 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%0A%atJ0&TQz!{Qb68!%ar#^1v7CY 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

    Le)Gv_>XKm?VPd`h1QPEhJUvtn?^dj5?PU zdTk;blNb14&NZj45$HxFS5zQ{@xWRzDM9v;3nqo$(DPY=>c2Nw$MR7(B7{DPR} z;<>G0#{GYpJA~F*toQ9QCPpYO2qks>GthzytL)K|G$d}^7fVR|sVh}cW1;vd#XrF7 zSl3OD6EO8kFU|?4l3%5=Qmmz$lJ3`ogMoie*Zp7`_9{8)}?X5u8 z&FG%P!SdSZ>*q`L%%_r>g?ej(H~u&3E523Ua)cJ!&&MM3SQCO5-g& z#UKa6PWyVy8Y;;}C1^c6*P2<>N3Kt)SqFhUR(g32V#M-lL>5eWHD3T1b?e(G0z~7W z@0=0la`<;{o2eBM@ApJ~^Ci7LoQYu8T-URF~Uy{Hv9IcN^RINOdbHGE^zAT?V~k31d=5%%ou`n~;uIx-brr z?`7d6Kv8ENGO8z%4`0tpDcrfH3MJ2I$+vTw4r2m;ZRLbiamDI6&Q5};P^7!lR3P&UbYu`A*YvPki$$HD+)d9 z7FfrHk;uQ~v0LjqKgT%n8p+^4HWHc8Q}V)*7Cx{lD*EoRfG6!VGDdQ9pkrh*FXX-l z+}P=sLKhRB$7Sn-lCO#L{@nWLTG=5qY>k^UFnQew|W^OM|_|X5G zlX;wYum5n)zTaDMneifj*g({2`b@U>&7J&B$0IE~Jea`QToV*DsiLUI`0A0ke~EjB z7Bi!%{IkbFs4#-WAJ-G_x{1dt3k%P*l*e7?1)t>#>g5R@l;9mhkYu=XjC0qW#nW9< z)o$~5;lST%#9oh3Y>{)-^OYpb{So;{pPP<1&Rb8Pw8cRfAL~_iIBgy@47PMXib(c37IBpx+IF}CAb$( zX?H#ab9!Dy8upH?-)Q~0|AJamU7aLN;V$@M{oz0-C~p7KMjvgPZ3yIi7(D)?ZORln zMP$aD|5FBBR+B?(OZ_oJQdJWlIhR{1ISuNyV|$QSadw5%iUvF%@z2sD(uW=$Jy7E z?Am^4j+?5**06}a96XV-<&HNV*%w^%Y=6bKcgnh9K#Lr#hGG^SDp{*$V?WGrsvczB0+eo+04*x!AH&tZ}D5eG8pI{9(?(O2#a7)<5_x@$l3 z%)<*3;X%6w;caWi)Bpd-H}{7@R90|pNY4BD5Yx(uQMYB)iE)zy{F$;`R&>{JCJeRJ zH?zK}>A8k&WOV|^!{gqokz{{5c`pP`c%B?iq6x)*fM^Q`%#pre8w(Y)soJD|4+N7@ zJnSXhu6!4PZ*3vOdLB8hSOV1lizrSH;0lvwLl)m-7=c9g0DD%AR9~)_EGc3DfjIwu zPGIw2SoYc0YvJr|z-s_ygz4{{ZzD77#hG#z+}7yK{a^hk!vEv}ti+=jKDxg}H3nQ< zMF$#}C6*|B96*IbGm-5pt$$P(V6WcZQ2D#|a{l{+=Yt~eB2dXsjXMFei;JB%g2@fb z0C`ca)9(*|`(C2E4Lk9FMW}uJn8gS5WSdBFY!;GQ^q6wxe#h@e`47q0`T(5SUr^ciD!cBsaoJ-xGHYVK>*2(T<@S{ni3UQxCOMbI z!sU2;oXNayAWujwbIF06)>M+1Z6Hr_9CnXoWCs?WKEanxY|ml^}D~?NJ3v**OV$`<;^}JJ7PQu9&E@Ml2(J zc!=gQeCImVqj>pIAc4TKLC$3bjz<@zHi)i#8u0Na8-&~A#JNoh_G0Y{17jM&G+LWO zLYulk%_PzeL=Kf4g2}*YU}7-HLTckB*g{h>DsLD!NlxnnL-15yC!k`eWrmjb+lcEB zf#8#6Or@m-ALcdqwXZ6J-reoz&k$Q?_5dxomebx>{0}Cfcn@TB18d$WfiIbum`EME zU%KDEI{sIfiXZ`Q)6woXy4O!j|JA7{Hxp|{MlLsjXobCh_f+9|^)N5Ve0B?}PG96D zkcOt>RJN&&O*+s;&MBCsu`bz@FC)M+49;}THE*22x48{yk0`+s9Z?}te{W0N*z|d& zkGrciBB`HFCcQ#W8Yw57Mn`fU<*OJ|e)vm0@Ih%G>cmftSRf?=yhnRbR|W$j z6{^zA90BoES!z~V(WF!P)#}MhF6baG$rj&!HP#Vg$?adN>T1`3jLMdnU`4%!*5<)s zW8^549f(dmg*y+!r!vO(y9&WU(=pRxT_5U}D+L_a@7EI|-#)TSNxH}=Tw1D>m~U5% zd}==9QBVPcG_m0HR8n7hiMF{kqs8_#ZP9}iw%2V~$N7 z*T1GC-%?Xu#VGsywk36#q-x)o$m(mc^v7H0!$6!%=9po`T0D=-OW9LKFLTLo0tOPV zNn07%8((}sWeqEQxznISMWCT25+?|!ZNCs>^9ZexDwSz~>kfSnV>i~54R=7<0DqsMQ14NXxA@f=>j&Jd6gsq| z@=lM$d@`0HFKX?UU#Elo&!~5eqBdRmXWvk)H#|m~YV{&im$~eElJrf_ifeJ18B@Y> z4(b$wRPP=JH>IL?l!LmhezMu5``9b&7}BaTStZ1Qji|6jY6sPDtlzLpMW5uy<&7Ss z$zX`O{pt|69m<;wUXj*)^;=XcH>_9eh)ow-FP5&8C}kTtjiRR^rVRKdJhr0N;xbrXq_wFk66Nuk;h-cgURqT`E2e02VWcP?Cu}v?`jk}^ z9$nBB{wc99E#uIeQ(>_}_F>~_%%4yh?63Bjm@OD$am-yxFk!M8F8Y~*DE z;t=>$v_@L`cMiRLXjSAY(Sv(;az=ZJa-zTy<%GeJYV{|d+`0cx+Veks1chMf?*_hn z*+S70nV+=Fbl$FwL;|1g_ATKyz&_$(%C*qG{g&P zuBHUv_QJ|Vk^9rrbTBdWt^o&O%ZpyEya*L5h1|2Tumz;yT54>POp+t_>mRRMJ1`os1MoHtH|LM zj`4kb4^@nS@_qn+eO>sKixDYtSTlWxZG;qw`0K>9|Btq{Q%K|I#Zd|hZ^3(!8{@fk z4@8Q0yXI^D=gYEq?U7(8HB}!2Vp(l%UImu0q)${aZndXO6uQ`7V`jXPs3>b0T9`&( zD#Wx~a_A>u!G(lT;i%ZBE4~dWXXm4!#Uu=Nh6Uu08*)}jMwC?Hf(e`|Zm_!FMrOVWgbMBA@ z_mse$h3T+Plw?qMa*zklnk@IVdrLpikPnqf4kst=M*jbJj zOxg?e!N6^V5MInB43QeD6$Bg06Q5R0ZGQt<1dw>hsejaw?!zHdf3!|7q-tew5dKPZ zI55cj_m127g1bl3hoHsoLaLl)f8IAa`E@u=u{T{K>~&d1KR0lZ8O-w~$K=LE zgcBiUPX_mXM3 zJzkd_2={o4$#6Kdtvr}=hO2<}!#qx83o+Ammjw&xnKAGpXid>PkqtH8BgOlGg6Tqn zIMQp^Ni4~&D!}EKlypUk(awlo9T8yE7EL6WT2PL0B3e%_EWbY4TwY^}gb7kRZc$#O zLaTrgrHOGomSLx^pb-)CJ1ATbebHPGCZ_nQqjXHW!G~cHBALzx$8STxY-lYVod>AOZeh}P%hcv2gAHN2()XB zVQ&gGR836Ex2l^x}JXSWU$2mw*XtyN0uS&OfA@B94DO%c@9Dp39<&cnuI|WT)r7& z_33?<`BKtzjgCPGEfzZxATRiVm%;P7h%Myf&m5PYt@AG%TuU}zuM0q`bNJ#p2T9B< zthv!Ww8WIrTA;^>k6dw@$Do4Uyi#_ehia3tbm5Va$T+Ux65<%Cz9hU^84v+rRNV|$ zO-7a?DXslza!5U=T~bmXT)smS5az1fd*S7ZlT^Q>aU)}p;<+o7t3VRhyi{0HPox<} zc-y81T;NjH)*y!VT=sMj#t^+qL@FU_5t~__Gy#KLYQ~`%)=~BLJE?q>JyIL4K5%qH zMC-g+b-UPK@?A+$6Gc%>)=&vuogvr^$>SweQNkbJ7S;R|FDYI;?-K3c|CXPI9vu!bWa za~Zuo){X5X(E`AD+|kZl`FJRjY(y4Z!g}azQi&uCRJuz&@95AVuOSF8;X#V{Okdco zSS}Oti*lJU*iHJ7T58M=lUZ=Tryk6gW0GoWMp*oaJxTmzhi3K7Y3XZj@n59)9NDl6 zIWCYXPVU%HYIlLJ+>;tVW^KnKJv1ylTmE=nt4UKXwh7-hn1N*4o)X&VNydK22a9_l zJova&>ex^?yw}httsFtFt_`nOh`Qx&lz`^o z4>Op;MpHJ-#wA};=VcBb(3b&81T5J>nE)hZ+kRoXEGlZgqW_be>CxNj`u_$N|4aS+ zPthzy{XeI3AI<^j`6+Gv;Y{%-1=f6du?GA1YyB4P2E}F{Czv*&b5SVuwMj=KE(qx_?H+ z;Yq6EIs&O(YE~uM6elER!EwMqd!csJp;}B+G51RYFco&(mWr6>Fq)`tZe|uYR4CWs zohXXVuo8P;0=%Ka!&~Ax4BoVuV}qPR{~uRh6%b{(bxk+Y(%sz+QbU6@N=kP((%lV` z0#edQHz*w<(%mH?DP8}=`OdldFNUj`Vd~w_+H0-77jM7OH;B$_9*4*>TS+u;_mA!~ zx;u6-=I0Y?S*^Sm|13%f;AOW+w5^lly}!fTgKgwqX!+nPJcwAxw6?IgTkhDfn5|lR zn}vfwEz?WMDEH6e3oae40=f*bQxKox_iYY|l=0Syd{i}xJ_1e|?X$*N%oMa+`KPyx z@^7RRS}>8-*eJ54-c=>F&Epnpb9>1eqq-#@QieW=qR-CqC{tflC`V57)JCo8Lc zdR>LrZ~KCR0piywi-5sZ8U>Y zqitf0JP=ctPnMFzg7J_32^lmZJl=8aFy?BQSy;$wCSddonJP;yB`{ds`U};fla?`} z6)(2wW8Ysc`c%Hj4#^R15*Ndv?YISpP6ex?T5Ka;B(9x{iPfKFwC)c4F>5+b7B)H< zY4)7AIRgYpl$g2&16neE24t7i};!E8o(b zo6oI2gekx&nOhu7XLtu@T5kH2H!hRp~NQ}L?vW~ zxF(c2ucjq$^cYms`5rmgK$K99?>^E*f_I(PgzJdZvz1_j9`7NDS%uB!cl#&JZh#W4e1wGTW8m`=xXbArlWLZR*4PoS^l#IfDa$pTxG4R4EJ3*h2 zj*gC&PMbO(!noF7u&}TKcY(aG$$ejC(J)JGH-`V2kat0$LM~)2u0k?~I3ep*k2;sUrTI_XwuA!$LF?X5db~ zHBo>>Lu!<%lmji;U-GL8I&*!Ar^H!z6&c zTS_vt6b(yJJ-m&+irn7LTnTz#+uE^&M;k?H)f`2QJXVjBYXNf#5^28ramo4PPc8@3 zg^b9u#5}F6)E-j*yI=X!P334t`e2V!DoIMJDkoM>iVOv=-h=*SO`FqZzKT zs+#7~N`jvBOpz#`)9_NznLTO$zkXx4Y3UVvUUyR80}H+i6TgmG!be?$m6hE>?BMju3O!QSr^(Aas#ru} zkLIqG937ltCU-K!E4B8mj^-~a(YrJG_1DkK!;iYJ6DNf=URt+X(;hU$DnP~V21li+5$RKw8( zUvJLLx#Yyn!tGhZK-k^$WkwIt*oII9R5jOSunZDy9dX_?Oa`ord(mH;g_>k>_HPBeVN?V#i!EL1juU(I)UXAI{>=>~73*k&yO&ub~6gOU_jr~b6 z**66^0rcJ^V?aJ@K~R#h598`k8bGW~nR^`QBxs3{e@*M+B&q%kq=rzoG|cJ3J_lujGiW{hJ$feE8DyI#^B-RL->C=2ICb5EQ9|}{gDYTjz6<@Rh7A|D*D%0mgaPNAs zmAf4^lFmEe;NBv4`?!v~Io-Ky+`DTWrwoZO)OjRA{Lj1wLg;RUG>N z{ygxDFK!Nnqs`Z>qU#C3ZEq2~N++?(9H8Q59-8w{a}!+tT|!Tt@F;p09QWiZ9zi+j z%&CwvCZnk}SI|H?golWX&nmgx0>#G0M45St%n`Z}2$__U&2rMmlUKTgN1E%;fqRnG7nL7jhVa)AB4M0-N6i?*Xz9(&W^lexH9-%j&+C{^NvDo%4sd4lH1c<=d;Bvb zI7C%@rx$TZo5*=ft2T>-8^k5l72d@g;zpB65o3!Re-g~W*Y-{dGt8_Gg%;j{Nx7{E zcTmM7GX?ml`o8OTpk}Gc?R*ZCRcZ84V;s-7$)96*&86=*Y4P!G&^RTiH+S6q zJ8%E?M^VKM#V>!fPe+J%vhzv7^$w9Il{Tu3viQ|ZBO8g;oJvqQp=L*5drk}y;;WTH z3fiOPc;6jE;!3+|%U(=@28#(Z=xldXLlH0D2r=Tz?zbYotuQ@_&9MyIYZtUf$=@nf zQ}iDiiW)PbKCCIAB??PPp?D1a|9*~nvTp?`T^c1sB*BKUh@6$~&%}7L*t0$ZJJFx+ z_%JCeA6CS>BJ(9WQ`xKC>>y=m>PTD*-{V86oD6JLtr{qh4ikIm(dsE^GP8t8Wb^BE zQen$N9noo>k+`tp-JG$>+Ed9|KdNI7HvUCXBcRZapnxevPr`|GivKA~Wz;37wFW3HTa&E8MdbegYW-DENNxfE{L`}sPP(s`s&O`H>XuSFMq-vCl zD4F~d&BEfyrf`2>?KcG-86;S%hPsl>0fzhN+1Bva6)?##bFQ2tM209VXY05AzPa`w z6h(gnQ#wiOSsFZ+v-o|Kj{Z>AjrHM*pNjg8G2Njd}0x7|a>o83b#Ib%`$ z%Dk}n8Q9qjb>8(&l8*7`5?vuUtU^jXS`L&d{{=*VacspRQ!=7+R4 z>Ky#wjkQfv`;y*B@WD`@l3>WnbqKV=@JJ36E_x@Ad}NxRa66=@D5gkL+Gu6VJ={P- z4B{1cGeDe+)01;St{vExElhG=3S#~dBp2bGB2!p}7&65HTMABRfe?U%uE@q3$fP~Vi7y_0ys~I4Ur`&Y)sZ68dYMLR(+LgR6 zrWWCkI-zq870<_%#F23)po&GVNbXA|hKxh^ zAban0wP5KAvN0ZI4;k_UVNk%IXZKT5r!ZQ)q8~`vRz{m&^r+!vK_iXooFq-E}o&^&JnMQqLXX)$!SuM6|z%*cXVXhOC*x% zO4VEJnAPj(5B6UeL`O#to7H)B<)sHJ&eiTF#D9yzX6i8-GCLSDtJ9p-#4ZO{>pJ&9 zUrAK5lEJ5uXeP~~_qD!)T4`x~t5bjU*%Z3o{b-Yu^Btu9{FYiY9io;65t25m%=|!= z^nC`V5Ki)a`Vd2%HBr)JQFJs?a3nf0b7@6YA%mJyiBL=g>K6%1DUtn6s~~#2_^>@) zF%(Ldq{OR_+sFk1m(&$uIXnd>F#6eq|eE)J;zuM2#Vh8l3Eo=XN_KgS5MT7o0>h=In4$Sp zbaT5eCj$z&c)GN>NxTENwOEX`oF%vjgIG?5F zNF5s}mv1B0qZEk3t5#HHDUFLAjwL~W$(T)6=mse&$S{g}G}i1~-2B@2OqeYB93bNT zEH?M(D!G%j><@iI`*-wN3-_1v|3T2_v2V12rRl2MO6N&E~UN`r?;);ToirmDPV3 z>1Amo=2vZZ#wiO;P|M01A+o8kWnf~YGSG*}%cI!CC@99fZ}MeS(6MekX@>~WWS;L& zn_HH2pQ0$v`Hn`!i0vh$#}zj;OvfKFN%Ik_t~S7{h+dE=zVjco_gt}kWTjHZW%B3W zR(c)Km`htRTi?bt8tsl(S%F?Q6gmwDjUP|cf9g7JIK)(^s*A+H^mYjXjhs}siVL&(8ZN|%mWhXgMuEA!!X{GkP$Nm{ zYg9qxX0m!YpH_+!HY5`hhoLAuHSZhs2!b2#qPQ}(iIk#`y~moZ#l_%pAS`q4V8>)xM#;B?kw-$^+v2| zoo#q(`F2!i(c)q489rFLnav>VJ>G(m1{d@^f4zRG@rMvnp<}BPS#*M7@|uoM3EGwB z6Io0S9T(8*{nDTAuwmxTOlBbQm5HU81*(`~LRT#mDmms{UufT$s3j^x*B0KZ>n6Mk zlrsmx;1U^>#Is50TxQ_QTF@;zR9&oORLIJT>YG>T$v9%?6OxmBUmZ(gY$YyZU#=cD4St75wHB~Fd5ET9^i=gDp%g;eMl?W@Fm5Rq5Y z(;GeA=w)PPE(FY$zV}Yrt;ykL4Et^%?5p)i>UfGYg`{D#Cc)?3_YGE95#;^?`)*lH z_De3eJL!9C_bPLbV1%-6&Hr9aQxo#_?dJ?0YxTlw$Br`@poWSwrEMlky)qt7roFxX zczrzfvhyq$&?-Udi1l9v# zyF81!JWp29NQF`jJXg{luh*Ut$IpPP<#y%7Usgwl(0;MOc)C;#Qmce!wEHvj-_b&f z8JBzlnP`TftHo0%DtkvF*fPEQ9AAJ$30Kqoba#C`+U9;JaMp*z$jVx5ztr@SViWi4 zjJ0`Lvfbk^fYN*0DJmAd;pn&5WIjinZEpLLYHC=1cmFn4Jl9q>ZxCOR41rD5I^F)F zl1RBe$AVCwSaf>6M3586aLU?!=}9+!koy)f87&#!3K%{o|$0n}<^=@DRg}jJ4;d z>wm{9#DOCt3gH;!Z@s+*!Nbi@*MHb8HXsKc9N2_n#uD*H1BmDh_MEC|YY+5A;dq}9 z(_=}h8W^D4-9PEHy3qRFUxCA_elOSOd_3Uk!e?Chf1S5FWuth;eChWgFP_=_2?`#h zFiy&hmceBPVJ^lkWaaDQ72qO@v0iLotheawvCQ-T`Nr?cbUG}3T>&F1gh#L&#dOY= z=dC_A-$32}yZ{~Rl11EqC_>PBTVhB>=Dt9LiVh?_m>3JCMXt@&A|mcWD<6+WDr!2uf6ZevI!)Bby!wZREicUD z7`qYeyd`j&-=&oKfH|(5_i8cmpL&Me`Bk>#*_>^S#Y5UVj>lnoXs?4P`j&(9(N>eA z_pAQ4ubc-M(zJBAzEGvam6nYrMoBVNFum{g;GKjZRdJw%o^r@#Q(=*NQl)*rHu#+t zxkGAPpS}16s8*di8bqs8v^}b%uLMjBsuhWH_)|i`7rSK za~VI%Hb9KhpbR_?hsQ9)Brmk9ywAVfdvB4CPt-hfF5mv)7O0MKf*aFqgfm)%#qqZ4 zsZwg&(xzMSXO^%Ruf{ZNwPW-&@Z`m*zD4!azra5x2|y?B5>4NPAa@J<3E=B{2wv=U z_O9?7j8}JlbbU7E#?(Rl?A~%y*X{I+T;^h+g8l4|)V1@`x<-r118eC}K2?Y|r85#D z9Zagkrcr8bv$feHQ(X|HW`2=WKJAxJv-y)qZe|>_1+aKQZnQEjG>Xxu3ej@>wlZxU z@XF0gxt~ZqP1--VpH~?8OqN-)3;k^){_Oe8+y2)Ts`E-XF!%mQ79=uHKF;|}JkI(3 zS+2kkK53(0`a2!+nzUVQxenGrO#?!OKH0dNP|FW%ltw^60$ol0mz(;CH%Z`9EXv1Fo4(&(jK5mVz>p$qWQG@|02x5%-rfP-s$0 z;N~lt4G-iIbbD?61e&|Lj?VDWLj8-ISSlRt3%C?x2{>T_1zmSvw#>h5_)e0e5!eXD zX%Y;0rNH<~^q*?Hz$VgbHvOUW5B|eox>gEYQG%cZJr}yelKB0bKqKM--UE7W+gX-y zbYhuihn0B{5%&^_^`CvO>p_U~)?Yuj+#OU1KAiUIv^Y`v+hv{4nN~u3f&Fu6!PB5siS&V+?ODuyY{kK0A0f4&Gw3=+K*>Lj1 z9noe#{)g>VpOa#}W(P5^c=nccnAu95Ua(@k7a)8B5igD^y=Dtgt2(Y%eb7h*63?~< zUBSc8{!OWHJFSbqW_d3@S8Wh5eYxWMAzpBofMjq3WEd3{6a<4Tq%b<=ET>`GbSGfE zcDeuC%xyk`o5k<=%X{zh;7}5^_rD2QoenQf@Ie|+7ReuVUav0uUW}1=ZzomiHb$Fq zWv;DGmuYx|BpL!<8{E-!cKS30H60!KwJyJX@a`^l$4obRfcJ1#hsSm{7Hn0wjq&RO zOL8+fO%X7}9yq{+x6#pjt=K^>sh|suEV&;~_uWj5*GcE~pN0Cp*N0ueW#4+zb?~Q6;_~un(X06oENU62UxIs3P41?*=Q|x|1H?#_F9}ht|0We% z?~mIr4t>F!%iyyo5@-Q(odxLYc48$B9 zJR1JDkMH){RysTHjYVIz`R)3dTxX_L65gfm0w-Q9iXpn?YLR)N#hDuE$K0B4ZxlV6 zMZ(JU`Xk2f&M=0eX5XZ%z1>JytgN+r=md&&ep5;KI}}}%h}jX@nOSv1^}cY5 zBAp8tzN!j}`m$)ger4-V3e;Km(-yEyd|I3BWIgUt1%VuBEf3{~iRv8xQiCejPD!n9 zoSsD3h(yD=!#|I$9k=1&g}EIsrVX!dUfAX#S8VRmaeu zkK;cWXqvFIPoKA4Tc)vfh5F;T^BRg`5+zg$H_VL7qhZo?9)NVKOx7Z>A@9)O$)3WxBXYh!9mO%uf4F6r7ygSM>&)so=&#W{N9c zRo#uD7V)&nkFo-Z~g|FI*TT#eMR5RHXltyn)QF=wT$aZ?ZkK!+FH{I z(TRCYVA^tj=N!6_$iQQ?X~NrO*`;%fm*UV(SjAI)_$7`qWq4hXY!IDrq`XGkY4>b! z9Z5<{8s4$4+9V~N54dwu zZL^lr#6jv=a)HG66aqcHDtxL8JgPiarj?vF`qO(I#AYJpc`0J=#lr3^fAvM-x4Om3 zR1wE1F)K@{EG?r^3^j{Rry%KlROI=%D!sMWdB#VhF668i5v`}^;*+b<@TX(B=Wb^H zan_j``^+^@!w*j4^6o508z)jl$!~O1olSe)8H7M(fPhO}=KC-! zhLBQ=*+k~3(RwlzldL3{3{AhW(p5u`Co|~kBoGwiBHcDm3 z-uMrKUJVsdX;As(zE0V7KVFfz{g&te3$MMCH`fe2-Q9UBw5v9OYrPO$Uv5Y9SZmkv zU#Gygx?hsr@^C&1Qf;81Fy7oyfa`s|c93iZprM*qKQhabdD9fi#KEkq1l-}c?*81U33z0_ zUJH1}Fnk`nHvbU}|1(!KyI3)Over}<%AsWg;RWYHJ>AW9bNN4by%ISU|6ZDn==ds_!9MFEj7cX|Jsi2T`y1sU7a_q|Pw6fwkWf4L8{`6`|pUXwyFrC#>Lz%Sw zq@6#2h(G?rNhAK@Z1v8M?v>#!jpw)Rua-0}cIxJ7IORt_vHoeiukqgR-+SNnpa>2+ z8C)49|37bJasxQK1-G3Xx^FE$1$4%PuKZo_Dd3oT9RQP<6ncaD{)six{H-8K9BHh+ub0^)RZqM-k{G6Hn zeEDL^daW9kKF{styujh*oe{bChqLTH_;=d8K1a|*;2nT`Pdqj}mbs#_P4>-OY3~e; z!TGPzXiYsp;IZg!S>1U?_wi~m#Qm^qCu)$M`|?b7{`Buh-L&S-^NNA`@h8N@veDD? z3+@*CWjw$=#)#NnS;tah1&G-#l%rR?tAw)mvKW!_{WtDisedOpV5QsWpx8fvZgyZ} zt-hE#g04kSh#dS);y|$y6)Q`r1c8z!o*KDs#_hNZ)v@c2s;nsHmE@bJbx|mfg(^hm zuJ;g~dW$PwSUE4tE0(u{u5h2*J@y{svMXCH^zDf3Pc@PmRIR9rpw^nx2hWDGf3)SU zFv|w-1@1{Or46XiSTA;& zhT&+{4qYDig3e_BW1kiC3kRo_50#~`4n4TXftpUlM3F?^+}l%;B@B1@&3kRuYzdZ?f#`QxUzSKCiM;Bfv%qO3l?G2@`T)rCf8t z38NfwrKBORx!2gVq-A_bj08Y#_D>^V@#9)u_h6dLdkCaJhkSk_tCq?>6ett6nvf}m zIOh&7xR>a zy4scRYx}z%D+b;7!A2qgcep%{_2Y#O7!WYXa#TFte=~vx`N|&)-A}ropF{{pVFJ*I zjzG30gF57vKbnZ{?GRaGi4`CqL_n;a&*nh81v~7i9U+nBzF>9|tulE&WgQ9|u|H z14T%@a1tup6OPn4!LNV!CtoY2Q4w-Hh^X1SLTzQAp*M;$&VO>-m6xtBRy_BB^Q~`Z zZgpt!q|1Ca)^a$UvMai@s-k$$p`9{x{bC&dOWMf2vF1Civ$44k^;F@A!A7uAndqysLx(g3lsvGQ|??NLDiCO01@;MU8Pc z+sHE8bonYD<2RGBv4?3IwbD|HQZhmnQ>$R|b-Xot@==O$$MhPhn(`?$-XV$~@-1P( z1u5e@{}ohYNJVk>U7AeRpcOcyF-?m%4P&Fh35IY*?a`k;(2R}ft<$N?jrY5Y6z!Q7 zS!zfh*(bP(oU_H!J((XYb#$|D*8jkH9r0lsDfq7E9WiP4^uQq=Ra2q8I6`z)DWgjj zzPBO8T)gqjTXcDp_V_V5xgW3ZJ9ufO-%ccAoDNk8A1SyjC34AHM9Li2k9@x2wXe*y zz|{>=HJwsB_pX=OYyC8!fNiIT*cT;&wZH*$ur%eeijQq8LL@E3r#%Bv_|n)^j;`4y zy_S)4TN)=6Uoa$d@G%#}NHpzpD-@;@ShCfao$Eh$Vb! z4PVZEfK!B3c2@SoDbEPF19 zp1MSgIXDrH*QZgDN~RigbBKAkd3Ul9J`X_Q?E{$iJ?qEM6m+FSBz422mW^Mw(P#e- z0&fA<>;O=*!Er73MRL;HCtve?{+Y>*IDX-O+V)>V$#-_rE5(ndmtc;!idgs@*;uyP zTuFuiw%StuS;=7Fju=T^-dcW{k_`#)zKxAwD_s!ic+>h7U#n|qjC!tB?IepC4*dEo zbTPxvd|ueO_t_uYcD8CKh88vR<~y~>$Lp14VGEWee#fz{2oijY-c>xbw@Yr3Jmrw(V3SY~r$|QuaNdxdcu3CkP&4SM4+SGk|*EyXDQIif5m>d_`E=}7(gM5 zCXl67p?x|yS_A#P6lv`mQxY3&#YP~MZ6dbTovli_Nt3vI-KDQonmFlyjmKjZV)JLoC{eJY7eNxS z(AA#EgBXc}>$*~hOLf2yv%t7r){xbh$mw-0w8aBxL{RND)|is0S%{9w_0F*_%_Lzn zTHGZER$uAzTX9-LEge%{KxDe;FlWW5+(|^nrQor2OqDs{5%ycX8)I<3HV+}}=^#Z> z!%Zf^Nz4-2qulFY?GLTOo}F2nr(sj6c4d)m$~H>)tPO zuqg|c#h5GL>A^R9xI4PqpuNs%L(*f>`s;(OmX?+``~U{)z29Kkm__SmG_wGRnG^Wi zF!i4sNO{cUFopqHLof9IOEmyY6-Rd$;LW}rR=2}wLnm`vz;#`>?ffoQ#OHHZ9y;F{ zT`-Oyh4KQ+_%eh&*}xS+ZoSgR3s|5%Kz`Y~<>c<2fjUudF-G)Du6Tejkb=grd%{;YM2J>FmMt%qP(3?)*=l8bdgPw6Ir(v=3v+fqjR=q84Y;ASg+!%$A3EI^hVS? z_wK;PM%WN9mJ^l(OD$t#hAQn?$ z=YkEKv#K2((##Ehzy;N~XwQXYALm~PjRVm3CEn^iaL072Ky`9+6i zAAo=(fzY3=7fSGw>XsH;oN;umd+cVb>r0UW$uGxv>HMPo4m-<8IQGMAV9d z{paWL?3#|gn5jIAjo{msTw7!mwCcV5%}*f-d*fS`K@pS1gAOF_4@R%Vjy;zzw=Z&* z9m&g?`JJDY=Uh(Wwm682wl)Ql*AhCjKr8wq!m%6v`(B=3Pba?ts$@YyU_P6a{a=}^ zR36yx*ZR>@@}a+rV(em~_JmSXi&_uwYW4Zg)Sj;XxW#h%-gNQ$t+n`*R%2T6RNJN~ z(_jtsl_NuUF>l$zl!X?xlp^7opW+~kjQ>!%k(=wiNVyrNk&AL$7NC0fzFrPTk&8!Q zvgwuhPb`9VQr6JR@&@%U1D`N!jf)o);sgB(Aj_{MAM2+}ccSksYl7r=cDEsq+`1=N zTXIRjjg-WscO=)PMw5`EOGQsu_H1Lzr)T+SDJ43bDU5gtSK>w!|4Cp{Lg-aIE^vE< zhDya7MfG5^r&V5$41Jch&gN{G{iC|mZOdF0r5TxojaS}*7>0ZG-d%~Jj6sr7nIMdz z_+o{R31x!Q+l)O4LS#Q2HAFWMDiL|oddA0_yEpHrh9YazP=5X4mhmj+?e(AKR&Ma) zw*-S09hb9uK)i}vdp!1xB@?|9%k2hg5)C$Tb=RHE?pXF9C=p)ZwC;Wfe_B)7E}udN zc5W!Y#OJZ-HN}G9d$3JHd!p6V5{j*L8@sw?6D8O0YN12klq+*P6zADra)_a8D{SQ%&flC4|pih7Q`&nTXLHYpzV(5b%Q;P;eQqznIp(PGFav~BfRk9 zzj6d$TAAto$>xbdS#F1Afs(hMM*!Gq+0C*AYk&MW2NK6D1W!6HUKn0x?Mfq1NxX8? z*(-?)Iy!RDiTO@Jjx*S9h5)h&X@C$%z#07V0)KLkJN<2(+wJ7z8;r!FCg67e@n}4`Kw6d>)Tt5y7O}v z!+^(2-()$^K(>H24&H#)@dl#6OL(ro>ae<@;jdtLR44f>&@e!@(ylQ? z79Rv16*3o(weHAW95JK4uFR-*mCo%93KgC)q|;Y4nySYx5-T4j%#8%Q3~ti7GU`K@ zE~eZZbd{QM=rCTWBxV?vVO^I!A4>0Cj~e6m^>#L6g6$>u#wO_;;uO+-vw|lo0%=?e z4o+)hbPn?)c&I@VKRDQUfzTg=*L$fc2rg4`?~pmk`G>TB2nStw{eD1#MPpp*vhDi?Qp**Vxl|9OaCY~;)TgN zc)^@PkoGVe`8iS-#PtV9Dg>7xbQ=+HO)M_pl_O>Hs z#fJ%F4!un}R>Wyp&&xMY=A^Q_Q^r(yUo=zsk!Q|Y8^bfvm89cnO&Zi{3wj+iq_GC9 z3K+hXqd)`WWSjP_AeAMDI7!A&y0)Y`?ip&I z^kb$@O- z7WRB0uV4OMgZ+|6j6Dfh7zX(1bP(dmVfl+hy$qMV>xK%DnuYIb408gWZeMyi?>ckW zmk;3S@!l1DV6K}{^e*3_5uvts43~uRKs^aWzPKQ{#HW0eblqUZm3$LW1;R^4{M6de=OEUyWy8Mu^iKqXfEs01L%>Dk%jF^i}I1{Lgw=~DJ`C^P-{+sl{cU4LpnB)E!hUTT<|!+-ES6BPaU zujsFb{V)RIn4H~Uk0W;^d@*N`jM4H!S4{Aez0eY+Y#NgRfo z_SJf#i8h{Eg7}}O&L`FeSRBUjy_IH*i`DxR^;&Cc@HC-^03YCP2n8o6o0Ky%dj+ft zlQ?ffc`Q3y>aP`BU%1?nexxbWj0RFGbd`C|kZ}yn{%w;8)+>dOEiYU=JT+bI=)LMq)hs>}f>i`rlN1=(bw$FHooR<4#Cl5kOqmn^ro5q>2`F~ zW_e708pQbZ*}1(vUTZSv>|QOlb;BchUz4Ss-%h{#)psThY(~R-UtUv(E@FEs%-^jM zTBtSpU9l86+a9ltY1CV;+Vcm>En|%rHpAQ&8u4=v6Hi6jPAsUm-}#;qcAco}=L}rZ z*mfH#Sj%G#VhEb7{$NtanW*E5TM!o2+gseT=@wh6cSd_G z*d}j`V~{Hc%cH04UF_8_$1|)>byUY4235*ib@s-KKaU zmkW_NA}*th#6soDk$hN-448{Hnz33!3*JY9uj&XJv_o~moD6s_2eYO!=f%wxmE_); zxZ&bxaLRw7)~9rWDr99m*N`IdzuDN0qR%zDJec{JCzkh!F^_>~&zJ@bb8T%xpeeXu zdj{^=wMYsiqFbI937G`=pQfj$A1IJD#G&;x1n}N`Kz*^wRt+`6h8oKegu_XQW5R)s zCEZYw@k|6`?fT4*eEi~6gguWB7$(T?d^-=1_5Q|`)GBpw8c%-9^BX#ieWK$J^q$muLKEkiL zJvb^N5|}as)PncRuC0Hs^aTC{cK!6T1r3T_dD;41ZH(#EY#QA( z(e)nIbdJc==ZL4&m2~h2ycsr2Za;1zopUDe|J5q;u)gMHcTSU=b;~4y>2zYxpQ1$9 zx;}2|y;U5*ah!aSgmf6RK7SR}i$FFyf9PnruovTfn1+9so^(25B<}F` zVhrczZ$6IqLr{BJRrPLB{rKJ?-YB8R`wvR_-sU?t+5wHh`w4G~@}UDdPM01ZqUoA1^uHOc6dhi(s(AbzZ&6AZtGv>w1ibNMrRPJchHs zW*xZj4Q8NFcV{S`K!}bJ@f9N^W<~)f=rrvo_R#N1lT981*ka~UDEoI_{wP}lklGqK z0;Y#ei*=gw!Yd?e+26$FF_qa8ojua?9%cIHkobSx*`8KBURkkxNQA_{vj$EU-G|;Y zN-Sq#`Skpzi00l4n^^ZwQ{Tpe&Q8hA&bD%>HH{QeQ|taJXj13wDJ5E~Bj#AWBE=jx z8_j@(6vC3ZNK`-}xNe9 zTlG|hL}BIJY%1 zZyQRZeho?EFp}5kI0G^UptU58M3FSxm*tY+qKz1=YFNxx6y@GG2Jh0m=KE~Uz*blhbSazBk(|4L+023r$=V#VR9j-84i8=UlIA<@ z^X$R|>Lewuld-v0^P{}dii%#&D^T28sHvZQr3-!RMm{&6oppG6`yZH%=rwK*{g7I) zKY`UbKl45Ac4mPQE~suaUJFUcAFb}p6tjGdvF1%pJm(u?3PYlwoExK*o`h~YY{C8K zcOu(c7$RAPBI?S_lBT^mcm1L*Dqs9@6%)*s+=N6JQfm@QQ(6sC!X%Bi)A)Z|hx^XH zS}4v)N)bxGYTY45p*De!RlVdY(a+ZM(+!g#IP{@Z`qfJ{Cz9qF0M&|D9W-$N?b6Gb zBb(idkDAs+cEzYwAJ^L9QLsNFW%S^uqKqACBtr7|A*42vY5Pz$cEK^C`fbP41QNe&R4t5A8 z-)*n6%U>2DZPS*Pt{6=4i$8mqH|-tj*xmjLk&p)yO3zd;_*y1`Yz(k!&Iak!@dCkm z4y|DTaf1;i?eEVp54Z}^c6{0V-&RPZrKMk(eBeY#2M&<5*($x~!6jzEn?1D~#Zsb4 z)h)1ODun|``8ojS^t-TiSJ|@1k^2%IwB^6D;!zLe$$cJBpdnOeV#zd@Qh7CiX4KQy zi0pvQweR^B<|ZZRC8D`tWsr?8KF}wfYW1-AIx-@&3bOhdUXrPtd9MD?R>A~tW6@_C zD%?uFPUNo)K~A)pO6byt*ea3{uY^x$+8h@WtBU!eBM*4GP71gwl}8m%MI`95`{hFZ z;V=|hFVw-8xdn5eFfcNk_YN?9Vl$A}GN-$0O+@;_DY;I7ne-!VcIo@IFXp=Ut73EW zBhT;ta)Y$dRD9Z+XS3O^rPWnbXm%32Z62yiSlEm_()-w1e2gX5*2u$}$!`sWO-a&` zeybNy#hKC|ghk;pX&O)naw1VhF}}whvVdKhBR9k1 zVw>Kifw$+WcB^6%M@^jwWs($vAyF(BP~TJ_wq*P^kePc(6&BU`1}^@Dk|YW%nIl@x zi_Cq7*UZ+Ib42x>9;!N~jk0!_fV|#Mna0MVWX5FqJV*~LTJ_<&z$+&8mRhwE>|h8O z+ZE?ZlL;eAoslMBMCQCv9^tGzyRg~f+Tugg6I|M(wk##|QF))18n^YcSniJio|)^# zNKQ>e;%p_3Qf^VH<9;L_UaQG`R35A8_jxOoLgmT<4sUL~Yz4}#p3XDZ3|s!m41r@F zhyBPhFd&vXaW-pR^tv{{@s?rf>%g#%M1EWoD}gZtcNz=MeR@_?Lr+KAUW;`mEzOMk z>P<>@NQ#sE9UJ3#F-=;}nQ!QxP6Enca_|TP*a^f$Gl^1#t}wUzmHNOzZXU%DHVE@_Ys>F$!QOLsR)hjd9xOP6%LoA2{HGymVr%Xr5- z%;Da1_St9ewbm!rp6XH4#+yq(L(g(!`Y%|N8*o#Yo|#bsJJPfZ>XWAKWjFH6Rn=SF zhqy6xy%KKwv643QjD$1Ee&?swfvbZ49+6Q*=B$4(vnGO!@(ppAXm1g?n9(AFKRX6~ zFUlIkAny6lU-Pqw<)s0fcrlso9EB5MjgnMB%bP=CPMu&XOmmpn*XXg`!NfiiycuFh zk&5qDuTBVYwGKYlQ6l}k0)Xl|IbYY`r)rmNdj~b=g{Mr%BV`@i-F(bAv zaI&Us5v+a~F?)g^TSPz5O$jB%@rj6HHLy%6c~J&PN_iuY-;hxchZ|_1q0Ps|M3T3= zXw2x1@*ETIs5|q%juCnZ`ZtUfnzxi3m8&!!mH%@aJ-*_5rziVQj)jGgh^X80TeY8J zz~80Mfx?>M$`zjaWFfhDR*vH&GB6%T&99WD-$ha?FzNP)`gjJALk1m5VzL=1Yo&J8 zmji>8@y2B_`qI#eRNS)@X$``QhPq%yw7((3`iuz_9dMbV7c;0>`cWN$M>{+g@dHQnhX5_E~% zHt4AI@b=FlbApcLrE< zxz`Or@|9EgsAhPCp~_+f5`Xz5kr0t!b-!74Pc)x*yEdPa1@>>8e(Ckx`M7G4Ht%;Q z`2;8!f9O8lAo<)*WpRT#PBY*O&W0{txbiK&f!Me?h>zyZq<&)&jT3DAkinA5Cu7dp z2YF}2*G9j&JCPabJwos}ElfkW-Sp5;*}P#Z9UWG0kqoJoh;=FDeW{b6o(8FSu)1of zRH0T%sB3&*W%cVTrJ63{zPd^{wvvJFjhAK!*2V=dZ4_ceTG2GG<-aSgqB-H$k!XH( zu`${^;xQ?dxd*p{{e2QC3ya++10*w1j1eQ$YQyXVsFntSQBiM#5Q0Pf#uH0Fph>h; zBZ{N>jhjCwo?X)IO|EA(Mj$fg<|F)Ws^(YT)4$Ng`7HFt)%fglR5;&Cwnt zfA_&b6%CZ9oSc$Ae#=v0>OuO(naUkewP47$K}%Nl;t&JfkD4q7#|i}rUc%^$d?po~ zuvBJ2pzAsuAvPS|p*CF&JDq?T*W8?VuTT=lYgHkyFIcqLxj*n}v^V0EyM)lCAXvTZ zaiE=m0ahHeI9wue^sPAjH%yK)8GAGd{{%66F}zm+NUi&U~M zv>XOrm-QIMI9;8HxQf()3VSkSmk6C*{KM?TSq>H117sh`xwr{V9jACFYlj3RAv_1Y zo-bh>y+Rr}nDPACh?`h~aJU1lH<=7Unqt|Ysypyk6 z8B0}Dkl(DCbu-o67yBNn&P>_oSDK!}yjdqc9A%+lRz`!NX%V*nzKj`MdXgD6d^0-x zR6>y}kyW~#nfNKcah;XiBz~WWKH*1-pLi~eT1FWfp$&+|LLuvJyVUG)jL_jGYT&m2*{KOPG7TZd&>EA9mlrkM7@?caoyH3Gci{1|Wt4RN27T zIN;O6o<`-rD!%t)bUkOJBMQgXRewSgwnT5;;E}jO#|9?@>a@(Z6mN6k!f*uLiozu` z?aT2-Oyl{+=2jW2L(R+gaHc{-Lo1w*Zpzafm*+68iDksBL`lJ141bUetKj?BY|B8p5b@<%$9 z2XO>dSEHMbq>q#&!ip)uLtnlu9*9p@3`8U!k%%WzR4rB0ur{FJHB zPB82u5qhCgczL!kcjRB4)Oy^U);q?xL20reca%%QNa?eBE=?`N+8kKS1s}laiAP7 zN6OJ3=|ipqysA_b3B3lji&O48>y|cE$O|KCly|5Lntmi?h(@_ZvZ}Q4CJoF|37X`> zSRWF|A`EkzWRnQ|n8CX`c>JJ%t(x$rM0r9aKQtQbnxZK4MmD^w`8vj7Nco#S91(x| zIHs3#l<_9=x>XG)pP9{#kX94Y`Iz|7A|%q*3ulgafV{m`0a1xh5*M3|kyS-X7%zw# zx|H}O!v|TJ`&3pjz(=#r8G=8nDNDCqHzRJC{+fDV{WNq@ED`(AGEkj1wz~W{EOatl zT{&j9A>^oDlV%Zk;D~GPm!vo_FiSM=g{*r{&BhV-*i`?5m@Czoz4 z^W9GIk?UrSn=A8AT*2HP{sE}W|7l?W)!7XcuxH&o0h?Oa`)2DIBS3lcW^!(>A8-Wv zfIg;S#r%_RY%KaSy!gzq2D&^EG`Qz%{(kGzBSk-u^W}S=Q^+KpBsI1LN<+IcTvmWG zMYoH|`xH6TZ5!XR{@pXxDC^yjz-2$HWi~NY zdjz+e+<8wSc)#`*XjLSo;sWs5OznOf1fPPg#D0Jm1&UCAPrt0u6HnfsU5%iwf+nNe zfl{aaGgJC!c#r2t@}p_ItTZ=9j;ZD?*qT#Ejkd_>1@&Z%3y1G9``qG(e^MRVuH$2l zY3+yRqEUwxP9P~VFJSbsL`p1|S4pBP*%Ub|4Ox zx>&$$z1z4zux}P~ap8ibGPCl9^-fOA20 zXNH}Ym|C71fq8YHkYt6!r2h+Gpi&sf%CV-+n0j@>G-%?GW@SHaL}oV$JPm3!>0c`b zZwv@=Crag2&1Zf$>IvuDRc9mSHi_j`$H@`|C~orhZj*EwuG5Eky8#pNP(N13hSkiq zHG?5&N}JXztMr_FCv0Bc;n2L_9N1FAP;H7C9tose>Ch%^$_ae?`UoN-(x_o$?Rbiy zqv9#8YEN+w<+6Mc_&C1d*Z#iM6H2)b5ixOX^Dp3ND{5+dd=Cr8NJ8KZibz7F9Aui6 zyM}y!y--#z{~BY;W6&HFHk_iHmzPjHBd=be`3=!%okRpajBl)1y@UkCC=azPNV`1V zH0DDc1qVLPm765RYZ1c;3Pl(tJoJH>U*w~;Vp0+C2JFJ1wM_BReO;eg4xV*vSFeq> z)nIJ`a}-Ol4a5b{D0UL3gOHIi!O*ZGvH+`}Jw8C)xVRb(t|F`pYsZ(5Kd-Nc?jLzyPusq357Zk)KdsIMwghKZ(? zBG_I{4v|V`uVNBv7!*NuI2CGD*Q^PLgil+;4wH?Q44HzXc}ctVMiyyH`Cy?x;ha}V zShiUg`kk|i%+623-kZt-)1M@QmKsJY3Egmzb&kxq9LDIi>fd{9`T&CvRdibBe1Ct< zZ0%x0H1<>)qWX6i5*gHro6QnCG{S^z&X!CN#|R;sT&dWd@8L=_X%7{o>y_ZOaL3*9F)J^xG}!#? z>|#KV$k?mSr-x_#Fd=}p??Jo8pE#hqhQJ;DoUS8kVY|^h%)@M-}=NkGy*9P6VC5Qg3xX6V*ZU0fW$-19$q!7K%e_*HDU~%Cy zFlT=kZz#h>)o?xRovUmZ*&iky&Ot{>*}^l+o@)m^8pX0(R*!kDl)GFdXs~3qT+-Tr zhJfyt^r8GmKFws;z#dF~Qi8E8R5wSpoHdogxSC822NMC#0Hy09?v;`(S|7?AR5sR0 zk}$)U*sPqqqo1G9R6IN&X%=Jg}OSxB8PS43<+?BtXgwzMGI!1`EaN2p`u8+?xLC$u4rf7?*OCo_SM3lo7$9 zTrif>>&lkna*JY_v5XQqvwLtvF~~qmKhe1SrAs+++82k^!shh`QlcfUx2--4JD0cV){N+(Klk^32DojCp$v2b|?oDQuv`DysaOighlVlvH!_ zO;WW1mgUm5^CV#(%(laXX(4&~b!*hS+DZX-rm=lDs+tC9-^fQWBWBp+gFG10j9A2= zh}cr}I9jf;btsgPGx@w9=6Dbq&$6~G?gU6P%))v}@=1_H&-h5?2sG2;_tUA7SS0dZ zvJ}@0;aEfZEFCguqXOr)F3Ji}|MpROFzlQ0+sZ z9W-&1mKJw&a(p)%blM-95VT|ntG_TSA8Ql^i5%u6IdsBYvDEo9!)9MhK0beYySdTs z!JcVbY<4ayD^m5#f`6AUl1P*RV$EhTKC>LiFgh2Z_s771E_;VP^iL9Vu(? zlMQ~Gc7*H-`@eaUKfPW{0-(kq`U2Hsp4U?(*9z#iqbG(J`h>uc_;$A5(Ygg5a>qaS`2E@%RE5kP>MpG8rE54#G@pub2HAOil~-CgS=u-*K) zdNazqF|MsrId=mZMU6h=?4X`8^48~C6zsnK{{HFid&OS>%W%oA8x^?75H0yUJ?J`3 zh)dBtKd#SmuZ25zU>(p5L|?$K<`^_`z2D~QT*K|WhHqSQKnAJ^rta?Ubdc$%9cR1q z>7Xf;4d7eb=voDW^iE+gji`C+x`dbJr(BGVyG+%Vq5?=!u-U zpeZs-F43LYLT<0|nxQo%6@t`;&FAW_`isR`?g*$lEomghL@GU^qVT}@IAR{`hlt3? zmO-5)#iPG=bVI^INzm!E*TYGSl130mxq9`S(pqGtlxwJkJXDneHJMF_l` zexa_ikbE&=9+`N3p2Tro@j>-frYbM3Cd@^URWHm&9G#*~mn4E)6f=T>Y=J^9uhicd7`9$!I{K1T>6R0KkmX{KaTd&T%2UrvlOLzP3dC9z4N z=Su@f@$yDelUPtJW$7+vGP(4a{CqNqr`5o(|KkFvtUG+CQE{Ku>`jLIMmEOE9KsTgO;BcT~N$X2ybAM=+mTw))^$T6Vm5aKnQ z&(6goOg<F0%3l1|3%1MS9IQP)f3V`*Xfv(AxWE_|qBCO0t4#BV)(4At1(3!}u)k>-U3b z*W?9g_Q{HXfG~?c^~^1+XgykZeE0$Tb`zHP`bR#?A=u~-SEB`P&7=6vq+T2W9ns~( zvncZg5c+XR655O1J$7^mbese-DVEN-0wNk@%E{=>_x@V78gsRdiAC?QRQU0ndN-{MLYxN4R&u$ z1AGJ;fFY$P$$JZUD6l6{$O{PB;-*1_he(R3DwbIwMT1XFB>oywz@ZL_V<#<1fYeMw zWf3)-EwL?9jZkGXcq0LE@AM$dELOQ{@u=1BTM-tfSeye-_JWddP}mX8a@*I=IpzI> zZ03k;ecQU#P8sbgY6B!#MZ~-p6y)~6bqGQzDVtVLq;h+U#%gC8`Oc+wR-6y_m$Nw>_YFPwVNEbPr@9VJd2r$vPExE=gNZpt_e3sm);6h29aFv-u%!H^`&WO!rGOXG=ViqeZTQGQ-40rP`~C>K!io3+yc=}fzOP?mz8{<86=6IJ9JL7 zFUDvz4idq4TJ4rRiON#70umf=2IF`!BI{DCV@VP2G?Zupr~8BO-)oQj9zf%jQ|yZ2 z+-D@Aut1}G&C8U|fRch@9*d+ z+l3e)M!QS7JeysMMMM8Gau73Ov)=CGz3E< z7WDgw-;Xez%>T}AK23mUg@=dtLwopSfcXUkU4=gJ;~W75layj4ACfmuGVIv5Z$xe} zr0EqwZZ#?O&e%;l$&B2h3j`vm>3j;sT>I?tluCqg`w`WrO0r6)%=*Ore@dJu`JnS( zV)A>h-=R8W#G24VN)TCbK!DXIjrLANRODw_`8+KuE_}#B{t6xyBrRV{B$X0`1S85Z z4H*v8mMoCT1imrmg_wM~+dGXstO%61HS6;xh{Y_FM!jJaMdLNb^CAeZ)Z+?K&&nXR z0@9hBXq2zwS@_1IyW%3E<0)w#N;Q;d6Y&TM^H;twv$77I3{YQ4_*Yl+YT0Pk8PiaU zr{+`B;J%^D(xaiKr+bsZX`gWc2Ki@^zU!Hjg1XsiTHf{k%CeiD^7w0 zI;h-(^Sz&|!hd0Q7!N39h8p2gnUsSiI`I&4d%0*k1_Zd$ctJ1t&IUd_BL*ah&khu` z^T}v_(SSD(l+ZlSl-&D=)hGTxVo1IKVo)lbnVml>xAmd}l4XO__1+~wc>_X3+sO^k zxB7v15peWz?Ot|U>7S=Mzh4ELF$`tsdth-v^g@B}6fRou@tSZ?j?Ds z{4#9`yr={XH488I=&yM%6x6pd!%1pJe0noo+GOoFXAdnFqBS=k%r1sm6@2RV(kJ5qXr!xP4HE z2}wmC%&jj#BVT}l?fr%(l8v?**!Yba$@GZ1SM>fiy1ZR!UH_ zC=Fo)Hpu+$eJ(YbbyUv4gchuUO6mrV1*=n%Q9XIc5PM%=hzw~r>==ez#&!vAfN(ET z#!Tq23D&!e*-(F9Cr_+m@^5vc2deJ^SpGSwnRD)`O2bGLl8-21qL zD-(A|A_#3LRK~)lBFP9UNE-S` zNFW3$J$lj7H1EW7!<9#SR2uRi;syh0*a8?B<$7wusjXoF+1!~zY)>B7uS(o4BURdL0s>KJL8f`3^*r6(ABsr8b1aM%PyU+h4Z1|k z_9!kjZQ^*}=Sj**Kh7W_p(M`1K&Z=ts(QJmTrpuhCBF8@596{rb>Ak|>{WG1hgtnd z^5Yo{udk%mht)oyH6w}}&0QpeKV#Y7fQ zXJPhXwt-i0K`?{IbeOX$aa{>dxFPSg0V+P6SsKlRW(0G^`cIMUmvHD%hgT!A@f4^9 zY9Dt$@kbzv1YtzdtHlWa_&Y%T?S%oVqp7^vXQzPbSVH`ypPF4YcOB8)Db*7QiBT9M zb)gAiYd?kIl9aJns@yrYYSR9~+shWK1EI_|tMwi`I}QyjN-Bxnn=q}^&-LOdFPJ~4 zXNhHJ6DAK#+OKmL=#a=}*@Ok~K)7aR&kH}vye41#>s-(=rkB8OUt7*+>b z6(-8INzd*&1LhCV#!Kdd%o^My-fIbgt zHuVd5qPn#4dxY36I2r7apCTl%W^gn=r~||Nzb+Xo(&kJh&|8rN+O1GfQiZ%+nD`zz zX;MZy$hz*(%$yl0^lj$dH)Flj_}yE&2MJ4&2#%j=_bh+u+v*hGz(0 zBTb{#(|1$j#7-CAok9_-M6v^aNQGlFHYx9<(x?q-XfSs3eMs~jxM9pVVPfSfI$QcPfUD)Tt1qrv0C) zAl`=hADy7^zD>;1e~3bUSa@dr!uyKwWF!eg;(5~FdV5J0mN2Bmsj) z8f&(02?q5QFEzY0Mju6TkO9TFFvM=W91#cW@rBTPY3Z_A#rzV@*P){W<9Kiq$U9b_ zolbd7@-3v3OacMMPw$YYLnM3D_JcQ12B{NgBbO0$%A^q*6w!1z6cK68q7GH8Sr(wk z|3c-Bn1d#gqZ)t(BQ3Y|5*uS+VA&6m;^mbm7GCJYXpfp^C|WtzTeAjUdzi{lyTt{v zm09^ZF9;1Xn{23RiS_z|dzQQy1LfnaT7V|%ES5J8uf0TWuUmG$Qa+OEi&WxsC>{PpcdA%D)X3`f#U!e_I8S4O97-U>+s*$|)@V4)`uB@AQJCW1!J{9;PK5>{wHh2?#(ON|FAm3-5T znGvd1DhnT91P$eR0|x~83u%C6Ts{zAgXXb>>)d^KQx)}x*_nCP)o`$J zkKCHSR?-~w2$X#dMe>@uWA5E7osgx(C@FI;CN1}pcIkK-D4fq0Ivv<-Gz{BY&f3b- z)C9S@)wYs7O~Jw__WLSJDc&nqdT2Is-mgZ|G$&izRhX?tK@O+AL%kct;;a0VJakx& zb(!P}x~>c>w!N@DOOA?OSpAH&X#yJSquk?TY7Y`kX6e^1Stna&nr z)QVpyw3g)l{>CAn&(dt8;nTdI$1SN>{(8Y2pyH$GE)`8ilhT!giFYr8FJcDVx(;KJAe0p66kEH`K4FPdbgPouwo|8{SD0)i66AHd^hQ6H!LFtai- zuYMW0k^RG1{pnb1IYSFvL4@O)Rt5oLb)I?E797sl5&~X`zH}8$ers!TT+Lv;Roxy% zEb1lTqDhv{RSiKBDKT)2k2IO<_$4RXg$C7s#BRMf)fMU9Y@Orx-e0W1HfrhP@AU}} zLSLgS*|=Z&yB`6`TNmaxOQ8gqcDa!KI%qUX5G_C=jV&$BY zG>d?Md?u6x?wfLN06W#NBd7~{03)A7X?QDSv!|~_?P=Kr)_CvUn;N_J$jR2j&?qX2 z;U(@K9OSE)vI3!BLl%EpR8$n1$n3>dqxw2k{i!C`&)VM2=6W&(7Ppa_2zHreF-5D! zNya6Xnm!77Cue7sFuBAqgeR-c<#iUB+QZFl#-yr0M4GgDPZKUdtVMT2wkTQnf6|Erip;Ldn5% z78IMt4hw2z%Ejz!i!se5ub@~4e<-hJwHt3U_P_EqPAoj6nKLMJ8;BzAKx53@7GD)y zXf+#6NLSmb9MO+0rGzKFoxtFGxg{1rmeT``fIHMFjT5SWkG#ZU%RlFp)zlLwMB~Ry zg7l%W++hZV;dD~XRM9nFwk_&z)Q&8O_L70}H5uj%fpW;@1?Nq?m7YHmg&v25M?~+= zB!&jsXd2bnGMv8E&PZ%Q=trOUgfi|YIZ~mz05lqHZ1OsB)Y>4D$&#-zB3L_l-!~_w zN&@T{T--?CS(Moe;1P(IM#_CWtu{HfijZ-eSjZ5xuHG^U3DPGxhCD|Bi+G?k^r{J9 zK$_Kt@PgMr-*P|vn}T`9bf2vqfMjXoY?x^$KI?vycTpcW(7uSr5RL*RB%AgN^@{dO zZF#|mf6n*xM{Vcwz(ElRBMw!gMt%agx9{02YxU`2^*lD((|FS8S=9MQz3BGtZg+2Q z;mgK}YXjW6klpY1ES>icLE)&%w9ml0v@Bh@F~l)J%&9Hk-YM9Kkhv66JiR+K&6Ov0 z`YBnzcK-74Ie1}{NoMrY`ZT7Y{ES0$N??h50tykrAD}-K0A*@l9r5RS_lxUBpF1u9 zHV0jDMoRcIdF{$90m{HNQ>CnO;ajXC!zF}_Ue*uxg=U+_1Kz z5P$&PpeZ>zs7C&$SG!&dem0V~2MH3J&!cC4!gEpokP{m~jR9dB`Wo98jvq{&Ah|me zhygJmH4Ga{7~*iZiWAVkUsaX-5=@2Vh)sRyOm|?CB{GP4-rM_uL1R{vn zGwq^;j|<7_ob$Prbelbmve4GsE;KlvRJFfWS$B!4CuEwM;l`Hmn`sY>n3U-@Ilo=T+Me3zJ_PRY(w?&_y zG2Gcxvfk$rBH9k%x;l$rd}W?*I=Ok%t4srt=c~C2%xa2s7|5*0^^WVW4aDeY0rCBB zWP#&DTc0~ef#Y$}x7K&uU#Nkpfaf+_)*4&Z%`apD7vQEh_OWk=fZ&IgSw=5-)sH?X zOGgPlx`Nj=DnT9i;?LUK{!ry&>qoQltqhMhHT!3;nhe$$QB22HCucCD?0!Wl)GU4_ z1+j|L*RRUOs=BPg275c;QO&eYv)0cqq6$LxY4g*0kJqQ|dj6P^e$jDQ)D!1!=sLVA zF!ba$hEnn516zhS@Y~iVkjdMQ^W5i=zO%zNC8}oKsQ;h+5&@OrMMVoVtJFqcE>7#s zN^Rfj+?9u)t0Y3 z(fm`NwKWEUR|O(n-Y<>toZ~v)iB^nk#wZB>;!?=!&hc=mI++hZ_NnuGm5EoVu1FnYBF7&W`J01w!W{-xq?jliMqHha5mlI3$?Uo(9t3SsKKiVWm zJ`(c($5+Eq9OAi69^Sh25<$E~kw}@jq4v?$GU+uBg2@m{|D1z8pKM*We{=mi8L>*Lwj6L1y#Lz(Q*mc4`04TF@_te4W3@Z? zPTCx!&*)s|Zim5}g**u;x!aVt-u>;$;DqZFupL2(*u3wb|LC|PY38`W->vH$er|9* ze~fUG_3_p9LVx3qhfgb;s8MRAUbFYkOzo2wdg~aCORJV$+R| zN0ry7p4B!Ngmb~#^YGjMyu(Hb$`EVW#l%fbInqN&CxqsZ;45n(m7 zwL&RMxIc7w?-7o2dw&FXmB+4;_SJ#**3ZKIL$9N1(eDa`A2ak!`#cX)1ZtLQ?8MK~ z@2n=2k`4q4e?3G;!=AJTOM;1)ao;JDfBk^ze7R690wr(WdPHAWJlS=d`p(a=o-zk& zfk$dK+M@I~!(10<+Yh|+M)Kc5_X-@?Jf15)&dauAH@SSf4J@H-ID2Z&TgQJOOo=wr z5kUkTzXWLt5Hx3GWXOJJ4J=kE1RS}mwnh&4Fw1)BV%0PKXN+*;drxV@@&<6JFrLU2 zf8hymKT}ZEBxsMm>MTw+nltZy(R9i6!1u3CN6yC+60c1DyFTR~EVu|ULZnRn%&Oxh zq!-fi_uXJTmg_^iDdBr^vSZCm<(;(uy4r1^B0Q)*r{8;VXB>|lB+&zbN3=hPlS z((%o5zZ$_otz%$C$$Dca@!D^$Ci|?jSqsmbGm87uU0&OzR{zHLzvVtPdOU2ba0jLx z6R-97xTkl2S{wv-^YloRvU7DdMM1!lHtX)u@XdUwKiARB&)8Q^%As?WN;I$Ssc+Vy zV<&&t5iWXSz~$@80uwNxSV~v``T-m2e-#nDjYq~9WsD$FkO7FJ8{mO=!f4k>NMoG6lLo^N z;S6I@?}GN3m+DYBJ{KL~{A{7~J7RT8hR-lbSs~>yfA#a9Jkz>c1A~4&S#PT5-MV^Z zs};;g`Dm);#%(w*BzR@{j=$y3jqEIs=Ml-I-xAWU}=)^~&7a_3Z(-xWkEjoaom${i>5M zm~ECoy#ILF$OBYj0E1fxws*_)mDN)bDehBMcH&)8Z0RYdg=X*an@y6nPLaQ~GZL8$ zCPeveJiVFm6go$@2-9j_0w8 zrtSQX&5D~H*J_(7k6=rE)`!c(KP{_os?L9)zX9tksTA3!2I2f z$fu0E166~voaSw=2SRnRiVpkZH_zMNMS(#jkskbT6q}*9^D){~OZQg-34WIN64JOY z>%-ozy0wPPMwfMe;aAUjjr5Ji3C?-kpEuvy@+l0$`~$#5p^EkJe%w?cJ-2k*aeqcN5sZ{=+pzFW_ z-FBfe9+(UyNaAp~8XNdmKG@+0cQ*LX6ErP!a8eQTCqCV8N!zs8rkFh7CqEq1%D4Za znPo(1-k)IUBS>{2n(U66+PFNFyZibaLv7y$hraxI{Qmux&K#o|2y6tIEY424cpby` zV$9SjJReF-_^wqmC`wh1JY5qG?+j=4Q;L$XG*;SDkDm-FhHu%9+`dF4`r|v^E_t_< zz}0-9cU`3q#{RwOMX0-ey=tC8RSgQyG9La8Kahmj}<0@-@}f2^V6yQN>wr@ z&70*`e~%}=QJ7ZsMFAXJ4?Wy(80mNZ6nxF}Yioh10+%C&O}={FttOzu8D7uzde%XX#o zYWve!Ki!WXI0yJY2lCm=R!#|2`(h%`yWuHV9^9VN+;94d9j|BWhi^`}GRfaiJg>S6 zIERE;d^QNp`lIvbxbdbHFV{+m7rirBq0z~N^LthwMyx|4g9b>vLcQ^AJ|4j;}+m5qnu0GCgXY*U~ z)zX^CXJPtpkJ7TVQ*Ao8YAlWw_r%%ySV}TB+3*nGBvb8D(?xk1y_G!psI+`iA?n_A z+4#U$Q}h$e=Es{2N5!+i)$@h)>m>cho8aN=!YAz^AJ4BlsQ(*&J|_i%ut~$Xn|w9v zTj*~xb*;fM90zPF_UqrmG74`6mHBnvt`i-*20wr_y$ATrHG^P<=io$i;-&>xBXfuS z9qQf%?<+#PA9T#B&uP&asMap0e13Y^10T*r1paq}ULOnMRWvib(l3tF`T2<`+jY!) zC1keNO>^~XKh?>ptd+VwXPRJR$$OCqd=SiY77S8n>x@LKV9(n%4R^%M@`T3rif~7T z?+?;%yTL~C`~aRK#amvl5b?P1HQRWc4~K81-Z>_{(UIq8Cpps&G($Ek#iH?cnb5EN zhxUBiyb${GYFvE@+TnwJo-q4gU{?=zmY97RLA;V>6ps)#)BK3<5#YP2-kv zr4w#g|2f(JkOu!dWuUowfxDVoeWIo*T+ONQ7Vq(*;UMvSQ2%-E$$yfp|2?Yh#nXAV z>CY~WPN9i)7X^aH9pO*%Yx8IS&p~`|!E!#g)VL*gUD>Qq>vTP{n7V#i_Lk|n5c7Z6 zdw${%&(mk)7Vl-mAgCGBIoW;U%8B&<9O7s7FkX}|vc!K2sRtKSzz zu%-QfW~pY6?d^MXd#4v}udX&$JGnnaKt+Q-3FPvaGF{|0T)FDY|9`&diy=@24*?#A z(TnG#7wDibkfH}_t0OqqZUx)eYkyrGc6uxQiQT$v77x?I_OPLvz55-GP4mM0pYL{+ z9u^T4w;dTQ#y|g~cm2;Tq%;L)XP$S9s|bHCDt+2aw+_$n`;s%l0K|#I^@i2y15UfY0*|fa&^?xgn0xbN` zu-{K?_h#k%-)M}k)e1lObfRwQ?sK0wVT1A zegV3I`~WH3r=RH7-v6JGXoGvMe1XabpFH1b&ki=NgrwwiCzP8ZjgBtB`#xulvK!v+ z!Bp7HkC$JckR)FIW6cPhpOgQkf@v`<*^sFojWaAsFBAM};cg+t=ninz93~-D_Tbf? zKev^pw_vLwXwWaHDwEx+EbEVeAaV-$H0hN`j$0au}57w9X z;jg5w`z|!i`HK#+%d#`>vz45&@g{s$tJAJBaDvNErdM8S#nvEfo4)!A{`UDKt;a1N z2L=$I4+SC?rd^IklV>w3eEysIs*7cXJuPP$)f?s)US1RKjx0$vt zgO_@}1`3I{(+bDd#@jz~@6|@1y(LcRjlFC28K}6vuzcS4L7l+MrTApNGj%Y%1JU=b z&j#epe64?friITJIcc(Y;X4N}yww(LyFKlmbb~F5SZ*H1F>Z$X1sU+YsDO>Si zEhwW7J!q9lbQI)E%S>JPyK$b8RrV)V92Hc1GW+{(E^a(dPS3N}pK4up?3EJlVEY9f zP0e1w2nz{msZQ$-$})^l$k8RIH8*IhH=dcA%#PtqvDdaOrc^J!I)-5$Kf9F8{i1DYi;=HNssXeAq z-OQeKRbDsXTd*z4PTb!iBgz0Y5k&izGvlu+1+qN*C}Evv=jTR42{iQjZA~H~d`cdR z4c11$u{FQ2aL%eVaJwKmIyZe@yK~GMbXq%DZcPTlcs0!=l06MaTH%E+rpj1Jyf^k{ z=;4nmN&S=!+of6Oziav(Ph0nrJv$cS`u&QP+IT)B`C(8Y3-HLdBEk~rABd^a5xreP z>x&CEf^ii%g_C3*a((!Tm&8XXqn(t<)lnkwByL%dD49&S(O2qseXx5OLGU|n{03(2fkcryQB3l;L12#}t+hj$;8FN#swcZ`+f?me&NVvj{7i z>3zA(dM0UwhI17Zrd=Zhbd$S9xq{9oA0`NgYtANG4jkVR`({Y~`q$nQ?Lr(Wt}zl3 ze2+mj^+}GRBl6qTQzel~P@~~WaR0npkLODN)?WyL;|ef(Krg?(4*lw6X|%b<6=i5G z!ciRv##ZU+@^Epd-D`3$%PyAf` z{29QwlLdJDy4&iwO2^29uESvSsL&!OwXPEmW9qz*%jEaKz{KnZg>9{!%W0%vSs3D; z3ExVYtcCkICEgTx2zW(h)=joRqbgVgdV==d?h6nRE>0wszD4T`!<$dj{?i`oy*%s| zb$vYI?5Ur{B&gU)9e(-Stw-0I*zcZ$-itj->EY#T)MBYt^D*5-A4KrRN1}h*@hhwlew*Jj^is}o>9mK{aTqaS_={%ox$937p)^zJ zXd zy0ZCs{VlU2>)0ML){v`Q+>{$mjQ*4Nh!}Hd+DgZuo@?1TLsADFDS!>#NoInoO+m?wMiUH|bXq|&^SV>ZYt%9U+knpK)Qmw>eO+%qBP~usd9H0%jlhqOX3C0t@*Nb(jkFH7f7ay&5>^vOFhvg6|^mgErfUu zV=RnBten2+^+PqG@P#reKZ97-XNBY8$^k+EXNA^Oayr+L2B zg$cMi^H=VS7ymrst1L8UZaGi)=(xYIcr%Q_2uCBlAl1CQf@)#{Y3e-aT2>eaCC z6faClF4TRLpfW67_Lb|^Bz;}@_}t(7osxzP6>Q>mzg~CC^n*fpm|W3|#3X3hEkzda z=a%*2%i1_QKQdIe87#Dli1m`h zoB*nf`riO+{Qb7+JYI`=bsWmf&pYUByF8o?2Q-u=i7Otb%U$`TyNWc$RQ$uQa|@M<&`4#LEvW^bF>6-N31HYV$KCbJI~k)bDc z@ii|ys$2&`!k?1T>RtN8^YKbeKM=`iZZ3{^e|$K~zg3xwCsZT5x#vMsb!xfar>TDV zIFxEuB;`233k)*XSxrO4jz*UQj~Q~?dyX& zJN*f>5e0BU!X|xuu*s5jCOTi7TRWoNsEj*Bc}a+SX=|=xml9dAI^Ib8A*?yO{r=Np zwrdD`RXBc#nf_nZhkBF?2^>ukG5bo4CHE-kh)gT-;m9P)SXND!tJ0HTqAO(K6^)C- z&>85`gzRYvQ=-OAT8vBPE!Zt8R1vN(w!N914^7T5E?!VmYlEYH#k&QgYJR1s-*R_% z*YAyYC37C*M#{BeQmG$wL>*Cyd61kQ1%E3v8l?PCXmibEvNUJ>=~MYY0;YxFY88j@|Nt9^uyYye)zJ2>%pFD+E`LVohngp+gH}*rCv_Zedx!-1G zI%Sgu<0fM!tQ&S*^bv@&ISK&^S%OLZKNUtb(CWUNx~P?zkpldO z^(X2>0kl?sIkU;_cFqp%mUY)ha!_bL6eg=PWXEKVDM>}0H8nLEGklqKJyHWfG&s-u z!a*b)2FOg`T}!&AEg5ml%T)IW>OW!&{_rjaisa#Z{e_qdH&Nn!Ddq zEa5wvtr;6rf>ny*b#*G~G=&kmEy*IGC~F5!EcWnSg3B6&6L?*ZfhI=3a*`GELLq{X zMPKYijN61bKmT3XbXCz=fZ&y`Q?^jsJ zoUK5EAK#Gu~6pzzj$IqJy8m;xcX;y(hb(BuqYraFM9; z4#ayh6O|VP8LN&PoFO8j%48@^GH+}Gv7S&;`*u1P8~q`}pdgB#+-!kuEm1~}CN3`i zaf8Z)c6zPRFR_Co?)(1NrwGD16ql0D7E)LLRRXQXRU2(ag1+^?h9wgLoYJtXk74>! z3s`34sf0ubgpI`=u0X!{P;B_^=5u2TCZ_x8j+a5czPF$UwOX1r+R5w5*X+?6Y5GKQ zcJWl(L;DfRIF{Wow1B6*xkpFYe^`O;zE_e6Hi&}}Js^I;L0%tO{^T8?4F zmRlWSA!d`M_YBFNy<^y_Lxb&KqqSVZ40o-$@oA;)_3443Si~`-`J?%F%4Ahox`no_ zGO`1E4u&(Llz|)dP2YHk3Mct}owRMsMS5&3SXxEY{qC%Pc<{MORg%PxMlW18JN&_6 zY~OcT5~X!(x1w1r&(e^79Y8vxCqtd;b=-#qhZNM}l>zpI0~%2_)Du1| zafrbwmb3@S%%QN((HT#S9A{9Pvz^fg(-7nP5|J)8;&FX3^rQ_ATY-VqMdza!FX@Rq zx2CH`4b_|t4WENF9sToXgxhCZ)(CZ{7yF3b)=fL>;~gzz9~ZDDkY}?qAaLeYb#d80 z6eVRZqnA&!lVXy%qrI?0cnwuxiMjtZP`8lr?jV0?ZHCc*@O3Sfa@XB9Z?B)=>l$Uz z^QPuE9=QCs`o-zo>~a1?z1bZ_Y0kY7#eH-tgrYyq771%SW9sTuss$U6J&_*~F+15M zCKXs|5tl1uVv=1ZH$5IHo@(5gI_%wVcyRcHo*px8upLRPisi8GTcxJL$DQXd;+!&> z(WsLBVpeu1tud%upQ7e<{YJLVA;Pj{EJ~ zxBA8QP#C^NgPfx@S!T|c#)RA5I46$YtXERCVpS2#PQtn|!i>@V_Xy8QiWAI&39D2y z76lPb9Ff_EQ#~z=;3>`Y ze-u~`vjN76jc{0F5J5v=iJ!lCp#_te*$$v;A>Y5x-@6Ml$6uOGupq~` zz(lu>l2P?e7;tDj9I^LD;Pq>iXV0D?8z*>qdF`Aa686FA6zaA=2xrj1l-{)aR9(%@ z{PLwE%!hP!N)vM-aM?8a_#iNEKo};<^{v`~%9}yec39qIs{9-DG1p<1ceVTr z-*_NRiW~(w8xv-pqyA=_b@7x;(}DUmxP2s@3LNb6JvTY3SFgfgn&vm?Gki``(Uh`i^=L7`MHE7C5OJq+T~;qTtlc|W+< zD@C>bE~(!Fx@8o(T{xkznv5X_aP^kg!GA|rfkIDGQc_SLh5P}BAaOW8S|+hSmZ#+k z{P!Tt&4F2=4X;L3-@-ma8SbX$)#U{YEKT7z^M|pg-{Rwgnzb|RoGS*!Ucq2T43XEa zE-om~X|e=m1^TmN#qjR2nN88N(U(=JXIYf*(zaSvs7mBk`WSMaHdEg#Re@wmCQ_&z?Tbw^|Za$W=v7E`+dd7wx_cr&`J*;ge~ds%iC2JBqcp(xhp*#PZF5 zhj4ZjM>SOVW2NlXex<6c2N;YCjE)#@RTS=hm!Kfxx-APX<|Xbvg4Xv*+EOU{`@*i5 zJnC*H;!mjGoGQAW9@MYe?7=kF0D!X}Xv|JX$(T=;(w!Y`=V3pxVDG7oudA*UHZh@v z5klH<1U9BBa6ZA2Du7n}7@KfW?&ITssjG7@ne+fSt-__tRxh?D9;EQIvu$_q=);6gC&f`}uX~VTK*NHCQ zm(M!62N#xF!^>~^lJ}{%*rMn=4`+9mZfa18$!7vL@+ zRjtU2T(7AK2Nn=N&4HW3jEN5KycLtZs0@jN8}E6KY}8K*pm`neH*NkY;T^j*hqP?+h@W=?{Y;T zz6%MViHL|CkXt;H6kh5o!SuNi(Cjg8LPslqX7xu%tJ=q^=AJcnBS9@Iqjh%R( z_}J*LdCin?9&Spx>kWUY0S8v-aJaHR)Y#IfUnKud*RhkX4Cz3~peq#GMi{njgv=k^ zL0+0?BWu>3<*}F@UC(}mFTPg|X>31dKAc=TjC!^7oyW%L<70OA$lt$TpP!#+N{BmC z2CnYQvtY4ORacDHFE6&pgr%B)ZMaZ0>Sw7P^DA$Y|9j%Z$;Ve`Z8mB0LT^wiM&#YQ zN3^tGAyH@Pj>0XPkxbey<}o-gm{{j)pWN)F+OMC8eQ8#A`pwm3N?k6^Ix>g;RC2O$ z3s>wf*J!8#A8${VMtrp8~nEfjDpU zbVAptZ=I8?w?6**$<--<7AE>8r$2F!kcq(6Xf>;vOtRKQj3&Gg{2Mxwg)+gwIiaxqHLqz=3OC zdDN`K#FQt&!NWtAs#hZL`cL^gbfI5v;%I(1Dwv;Y7D8p(Jtd<(b3*T}Dfss7E$2%k zT`Y0lO6ntqSCj8lOB#uPmRq}QzYJ$I6?JiSbzJ%7%be6)Gyx-rk;44O^Iob>c_co=Yts!l~T5 z?pKe*DRG=?$Z`~D{9ZN-uA1`<*#yhIJ5LBzqoUu)_Rq~37GF!DWL0vr7Z~h+>WNE1 z$KqAI!(D=+aZfqWf2HrGhCt=i&$eybuv5ESSIYC2rqx7Qg@u3%j%&vRxRm$I#`~tR zC4MK%@SrFimQWq%pJ`IMIu-u{f6VkP9z{UZ>7P_Wt5d7cN(@EnllIVXH{$Wd#K*j_ zD4fLc_Zf1~BIz#L4Y)uNo!*n1%auJR#l2%aY#Ek|lfCMnDWz4KO8VPvZjFK)_N}Yq z3<|> z%eqake>h+xq;bD3Q)4g6UKrPv>#R^u>UN%cSbG62u?z(gq!p?Y<9=9trT$GsC^zuo z)^1muMdhCk^uwKr1H%UsF(~ZuIt%gcDf!!x-mEz`+`JqfJ^d}zXZfZYxAV@~LUB0k zI0XnJIewKKnVp}`-f{eBi%+$`*(6BdaNJ@+&yf=c$Q7+Px1>{P;Fcxj@)ViK&pbrX zDLnrQFj#7BHT5h6Ma@s$F{tp)E=cuw(INK!?t@D zQq!ikm70qSXBC^#*pzqoR1M81G2V!EKZf6 z>7AZdi5FY0?-zCSj57_s*|E8~1`?HL$>FI{7;$@O#}uAC`G4>12+_W#0bxjaA| z>^+Pk=`HAoLIqnL{+}epa>S{0?lv*XYpsk>!Gw6t^_d3;%HAL8Kh|I9G#qcVs^YtE zWtdp(do+p@O?^im|H@K5m6^ZNO6SJFPKI)yh{^^k^#eH5>uamI;S3_Ts@m88k zhR@S(TnWL55scm-*)gl8=FzHHlJ=ZgO~EQnZ<*=g12dZX+x<4LIv=5aYF=(IvE4oO zWD-DIAB!=b>whL(VQxd9Xaj*JpTC1my9}>WHEF-rtC)_fi$i|>Y1}tTA>sC;y8Fjm zMlQT%Z&SEVe1al&-OWiC3jFTd_%ZE`2Rm}_B_z=%OvmF?*ezEl^t>+<7eM0Y(vT}C;txE=UQ8 zeScMwpSe5D;%nul2YSY+Xn#%WgWYi*J#kg+9$J48#;FzZZVIe$DQESeG7EadEYMmt ztH0m(F@x4QlV^g6et0}iTmLdnM&PC*kLiU?j2)hJXP@Sb3w!vs8_geYDXG4?7;-vs zfb!m!c%b;^R(uFh97LNwFX*a?)G#kO$ZZMRBE2mWE@mA1?x$b zQ1P_3=$Ml|VO8xNjwogSNDkG$Ug33Xhr?dpx)RO+su_-!!nBDZ<2T$_m$ab`vglH? z_rAsp(@JkgMg ze)}HYn(IjzuZbGJMykf;g@c19kPvU0X(V#1f5?c1=-~AIY#_vhaL^bDcK*_(WM^Yn z@t{X^${SU+4`G1f8EiS2zXw0DB^2tEyxj^g9QBW%Ot%NIuvIauMw*s%1{w@xtlDHU3Yb14r6=Y=WS-;IoN1_G)K`IKdM0PR{LA- zhuvkEck}_BCpT}K^NV?GJhWW?nT~L%@n!dJd(4yaOTQcEc0av%=w`_>;nC6_Atv0K#)L4^FQ5CADh4X%1XEDZeG99i*DY?F% zCNQTX?HkOTzj3CDnHpg!_>k|iiX-?^O)7A%80xX#F|te$Yho&lrj}&hDU!;OLnhUxi^lpxpUJ9F)o6WtamsZiNi^sxHc&`4WN5_b{Z zR&^;Jd2T1gt3lBtcJd(o536|FVm9gVE7Cl@;(kqAHc2vBjOS6K{CV}qg8RtAgig|77Xsom#i zf%Xs`F?{?v3eKMR5aWcl3w-!M2ncS+BS2xA3|SIK*J*x`hUt+dW?<}nenUERckR!~ zQGKYHByL3;wMUmW8&$xRF23XShgz4^$|r9k>-cH-eDBH`l0U8^PCP*#733JMB;nxe zjP_eoPFS+f{WBZx`n+xJEU%SnzVnC7lGmj!X?ghJ!NmJ}r!hlb=tdmhbh3(P>kpV^ zU*@=+seC>vV2+9DQssKiY%z1|5_tp1uDy9qEoF;^!ncr7bx)|qV|>~1 zT-u2+Zi0a3Dca_JL?g{rcXHQqu3gm|#S5RGiRn8`u}<+qar2vs;5M&K(}X9;Bv6bC z!@fYx7g^|m8uHX*bl6v!f7dO`-(N$kQ4maH6$*;YSD37`Qnu~p>ysjvs!@>F$~Gs) zZKK1ndmj=X<1B9JU(Yd+ zJbK9^g!pa1U2Pj38pH~6tt0Ey~E{X_TAi5TZ! zvV7~u%CT9WdCo-)$&s<|d2x|%nW6#H(c$ylHT4So{Nb(T&x*2y!wezgWkT~G8KwnzAIiO)arr)-AqA+ium{c7SX&Hq~xO<WZUzhoDG!k2VT^)L9$85L@i})N+ekPdZYc1+hE*i(U;*#$8WOmskOeifUeHifp z)4*9xyWt?RQ#DyXKH8{|uiK-0j*@=^P*k&{wAef>7?xMPW)3d^WHoTr&qEmQ(7 z9(Cxyu zBf0a!w8)1M2FS;2IuSa{b{C%%#pdM61d5{aZPQa`{eF}6nhp{g`?_xJZJ9e_3VH>$ z8X|$=CITe`yNyAQp@!TM&hu>MNb#hAPMiocEuvtX;SJ@dHf+)x&d2**=&j? zckb}=)_*c{6Bzm9`UJ@efK3Q&7A%-r;5Q`K(ySk1t==6LQNP%G+OOq=e^En6I_WTS zg0-^M``7il!?LH1%K--4fqAM(d7kGQB_jFFGaZ}sPHHJdvUf`i)tvZ&GG4%T@Nz=u z%W_*S=FhdpX5=#+DsPf1H&H^r6faf;OEF$GE>vHPoFX9GM9#LjLZMhYVojRpLg+Z&p2ekjG-1i#!pJs>b2XoF(0#X)kQ5kngG zjBM*4vP%+9^$P!Yu1HQ!bvd^u6qtqbX+OS*%X#b0fYs*G zH7LL9PIP9t@TR>@Sx6{<;o8aYra)3bp{b59Q_QLSG5y)IlpwNJt3i zVZZzDFm}=~hA*U;==cGsP>ts2=f7biuX@)6vy6=ix|}aZ3m@%HshO@!R_uL!@M$%V zY$;2rM(lta%>fc5m|$)O(v{51xhP06!^vg5G3f`^Cl$Rw_hB_E1uFy`!BNQ614^jxOqGqrFZ|qlY}3{6q4N zvQj0=5~89QOiWA<(%}(Ag-W!^$;o|*f&q7&W}v=`eeZ3~@3_$~7Kjpx;Vmx2VcVU) zC&)Lm7%aWPfGT*i_8b%{o>5Vu7md5T5uLh2(bW7dMRsms;jM)Q2As&p%PKXq>1L#AW^It2UfSFv4}|!!9D`=8J!JO&~N`HUm030;;&3 zjS(m5Gq`H9l6#v%ASqQLtKX0%eRyrnKGy(1xqq&jL^zb^S%`22>o@J3Z{X68j*C^@ zfg*OwbBsT?<e(f2I{nld(X(0uILi{?0)?NVj>se0{|@$gj29noIHme*}xV2_UK>l#r~VY z{b&w4IsqDihL$+E`p<7_DU&~LvWP$|Sg_NtI6kBL_j3xT%-Aq}-d=~In~WG|ToA~r z@3^TWQD}IGFJ(scVtV6T2nxJ9*7M8p#*cqL!|;1YgtO{OMhAS^p1A*BHhErTUGd*V zJotn}5o!h=>S1p9g7f{!p198M>BOBm!s@ZMbq+$&kzA%{;iqR$!lDciK)@tC?o-co zG~qMP>&YxD&0@Bkp>Uh{pt`-u3m_J{2AA^cF68y}+>joD=b<$o&{olN&# z0(1Vg75u)@9}D03BLhQoON`AYcWI;UH-@qa7q0t8LEbey$)SGA?WtW9D(G(BdCrx% zGSeexZmOu)@KcjhfT(AkgNVyIDuB+}pTi~b>rm*3)5kJa9j>{kw=Rb|>NT-!Wo>WZ z{=DOraqkuU_pZ?^M1R@(eX`f0NChEz=RtwiOzZOW{pKb|A4r*hSr-@dAlO}|I=tS{ zRnT6Zqfy1uOVjL>(J;82M6@jX@cA1~%L+r*YH5eg)3{Zk6 zH_=|F$o^8us`*!p0(s26DQj3=37OElvOmVB&MWJ@PV5Eb9jZ;!gWBIJYuh?pu0-e1 zc@nKC91O=u_n2*lr`83U4>29B=`uKc-D*N=wXv>|W z;%nTWeQC(Y8iA??*~a`KBGm65n+4;vhfLni$XBIYH(m1JS={$c|_r;B%Pns=ug%@P(LxJq_Wzu@nvST z=Knaayx!|@39GKFDdpbaSq#~68h=Q`<`=fQ9_?XPDC#IHQZ*ekZPuz^q*XMYKe;)>jR|oogzKv|Q1UBQrc=&=x`d~4j@ciBM{wUV zjJ|jB6yDijSHqquw2~NgKd1W|zv+VFa5`-RQD*+}rJ;HyU$m<*U3G{=-N)RH)#w)WIB8#s3}iQrigcr(S)=vDZr!%+|A zxT>}NrMLuU@X)$mh)nQStHKS#B)2d7K$_XoXQnPP;UF zB)sn)`b4QF=hJrC!)x)+IIfOHn9OQ9y|DC~@005-e!C*c>6=-_5RFAb0H3EXDl)71 z2rEi4bSnQ7M;h~Ye<&*wbs~MDyt|9DxiZw!)@V-BY@Fwk`?6#ZwiZyN`@^EGH`u%i z7Uz_HhYl{h6C%vxBWMIZwFpp}TNI;a4l%^y&dZB@kybyOi<{AQZ`iegNKa;WpJ-wzwZ0>>r-at@1H)QfcG#i z`3?ntAg96WlyVd{?5gZrkY-wjoM==0AG-4Y1C}i4(6LG_&g!yT-(3c_V0Tr(iKYU{ z<`eFUTk+K#|DCzVaNDDSH%5XSogDuHIp|OTaFnA4q=3LCERE~Z-kR*93MOH{6GKTA zBp3^kQ(8cvFxtHq%iUPBZ`oWxD_xB4R7PRcvJfM4TzF2;27o4TKb7YyrkN7)^5X2~ z&K2vn7_@$SI@543Tg9CY%>55|!}0WBvHSj4$2FAoPz=I;E|gEir|A7SLF;o=iS8_%3h_~bA*`E~=njDq26`}=CQBPpabjD!T!^Az-hEV>rl5KGT%UnXKzL>X9R5eve`Q_jov=HEnk|#3Svs6OAowqk0*zoubo0{T|-(gjN$WiF4ff4kjnK_->tO?_^UNF<*7P6op7mk zLBRFMH}lJq$)?=1F^$IWc|~KDWs&f8B-3L0Ugy|XC8k&FT#FxFGuei+dBeA2Zgn^F zA~r_L%4zhM! zrrsMLABT&%U{?hP<+;Cy(4b+R0?-=DeN}PYC5*WO8Cl*1h@w(inTAobLgv64(R`LT zm??c}<-G>5f{B5WnKZHgbJ*&C+Vs8~ET`>2+O)dFRG;bS})8aoeVioa{L}&&Ji|VBMF%?C(nr3+jzG>n(MChO{cK z3@MCL_qQbn59<$eL|*7GgV{>CXfvrJ;%tt36~AMW#_ zp>`VC5BC1>nTzcqO>A7Y2z6;#li+tet?2b`|B3zJrJ~T^h*>FKerZxW^`tiP=q4EH|zs0W$u|1Xiw_>>s%@sXh3RSPFPU zCj+S;!xn9OA+P?63s8D*h(6?L(}~5usDnVVs~X@{TWDM%B5z60;tDM{Mu+^cYSSnD_EB?gU;m_#^$bW#lV(+cemGR|@10jySML%sdjYFr09Zk5SlIKA zm+Y!6*-3tcg=w+I0B=}8P*C3e5231c_p9X8R9WCSCq5rmxX4$|iDkF+z@d`Nw?;^! z-6Ilka5&~j&;Y{8;E*AXK@j1~FQi;{A<@ywSt(>oTg0Rty;WjLh13CyI0|ml8V#Ua zSefpR5K9acxcsm?AB7cEbd>I0lYtL)7>{ey=e~Dyops&2@ZOvs2;c9l?Ood0Wk!My zRQpnNI=;ayJFWL$B5Nd%a=xOv(`Th)fercIK#Owh zduPbbbvxs=!*kmyc_v%1xctlKRy}nevQuwX9lE35-5U2;k#_Y?(5g|+w{)hEe3-1K zg5;P(kuw=FHU@A^x`LA&wG{SB^Ae%SJL<@i$6A;A6---2B1;Qefs1{QjaSH0R6?_1O(O89+)nsoJ|%&ZTG$UJN^1r zsule8#v*$mM+R0T0s*J|%7G&cT|+FzTIGqgSzhILAyeDneXY|m#+fVn7<6@!=B2&G z7tb}cnSWOCjUL_p6NNS42vxj!W#Vc-g7romHet;^YVI9TYV&OF_As@J_3HD*mTPa2 z6<}{as`85y-953`YF-{R@{5X^K=2298*wt(XBreZ2-5k$Fsdjf-q?^&{x~iJ)+QT# z3N3%g!VF9xl9wtNfB$!(wqHvX-&`9U{#4-~MyNvrr1ZnS&RN)JZz3YD*B(CYvbYL<8TGJyW`_`f!w-*23S3($S~Z#5R=G;aiQ`<}j{>5z%?}8_7+% z*fMUr#WWl6wLQ3RsYT~DYAwTO_0Hh*AUhJ>7IiZZ9a}IDsd>h+$GoxsVBIQ$e z9FcqLQfoHt_7yQR_RdE4QGh{kZn5jYK`@gFcTt^k$-z<%!Yn(#X2@h=*FBfw6;Hy4 zBg|afMfQX*SmZs>AB1hI0ztN|1ENFjA;R zQaLz=hwG!kxoTA-736_S`|^-8M`!YCNGYmcTT_jsOEEb$LW(TByuFz~m(~&!nuufw z4fd&_{0=0R{(Ls{1gj?A-+w>B_vhLf!IscV)0GFV!=;Z4a~;k_fAcv2x2Nb(g0!ARS;s(JzWZnrR?oF~TqO{rmSw zCLJ_OOUvSqqd`Cf3$FDUVb(hlttR2V#uODc=8$68o@ppcUCf9wHMek%|HB`Pwnif0+pGa)W#v zrPy>b{ME;ie5b$0sZt3&Fu?B^`c?MiYc--ETLxAa(ROr4GBrAn{vDL!YhJZshPH~J zk^wF4!tw3`NMF2wsIWidyv=0s=QWZzje@)gurm&bID4gh&1)z%&PRuohq17-ovQd>tyqDq>@i+#8~+Y9%VhGaHNkpTu+aBbHO8!1L}TwO%a5hYG(Zqzh*19KP< zim>a1OSfNb+HrBl@+mwfgdH?e@z5vmaV{eK4(Y(Iu&4Z@Z>t@`|P!+JpJ|`FE0%lq@ViAOeCYNX5g` z^EM`CizXvB5m5(_qm8HRs_Zt$fa~o2^DS6m5F8z!oekEyI)ms@W-b!R;)4p-siPJD z5Kfq=cjEKs{`_`!b~Po=D}5BWg1czfK4#T=JVWAeX#b+*4wbxRN2!vcVK8Qnk5;od z-SGW~m+PqVQ1;E6Yr?@~K(6(Mv$_N1dS`2KB#|{op%WxK91c5=z#gJ6v;-o@kf3VL zH~CfXwh)tWJA@=AK2~@AJ6sh1ak1?i$Y_vK5GyO@_0c?_y`BWKp*JH(dRE%5J6v5H z0kd;%vut)5gni3kD|qTW9|_Q93>*K00+o*7vG*(ke;<0YL(@Bd*{Zy7(EUB=!vXx@ z^S?HiI^iOJGgxOvkN7>6swDUkiZ`hk?aWzD)k7va3k*Iq#kLf5FfvW6@e7l7(=By} zIaEsV$lrXIyI8-AvKQdlsXu>yA~q}k3`5C+k*~5@kw!sUd}yxM2p5j|vJH45 z{#VZH>((IB4=_{>G6o&^owJoo{Mlw4Jn7XcV`txBCx*j!2aTI&{cA|l9335p$>jnM z4s3u*>m!uJk@l$h=NnJsl5;3@2n?nXF==}_H~Zu1>gtC4_#tq0O>y2vuBVIEHq{$D zaVt}~YFauWZ!qD+f9SwP2y?Y-=yuIV+l|SD%Z|)@&cOTC-QDO%Wccv=o-SIjKc}as z6o&#btB_ks?A0Hpo zMmXcPVsQ+SIo+c-@Y8UFGH~tM@4`HudLPKOA)CAhmfqLz;N~OQf&DSpN1^vrFhj#s zt~*@EP0HPx(!9XuABq=E;ZN#EifY(NK#2)O2M!L7^W%kJoAr^vD}(LY#-z+rG|a11 z1O0)w{Ey&Sw@9yheDan3fmwn7BQf!(lJx8Q&Hkt+JD(GewBJ-ey6!Jp@#)c{TOQ9z zuf2Uv5g0N<8M-=4u7jq1{V6U^gHr-ku>RrrQY;~*^~gqz-RsxCQ77BFyO(}{zVSRv z6p*)_zkmPI?n99Wh)ZB~#{Vf4jaF!RPFm`i+}!S+?Py;lk)%ZY&h!rsyo;rI?#b49 z7lR^KCWXrdHltSu!`s8dwUt#{S66a*c_b)LfH=#; zH#0K>?|>zz4$G{R6oa!%_ZYd7*aEL^EnX;o*;$`?3Qw}wSuwKDzkakuniDgUB;)y- zvsFlL|D88>gjkM3(%>q0UBq(c&fZ>wF0w8eeGC@`VmNIb9YT;z zB0bR-g@UrNF*SJ1#?jFTAkS;F5M?>PCerXBG3^FcJ zAV}^5=1GY%G^heRp+wnry5}dm-39>+U3=c%-i`vS+UlB`_O>=nh2OH2RCPTESsc*nZDEOR7t_>U1M=i3I3=#Kd%hXF-W% z))S3VlkKqua3^VWohhc`FNhR;<7I~sF?D=CV^C5ad3ZtA>=>vy)&_O2v1D zP`stKodJa;Qi%lz9E?RfHga6SnsLmgPm}FcdWX^b7Ykzpj!uwD6pqyZj8{WjnrRfyfdj9Ld78x3%BC z=EmLK(6-vDbfSOP_I!wTBBZ%Y#k!5I7-#Tx@1pbiV0o=`Rqjk^&`yIdqf<+`d#D7r z&fJCG>IRQ~gG!#Z#VAyw2_ zcDg6`NF<%(l4yg^O* z7(2m4U&_NTpHo?#git8pi<6TSr$rQqj`kfi(kKfxg7Kh!*T2w-154OgFL=S zksZvKi$8oXD;vpf`53Z4nIxfI$iTo>gJp)6Kat4L1{v4Gp&5j$u^)thkQweVen4{r z64Qq?n#Oe|OEGV`ohm^W9_ird_$?x$^}Q5NGbDXcT=r&BkD99;_aU%HSI!BC5nVoT zM}A2^e+R)}1tMMt4qe!m;w?+p%;8QRx2ZU(wB;Fs>K{`RJ;C>?_IUJoCeL>FFR%A* zt6<^xQFgq}uZzZ;v_7$Vi_Z{vSEs#G;uhA(-h6d(z#+n-;h4kE3(Z(*&k83s2*Y4? z8Tt?KPHxxgG_&L)n$toP38r3sG769t;nsOE8a}?Z*pBtUh$z=!?uX%4RSjldm(<+i z>R#(IJ_o^-)?=po>gPu%hGZMW4a9feb67O+=${xKvg{TMwVg2sTUq|V%i3tH7%#Gh0(c|f6nJ5~M}&o;T8I=~lT6_4 z20jW3pw~fEudg8!cVTi@FQFtY5c-|NPRAD_D{`u;U36tr4bVlPZ*@u|`bC&1P=4w` z<9IC+5(39FNpbPTUp{1s>FK_p?%szUt@1`2ASU92lmI;Jh4&9oko0oz-$n7kByBJ* zx&Ft3{h#C%pxR{jtIK#zF@R{G^wT_BH_w28z)vplo-9%l3{4n_UKu0%J!YxSu6hJI z@A1t3KKlB1Y4nL8E-n|!%JfVy&uvQot}U+h9P~S@yQ5vcJ>4}YCbGDs(L~Uei1A?L zkz`zf)0%qQWUv6^Wsegafbw4%-wq|dlCV44xoTAz-gsi3^){4|fs72BfBzQGM>o0z z2A#q9>o!EF3-fCa$g)$e0xxZh^%q;Mual*WT*dqJi?w@kt@r2WhS$cO6F7auzWw6a zQ$3~eLtzSr>4!oA?|5>ERvnFW+1KrsLgRJzi+5LkRu=mX4Q52KmCgPU4#|u5LHEKY zU2cAR@fN%#i5T533Exj^lyAQ{&uiqlUF~_G0m_C5qkLsu+IFt6PpS|Ylkyx-a^X-h zYS$V2St5aiAUBqKNAvOVTl+SZuk+*+Wj$mwe*d(tE0&5Ykmh?Qwl0L0xVGw`B{1e_ zkn|6iL)Eu?`I6T9g-YJ#P9qjdvDtJqIHn&oc`9YO1}DwXf&s<;(tp6|iO|>d{ON(| zx0vL-U8{pjIQfX>Wo8ifSy@@FjN}jxrb*>l%@4v*_kt-MkX55V#JjgQm7s_7;6YnY z585BlGd@>rZEf}Wgz|xv&Z|71hzsG`;B`Beb7|)G0?3;|x1KBd_lPnQ4ESJ93GjuI z?j94$o6IQw{*!yHiDf5I{b#raCZ5&X_fOp8nP0lv+(21FGgK;O3V6k}4>x9alyz=w zBlpf>hOCEV(qh<2JBbMMdlO6T0#3rArHz;Z$@i@ExP!j~icLONlm?~#2#M87X&v<8 z2_D~|KmWRvQ25?}mgV*lzhlpAjHTsP$yeed+&?MueNQ(`5_|RUtFN$NNXD1;u}wS2^$U!}v5PZ2oZeJrQva4aLxLn;i zG)!&DKHa*)vUK$av*JZapfd)+q5gHap93#P^1AkszWbKU2jh~nec!BRiE@gT6+o=SW2I*)!A>+4h6gL7;2N zlQ|2D=Ap*ckU#(gsHN18Er3H(I-w)^EmnWqk+3ql~P&|?_ z?metE;gNpr*DSLC#c2(#e73l5CbrvN#oFPc_)Uq18g|EtxV(97TGoeB-6Fc+Kh-Pv zNX%>Y61gPU)hucUKMs!l29wpnt-nLfcOsahU{U+2Tp{Uo2Cd4 z+OJD$=b5nk_Y;?56l3!D-`$_Y!rMFE2%T~idn9!?!+94;vhu=4JXc%(mZ0ILzux?# zhZShD9NSC)%A!CUo3M=cQBDAs#ycT6UB)h&gCTayDVx!TF%|H;>qT|ze`0Ruhom^u zc*80fsDgulnGms>v<+pv&ypM6vM6wLza}+(zr*82AP?W55Su1=(T(f&X5Q+XF!Ckc zSHk(u$}r&J?uylZTc$34Mt|btq^;r!Z@NcBno(5!?%7ed-5IH3F!f6@Q47e~*xqf| zZ}2Qxn()6n{0&|)rtucM_>LwWkU+1ycC>~)USH!DBNNS;_}006fy#n0ETcOAlRvphW9_K?leST<^!4qyJ=kW{qrD~eJBh7BM7;AQm#7MIo*GLz0 zS8(<%^MM}__wL?C9-LUn2XOzWk617TJY>)x$^LK-h~n>Y;-i6Te7qNNuVgBp&QHZ$ zWDapDf?3_JyW)jj|4>fb>t>r(wb_Wsw5f*VR51sOLSR!-#}gO8)Q!oqU}&8~&G2{3 zG5J>Lc>QnsYXT#~j&5eA>tdvQuZWMzlV&9vYi{km-=9nn)Z4>lxz%6jsBx|C%1Ha{ z*W*+MD=OvcF{|JZlzT)a9w&Ud7RNuLf)(|4*1sh(|2-t7(XT(H4N3{$SzWvPKvtAs ztm2&f2QTS`bQZ4og*is+AT5a~%gfUm9FqwZ>H31pNYPl}V{wWQDnRIDusoW!`zjqg zxz$H54Rwu>j=A^xm{ieGwa)|pPjO!vmgUxU`>23|bVw*INC?s$ij+tQ(hUOANH?gY zgeZteBPk#t-BN-e-6-8icSxOi>-&D!`L65yKm6Ex#n~V2^->HQ8 z#G`J<Oq0dr6%*Em2XgXB#)`DEM|G5hn;i0<*wulJiuyP7r36jH1sQo z$bum(*8Zj1sH6MQ*Jl*|@9Nz7m)>>w&_!O1^1D1K+6A>*MQP%l@)EY>-QJ~)xpOM3 z)`qC&un#U_uv{FbZe(lmWEb4*CCT6}N;;u=i%HGUm-;a&JFSt`m9snTaTx#3kjZ9G z_4l@p;+=&hjHCpzn0^Dbu4=kdyWPv^VaGIY>58Mi2l@ALwzL*g-?E?FeUi{t%DGlB zM*sJmt0~v{czf)xVpfzBu_>e<0VaJw+1%U=l`xcR7|kHdpT= zu=xQlRmQ0|^bSb&)vBJzg7Z4H#$Q~|p6_L<#xPpU& zKF0mvj9pxOGD`C?EUrv%fr0oiAhH79e|S9iSEm=&$DfU~-?0PY*@sTEkkC*I_)Wan zY6HY+6M~AcEbDc(iq3da!B&cvmPc&Q=1-vs!#*j#cNP~H_XA2Duq#54>l$#qfM5X` zazWi$TrBrf0JT4exO0J^XMZ3Otl5x{2yHb$OM|YlX`|jGC3Ss!MFfEg4_YK9&^1b; z6i`eMxTmXo1Kgm3sC_zv>QWj#&95t18p> zYf8_I!C0dPX3axV4r&H$kAwAaiH|e@*Doe{b`hl9&h|h5Eb@5# zex(V2>9$cz8o{6_HWJ2kpENc$9-i!UlMB1t2HVgysE5%mUru|(B+|}~f|*+{xIpZK z=&%O{Q~`!+t2^7fLq|^!N}e0SF4$T95Bf6|VmY5k$FfPJrKTd|mEiEtL8D|ox8N%s z9o5O+-5@v2@}BUV@Y=Lq5p=75DZqkK@z z$N=O8WMM#N5r9khEkG_u13ze*U*qWjh;PXo`vCa_!7EzuzO}%f3^98^%rgW9$>Tev z!7>3hk|=;hvw_!bnKZf$IsO{AK>Xc=W@^-%H_s(LrT{Mon}R18U}hs8iuS?kwX#vo zN(Y8yuWd~5rdfoF2)ZME<#q;8e%}N06OG@6u4})d3!i-728s$d(x}YWb=Ml6*#Jx# zl4ryaY_WRdD?KkSNq|HH0Le%TiHzF}8*Wb1i<|%gvTLow`#z`n`!9{4nz|t`_LxwB zK9Kz??kfg|C~ut>la^&VS$|!bmFOt~;=!Rkb63oYf>d8s6MmKtOjQ6I1fz%ZCVC=0a)|DJ(;Z6t!d4WRyFY%hLV=OY;7H(r?uVaPl7-ykol zatBDfP|23eP$P-9{W|6Rh$+GYp+5rVB~t3@ z*B}5^=;kj|CBg5I1=JEc1c^e<0OB?qa;P4>LC(tsIYv??qXIf@X7x|;BIDW00!N_m2t*X08t(fG@n4louQ(J zEP#YAZ7G-R*6#QonJ^RD^XR&{qCG>}4N;0|=HVO$zq6yU9gmBy4~0q01X)1i#F+wL2#zM_W{5Bw%3p@tPV_& zQ_21|@8EusSTUHV@N(x_+j|Wa_2h9ht=vI<^ zDN_2;<&H+xKeDscOKZ) z6h(MuoXkH((l_w}bqr>9vr+1Rnr(Ni`?gpJ3^U>O>4KiNTk+{50`NFcR0)j6XwXgy zzM5h6@IYbwv+3`IuCncQ&4V!PAfhT!=irDInZB>D2%ZnzW_@zLaZ@I;L(<>e-N=oM zjgD3SeIX>zj$f5-v9(M0W9W-`DtUL8k6(9L+<~mBYwnl%jfLiZ*TJ-T!L=I#${nMj zj~}#^^pzF9h07ar(?!Wq{>K-t*%cn#8+TfUQ;e7L?uFH?trEW5iKbRyo_;&V7_!H3+FzWgTRuC>dX*(6Z}L5eP4uC0;2ySd z)4JCmr|rd8w5Bn90tt{wa)17n6x6(s?s(NMiClZq5$DdX(BV|IlS=Vt|3fRy9UUr+ z#K^)+D_mbf#i{cInqtJwF7%j=(I(YqQ3-`dMyRJ3FXWk_fH~#%#E1pndq0h4d)}JY zk&h0p)r4is`_q7$LXH3&?l{jDq5X43B%}Foffh+jgOp-9m)@OF*%>#5Ex?Z4J}YwC zr{bQ@)8K^9AAyZ+1UNZ@5~Ap{sGn$d(0AL{s`NEaA( z)~poTy`z%fXgBU8Gj5I58kJb4FTyF6kMj&EFtCu&E(^~-SD2nZZnPMb?VeHiDRP?p z__G&x%j5IoJV6oh8ZnlPm&4c6H|HZ_MUDy{$ulUn)cQu^a!M~K*~-t5U+pK&n6Yx2 ztkM7EWf+6v>$2|pL9`T;%M`0B#f0X!b3pQ@h{tJn+qM8O8N< z&97d91-1JWaJhBF@rG7ZRIvW~Du)@hk+*?KbNh%nK3@BXqbBA!^XP1J;R2F`o-wuWT^U(L#o#cq0Yi9`987oHYQd=iK^?f*-zj#Eb+-eUzq3rrthtsiSBo3RKd>`m zc(5AQdwO5<@X57Tzpp{OsMtwls!w4(zsJnn^dkw4=xQd%x(GPQd?%FDOekM4qb zB%HWl?e|rhWbYzxx@q*J#HP6%CcIgn!_(FBRR(p^-#__ms~aNtlrh$Q)|kpm_U0Fc z#KwM#;%7A0R$qP&_)+lw9&w*m5b z(Xg`WzFaETU7^C2=VZ6?c)@MZo$ywPjWtb=MrWB{0Dxz7)%A+-yys$XK*4C?*ro7A zF)hX2KZ(fVedz0gchYM1b?#CwSn{~WbX{Gyp{(ZG&~n`l{!xS5ReL5Bp4#E)NXs0n zKEQ(ByVt$%{dL7rY!TzSs@#Fq`u_&n7*bSh^g10$)E-m3fsOz)S)uXVV`Nk90rZMfa)f!B!5`{tj7B2bggA*8ZGy<@7P6X+UtH@mJGfXWB79(-*Ju9)4s*KnFZg4t!BR}-Lr@i~n`_Xcb z)VZq5RHi2^j3Hz~R^Vj59A2Otkp0d3lCEt+%#rT9zE9&9-tUBOTh`#pRTkjsW~0r4 zcTd*BO)iMm1!L5&;k-bq#Hx30nUwoU2t1L-ZDUYKO7|A%$uu<2J32a+sX}0Lu%@(h zg~kH~4T^;f$lc`=h4yj|hCd~}7FWC$^WVlthh_8gGaqk?+;QjL;f8s0 z{LjsnuJ$Jhe(!}gnOg7qaZY6Ez$@_>VPxQjm zN3_WWoi`c!e=K;Tk8Le0142Hs$_}3*4*n0>?!rPNB{3F;fdZNfbCY|&m+-LMJnbpq z2$rqhnX6mjBA>`r%=mHPB+PRE<_B4k$440?88fz6bBm|wNDO|G&EQpWg8kINW>NI3 z8olTRF-yRymL`UVcMiSF(UAbW^J+ESEWy%4vWh8^xEl?4J`)2a&w(%JrdD1pq zF2q>q=Xx=1TRc~<4n2*&`X_<)=3PJOJVSW>hM4KXtQz@=M|vyK$mUS)Bc`bsajdph zR&n(Gf2%N0#ige858vO&e>G2a?$2nXFHcR>;H#c6-8BC+7<+JQA`Qo4Ut|5{x{Wva z$j{_q(saWf=E~Ux8XvJodO9?S??I!=dy|Zr=A;0Llj6Davu}V~@yCjH4X) z{Ui^sDj`3H_^}6Uta4{sEcH6g1D6|*p1BLLmM=OuS{VSmMkhS!otCS{O7^oFcgMFi z<;zF|k-cfTaqX`~mYhr{#=oQtxb3;6fWM>*)UR0p=7F*r6kqMyWOT=u+q!%dcn2WC z0gB$SC0S0zHNb$Cj1@yWrIOoZpp?2&Rl+2mhGuvYlvR>|l4sLZD~1BBt?2X_ z?M@CEKH+fwz`%C#m$|8v4ao!YDSN!Dwu^UJ^pg0_~iB12geV#fi=a`1|B`1tt!zyFQ=W0>?m>TTqkRO!E! z_kUirMEn2$(o7Ky*xgyqEzmFBF9+NB#(=8@+Q&dr`Z#o%`E`~StO&k1HPdI6+Fou& zj`N_7T%H`O?%5PmvHEUadeF0RML-Q9Q~)5_+g>*5JWWY^0*tr%6;f6SZJqVFJt zg-4TP22?{6vmcArw35x1-fw2UkGnGwfAP`KcgCBK8{i&_u+8&AwX%Qdhmr?=an9Il zXld`EGw(wGG;J$$lO&6cNluHu&yH2buKrESWkBN$jkpU%01)zu^ z(T6Tp5lq;6O)akY=n+2j8YE?8F6n;xtO~?Kq&ESM&>5hsO8TCq5HGE-PX)Z1Q~-7n z-dv)vYY{l=TJv4E`Bh@n`i2%v2>#mZ0*OAX!4T{-JNiL9ya+fF!h3`C0}=fIBnJc( zrQp}EGoN-Rp%Ba!s0RH20_A!$2jFYS=HaS9vmq+l?y3AaKIE>8iy=E|J_KiLsR1j$wtRM)J-O5kxuZje0u%Ogf(9BjpxA2DE1sLnrTp?q!**)>mP#&fwJp+AZq}X0D6$h{k@B*g z`8-Y>b~l?4HboCnM}H$xzmYG($zq8o?#8V@`MSmU`51kiLZJT+t*{yauCQx3d#HDs zdL7y>a3ybZdN7j@Fg(9}9PrN5r~Fj8RVTEMY@|6E8n{el0_0;1&u?v9k;<-^dMJ+^ z-1V(XUp35&#y@40u9_0swNXEieLCfu;dq!WY0pxdrB@e9s@k?nD7o1%_p80};;g-Gr!{6B0V^!(eYnPa;vp`W8+3U%XEJ7JjR~}+donQhjui~WOxua>L&l9oVl{~MCeBTgJk&I`e zPgby$@76S!&`)SNp3LMn)g&vXinz%(`eV_GRXo6Ur9lE)Urx+jD8vU=)YXFGD6>eA z9;tJSvK3Gt4y=hIaPl8QmzemP@QCjiT7{n=)P73@D>|9B&>C3~y^dZFKl$O$UAK&a zPU>5s?v75E*4GGBr$;nSA|FmFo_Pr|hXB!KgH2)QUF}zzfZZF{sl_RqbMgF(A>D=R zReeNJ@gpT{_u&G*>9rtw%~JZ9!8&!X&q#cew85vQR)P*DfV}tf)PZzBO~G#~4`lRP ziU}zYA|M*X@!Kha{^m07jS54pY@lV%Y-}jOPPii!2-AKXXT$lCeN$6YL&jl0y?OH0t1BMX8*)>5$8zn~s{8u`=F%ev&P zuk+Oudv8iu#nAET8Ne3sN59<#y2~Zo-8+sa%{+FW77H7kEp!dOFP+gsDoxnmzK{qF zS+~6ng1M&NwXuVl!)X*rd$a;#9Vt^nJ0?OCph=G^Wj@arj_0=HbM|1j5a1Y?J`U)2S09YkszjtlZ;T?wx`&2|#* zLqA5)>yQH`!h8h!qgpkSM6e~&|0ZITH-tR{N{?+Y$W^O6n?NI~3~;F`b-CqjO=()c zQNTc$K~*98!BnTn-FpAQ*ReNJe)yD$@yVSHU%Yg10qfw*QQCBO)Jl*mpUTrv5tp5H z|Ll5MT>l1vbW+7S0p&hv1e*bhKcBWLrM#Bm|6NQaepuXHZxW6DOQnTNi3VLHBKP za*~LNDH?ie<>d$H?I`FtMBP$i1ncNYpX0UECz}Tc2WSFvqkX@f;BZ3gj5AiAWJssX znjDB6@(BWOK?j79sJO^%1)6k3GXfzTkd_$=Ral0_s(0ch|HD=JEjGtw&#BXSs9vUNfI|H4Gk()azEDRgQ9JO|I+!Pib-C^?r{VGga3Yy(6rzefcf=*s~ zM#fuc>%p)BX#N4em?W)N7IGj&Scn_s=kJdO`XTfF%ud+3l<8Nnu#ACr47Xd6JSz1a zAPgW;2x__q?6{Fi$6HUk5*myPfuSYtwylXUgrO~G#1#uo>Kj5%t^LwQMzqi%0){2r zg| zoh;m4%)YhtU(-*Bk#~7PN$nS+r1A9GV&@C&rPc1|U1v}j@U)kiI6l-lSPk{`7%+0% zpjl6b^kB!x?bN|rYG_c|+{Hm?RJyj#?D49wdI!XRa(5ldm#2d#_C+5ur`Jty0>W}= z!d)w@YTME<&*jFXQ{L@MStIP`(k5u#lJl73PwB_7`F|4m zi`jsWjIxT#OW4NNe8saBQIEBr@jSk-{n4|`#GCr6f*+gYP+?DHA>n_?|5yKd%j6Ff zJ-2Eu@Ql*jhN@M*i}q$~eD8hXUeFTwZT+_XWgjL!)8E$0evt-VQ0M%(yGp3A^5K!s zc>K4T0$+Oi>fkptb{@{*3lsO&@_%XWd5D7D|IG159Y{~&VRo=Ruxu}KcpX0bdiKXk z-+i703N|Fm5qWs0OXEE-_$-7$0S~?DLKy1-GC`dMLExKkL+Syty#6#9JZQq#LyiNj zdxW98GjW5G64A3DdPy*P=;?W+bRBXUGjQQYrgkBHd6-S4{PwsC0}T!T+BInymXQCe z6neFy{{R{p=-D$2j{gtU=WwZ8@tOr$YTD~$By%GNMx!t;Nu=AaMgWluf9c(jyPat| z_jCTTT!trR1Ki&`OP?Vho^4Xd^ZKz%LY|ZMnA>jRgew};HNaT0T;c$QA{%}nc~7-W zAa>uB#ap=2^?SuenW30o;=SNH&!Dh7KCP0u%00Q>^JX`6^Zy3{d2qn@^<-Oy7TR7; zHd=dmQnh<5#8`*(5fWb5ED|T5ThwZVjoAlYnw#{egt?LuI8`jjY~0?mO-Fl%g! z{HK)lFP|`l(THeaM%X&dx%<-&4PP2G?mX(Puz$j+5U09sZ)dl$vmRpqwWz13hpWBh zGECzzI>m)q6F>LTAbVLHrz>&Ym_P^}W3!NiuoS1YPJ+>!)-tr4b09xq{~l4j{d=IJ zTK@UPvB^ka%sx3~cYQOHC`0$*XwL$Az&D^F0;}g%^U{W0hqrI%Zn9zK9l0mHp}mKm zxj)|3{kcoF!6w+*#I2YzTv=XqW00Th*+z)6iOc5x3{OZ0(zV;(*b3)ZI*X0wyZ6-+ z>8T~>cNw;2T0{TgemqlCGpqXDTy>5jS4!yW+%qa{D(*BtC=-*{K@%NSW2<=f(dzNf z1Txa??Ng(ZN&YN%vvuZY_lDKQL_}!P8=vr6qFo zCvL!HY3p>}P%Ucl+vg=dK7uB?a&EzCL`JB_THfYXRGT2#E`^7)O=I{P zU9ctomHJn6H(b^q8qe(A*5)eRB1hQD>_}%IhIe$P1#BJ4zOL7Y3&|=j;yd9hTwEWZh$KaK_mX?;4 z-}76Jt-wMM&UT9lS1+hL!E0eg>yEC9O5=}cR`=tza=2i3Hzt#{ip})i`V=q}jorV( zA3EN=r?;ldfVbh#(YMcr1ne-O>K=Kt_Bq!gtZsBZ>k4?GzZjq zAkC4>sB&xGIn0_cxMR{vZ=ibU)}HAcyE)bAkESLP#S2^Y=T5o9(o!r|yM`CnGFJGP z{ZUYdi=UrxgR+JiG_QlAH)t&bLM9Bl=Vxaf8@8`9^Tm(++2Q+DZl?q^R;c|;!Jje4 zK8W4tO@;OPx5$iFH+08#=StnjABu;l?NIv z=S6*eePq@OFvPZ7=_9_Fby84yu5to@Sv#Ems}o;54oolEx)gvvpU~y_Wlia700U{a z#=Jx2GojUy&(}UPG@Hz632JF>VK@IcTu-4^ST^YsQVEcoKT~Fj9^NgAXx&5+K6Ypq z87i{S%T!u+ZSbJIHzA)q5J778nT_;QFm_!DP0wBq$dPw}gj*E^c>*?Y8472c-VciU zuQUQ2x$e6{mKf*0({dkYvrj*sngz@bKiL!&6(J&e6l4P|L@5Hpz@(P|@|qyXgn{OB zhcq3cIznoJl=N*v0s?FB@x2EISj8BBBuFY4fsO_9K9!+1hB;0hz^?}b6dqu0%TT%d z1MpGXXump98{aK<9Cmtq@K{w9Oiu*hzZQXz&r*y%-%M&?0t_;dv%^`KAN2*OHgL~0 zBLl;rG`;|e9YYwxWIa(63qyZ^M+B>gJmzW;y~ce#BAAgAPFyrx`x^NJMC{K-)<({; zR8HQKc>R2Gc*1Wm@#!(Rw@Bp<>hDxC2jYaVMMX8H40B93#J?yOWYp%x$#}GIAm!!Xf~QD(Mvk*$`BUYp?P_)D_FGiICpDLi ziE!}e86AxW@WxX&_fZehCC$S!rpEcs?6r5c$J^bYT)k$#|eK zK^4DmeJ=*)eZk{G#zP%JGF1uusvkGbVLtg5=;bdw%2K3+h5Qc6E8y$lB7X_c@W{ej z9G-Nww%*NCCxXEjF)^N(lVK5H?k`zLNC!jIf}#xyi{e9Cee(aALUb!g>Npu>sY|@M|gs&C)FnjM~7h zG}}za&mBv|61oQY<8>FIR%USmK2&|J^Js?Gh^tT{l4^r|rysOvFv*h?F|@F&J8dcM z77GRDbhL&(EjX{}jsuw-878(3nM$$yju}{GbcORzT&W+cbZoy-4e=BnlqghQ=Vu3X zM}Wa-0@Dq)ZW;`ohDFck?0KJ^WNYq4%~01B4Ndf{D1RF06bHF^`%x*6HUy5_80N zYUZs|isw5gKB4DW9}0C}`Nt zRNX|Br=Lv0lL@uCQ(dy=#Sini;MTZ;hxZijh9nnw2gn|JuVV{I;tuffVsbq}ea>w= zCeXc#0X82=?hE87xNQ9gJ@)S(!5~kR8)y)Je5Qu+lT$!Dzc>|d_qD-HSa^**1<0Qw zr@Q^8?_UBvxUbUj>DgX^FQ@zV9M?l#5RK2qDi^_h{jiErVt_A;YfUYGRx!?^*^G^L z(zeDeKu)e>FBME-htQZ&T#oXnBt4NX9NBkb`r7I_yC3?#a~Fl??{fgZOgeHNgwV?E z?`T2PQLc&I%$O?GuG68j|(UczQh8CEU3rgOZ+1d70XKE4>we`a{Z}2DF7ZV*K zVsdnbYfT+2P%^pmg~c;^EbLM*#)CV-n$Ikk_a2s?{$s`h zNmakQN-CX@KpXK?Jk<`P`t{1);9T0o?QUgCz`Z+|F9Ps~Z~gTgU`rdU5hy88RYbEO1<3-zGHJp|fjJEe|Cn(u;qv(EhKcx3}&R=-vz-g6Mis%myy z^LhReAtAxR6bPtKKwg_P35ZlHcp&|_@mTu~*d)Ar_iktZNues+ zZ+$6ma3sN{tlHdfj$ZqVRAN*i5*R)A1emLTOhiQo0i7_cNzG#A?@=s z2r(W|dD9<`j*bknwBH0NFmfMsm+PO@J2E{=dBpOFh4_$Zhf}aX{taD+W-u@#vsLx` zM*kih*5Gl|1y`yN$dnUp zW~o&Q^hNbOelwte_6e>xh>OhXNTDBumXE!yeLzqammvhcsw5jSR1boddT#Xj>4vXb zJ~hE~7o#tXC}kBbaqvzMa>j~kbNabv14TM;b>Ze{M~4>nyi`!m){q(-O^PbBayHMW z0gAA=$WV<>>5Q~||FqlDa?Z`a@)Yx)NcQt*a~lOBYmkcdWudl1#_MbS0*} z8L|T1X-)uANNgRo-}c>=k$P~zQk*Usyb`XMH?^>!7H^uNn)Ar2#Jofw&68y7d~Mvu zn%J4@^5#a@Y?orTbwM8G5`%;6aO1^H2b#B3uXxY|2$XTrjK}1f@A4X6NHeF9x?|3q z$=i_gGd(<0Az10b+t44|7+V3~u1LPdl1jPvYr99i(zbl9O!(lU>r&t4vH%;SPi;lAH=#-X=eEsCs^)1V-VT~B~ zIkVZxc+!-TXP7mk=K;L!PmS-}^0D)k&J4~JY)wXyzKKkyx0BkS`_^Ow;vZCgY3cs) zDWbD@3-*#g)0yd&p>Bp~|9RHR(sIh7(&NjSh))lD2L}8>O-;|wPpYP-cAqNwc00Uq8Rb^1 zud1e|CB>`I@87-H1Vv{!pp%knQN|EHQ27|w^$UjoeCFll-EmS}z_e{&wLmJrQtSDY-0>PN2GS3C1)o%Z|D2h50Q zYDzl&Uij2^^5Ji)BvAr)RaF-tDJJw4Bw z7%Bpd47canns`!2p2*&lB+detBxNnFSCF|~gCvT<(#ooLWaJ7wO+X`I+%FMW608;1 zW?9BV4y}b~el@f$qyZ$^mhmr0Lklornparp|Ct?Qi>GS7r0GQb?4={sCzfoHx zgB#4T#@L%W?h@XpUvrs-JqZqcl#VIH(xM^iiyO=k4i9)T&NUkc3`S+!B z`S{FNU5e;Fb^fdxk|$@?{tF9ctD-*Fg4idyKUtY&B{nu4l+kl?VpiqfS5s>(y1^g7 z?b%0(rQewxl&r)vGxAFM#H;ASQ;!nz#5kk+HM#3U6vV^AAjpA2iLOi`jt5h}fHXTh z8}*!=+bpH1h!75D^U=;CR3`Ogz2iHnrvEvDV(v@ePnSx-wG}6Knx?x)77%pEM5$VQhU>RTVx~ zfMFctnP4S)6b0_A_|sdd3?Brh1QWJNZdWa8n2>QLDBdC@BAR|CU|2p%`#?oEkl5() zIX0d8%-LHixjSHV$;85P@!8%%pb?q600E+{IP?;$+3kA>F{_6M2LQm(qY)7*JSROF zH8m2klg;~(EKX%-B}qUTq05FxMfy8l{_xgE0tm8RYY~8;7ElNr3)t^5eU{xx0 zgBxy^)nBDoVL9?1L{N*rhO1g6GdXt2#gr_NMEx6UATjc;c$lVBB=FIKQ?E!VpCvGV zOe-!f?tUYoOw1H=QR_WzJJ-zzGuR=*vJe&ZeNUYc!4{;insq*+K8Mqn(Jo$C`7kqM z3=JG(sLh5x2d&%>NH9H#<5$IPe&nG7I2j`F4=pZoPvS^!A5D1sU3U92Zgs*mzO1I@bBvA=oBp1NlFqY zg7e40ua;w0g7G%_et(O&D*+Nq>+5Cu(?XY~$w{YUXs*CKhH|fcw2cBu$->^@)6y(N zWOg)Wb3y#8@H2dv4Uf2#Jc$r(iT(E+oTlsV;iJhCQnS4ZURt=qFXj&x#>f}b{=e;n z>?oTTaIF7*jbHn}{+M?84V~_bSntoT{`3D_!%%xEIL5_-f8}m}iDvk#U?%pxRR$$^ z-hCi?=jppolWGJ$v0X;BN#AFGyBbJIHRDWDJIfN-vN43vK|6~d{9bUY@@0-)=u(wC zHxAOiex-Hb1N%9 zi@4sTz+iJ#fNa1Q3M}2Ejg9I4b5uQtFO&3Q5ZB|s_q_5FrKScRj$~I}KJV)4YDjn) zY(Ah&jE;oR!M9Xc$j9yda^*6KA12fDdtK@HQUpb}b&6SFYMra=f#G*KNuC_oJ`W;k zLS|&~0+0t_K7!4cf(qn_l8C$se|<^evpF literal 0 HcmV?d00001 From 71dbed66143f3253dc42a1fec61bcb68ea90e2ec Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 18:33:26 +0100 Subject: [PATCH 031/117] Add slides from @tchellomello --- source/help/index.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/help/index.markdown b/source/help/index.markdown index a4fd646e4f3..a96e06dec5f 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -29,6 +29,7 @@ Have you found an issue in your Home Assistant installation? Please report it. R ### {% linkable_title Videos, talks, workshops and alike %} +- [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 - [Home Automation with Home Assistant](https://github.com/jjmontesl/talk-hass-pydaygalicia2017) at [PyDay Galicia 2017](https://pyday2017.python-vigo.es/gl/) - June 2017 From bca99472ef981530416793c5a050d7531db9a975 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 18:41:15 +0100 Subject: [PATCH 032/117] Add article --- source/help/index.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/help/index.markdown b/source/help/index.markdown index a96e06dec5f..7435abed2a2 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -56,6 +56,7 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/). - [Smart Home Home Assistant Raspberry Pi Installation Hassbian](http://onesmarthome.de/smart-home-home-assistant-raspberry-pi-installation-hassbian/) - July 2017 - [Integrating Snips with Home Assistant](https://medium.com/snips-ai/integrating-snips-with-home-assistant-314723645c77) - June 2017 - [Jupiter Broadcasting - No Privacy Compromise Home Automation](http://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 - [Zammad, Home Assistant und Freifunk - are the winner of the Thomas-Krenn-Awards 2017](https://www.thomas-krenn.com/de/tkmag/allgemein/zammad-home-assistant-und-freifunk-das-sind-die-gewinner-des-thomas-krenn-awards-2017/) - March 2017 From f2cbaf1974b8541452b3f5dbdc28e004bc4f380b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 18:46:10 +0100 Subject: [PATCH 033/117] Add another article --- source/help/index.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/help/index.markdown b/source/help/index.markdown index 7435abed2a2..aecf32601f7 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -48,6 +48,7 @@ Looking for [talking points](/help/talking-points/) or [trivia](/help/trivia)? Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/). +- [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 - [Episode #122: Home Assistant: Pythonic Home Automation](https://talkpython.fm/episodes/show/122/home-assistant-pythonic-home-automation) - July 2017 From c2da2173c2ecc7ea4410b86dba7abd5a056b9133 Mon Sep 17 00:00:00 2001 From: Georgi Yanev Date: Sun, 29 Oct 2017 21:39:21 +0200 Subject: [PATCH 034/117] Remove duplicate entry with unfinished sentence (#3826) --- source/_data/glossary.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index ba5c42f02c9..505ba4a8945 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -32,8 +32,6 @@ description: "[Scenes](/components/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: HADashboard description: "[HADashboard](/docs/ecosystem/hadashboard/) is a modular, skinnable dashboard for Home Assistant that is intended to be wall mounted, and is optimized for distance viewing." -- topic: hass - description: "HASS or [hass](/docs/tools/hass/) is often used as an abbreviation for Home Assistant. It is aslo the comand line tool for accessing" - topic: Hass.io description: "[Hass.io](/hassio/) is an operating system that will take care of installing and updating Home Assistant, is managed from the Home Assistant UI, allows creating/restoring snapshots of your configuration, and can easily be extended" - topic: Cookbook From 238fc5b0c0dfec19747d75fcae168480d3cc7a8f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 30 Oct 2017 07:39:14 +0100 Subject: [PATCH 035/117] Remove title --- source/_components/counter.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_components/counter.markdown b/source/_components/counter.markdown index 50f1103c183..76a11fbb897 100644 --- a/source/_components/counter.markdown +++ b/source/_components/counter.markdown @@ -32,11 +32,10 @@ Configuration variables: - **step** (*Optional*): Incremental/step value for the counter. Defaults to 1 (increments by 1). - **icon** (*Optional*): Icon for entry. -Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`. +Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance` or `mdi:motorbike`. ## {% linkable_title Services %} -### {% linkable_title Media control services %} Available services: `increment`, `decrement`, and `reset`. #### {% linkable_title Service `counter.increment` %} From 9faef559b626d1a859aa020e7cb7478907ec3e98 Mon Sep 17 00:00:00 2001 From: moskovskiy82 Date: Mon, 30 Oct 2017 09:42:41 +0300 Subject: [PATCH 036/117] Remove target_sensor from the configuration (#3833) Seems it's there by mistake. As looking through MQTT HVAC uses current_temperature_topic instead. Which is actually a drawback --- source/_components/climate.mqtt.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_components/climate.mqtt.markdown b/source/_components/climate.mqtt.markdown index bde12c97ccd..7d624b4d9a9 100644 --- a/source/_components/climate.mqtt.markdown +++ b/source/_components/climate.mqtt.markdown @@ -70,7 +70,6 @@ A full configuration example looks like the one below. climate: - platform: mqtt name: Study - target_sensor: sensor.study_temperature modes: - off - cool From f91615cbb6b991c428713e52ae8328d26ae9e58e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 30 Oct 2017 07:54:34 +0100 Subject: [PATCH 037/117] Fix samples, add title and other changes (#3828) --- source/_components/binary_sensor.knx.markdown | 64 ++++++++++--------- source/_components/climate.knx.markdown | 41 ++++++------ source/_components/cover.knx.markdown | 36 ++++++----- source/_components/knx.markdown | 39 +++++------ source/_components/light.knx.markdown | 18 +++--- source/_components/notify.knx.markdown | 6 +- source/_components/sensor.knx.markdown | 19 +----- 7 files changed, 106 insertions(+), 117 deletions(-) diff --git a/source/_components/binary_sensor.knx.markdown b/source/_components/binary_sensor.knx.markdown index 3b8ed2ec28f..73c747601ad 100644 --- a/source/_components/binary_sensor.knx.markdown +++ b/source/_components/binary_sensor.knx.markdown @@ -18,43 +18,49 @@ The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) binary The `knx` component must be configured correctly, see [KNX Component](/components/knx). ```yaml +# Example configuration.yaml entry binary_sensor: - - platform: knx - name: "Entrance.Motion.Sensor" - address: '6/0/2' - device_class: 'motion' - #significant_bit: 2 + - platform: knx + name: "Entrance.Motion.Sensor" + address: '6/0/2' + device_class: 'motion' + #significant_bit: 2 ``` -* **name** (*Optional*): A name for this device used within Home Assistant. -* **address**: KNX group address of the binary sensor -* **device_class**: (Optional) HASS device class e.g. "motion" -* **significant_bit**: (Optional) Specify which significant bit of the KNX value should be used. Default is 1. +Configuration variables: + +- **name** (*Optional*): A name for this device used within Home Assistant. +- **address**: KNX group address of the binary sensor. +- **device_class** (Optional): HASS device class e.g. "motion". +- **significant_bit** (Optional): Specify which significant bit of the KNX value should be used. Default is 1. You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time. ```yaml +# Example configuration.yaml entry binary_sensor: - - platform: knx - name: Livingroom.3Switch3 - address: '5/0/26' - automation: - - counter: 1 - hook: 'on' - action: - - entity_id: light.hue_color_lamp_1 - service: homeassistant.turn_on - - counter: 2 - hook: 'on' - action: - - entity_id: light.hue_bloom_1 - service: homeassistant.turn_on - - entity_id: light.hue_bloom_2 - service: homeassistant.turn_on + - platform: knx + name: Livingroom.3Switch3 + address: '5/0/26' + automation: + - counter: 1 + hook: 'on' + action: + - entity_id: light.hue_color_lamp_1 + service: homeassistant.turn_on + - counter: 2 + hook: 'on' + action: + - entity_id: light.hue_bloom_1 + service: homeassistant.turn_on + - entity_id: light.hue_bloom_2 + service: homeassistant.turn_on ``` -- **name** (*Optional*): A name for this device used within Home Assistant. -- **counter**: (*Optional*) Set to 2 if your only want the action to be executed if the button was pressed twice. To 3 for three times button pressed. Defaults to 1. -- **hook**: (Optional): Indicates if the automation should be executed on what state of the binary sensor. Values: "on" or "off". Defaults to "on". -- **action**: Specify a list of actions analog to the [HASS automation rules](https://home-assistant.io/docs/automation/action/). +Configuration variables: + +- **name** (*Optional*): A name for this device used within Home Assistant. +- **counter** (*Optional*): Set to 2 if your only want the action to be executed if the button was pressed twice. To 3 for three times button pressed. Defaults to 1. +- **hook** (Optional): Indicates if the automation should be executed on what state of the binary sensor. Values: "on" or "off". Defaults to "on". +- **action**: Specify a list of actions analog to the [automation rules](/docs/automation/action/). diff --git a/source/_components/climate.knx.markdown b/source/_components/climate.knx.markdown index c2ce30a811c..1c740bba30c 100644 --- a/source/_components/climate.knx.markdown +++ b/source/_components/climate.knx.markdown @@ -21,6 +21,7 @@ The `knx` component must be configured correctly, see [KNX Component](/component To use your KNX thermostats in your installation, add the following lines to your `configuration.yaml` file: ```yaml +# Example configuration.yaml entry climate: - platform: knx name: HASS-Kitchen.Temperature @@ -33,31 +34,33 @@ climate: Alternatively, if your device has dedicated binary group addresses for frost/night/comfort mode: ```yaml +# Example configuration.yaml entry climate: - - platform: knx - name: HASS-Kitchen.Temperature - temperature_address: '6/2/1' - setpoint_address: '5/1/2' - target_temperature_address: '5/1/1' - operation_mode_frost_protection_address: '5/1/3' - operation_mode_night_address: '5/1/4' - operation_mode_comfort_address: '5/1/5' + - platform: knx + name: HASS-Kitchen.Temperature + temperature_address: '6/2/1' + setpoint_address: '5/1/2' + target_temperature_address: '5/1/1' + operation_mode_frost_protection_address: '5/1/3' + operation_mode_night_address: '5/1/4' + operation_mode_comfort_address: '5/1/5' ``` +Configuration variables: -* **name** (*Optional*): A name for this device used within Home Assistant. -* **temperature_address**: KNX group address for reading current room temperature from KNX bus. -* **target_temperature_address**: KNX group address for reading current target temperature from KNX bus. -* **setpoint_address**: KNX group address for basis setpoint +- **name** (*Optional*): A name for this device used within Home Assistant. +- **temperature_address**: KNX group address for reading current room temperature from KNX bus. +- **target_temperature_address**: KNX group address for reading current target temperature from KNX bus. +- **setpoint_address**: KNX group address for basis setpoint -* **operation_mode_address** (*Optional*) KNX address for operation mode (Frost protection/night/comfort). -* **operation_mode_state_address** (*Optional*) Explicit KNX address for reading operation mode -* **controller_status_address** (*Optional*) KNX address for HVAC controller status (in accordance with KNX AN 097/07 rev 3) -* **controller_status_state_address** (*Optional*) Explicit KNX address for reading HVAC controller status +- **operation_mode_address** (*Optional*): KNX address for operation mode (Frost protection/night/comfort). +- **operation_mode_state_address** (*Optional*): Explicit KNX address for reading operation mode +- **controller_status_address** (*Optional*): KNX address for HVAC controller status (in accordance with KNX AN 097/07 rev 3) +- **controller_status_state_address** (*Optional*): Explicit KNX address for reading HVAC controller status -* **operation_mode_frost_protection_address** (*Optional*) KNX address for switching on/off frost/heat protection mode. -* **operation_mode_night_address** (*Optional*) KNX address for switching on/off night mode. -* **operation_mode_comfort_address** (*Optional*) KNX address for switching on/off comfort mode. +- **operation_mode_frost_protection_address** (*Optional*): KNX address for switching on/off frost/heat protection mode. +- **operation_mode_night_address** (*Optional*): KNX address for switching on/off night mode. +- **operation_mode_comfort_address** (*Optional*): KNX address for switching on/off comfort mode. `operation_mode_frost_protection_address` / `operation_mode_night_address` / `operation_mode_comfort_address` are not necessary if `operation_mode_address` was specified. diff --git a/source/_components/cover.knx.markdown b/source/_components/cover.knx.markdown index a5a6bf65ac7..cd620f15634 100644 --- a/source/_components/cover.knx.markdown +++ b/source/_components/cover.knx.markdown @@ -23,25 +23,27 @@ To use your KNX covers in your installation, add the following to your `configur ```yaml # Example configuration.yaml entry cover: - - platform: knx - name: "Kitchen.Shutter" - move_long_address: '3/0/0' - move_short_address: '3/0/1' - position_address: '3/0/3' - position_state_address: '3/0/2' - travelling_time_down: 51 - travelling_time_up: 61 + - platform: knx + name: "Kitchen.Shutter" + move_long_address: '3/0/0' + move_short_address: '3/0/1' + position_address: '3/0/3' + position_state_address: '3/0/2' + travelling_time_down: 51 + travelling_time_up: 61 ``` +Configuration variables: + - **name** (*Optional*): A name for this device used within Home Assistant. - **move_long_address**: KNX group address for moving the cover full up or down. -- **move_short_address**: (*Optional*) KNX group address for moving the cover short time up or down. -- **position_address**: (*Optional*) KNX group address for moving the cover to the dedicated position. -- **position_state_address**: (*Optional*) Separate KNX group address for requesting the current position of the cover. -- **angle_address**: (*Optional*) KNX group address for moving the cover to the dedicated angle. -- **angle_state_address**: (*Optional*) Separate KNX group address for requesting the current angle of cover. -- **travelling_time_down**: (*Optional*) Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25. -- **travelling_time_up**: (*Optional*) Time cover needs to travel up in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25. -- **invert_position**: (*Optional*) Set this to true if your actuator report fully closed as 100% -- **invert_angle**: (*Optional*) Set this to true if your actuator reports tilt fully closed as 100% +- **move_short_address** (*Optional*): KNX group address for moving the cover short time up or down. +- **position_address** (*Optional*): KNX group address for moving the cover to the dedicated position. +- **position_state_address** (*Optional*): Separate KNX group address for requesting the current position of the cover. +- **angle_address** (*Optional*): KNX group address for moving the cover to the dedicated angle. +- **angle_state_address** (*Optional*): Separate KNX group address for requesting the current angle of cover. +- **travelling_time_down** (*Optional*): Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25. +- **travelling_time_up** (*Optional*): Time cover needs to travel up in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25. +- **invert_position** (*Optional*): Set this to true if your actuator report fully closed as 100%. +- **invert_angle** (*Optional*): Set this to true if your actuator reports tilt fully closed as 100%. diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown index 0143b2302e8..b813ac3aee4 100644 --- a/source/_components/knx.markdown +++ b/source/_components/knx.markdown @@ -13,8 +13,6 @@ ha_release: 0.24 ha_iot_class: "Local Polling" --- -Overview --------- The [KNX](http://www.knx.org) integration for Home Assistant allows you to connect to a KNX/IP devices. @@ -30,8 +28,7 @@ There is currently support for the following device types within Home Assistant: - [Thermostat](/components/climate.knx) - [Notify](/components/notify.knx) -Configuration --------------- +### {% linkable_title Configuration %} To use your KNX in your installation, add the following lines to your `configuration.yaml` file: @@ -39,13 +36,14 @@ To use your KNX in your installation, add the following lines to your `configura knx: ``` -Optional, recommended for large KNX installations (>100 devices) and/or if you want to use the XKNX abstraction also for other scripted tools outside HASS: +Optional, recommended for large KNX installations (>100 devices) and/or if you want to use the XKNX abstraction also for other scripted tools outside of Home Assistant: ```yaml knx: config_file: '/path/to/xknx.yaml' ``` -* **config_file**: (*Optional*) path for xknx configuration file. + +- **config_file** (*Optional*): The path for XKNX configuration file. If the auto detection of the KNX/IP device does not work you can specify ip/port of the tunneling device: @@ -56,9 +54,10 @@ knx: port: 3671 local_ip: '192.168.2.109' ``` -* **host**: Host of the KNX/IP tunneling device -* **port**: Port of the KNX/IP tunneling device -* **local_ip**: IP of the local interface + +- **host**: Host of the KNX/IP tunneling device. +- **port**: Port of the KNX/IP tunneling device. +- **local_ip**: IP of the local interface. Explicit connection to a KNX/IP routing device: @@ -68,7 +67,8 @@ knx: routing: local_ip: '192.168.2.109' ``` -* **local_ip**: local ip of interface (which should be used for multicasting) + +- **local_ip**: The local IP address of interface (which should be used for multicasting). ```yaml knx: @@ -76,13 +76,11 @@ knx: fire_event_filter: ["1/0/*", "6/2,3,4-6/*"] ``` -* **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus -* **fire_event_filter** (*Optional*): If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HASS event bus. +- **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus +- **fire_event_filter** (*Optional*): If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus. +- **state_updater** (*Optional*): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behaviour. -* **state_updater** (*Optional*): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behaviour. - -Service -------- +### {% linkable_title Services %} In order to directly interact with the KNX bus, you can now use the following service: @@ -96,12 +94,7 @@ Service Data: {"address": "1/0/15", "payload": 0} * **payload**: Payload, either an integer or an array of integers +### {% linkable_title Known issues %} -Known issues: -------------- - -Due to lame multicast support the routing abstraction and the gateway scanner -only work with python >=3.5. - - +Due to lame multicast support the routing abstraction and the gateway scanner only work with Python >=3.5. diff --git a/source/_components/light.knx.markdown b/source/_components/light.knx.markdown index 36aac8596b0..b3cf614a1c9 100644 --- a/source/_components/light.knx.markdown +++ b/source/_components/light.knx.markdown @@ -21,23 +21,21 @@ The `knx` component must be configured correctly, see [KNX Component](/component To use your KNX light in your installation, add the following lines to your `configuration.yaml` file: ```yaml +# Example configuration.yaml entry light: - platform: knx name: Kitchen-Light-1 address: '1/0/9' brightness_address: '1/0/11' - - - platform: knx - name: Kitchen-Light-2 - address: '1/0/12' - brightness_address: '1/0/14' ``` -* **name** (*Optional*): A name for this device used within Home Assistant. -* **address**: KNX group address for switching the light on and off -* **brightness_address**: (Optional) KNX group address for dimming light. -* **state_address**: (*Optional*) separate KNX group address for retrieving the switch state of the light. -* **brightness_state_address**: (*Optional*) separate KNX group address for retrieving the dimmed state of the light. +Configuration variables: + +- **name** (*Optional*): A name for this device used within Home Assistant. +- **address**: KNX group address for switching the light on and off. +- **brightness_address** (Optional): KNX group address for dimming light. +- **state_address** (*Optional*): separate KNX group address for retrieving the switch state of the light. +- **brightness_state_address** (*Optional*): separate KNX group address for retrieving the dimmed state of the light. Some KNX devices can change their state internally without any messages on the KNX bus, e.g., if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object. For switching/light actuators that are only controlled by a single group address and can't change their state internally, you don't have to configure the state address. diff --git a/source/_components/notify.knx.markdown b/source/_components/notify.knx.markdown index 9456df55e11..78945fc3761 100644 --- a/source/_components/notify.knx.markdown +++ b/source/_components/notify.knx.markdown @@ -21,9 +21,9 @@ To use your KNX switch in your installation, add the following lines to your `co ```yaml notify: - - platform: knx - name: Alarm - address: '5/1/10' + - platform: knx + name: Alarm + address: '5/1/10' ``` * **name** (*Optional*): A name for this device used within Home Assistant. diff --git a/source/_components/sensor.knx.markdown b/source/_components/sensor.knx.markdown index e543f4c6ee7..d44e76e2e30 100644 --- a/source/_components/sensor.knx.markdown +++ b/source/_components/sensor.knx.markdown @@ -26,26 +26,13 @@ sensor: name: Heating.Valve1 address: '2/0/0' type: 'percent' - - platform: knx name: Kitchen.Temperature address: '6/2/1' type: 'temperature' - - - platform: knx - name: Wind speed - type: speed_ms - address: 1/0/0 - - - platform: knx - name: Lux - type: illuminance - address: 1/0/1 ``` -* **name** (*Optional*): A name for this device used within Home Assistant. -* **address**: KNX group address of the sensor -* **type**: (Optional) "percent", "temperature", "illuminance", "speed_ms", "current" - - +- **name** (*Optional*): A name for this device used within Home Assistant. +- **address**: KNX group address of the sensor. +- **type** (Optional): "percent", "temperature", "illuminance", "speed_ms", "current". From 5ccdd95c05d742bbd723b639bfe31df0c791124e Mon Sep 17 00:00:00 2001 From: Jerry Workman Date: Mon, 30 Oct 2017 03:35:08 -0400 Subject: [PATCH 038/117] Locative shutting down (#3832) * Locative shutting down * Format it as note --- source/_components/device_tracker.locative.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/device_tracker.locative.markdown b/source/_components/device_tracker.locative.markdown index 7409c6960b2..2a185c924e4 100644 --- a/source/_components/device_tracker.locative.markdown +++ b/source/_components/device_tracker.locative.markdown @@ -11,6 +11,10 @@ logo: locative.png ha_category: Presence Detection --- +

    +Locative is no longer under active development. See https://blog.locative.io/bye-everyone-df01871fe949 +

    + This platform allows you to detect presence using [Locative](https://my.locative.io/). Locative is an open source app for [iOS](https://github.com/LocativeHQ/ios-app) and [Android](https://github.com/LocativeHQ/Locative-Android) that allows users to set up a `GET` or `POST` request when a geofence is entered or exited. This can be configured with Home Assistant to update your location. To integrate Locative in Home Assistant, add the following section to your `configuration.yaml` file: From 71d9a24925e1d7f06aec3004c4e5358b837dc247 Mon Sep 17 00:00:00 2001 From: ferdydek Date: Mon, 30 Oct 2017 16:38:03 +0000 Subject: [PATCH 039/117] Update media_player.webostv - Turn On Action plus setup (#3838) Included wake on lan power on action asked frequently on discord/forum. Clarified the pairing process requirements and added LG's instructions link. --- .../_components/media_player.webostv.markdown | 47 +++++++++++++++++-- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/source/_components/media_player.webostv.markdown b/source/_components/media_player.webostv.markdown index d04f58489ce..3775ae8260c 100644 --- a/source/_components/media_player.webostv.markdown +++ b/source/_components/media_player.webostv.markdown @@ -15,7 +15,16 @@ ha_release: 0.18 The `webostv` platform allows you to control a [LG](http://www.lg.com/) webOS Smart TV. -When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication. +### {% linkable_title Setup %} + +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). + +Once basic configuration is added to your `configuration.yaml` *Configuration* card should prompt on your HA's States. Follow the instructions and accept pairing request on your TV. + +Pairing information will be saved to the `filename:` provided in configuration; this process is IP sensitive, in case the IP address of your TV would change in future. + + +### {% linkable_title Configuration %} To add a TV to your installation, add the following to your `configuration.yaml` file: @@ -33,10 +42,9 @@ Configuration variables: - **timeout** (*Optional*): The timeout for connections to the TV in seconds. - **filename** (*Optional*): The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. It defaults to `webostv.conf`. - **customize** array (*Optional*): List of options to customize. - - ***sources** array (*Optional*): List of hardware inputs. + - ***sources** array (*Optional*): List of hardware and webOS App inputs. -If you do not specify `host:`, all LG webOS Smart TVs within your network will be auto-discovered if they use the default name setting of `[LG] webOS TV`. -Home Assistant is able to turn on a LG webOS Smart TV if you specify an action, like HDMI-CEC or WakeOnLan. +If you do not specify `host:`, all LG webOS Smart TVs within your network will be auto-discovered. A full configuration example will look like the sample below: @@ -45,7 +53,7 @@ A full configuration example will look like the sample below: media_player: - platform: webostv host: 192.168.0.10 - name: Living Room TV + name: Living Room TV timeout: 5 filename: webostv.conf turn_on_action: @@ -59,3 +67,32 @@ media_player: - makotv - netflix ``` +** avoid using `[ ]` in the `name:` of your device. + + +*Turn On Action* + +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). + +```yaml +# Example configuration.yaml entry +wake_on_lan: # enables `wake_on_lan` domain + +media_player: + - platform: webostv + host: 192.168.0.10 + #other settings + turn_on_action: + service: wake_on_lan.send_magic_packet + data: + mac: B4:E6:2A:1E:11:0F +``` +Any other [actions](/docs/automation/action/) to power on the device can be configured. + + +*Sources* + +To obtain complete list of available sources currently configured on the TV, once the webOS TV is configured and linked, while its powered on head to the **Developer Tools** > **States**, find your `media_player.` and use the sources listed in `source_list:` remembering to split them per line into your `sources:` configuration. From 0f615093f09b29a9bc58bb0ff71cd3b05c771650 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 30 Oct 2017 17:38:42 +0100 Subject: [PATCH 040/117] Update vacuum.xiaomi_miio.markdown (#3837) --- source/_components/vacuum.xiaomi_miio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index b702071e60a..8c6a531d1df 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -214,7 +214,7 @@ To fetch the token follow these instructions depending on your mobile phone plat 1. Configure the robot with the Mi-Home app. 2. Using iTunes, create an unencrypted backup of your iPhone. -3. Install [iBackup Viewer](Get ADB f.e. `apt-get install android-tools-adb`), open it, and open your backup. +3. Install [iBackup Viewer](http://www.imactools.com/iphonebackupviewer/), open it, and open your backup. 4. Open the "Raw Data" module. 5. Navigate to `com.xiaomi.mihome`. 6. Search for a file that looks like this: `123456789_mihome.sqlite` – note that `_mihome.sqlite` is *not* the correct file. From 5de7beef7c14b74fe24fe7e65617660363c0797c Mon Sep 17 00:00:00 2001 From: Alex Barcelo Date: Mon, 30 Oct 2017 17:40:07 +0100 Subject: [PATCH 041/117] New ssh deployment key feature for git_pull addon (#3835) Explanation for the two new fields `deployment_key` and `deployment_key_protocol`. See PR home-assistant/hassio-addons#196 --- source/_addons/git_pull.markdown | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/source/_addons/git_pull.markdown b/source/_addons/git_pull.markdown index 62dcfe8bcea..579ca5ad092 100644 --- a/source/_addons/git_pull.markdown +++ b/source/_addons/git_pull.markdown @@ -18,7 +18,17 @@ Load and update configuration files for Home Assistant from a GIT repository. "repeat": { "active": false, "interval": 300 - } + }, + "deployment_key": [ +"-----BEGIN RSA PRIVATE KEY-----", +"MIIEowIBAAKCAQEAv3hUrCvqGZKpXQ5ofxTOuH6pYSOZDsCqPqmaGBdUzBFgauQM", +"xDEcoODGHIsWd7t9meAFqUtKXndeiKjfP0MMKsttnDohL1kb9mRvHre4VUqMsT5F", +"...", +"i3RUtnIHxGi1NqknIY56Hwa3id2yk7cEzvQGAAko/t6PCbe20AfmSQczs7wDNtBD", +"HgXRyIqIXHYk2+5w+N2eunURIBqCI9uWYK/r81TMR6V84R+XhtvM", +"-----END RSA PRIVATE KEY-----" + ], + "deployment_key_protocol": "rsa" } ``` @@ -26,3 +36,12 @@ Load and update configuration files for Home Assistant from a GIT repository. - **auto_restart** (*Optional*): Make a restart of Home-Assistant if the config have change and is valid. - **repeat/active** (*Optional*): Pull periodic for GIT updates. - **repeat/interval** (*Optional*): Pull all x seconds and look for changes. +- **deployment_key** (*Optional*): A private SSH key that will be used for communication during git operations. This key is mandatory for ssh-accessed repositories, which are the ones with the following pattern: `@:`. +- **deployment_key_protocol** (*Optional*): The key protocol. Default is "rsa". Valid protocols are: + + * **dsa** + * **ecdsa** + * **ed25519** + * **rsa** + + The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using "rsa" protocol. From d9461892827628e795724a9ac58a962ea0e64c2c Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Mon, 30 Oct 2017 18:24:56 +0100 Subject: [PATCH 042/117] Update mysensors configuration to new format (#3840) --- source/_components/mysensors.markdown | 88 +++++++++++++++++++++------ 1 file changed, 71 insertions(+), 17 deletions(-) diff --git a/source/_components/mysensors.markdown b/source/_components/mysensors.markdown index 693ac1f6cbf..c91f5a123e6 100644 --- a/source/_components/mysensors.markdown +++ b/source/_components/mysensors.markdown @@ -27,9 +27,9 @@ mysensors: persistence_file: 'path/mysensors.json' baud_rate: 38400 nodes: - 1: + 1: name: 'kitchen' - 3: + 3: name: 'living_room' - device: '/dev/ttyACM0' persistence_file: 'path/mysensors2.json' @@ -47,21 +47,75 @@ mysensors: version: '2.0' ``` -Configuration variables: - -- **device** (*Required*): The path to the serial gateway where it is connected to your Home Assistant host, or the address of the TCP Ethernet gateway, or `mqtt` to setup the MQTT gateway. Resolving DNS addresses is theoretically supported but not tested. -- **baud_rate** (*Optional*): Specifies the baud rate of the connected serial gateway. Default is 115200. -- **tcp_port** (*Optional*): Specifies the port of the connected TCP Ethernet gateway. Default is 5003. -- **topic_in_prefix** (*Optional*): Set the prefix of the MQTT topic for messages coming from the MySensors gateway in to Home Assistant. Default is an empty string. -- **topic_out_prefix** (*Optional*): Set the prefix of the MQTT topic for messages going from Home Assistant out to the MySensors gateway. Default is an empty string. -- **debug** (*DEPRECATED*): This option has been deprecated. Please remove this from your config is you have it included. Use the logger component to filter log messages on log level. -- **persistence** (*Optional*): Enable or disable local persistence of sensor information. If this is disabled, then each sensor will need to send presentation messages after Home Assistant starts. Default is true. -- **persistence_file** (*Optional*): The path to a file to save sensor information. The file extension determines the file type. Currently supported file types are 'pickle' and 'json'. -- **version** (*Optional*): Specifies the MySensors protocol version to use. Supports 1.4, 1.5 and 2.0. Default is 1.4. -- **optimistic** (*Optional*): Enable or disable optimistic mode for actuators (switch/light). Default is false. Set this to true if no state feedback from actuators is possible. Home Assistant will assume that the command succeeded and change state. -- **retain** (*Optional*): Enable or disable retain flag for published messages from Home Assistant when using the MQTT gateway. Default is true. -- **nodes** (*Optional*): Nodes that need a custom name. - - **name** (*Optional*): The name the node will be renamed to. This nodename becomes part of the entity_id. Default the entity_id is [sketch_name]\_[node_id]\_[child_id] and when this name is set, the entity_id becomes [name]\_[child_id]. +{% configuration %} + gateways: + description: A list of gateways to set up. + required: true + type: map + keys: + device: + description: The path to the serial gateway where it is connected to your Home Assistant host, or the address of the TCP Ethernet gateway, or `mqtt` to setup the MQTT gateway. Resolving DNS addresses is theoretically supported but not tested. + required: true + type: string + baud_rate: + description: Specifies the baud rate of the connected serial gateway. + required: false + type: int + default: 115200 + tcp_port: + description: Specifies the port of the connected TCP Ethernet gateway. + required: false + type: int + default: 5003 + topic_in_prefix: + description: Set the prefix of the MQTT topic for messages coming from the MySensors gateway in to Home Assistant. + required: false + type: string + default: '' + topic_out_prefix: + description: Set the prefix of the MQTT topic for messages going from Home Assistant out to the MySensors gateway. + required: false + type: string + default: '' + nodes: + description: A mapping of node ids to node settings, eg custom name. + required: false + type: map + keys: + name: + description: The name the node will be renamed to. This nodename becomes part of the entity_id. Default entity_id is [sketch_name]\_[node_id]\_[child_id] and when this name is set, the entity_id becomes [name]\_[child_id]. + required: true + type: string + debug: + description: This option has been deprecated. Please remove this from your config if you have it included. Use the [logger component](/components/logger/) to filter log messages on log level. + required: false + type: int + persistence: + description: Enable or disable local persistence of sensor information. If this is disabled, then each sensor will need to send presentation messages after Home Assistant starts. + required: false + type: int + default: true + persistence_file: + description: The path to a file to save sensor information. The file extension determines the file type. Currently supported file types are 'pickle' and 'json'. + required: false + type: string + default: path/to/config/directory/mysensors.pickle + version: + description: Specifies the MySensors protocol version to use. Supports 1.4, 1.5 and 2.0. + required: false + type: string + default: '1.4' + optimistic: + description: Enable or disable optimistic mode for actuators (switch/light). Set this to true if no state feedback from actuators is possible. Home Assistant will assume that the command succeeded and change state. + required: false + type: int + default: false + retain: + description: Enable or disable retain flag for published messages from Home Assistant when using the MQTT gateway. + required: false + type: int + default: true +{% endconfiguration %}

    Not all features of MySensors 2.0 are yet supported by Home Assistant. As more features are added, they will be described here in the documentation. Go to the MySensors platform pages under "related components" to see what message types are currently supported. From a0beaa92ece7d3e8302234bf9324ad06565a6d3d Mon Sep 17 00:00:00 2001 From: Derek Date: Mon, 30 Oct 2017 16:58:13 -0400 Subject: [PATCH 043/117] Added an icon template as well as general improvements. (#3762) * Added an icon template as well as general improvements. Added an icon template example as well as a friendly name option, this way no customizing needs to take place outside of the sensor itself. Also added the entity_id option for best practice. * Added raw/endraw * Title was confusing, reverted to previous title. * Move raw --- source/_cookbook/track_battery_level.markdown | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown index 0e76fd083e5..9de6b14cfb0 100644 --- a/source/_cookbook/track_battery_level.markdown +++ b/source/_cookbook/track_battery_level.markdown @@ -12,21 +12,36 @@ ha_category: Automation Examples ### {% linkable_title iOS Devices %} -If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). +If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the icon template option to create a dynamic icon that changes with the battery level. +{% raw %} ```yaml sensor: - platform: template sensors: battery_iphone: + friendly_name: iPhone Battery + # "entity_id:" ensures that this sensor will only update when your device tracker does. + entity_id: device_tracker.iphone unit_of_measurement: '%' value_template: >- - {% raw %}{%- if states.device_tracker.iphone.attributes.battery %} + {%- if states.device_tracker.iphone.attributes.battery %} {{ states.device_tracker.iphone.attributes.battery|round }} {% else %} {{ states.sensor.battery_iphone.state }} - {%- endif %}{% endraw %} + {%- endif %} + icon_template: > + {% set battery_level = states.sensor.battery_iphone.state|default(0)|int %} + {% set battery_round = (battery_level / 10) |int * 10 %} + {% if battery_round >= 100 %} + mdi:battery + {% elif battery_round > 0 %} + mdi:battery-{{ battery_round }} + {% else %} + mdi:battery-alert + {% endif %} ``` +{% endraw %} The `else` part is used to have the sensor keep it's last state if the newest [iCloud](/components/device_tracker.icloud/) update doesn't have any battery state in it (which happens sometimes). Otherwise the sensor will be blank. @@ -34,12 +49,13 @@ The `else` part is used to have the sensor keep it's last state if the newest [i While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor. Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks. +{% raw %} ```yaml sensor: - platform: mqtt state_topic: "owntracks/username/deviceid" name: "Battery Tablet" unit_of_measurement: "%" - value_template: {% raw %}'{{ value_json.batt }}'{% endraw %} + value_template: '{{ value_json.batt }}' ``` - +{% endraw %} From 816aabaadea694660a4d4dae1a8f1402275072fc Mon Sep 17 00:00:00 2001 From: Derek Date: Mon, 30 Oct 2017 16:59:13 -0400 Subject: [PATCH 044/117] Alternative Xiaomi Token Extraction for Android/Windows (#3683) * Alternative Xiaomi Token Extraction for Android/Windows Using the MiToolKit simplifies the process greatly. * Correct MiToolKit hyperlink --- .../_components/vacuum.xiaomi_miio.markdown | 29 ++++--------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 8c6a531d1df..1528d5c5eec 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -159,29 +159,12 @@ $ source /srv/homeassistant/bin/activate To fetch the token follow these instructions depending on your mobile phone platform. 1. Configure the robot with the Mi-Home app. -2. Enable developer mode and USB debugging on the Android phone and plug it into the computer. -3. Get and install the [ADB tool for Windows](https://developer.android.com/studio/releases/platform-tools.html). -4. Create a backup of the application `com.xiaomi.smarthome`: -```bash -$ adb backup -noapk com.xiaomi.smarthome -f backup.ab -``` -5. If you have this message: "More than one device or emulator", use this command to list all devices: -```bash -$ adb devices -``` -and execute this command: -```bash -$ adb -s DEVICEID backup -noapk com.xiaomi.smarthome -f backup.ab # (with DEVICEID the device id from the previous command) -``` -6. On the phone, you must confirm the backup. DO NOT enter any password and press button to make the backup. -7. Get and install [ADB Backup Extractor](https://sourceforge.net/projects/adbextractor/). -8. Extract All files from the backup: -```bash -$ java.exe -jar ../android-backup-extractor/abe.jar unpack backup.ab backup.tar "" -``` -9. Unzip the ".tar" file. -10. Open the SQLite database `miio2.db` with a tool like SQLite Manager extension for FireFox. -11. Get the token from "devicerecord" table. +2. Download and extract the [MiToolKit.zip](https://github.com/ultrara1n/MiToolkit/releases). +3. Enable developer mode and USB debugging on the Android phone and plug it into the computer. +4. Change the MiToolKit language to English if you need to. +5. Click "Extract Token" +6. On the phone, you must confirm the backup. DO NOT enter any password and press the button to make the backup. +8. Once you have confirmed the backup the token extraction will begin, it should appear in the MiToolKit shortly. #### {% linkable_title Linux and Android (rooted!) %} From e73fe63a0ceda196c46c638686007116b7586abf Mon Sep 17 00:00:00 2001 From: ohadbenita <30605246+ohadbenita@users.noreply.github.com> Date: Mon, 30 Oct 2017 23:14:19 +0200 Subject: [PATCH 045/117] Shell command naming convention change (#3843) * Shell command naming convention change camel case naming isn't allowed (shell command configuration validation fails * Add period --- source/_components/shell_command.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/shell_command.markdown b/source/_components/shell_command.markdown index 2a50140747c..d9f64f8a072 100644 --- a/source/_components/shell_command.markdown +++ b/source/_components/shell_command.markdown @@ -12,6 +12,7 @@ logo: home-assistant.png --- This component can expose regular shell commands as services. Services can be called from a [script] or in [automation]. +Shell commands aren't allowed for a camel-case naming, please use lowercase naming only and separate the names with underscores. [script]: /components/script/ [automation]: /getting-started/automation/ From 46447e34fa219caa0df23e511b8a0894b558caae Mon Sep 17 00:00:00 2001 From: Josh Nichols Date: Tue, 31 Oct 2017 03:33:41 -0400 Subject: [PATCH 046/117] Update list of media_players supporting shuffle (#3846) * Update list of media_players supporting shuffle. This is based on doing a [search for SUPPORT_SHUFFLE_SET](https://github.com/home-assistant/home-assistant/search?utf8=%E2%9C%93&q=SUPPORT_SHUFFLE_SET&type=) * Add links while I'm here --- source/_components/media_player.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/media_player.markdown b/source/_components/media_player.markdown index daa7b072c55..18350ce1326 100644 --- a/source/_components/media_player.markdown +++ b/source/_components/media_player.markdown @@ -57,7 +57,8 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, | `source` | no | Name of the source to switch to. Platform dependent. | #### {% linkable_title Service `media_player/shuffle_set` %} -Currently only supports Spotify. + +Currently only supported on [Spotify](/components/media_player.spotify/), [MPD](/components/media_player.mpd/), [Kodi](/components/media_player.kodi/), and [Universal](/components/media_player.universal/). | Service data attribute | Optional | Description | | ---------------------- | -------- | ---------------------------------------------------- | From 76d5242b6209b2bf36ae46189d1e94c97041c045 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Oct 2017 13:28:55 +0100 Subject: [PATCH 047/117] Update hass.io docs (#3849) * Update hass.io docs * Remove dash --- .../hassio/addon_communication.markdown | 18 +++++++++--------- .../hassio/addon_publishing.markdown | 8 ++++---- .../hassio/addon_repository.markdown | 12 ++++++------ 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/source/developers/hassio/addon_communication.markdown b/source/developers/hassio/addon_communication.markdown index d7bee9d5162..dd658870f12 100644 --- a/source/developers/hassio/addon_communication.markdown +++ b/source/developers/hassio/addon_communication.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Add-On Communication" -description: "Describe internal communication Hass.io." +description: "Description of the internal communication of Hass.io." date: 2017-04-30 13:28 sidebar: true comments: false @@ -10,25 +10,25 @@ footer: true redirect_from: /hassio/addon_config/ --- -It exists diferent ways to communication between add-ons or home-assistant inside Home-Assistant. +There are different ways to communication between add-ons inside Home Assistant. ## {% linkable_title Network %} -We use a internal network. That allow to speak with every add-on or from Home-Assistant to add-on by name or alias. Only the a add-on they run on Host network are a bit limited. They can speak with all internal add-ons over there name but all other add-on can't speak with the add-on name to this add-on, but alias work wheel. So use the name/alias to communicate inside Hass.io. The name have format `{REPO}-{SLUG}` i.e. `local-xy` or `3283fh-myaddon`. +We use a internal network. That allow to speak with every add-on or from Home Assistant to add-on by name or alias. Only the add-ons which runs on the host network are a bit limited. They can speak with all internal add-ons over their name but all other add-on can't address the add-on in question with its name. But using an alias work well. Thus the name/alias is used to communicate inside Hass.io. The name have the following format `{REPO}-{SLUG}`, e.g. `local-xy` or `3283fh-myaddon`. -i.e. use `hassio` to speak with internal API. +Use `hassio` to speak with the internal API. -## {% linkable_title Home-Assistant %} +## {% linkable_title Home Assistant %} -A Add-on can speak to [Home-Assistant API][hass-api] with our internal proxy. That make it very easy to speak to this API without you need know the password, port or any other information for the Home-Assistant instance. Use this url: `http://hassio/homeassistant/api` and they will internal redirected to the right place. As next add `homeassistant_api: true` to `config.json`. +An add-on can speak to the [Home Assistant API][hass-api] with our internal proxy. That makes it very easy to communicate with the API without knowing the password, port or any other information of the Home Assistant instance. Use this URL: `http://hassio/homeassistant/api` and internal communication is redirected to the right place. The next stept is to add `homeassistant_api: true` to `config.json`. -It is also possible to speak direct to Home-Assistant instance with name `homeassistant` over our internal Network. But you need know the running config. +It is also possible to speak direct to the Home Assistant instance which is named `homeassistant` over our internal network. But you need to know the configuration that is used by the running instance. -We have severals services for Hass.io inside Home-Assistant to execute some task. So you can also use `hassio.addon_stdin` to send data over STDIN to a add-on. +We have severals services for Hass.io inside Home Assistant to execute tasks. To send data over STDIN to an add-on.l simply use `hassio.addon_stdin`. ## {% linkable_title Hass.io API %} -To call to our [Hass.io API][hassio-api] add `hassio_api: true` to `config.json`. Now you can use the API over this url: `http://hassio/`. +To enables calls to the [Hass.io API][hassio-api], add `hassio_api: true` to `config.json`. Now you can use the API over the URL: `http://hassio/`. [hass-api]: https://home-assistant.io/developers/rest_api/ [hassio-api]: https://github.com/home-assistant/hassio/blob/master/API.md diff --git a/source/developers/hassio/addon_publishing.markdown b/source/developers/hassio/addon_publishing.markdown index 5666fc7c501..4d77c53bc8c 100644 --- a/source/developers/hassio/addon_publishing.markdown +++ b/source/developers/hassio/addon_publishing.markdown @@ -30,11 +30,11 @@ All add-ons are simple docker containers. Inside your add-on `config.json` you s ```json { - … + ... "image": "myhub/image-{arch}-addon-name", - … + ... } ``` @@ -49,13 +49,13 @@ You need a Docker Hub account to make your own add-ons. You can build your docke For a git repository: ```bash -docker run --rm --privileged -v ~/.docker:/root/.docker homeassistant/amd64-builder --all -t addon-folder -r https://github.com/xy/addons -b branchname +$ docker run --rm --privileged -v ~/.docker:/root/.docker homeassistant/amd64-builder --all -t addon-folder -r https://github.com/xy/addons -b branchname ``` For a local repository: ```bash -docker run --rm --privileged -v ~/.docker:/root/.docker -v /my_addon:/data homeassistant/amd64-builder --all -t /data +$ docker run --rm --privileged -v ~/.docker:/root/.docker -v /my_addon:/data homeassistant/amd64-builder --all -t /data ``` [builder]: https://github.com/home-assistant/hassio-build/tree/master/builder diff --git a/source/developers/hassio/addon_repository.markdown b/source/developers/hassio/addon_repository.markdown index 04152968bc4..3ad7da57fe1 100644 --- a/source/developers/hassio/addon_repository.markdown +++ b/source/developers/hassio/addon_repository.markdown @@ -10,17 +10,17 @@ footer: true redirect_from: /hassio/addon_repository/ --- -Add-ons repository can contain one or more add-ons. Each add-on is stored in it's own unique folder. For it to be indentified as a repository, a repository contains a configuration file. +An Add-on repository can contain one or more add-ons. Each add-on is stored in it's own unique folder. To be indentified as a repository, the repository must contain a configuration file. -[Example add-on repository](https://github.com/home-assistant/hassio-addons-example). +Check the [Example add-on repository](https://github.com/home-assistant/hassio-addons-example) for further details. -## Installing a repository +## {% linkable_title Installing a repository %} -A user can add a repository by going to the Hass.io panel in Home Assistant, clicking on the store icon in the top right, copy/paste the URL of your repostory into the repository textarea and click on "Save". +A user can add a repository by going to the Hass.io panel in Home Assistant, clicking on the store icon in the top right, copy/paste the URL of your repostory into the repository textarea and click on **Save**. -## Repository configuration +## {% linkable_title Repository configuration %} -Each repository is required to contain `repository.json` at the root of the Git repository. +Each repository is required to contain `repository.json` at the root in the git repository. ```json { From 19a603f34e5234e8895e71bfd6ba6065a7a64c03 Mon Sep 17 00:00:00 2001 From: Milan V Date: Tue, 31 Oct 2017 13:57:37 +0100 Subject: [PATCH 048/117] Fix bayesian binary sensor example (#3850) --- source/_components/binary_sensor.bayesian.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.bayesian.markdown b/source/_components/binary_sensor.bayesian.markdown index d17b957b6f5..e1b2411ca04 100644 --- a/source/_components/binary_sensor.bayesian.markdown +++ b/source/_components/binary_sensor.bayesian.markdown @@ -69,7 +69,7 @@ binary_sensor: prob_given_true: 0.5 platform: 'state' to_state: 'on' - - entity_id: 'sensor.sun' + - entity_id: 'sun.sun' prob_given_true: 0.7 platform: 'state' to_state: 'below_horizon' From 953da76da9925d18effb698bd2b3fff0b272437f Mon Sep 17 00:00:00 2001 From: Milan V Date: Tue, 31 Oct 2017 14:41:35 +0100 Subject: [PATCH 049/117] Add default groups info to group component doc (#3659) * Add default groups info to group component doc * Corrections of default group info * Minor change --- source/_components/group.markdown | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/source/_components/group.markdown b/source/_components/group.markdown index ef4ff29fc76..d090dc7b9f8 100644 --- a/source/_components/group.markdown +++ b/source/_components/group.markdown @@ -89,3 +89,34 @@ Notice in the example below that in order to refer to the group "Living Room", y - group.living_room - group.bedroom ``` + +## {% linkable_title Default groups %} + +Some components automatically create special groups containing component entities. These groups are named like `group.all_...`, for example: +- `group.all_switches` +- `group.all_lights` +- `group.all_devices` +- `group.all_scripts` +- `group.all_automations` + +You can see list of these groups in **State** page of the **Developer Tools**. + +Default groups appear in the HOME tab, if not overridden by user views and groups. Default groups are hidden by default, so you must [customize](/docs/configuration/customizing-devices/) them to be visible in your custom groups and views. + +```yaml +# Example configuration.yaml to include default groups in custom view + +customize: + group.all_automations: + hidden: false + group.all_scripts: + hidden: false + +group: + automation_view: + name: Automation + view: yes + entities: + - group.all_automations + - group.all_scripts +``` From 738d545a4c79f4e1ff75aca30bec6f1ed1124e72 Mon Sep 17 00:00:00 2001 From: UnrealKazu <9115757+UnrealKazu@users.noreply.github.com> Date: Tue, 31 Oct 2017 17:35:48 +0100 Subject: [PATCH 050/117] Add clarification on reloading automation rules (#3851) The docs gave the impression that saving an automation rule created in the automation editor would be sufficient for the rule to come into effect. You still need to reload the rules, which is why I've added this to the docs. --- source/_docs/automation/editor.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown index e8a60039668..d7f17072139 100644 --- a/source/_docs/automation/editor.markdown +++ b/source/_docs/automation/editor.markdown @@ -39,7 +39,7 @@ As "Service Data" we want a simple text that is shown as part of the notificatio } ``` -Don't forget to save your new automation rule. +Don't forget to save your new automation rule. In order for your saved automation rule to come into effect you will need to go to the **Configuration** page and click on **Reload Automation**. ## {% linkable_title Updating your configuration to use the editor %} From 869dcf65907ccd8ac2804ca664c65b726d8634d7 Mon Sep 17 00:00:00 2001 From: Martin Eberhardt Date: Sat, 21 Oct 2017 16:14:35 +0200 Subject: [PATCH 051/117] Update the list of Danish region on CLA signature page (#3697) --- source/developers/cla_sign.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/developers/cla_sign.html b/source/developers/cla_sign.html index 94965ccd5cb..c16b88be66f 100644 --- a/source/developers/cla_sign.html +++ b/source/developers/cla_sign.html @@ -155,7 +155,7 @@ footer: true s_a[56] = "Camaguey|Ciego de Avila|Cienfuegos|Ciudad de La Habana|Granma|Guantanamo|Holguin|Isla de la Juventud|La Habana|Las Tunas|Matanzas|Pinar del Rio|Sancti Spiritus|Santiago de Cuba|Villa Clara"; s_a[57] = "Famagusta|Kyrenia|Larnaca|Limassol|Nicosia|Paphos"; s_a[58] = "Brnensky|Budejovicky|Jihlavsky|Karlovarsky|Kralovehradecky|Liberecky|Olomoucky|Ostravsky|Pardubicky|Plzensky|Praha|Stredocesky|Ustecky|Zlinsky"; - s_a[59] = "Arhus|Bornholm|Fredericksberg|Frederiksborg|Fyn|Kobenhavn|Kobenhavns|Nordjylland|Ribe|Ringkobing|Roskilde|Sonderjylland|Storstrom|Vejle|Vestsjalland|Viborg"; + s_a[59] = "Nordjylland|Midtjylland|Syddanmark|Hovedstaden|Sjaelland"; s_a[60] = "'Ali Sabih|Dikhil|Djibouti|Obock|Tadjoura"; s_a[61] = "Saint Andrew|Saint David|Saint George|Saint John|Saint Joseph|Saint Luke|Saint Mark|Saint Patrick|Saint Paul|Saint Peter"; s_a[62] = "Azua|Baoruco|Barahona|Dajabon|Distrito Nacional|Duarte|El Seibo|Elias Pina|Espaillat|Hato Mayor|Independencia|La Altagracia|La Romana|La Vega|Maria Trinidad Sanchez|Monsenor Nouel|Monte Cristi|Monte Plata|Pedernales|Peravia|Puerto Plata|Salcedo|Samana|San Cristobal|San Juan|San Pedro de Macoris|Sanchez Ramirez|Santiago|Santiago Rodriguez|Valverde"; @@ -424,7 +424,7 @@ footer: true var match = location.search.match(new RegExp("[?&]"+key+"=([^&]+)(&|$)")); return match && decodeURIComponent(match[1].replace(/\+/g, " ")); } - + $(document).ready(function(){ populateCountries("country", "region"); var spinner = new Spinner().spin(document.getElementById('spinner')); From ce0524c613e946a70d74e05e013b94e360043e9d Mon Sep 17 00:00:00 2001 From: Martin Eberhardt Date: Sat, 21 Oct 2017 17:36:46 +0200 Subject: [PATCH 052/117] Documentation for scrape sensor attribute option (#3696) * Documentation for scrape sensor attribute option * Move comment up --- source/_components/sensor.scrape.markdown | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/source/_components/sensor.scrape.markdown b/source/_components/sensor.scrape.markdown index 6f48598d961..85738eeaaa3 100644 --- a/source/_components/sensor.scrape.markdown +++ b/source/_components/sensor.scrape.markdown @@ -30,6 +30,7 @@ Configuration variables: - **resource** (*Required*): The URL to the website that contains the value. - **select** (*Required*): Defines the HTML tag to search for. Check Beautifulsoup's [CSS selectors](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors) for details. +- **attribute** (*optional*): Get value of an attribute on the selected tag. - **name** (*Optional*): Name of the sensor. - **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. @@ -67,11 +68,11 @@ sensor: ### {% linkable_title Get a value out of a tag %} -The German [Federal Office for Radiation protection (Bundesamt für Strahlenschutz)](http://www.bfs.de/) is publishing various details about optical radiation including an UV index. This example is getting the index for a region in Germany. +The German [Federal Office for Radiation protection (Bundesamt für Strahlenschutz)](http://www.bfs.de/) is publishing various details about optical radiation including an UV index. This example is getting the index for a region in Germany. ```yaml -sensor: # Example configuration.yaml entry +sensor: - platform: scrape resource: http://www.bfs.de/DE/themen/opt/uv/uv-index/prognose/prognose_node.html name: Coast Ostsee @@ -84,11 +85,24 @@ sensor: If you make heavy use of the [IFTTT](/components/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. ```yaml -sensor: # Example configuration.yaml entry +sensor: - platform: scrape resource: http://status.ifttt.com/ name: IFTTT status select: '.component-status' ``` +### {% linkable_title Get the latest podcast episode file URL %} + +If you want to get the file URL for the latest episode of your [favourite podcast](https://hasspodcast.io/), so you can pass it on to a compatible media player. + +```yaml +# Example configuration.yaml entry +sensor: + - platform: scrape + resource: https://hasspodcast.io/feed/podcast + name: Home Assistant Podcast + select: 'enclosure:nth-of-type(1)' + attribute: url +``` From 9a045c53a3e9e598f8dd9b6df7b7368dcede4ed3 Mon Sep 17 00:00:00 2001 From: Marcelo Moreira de Mello Date: Sat, 21 Oct 2017 11:37:40 -0400 Subject: [PATCH 053/117] Added Ring Camera component documentation and added new sensors (#3682) * Added Ring Camera component documentation and added new sensors * Kept only the basic as example for the component * Added scan_interval option to camera ring documentation * Rephrased statement --- .../_components/binary_sensor.ring.markdown | 8 ++--- source/_components/camera.ring.markdown | 33 +++++++++++++++++++ source/_components/sensor.ring.markdown | 16 ++++----- 3 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 source/_components/camera.ring.markdown diff --git a/source/_components/binary_sensor.ring.markdown b/source/_components/binary_sensor.ring.markdown index 8a7c204df61..e663d6838cc 100644 --- a/source/_components/binary_sensor.ring.markdown +++ b/source/_components/binary_sensor.ring.markdown @@ -10,6 +10,7 @@ footer: true logo: ring.png ha_category: Binary Sensor ha_release: 0.42 +ha_iot_class: "Cloud Polling" --- To get your [Ring.com](https://ring.com/) binary sensors working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). @@ -20,15 +21,12 @@ Once you have enabled the [Ring component](/components/ring), add the following # Example configuration.yaml entry binary_sensor: - platform: ring - monitored_conditions: - - ding - - motion ``` Configuration variables: -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. +- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. - **ding**: Return a boolean value when the doorbell button was pressed. - **motion**: Return a boolean value when a movement was detected by the Ring doorbell. -Currently only doorbells are supported by this sensor. +Currently it supports doorbell, external chimes and stickup cameras. diff --git a/source/_components/camera.ring.markdown b/source/_components/camera.ring.markdown new file mode 100644 index 00000000000..30d1fab1052 --- /dev/null +++ b/source/_components/camera.ring.markdown @@ -0,0 +1,33 @@ +--- +layout: page +title: "Ring Binary Camera" +description: "Instructions on how to integrate your Ring.com devices within Home Assistant." +date: 2017-10-20 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: ring.png +ha_category: Camera +ha_release: 0.57 +ha_iot_class: "Cloud Polling" +--- + +To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). + +Once you have enabled the [Ring component](/components/ring), add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +camera: + - platform: ring +``` + +Configuration variables: + +- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options. +- **scan_interval**: (*Optional*): How frequently to query for new video. Defaults to 90 seconds. + +**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation. + +Currently it supports doorbell and stickup cameras. diff --git a/source/_components/sensor.ring.markdown b/source/_components/sensor.ring.markdown index 494e803a29e..898a76ffa4c 100644 --- a/source/_components/sensor.ring.markdown +++ b/source/_components/sensor.ring.markdown @@ -21,21 +21,17 @@ Once you have enabled the [Ring component](/components/ring), add the following # Example configuration.yaml entry sensor: - platform: ring - monitored_conditions: - - battery - - last_activity - - last_ding - - last_motion - - volume ``` Configuration variables: -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. +- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. - **battery**: Return the battery level from device - - **last_activity**: Return the timestamp from the last event captured (ding/motion/on_demand) by the Ring doorbell camera + - **last_activity**: Return the timestamp from the last event captured (ding/motion/on demand) by the Ring doorbell camera - **last_ding**: Return the timestamp from the last time the Ring doorbell button was pressed - **last_motion**: Return the timestamp from the last motion event captured by the Ring doorbell camera - - **volume**: Return the volume level from the device. Currently supported by external chimes and doorbells. + - **volume**: Return the volume level from the device. + - **wifi_signal_category**: Return the WiFi signal level from the device. + - **wifi_signal_strength**: Return the WiFi signal strength (dBm) from the device. -Currently it supports doorbells and external chimes only. +Currently it supports doorbell, external chimes and stickup cameras. From b43fe99178d718d207f41debb6fcc0e018311691 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 21 Oct 2017 18:48:22 +0200 Subject: [PATCH 054/117] Add support for multiple disks. (#3678) * Add support for multiple disks. * Make disks optional. --- source/_components/sensor.hddtemp.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_components/sensor.hddtemp.markdown b/source/_components/sensor.hddtemp.markdown index 8827856b46c..73c84fd8a19 100644 --- a/source/_components/sensor.hddtemp.markdown +++ b/source/_components/sensor.hddtemp.markdown @@ -26,6 +26,8 @@ To setup a HDDTemp to your installation, add the following to your `configuratio # Example configuration.yaml entry sensor: - platform: hddtemp + disks: + - /dev/sda1 ``` Configuration variables: @@ -33,4 +35,5 @@ Configuration variables: - **name** (*Optional*): Friendly name to use for the frontend. Default to "HD Temperature". - **host** (*Optional*): Host where `hddtemp` is running. Default to `localhost`. - **port** (*Optional*): Port that is used by `hddtemp` . Default to `7634`. +- **disks** (*Optional*): Disk to be monitored. Example: `/dev/sda1` From 2b982ea5f8249f6ef8f66f10e5395034413c9102 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 21 Oct 2017 22:12:33 +0200 Subject: [PATCH 055/117] Renaming API.AI to Dialogflow (#3699) --- .../{apiai.markdown => dialogflow.markdown} | 46 ++++++++++-------- source/images/supported_brands/apiai.png | Bin 13412 -> 0 bytes source/images/supported_brands/dialogflow.png | Bin 0 -> 13122 bytes 3 files changed, 25 insertions(+), 21 deletions(-) rename source/_components/{apiai.markdown => dialogflow.markdown} (57%) delete mode 100644 source/images/supported_brands/apiai.png create mode 100644 source/images/supported_brands/dialogflow.png diff --git a/source/_components/apiai.markdown b/source/_components/dialogflow.markdown similarity index 57% rename from source/_components/apiai.markdown rename to source/_components/dialogflow.markdown index 4e6d73d024f..45b9634c3c0 100644 --- a/source/_components/apiai.markdown +++ b/source/_components/dialogflow.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Api.AI" -description: "Instructions how integrate api.ai with Home Assistant." +title: "Dialogflow" +description: "Instructions how integrate Dialogflow with Home Assistant." date: 2017-01-27 11:28 sidebar: true comments: false @@ -10,16 +10,21 @@ footer: true logo: apiai.png ha_category: Voice featured: false -ha_release: 0.38 +ha_release: 0.56 +redirect_from: /components/apiai/ --- -This component is designed to be used with the "webhook" integration in [api.ai][apiai-web]. When a conversation ends with a user, api.ai sends an action and parameters to the webhook. +

    +Before 0.56 this component was named `apiai`. +

    -api.ai requires a public endpoint (HTTPS recommended), so your Home Assistant should be exposed to the Internet. api.ai will return fallback answers if your server does not answer, or takes too long (more than 5 seconds). +The `dialogflow` component is designed to be used with the [webhook](https://dialogflow.com/docs/fulfillment#webhook) integration of [Dialogflow](https://dialogflow.com/). When a conversation ends with a user, Dialogflow sends an action and parameters to the webhook. -api.ai could be integrated with many popular messaging, virtual assistant and IoT platforms, eg.: Google Assistant (Google Actions), Skype, Messenger. [See here](https://docs.api.ai/docs/integrations) the complete list. +Dialogflow requires a public endpoint (HTTPS recommended), so your Home Assistant should be exposed to the Internet. Dialogflow will return fallback answers if your server does not answer or takes too long (more than 5 seconds). -Using Api.ai will be easy to create conversations like: +Dialogflow could be [integrated](https://dialogflow.com/docs/integrations/) with many popular messaging, virtual assistant and IoT platforms. + +Using Dialogflow will be easy to create conversations like: > User: What is the temperature at home? > @@ -33,40 +38,41 @@ Using Api.ai will be easy to create conversations like: > > Bot: Turning on kitchen light -To use this integration, you should define a conversation (intent) in Api.ai, configure Home Assistant with the speech to return and, optionally, the action to execute. +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. -### {% linkable_title Configuring your api.ai account %} +### {% linkable_title Configuring your Dialogflow account %} -- [Login][apiai-web] with your Google account. +- [Login](https://console.dialogflow.com/) with your Google account - Click on "Create Agent" -- Select name, language (if you are planning to use it with Google Actions check [here](https://support.google.com/assistant/answer/7108196?hl=en) supported languages) and time zone +- Select name, language (if you are planning to use Google Actions check their [supported languages](https://support.google.com/assistant/answer/7108196?hl=en)) and time zone - Click "Save" - Go to "Fulfillment" (in the left menu) -- Enable Webhook and set your Home Assistant URL with the Api.ai endpoint. Eg.: ``https://myhome.duckdns.org/api/apiai?api_password=HA_PASSWORD`` +- Enable Webhook and set your Home Assistant URL with the Dialogflow endpoint, e.g. `https://myhome.duckdns.org/api/dialogflow?api_password=HA_PASSWORD` - Click "Save" - Create a new intent -- Below "User says" write one phrase that you, the user, will tell Api.ai. Eg.: Which is the temperature at home? +- Below "User says" write one phrase that you, the user, will tell Dialogflow, e.g. `What is the temperature at home?` - In "Action" set some key (this will be the bind with Home Assistant configuration), eg.: GetTemperature - In "Response" set "Cannot connect to Home Assistant or it is taking to long" (fall back response) - At the end of the page, click on "Fulfillment" and check "Use webhook" - Click "Save" - On the top right, where is written "Try it now...", write, or say, the phrase you have previously defined and hit enter -- Api.ai has send a request to your Home Assistant server +- Dialogflow has send a request to your Home Assistant server Take a look to "Integrations", in the left menu, to configure third parties. ### {% linkable_title Configuring Home Assistant %} -When activated, the Alexa component will have Home Assistant's native intent support handle the incoming intents. If you want to run actions based on intents, use the [`intent_script`](/components/intent_script) component. +When activated, the [`alexa` component](/components/alexa/) will have Home Assistant's native intent support handle the incoming intents. If you want to run actions based on intents, use the [`intent_script`](/components/intent_script) component. ## {% linkable_title 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 Api.ai agent (Settings -> Export and Import) for examples intents to use with this configuration: +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: +{% raw %} ```yaml -{% raw %}# Example configuration.yaml entry -apiai: +# Example configuration.yaml entry +dialogflow: intent_script: Temperature: @@ -109,8 +115,6 @@ intent_script: {%- endif -%} data_template: entity_id: "switch.light_{{ Room | replace(' ', '_') }}" -{% endraw %} ``` +{% endraw %} -[apiai-web]: https://api.ai/ -[templates]: /topics/templating/ diff --git a/source/images/supported_brands/apiai.png b/source/images/supported_brands/apiai.png deleted file mode 100644 index af7a481a524f48a38d4b7aa372ecb7785759ac6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13412 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 V%&lztGY^EMrlhUdAa4`%e*nQb-hKc8 diff --git a/source/images/supported_brands/dialogflow.png b/source/images/supported_brands/dialogflow.png new file mode 100644 index 0000000000000000000000000000000000000000..8be89e7af993b6252d80bfc2df71b3d1b23cf469 GIT binary patch literal 13122 zcmch;gP4#%4kCTJiK7$7+giF>H_^ z4WyE~hR^1i5G4HJTZuO%3>_lF=H9iCj$D#^y0A6#+TXX(;k)xIJR~sE|L33N^tZ-& zSmzgMB<+6#3tI2vn7v*0s4mE9{Vsc?<$~fikA`y-*l~g%`y)02g4FUQ>}1|oHeut+ zWEZNocH5#g%f|G1191&E&w)+gzUT3WyW@rys-WYCi9xr#=c0&94?M6?HrB9YUqIDP zhpNVcM(=v0)dDk%QcDj>5Z9^2^~_v{+5{EEw*4~hu1aU`R^;NITy@HgL4~1@5qF?$ zvOXH7^&GNq9!{D#7lGpZ*NA~V6qWY$p_s!i)$Mn0d7*Q`08Yde^btaWtQ6)#vHQKT zovg{(;E$V0TJ)mFcmdG=E;C{e4cMU>2Q#WR1zE;o`JD=kmIjAd9U!ja=BYf*x%Y}6 zg&Xm1^yWiJ5sgT*yj_C6VWW+utQHnxw^E5gXIkiEh%4wLR_H@63zh^omBE+8J=3${DI=h|JTRlAytKNOF;*+uY%jJJxY|wXTqV*x@nH@bG{X5SMI$1iSAh)=(ZH+3LpYxcblwUT?hMEO*=vGrkFH9q#r*#-lJVg$ zxc#DUHY1D}7mDrvl2Hs;GSRCC3Y|fu693J^FM8=Fy3^dFz18o3R;Jvg@PFp$Cn{jG zm{mmODQe7vc+fBF=e=m+`3&B_iP-arPkUt78lE;B{bzWQiw`5<{vhCiSxX*S0gOpwE!_9#$WgAMb_C?;VJ^sK^ zO7WWpydL79{Jb^te2#F*B3OQ`^Kab87{p*vHtSITGut?;E!H17Qqs9M(AhW0;L?MJ z<*uu}X%ge$cOyZql3=CEPFm?Hd@%nl0dAfr&aiE#vFHd9Ik*{o#T z`hV^RZXVyGq0UP-+38k|4WqqtDn`HUx&Iaz#dfkw@Z=BuZP||9gy8f?a3XHcC!#gS z=@xz?PE7~|MwX+of%(68$1VkI*nH@?Ksje^+gMYRuL~ysH<*fd*4gMYgZgi6d`3?D zregv8A*QCXe09LZ<9CH|&gi(e&Zd32gY?!GTq(m~fE#e#y#6?_x#@<+Mh!hZV$N#TSgzKE*g!O^ z1Z75jUeaP85mn*9&KLDFj+RYxzxKS6=JpnkzGi1+m}jERUt)_hu&^Bexj#bn--v@s zc&c364qJ4}hTrUHze+1^@!S1vpo=-=C`w6yfups5Cj4F3MRWh)?!(?y%&_+NsQ8OF z`4{kZ*X0LER_Wx}XoA_Q?n2om>7y!)NxR4E1IaLJ?|_B*dGd!3kfz}9xM@S=7~!@)J})nAh>3~q+}sj~h=^?M?ceVa1Zb5LbfBqcA_-kg7fOE;4=-+FxmNtJ zeNL6v-uahJJ2yCHn@m@IO2Y!9(qWzS$C7eP+{m#*Q~BqBjdqD?crcZ)Vz`Hp%Hzk6 z8$N#)mnOhKd9Zfm^K;KDjZZl)CT5Q`=f$g+-mQ5L#IK}j@%TkWRg#jDGH#%8ePP)c zI+aBc=z7j~Yk^zkhXYN_CntuKLf#=@+nRCuYyT}t!XI%FzLN>YSfH2L*GH6peotXs)#b~;q`_H# z9-pV}l0Uf~mh8JuS;eemc(442(krVMKMF-fRdsA>DKB5bFDS@lZ#ew09OK3Q2QDCrzGuZ^GH`LWAGEnfM> zgeu$jiqXpDg;w?5)2cNx+#77R^y@usVE$%dB6F>uCr!dNAb#`J1TibqE^ z0>&YxhQP8jB5Y`B(+0w`!59sSt0x;I)6?L2M!jEjsoLNF-Bj#;suAQ{HPoz5UCfw8EFcnt1FhWb%Cn;Kl}tQmefPG3D<{F!y;)p} zdkwsJa?p4;i=*Mom(;dJJJyuhmuiBPaaxQ?G*u2y3P;OIV9GZ^oi1i(5}T5a^)p_3 zs;H2^8U)3!ZEfW@ZPo|)Y!cDN4DF&%SNqB-y!Q) zyz+hG)HU$D#5eEu+@zlkAFP(Z!FT({?I~wr0CU=`GNZQINwLP!(a{;Jz7sJR@t8_nqe+{xn>ejRa z@&@cg+Xn|}&o&?WsAtdcmwi6v=jbyj9xMnyK8v%M5pKWmcGGXUG4QeW)a_q1Z@3}t zt|#$rH!1Jzd?oby52hgbcG|d!kx-jTM^kV*X$JEpm8YO$OReAuF%DBx(L(&J8 zSuCN;TTKne>*+WCL4D>fj2)*go{7T|sfNBq>9b~n?ZU=|9}S6f+8gse@$N43QrWM= znTM47%%AfM3YJ%tD*ym4FK3yWoGexlM8k8s$+6`Ah5Hd{kO8bIjT^vjn>zW662I8~PVw4TEZLrtJM1}L2wzbB;B>VtQ!eFpR_cs7o zWoYqA&cgARNxlVWmJ?h!C6WdV$LHuwFmQOxDcUhb)E0uHHenx>c|PZ2 zUHh8VNKY?qVs5U|-sw+N)T3ST5K?uctq3_526I5%N)$&OoVx03zO$S}TlY^=$OQ71 zcC%`5o|t6w@IfU96dK^w{LW2=LjLEUTqB39>us;W3AAW52>ksRGKrh_qPVMDG@M(k zQ)WQvyz$Et+sg`zf#+z3{^HL%+ZHj4kEqw-_637%0JA^bYQ+GLs2#ou+@|dn79{fl zZ)y>8Sp~$np-%bA&_x}AhPq<%zUR+o-?(55u{EEa&xK#iy4aXB%dz$2d*Mo+rk0eJ z)}8<-T_Ge+++*%+=QPu*_d2=ee#9Wq18cajs@hRw<7O6rJ<&)0Gm%t7BybPQu21U` zfzu>q-n8ZlxbM$;W^&+bvGwh^Nu$8iUcaH{i|wq}(Eu`h$u}EG3)Hd%XijeRiU{xxFaGcz+&YjP@pjWaFUh%?Q3Zt&VyfE-)Mdp~Qx zPtR@XxtLfd9;uR5{mjqRBXzKCTb)$Pt{-8;!!DR#C)@?d0hRa~OSX6r+qXLNJpSk| z$46x7_AUULyL~Y%EG)*&-R<+Guk1jaJKgf+B}cK73i4Yl3$~ z(@?uQI5`!Ehd->ImMzrShYwsY<(p)~di(ljy1O43w|c3J!^vV~Sx95XzI}r@xVY3r zN+ixMkz=At8Nx==>;cKDHg1(A<}@;`s;XMMxK??=LyR4v&rDG8>z9H`&@0-6JZV~q zu&}Vfjg!5nMGrfKX=cs3mEt0TC+}1nyISY_zU}U^W8vU9oC}X{@d5}M1pqW%`)%h= zm}Z@ykMD<1Q@MavO%rgZFh)%;O=BFq~i!Mvh${8j92_%&g9q3DX4Q>gtlvb%I$VrZ_U9E`JaxFOA@I zQc_Yhi!++-3`q(^=qSI})`~cZ=fIf;JdPJ^0D;Wbcaon0vR z_)-il;^4+J`;NR!o5Ue&qz7(YyM?wIaiZArVJNwbyWjBjvl}qO55I1uwzqcP@>kYt zo)Z==9rWf1pG4ZOUc8-ppSZ8zOXz`>_sSH`L zWu={E95?{?TV6IZmeSGyOFNLp74f+x#+Uj1m>?MBhm7(GcXbB*zo*a$rX&T%mis>& z8)wj_@YCOEfUOlxbaTNA2F2P`XIgQb8Xj`l#9N0~&AHfEc-Q9eBoD40p&MVqm~qjQ z87>KB3N=W<%=V!tZ9$5aLGx>yDh{7s zSvJc6!^4>KxtSHeA)*F2DlFaZT++#h-+U^b31ZUh9?r@ko#ub&)~U{HXunJ%v%MwK(E^@A)`Fj5@$J=irAZ=`mcT0clyYRER8At8y zlc(q-nNp6zmV403T29TMfU!RV_z?$atBKQ9SrF8F(h0GZ;i%7R6Es z3SeLE`6K$pslVB;-_l8^^<7>HjQ^Ebb;qKW*{9#;Gu77W(4g0}rn&S_r@Y2R$`FJq~Kwp&iVJ0&u{ z{)ZLA_iwhz6xF_bz^h_+F&J(>qOO|%rE$0KwCg>Rz2Lmj0ZUOV?(b*^*zlq0(V*9R z6{w{?W98)Ej_3hh7@oA$>Cd0&Jm%R3d_L2&3o5l{Zx@_POG+4NY5Og?ad-_h*b?MN zz_f)ux05YCbh>S>(r@oZeqQAv`=h8ABp)F{FGQjxzurDk>_^ zbIvZRba&3c>Yd^4uB_0qydNt+J5HcAn=EtUt_wg$%INFoUccWWs+xB$5seFsC*6h@ z{OvZ@aq6Nn8g7o#O(kWy7n*embCcFxVfL;v12v6<9F=5MYnp@8k55J&DEfaa=|DWwrz$473?HacW9 zByw3DuDdsHuKh}qRC&ek;_~dNWqp19yYMw0n<3YB=b)e*;iaRyA&yvNEe}n=#ZN$Z zT!99s-H3P5!!9Use zio*VLzxL+=?ar*czwh?u-nhVn$ks_sgWC4g&v3CL(rrV$1jqpc*V1fiHMb?mZiiXd z6M*1IUx-LmS-A`Y8=70QHZ}Jnu*?hf>x6!fCh99dGS<9WmHh65I$wdP=e4ogKET6D9*gZjA0ib$8Knt1{~_AjXG=m6h@@x6$Mni*xyM8y(>`E0n#5#c1H2P8N4NMC7G$~mAp+quJ zV;cZu*uq7_c~au)ji*JgU|ItIR3d_;rAwzCdnaTe`2cpYHCC*o>Fs?{?Ky`X5!MiN z`ROYbE%7(tmDZgvs+bi^Z7E7%)`fR>LFE&5QB@5M4e~a_ISh-94$;;&HaeZbqq!U% z!BtfDn!>nYW09#^fN&uKm8~Ppu<0EgzR0!a*L0c#hW%2(e&HrnjO5a~4WkuzBuEBy z|3mw@@3r#+ZdV)X>dxPq)!uq>Mn$0HbCb;c@hW{h@*|qK7#O0X;A&ma+(PLFyru}1 zx64$0^MM{_oS(Cnl2SCV89D;m_YBVqf*nBAwmH>~cL3ixQ-tQ?FcDb92IseO5k-d& z<%m}9WH+x+YwoOe0)My?$ZS-pNt-h=ApDXu)h)S2rESAVKUHBs;Q@+m)#q+M!$Uom z-~*ce1!wVVC-IP}kF$qY6uEK zabRvd^fQD~Z%v<0tv?8cFAc;G_a0n4#`-Q!F>3J#9JQjp?6f`91cOfEMGMw!)wKE3 zsHT9PEf05>G$Ni^Fp{dyV4y1)!p8fvg&Y22C-P`RN9ST?KLfL9ZE4}}7Y3}121$KQ zQm6Nj+T;25*4Aj?p<8gIfZGbn#ZLXqr;)uGR{?h3>&=rZ%tvbWsOHqFrzb8B4s>*B zIUcPGlHRmFvB7k$_{Z;zM z@k<@&Mr83`1C!=9-2it=y+hgb4k4-Zp03ccSF7iY8tt5VL$mUmCQC^tyQrUe`f-pL zSyl*NNfu1w11a_QRX4?AO%M&Rq$uu@+B)%*@$vB`jBnBFr#3mwIRMErviGTdj}k-< z??nz^>+Wuic6zOYjKkiCclss?t0LssJfp1-)(rv+(HY1Q`4=`o3IWOG=jWFN3S~yB zYSFk|MrLLq7y^RB(KbP2szZrb2A&V($rs5cZhTzFDm3_V%<)`&*|LacarjlLl~%x= z0o8q5pB8^6VbIU?i}@xU^~w4VVHY;1f2$F@_B6q@@7h(d`ORx)0`8(kfo#?BwKaM@ z@6YbI=|}wI{j9Web>lLxEFos87cS?7&a6@L)V$+@DwfY$=lp?Dw^Zp2pZwkHr}weB zmT8J=TCL3Sp2y8Y!p&>?VOVFH3^a@fp&@2n&6<%DR+%i~wuH1YsJOb7lLQA8Y;LAY zv~?UJ8^Vj44@DoGdIcL=mKd*bz7o^}4j8pe0z|OylU<+ASiad<6A}^m&@xJj#bc22 z3Z_b}|EA0#r1t{`&^%YcuC--R9fVxj6j{ z#WsYLc6PgYzI*v|$+CW`6$k`zZkWa;;(A{T$HXm))1|e`8nz}r`51^3xRHE zpJH+^>d>DW_?WycV9rkCdZl}N0ua=QlNiY4Aef%77p;ByfdT&!FvPMZ)R6ZpXMV+x zi8);#!U4(gVs*nU<5@hL-#+rOb#_)wavc=*ul8y0<(m0J1RkMW{fJ0JP)7=74%g_nuI=i?~8Wz3C8s0d;J2+NXr@RaZN!uj- z>8FOjdF1aq3{Q|RT6;Ed-PFLkx@6oj6zT93oD(ech#qCjvl#amzRW`pDw|!6T09hv zuWvI3MP35i2V9}WV=K|}orFx|Lv%c0;{X|5-Leu{N%a{5nNceIsuG+({Sb)H+8o<=z6^y3r4^iaO>zcaL9^i@+T z{7NC!6QLhSqC{%UN|2I&dTXp*Zg3dOmyXZz)2wj7aaoc^3fS`X`(FUtv=@K&lprJU zkLa&01&{pusVQ9{&uwj3b){kKS#o2Zjuury3gO`K-Sa2TcNRm+bF@MsYZTg!-qn+J z0fmuGALue+&iWM~XVP44CA+{O4NTP>>`v4m!V!&C+~g-a5v8Zs&N#jcx8X4km_(Id z#5S>>%N3rijsEn>G+IBL4ZH;^roG-W#*k|~^WKHmM{{ccK`ZRaqE zn1d+#@YvtEX|B{O_;8A(k|k-$IMcWC0PVmF*pk%LUs*6-%}{aiGLIh2`eAA5_XX(2 zyfFsOT!8)ZOyX3wKf^l`qb_1f5c1BsVASj_DCzAm3PW3>JHEIl)Nvw0D zzS~R17?Bjt=PM07o(1ylOq1RYgo8VT`C_+*Gk6hY)SmwgP2zvlfRZL9- zhD&%A6l0%`(jr@*wzim}5#YVmUyE}5D9U@~a$oV@jgxYyL|P`E1bw=4 zoqITk25l1;kVqbeN%Yt(%gV`xKPdX?j~{ps;<|So_W(bAW=X>C`tCuT1sfcE8gw%} zIEW5|rWqtsbI%PJcI3;Xzm+FJJLp%I>Kqf2obix%PdNdM>$z){N75Mo1 zb)R2@G=mg=dJ0as@Vf{3oIz!!G99+jh`DN`W=Vkc zq_s{U*CqLc0%%SQY4nHuTneS*?@|>alid#I8=trQgY#~LC<62&R8-WL%mkXo-KMoK zl?^Z0xx+rHmU^~gk)floavxsa1}QW&UZk+;d0-{jch|EIR7|Cx`L#>dkI1&&130%% zJ!`7Wh96vj{R68)(~hQLkGcwgDv3mAQ6hZQ3g4i*z;X?F9e4pkTCh{5&wf4#g^-bw zVgNBKMf=*J_T}d8Onpg}Kauf?_RierUzUkj*x0(Kj`^GHjv!HlkaKiPKBlLe*;Bq` zFP4bSxCmbFCp7LCoPhp*yp6!c0&g=SVq#A+X`oK&43}O8Kw;L}jhO8Qs5%_MX`^Su zpmRoyUjSQvm_H}NM4g$KARr?lF+=EbJv}`H7~#BIc~<9#%HM+r-0Io%s%`P_-gHru zQBsyDy10*yj?zSZl2_*y6jT6H%y^3qA{IGW+24&0({F>P*4-aXLgB-JwHL%t*3GcT z#KhR0o0`$%YuuW0B_p_VuGIT5c@C;i*6wQ83bd ziPl5zu!j^s3YYX)?ha2>Z2`BoxRkOFfSiFL9-Fg|2xWe84(I@pdIXZh&eqmZ)X@BY zdEGKi-MOVvkOR`IHp1)hkpt?~)2F6;dwUg}E5IU#hKD2Gy?dvPbBy5oSc{zpAQGk- zy$}N_Gh}4sT|nzAI1j=4giGeX_q%K$Jv%?I5UP16NrNCr3kwSsty#Sw!2%Mu_NZ~v z(xAoTXhlZlB4S{@KvOSdw9qYOV4d|!pNNjk-sv3)@ZF~MGn*?vqBV=z^_UF$41u@} zq-|z|mealbY;J2g5BS@Xl9Jybhy`?_$ljr9er$}koFnX~bv+q!4_I{L3oD@L0wp*m zHnuK5KVO{%Ibm_pL}jrP=vdWXhB^hP$-pF6S63aI#$s2p3xSSOZPKn-=FQ)C6uk2N zk&alVYU$SYWF@bFz)x#y>!)gV5r7o{CC1U!HQu=0Pv?w6DtEY4=<5MLi`hGPzT72; z+!ZRGbskcMiJ>8xr>CdRyrw5&6>Z)=iIRT){Vk`_S8@K#7?8P)j08fw(|ola4{mvp z;ju}L9%y8>+gnx{kQe=oK%(MtJJ^0+GWSjsVbh%P*!8e=JwizZ6qL+6oj>gzL0mCN zM`7GM>!(&ak680lP*5ah41LNB^Kc{b1t2%G=ap!c{z=#2IjZ>e;ivFA!k)=AblZK z25iaT<;y(t=IQQkNrk?y+prU@Qq?WLYEG*!dc)k0>Ye{V^YK*x!X^~r3`1qN_xAWc z8DFTfwl5EsYnAe1ft;9w!?@>t#@=nNh;N;FYp`wsh|5(Z8%%(<0Lao#kVrB&Ql3q^ zH0ZjG?z!KO9lOru%$6&0`a`|{nqc2j6c>pBo5NVSI)3KFgJb_|1%;flDzOP}J* zm~02lYaLNGz-$y`y)DKvr*~3XT3ZLWpEykn#%qAIhGnXLVDt}3o1v`dyvjL3o{DE- zRt9ZwV1;jOFlk?a0uZ~pl@GS2FIH?StXjP^$E4n3^+8oDe|7dW;eX}3+kw*+h<%S8 z*?ha|-fX|}W*4wc;E8~khUtIUzwS;FaD3YTVp}by4&9?Om)?$ge*YAwnCWt#o_Io|>3J`p7Zu z0Eloj2?wcobH#=s)xnpMr~A3*b@Q(*x_o{wb=k+Y*=Qd4pcDlJ{)3p%KYheK%>@@Ph1?oL$*zy-FpAl>_R4#+y{#WiL13rDHHEWHAa5ox7$ zE=1C5XvqG{l>d>>v$+L!;3f!VmNWMF+>d)dAr^^|)}Z-}=X~gdis`NG@1eVs7iC9B zrO&Q0TTDKz9$m^>Ak+GpzH9l7(&OBewBXECIvz#RO~GkhuFVQ^dx*pzV^Y2{2%iw+r*4PMv3otvKE{TI%M$05wkhioKZl??u^dE6B6 zK#*)?&C&8AQ}3@+u45-2W+S|(2wAWji~78L_+)H58^!;+Q#2G8>wqeskD?%OxZ~|1 zW=jvU!7S^P!fN{tvN1Z$sTI=ZJ2hXH?pC$}QIXcZ=OV|)8x_7ku}i(5iT+(L9-}6r za@~1ZAPv7n@j``sV?6T7+VQk@hP(+Cq84|sy(fN^tm^`|Jh&Nk(Vz)@?Ee*Y@>hf% zJguZ``B2Wa013iOBW_rwyUPyYv8E6Wvb#l#RfynRNIVz4#y@wBnYq|i^4J{Xc(hCc zF?9eA?igC8`>7E%gcN;5#vgj4uW-kx;GZiJCu+QY4)x7hb4hI2=*g9FMTKaA$j{Nk zBRS^7htKZLeIUDb;n(ydf*0wV5$T6ZI+&Um7h&pHthZbcQ^)bPTJ3b@7DUKBDcz$bR{ zVDI*~UDgEBHxKCyv(xi)(iW4NpR*vw0FIYzffkH)yZqo=*l#E_QYNS@}DH-lj#?Lr(u!hvNXF4MU>R}fw@66+^YK*@#l_Evo)AD7L zfB!`asn7-N9%Kwl;6qQCR6!~nZKw|jSbtgAiz$@gx0)jN^~6VyDn?w_1onh4kS7F@ z#Z_>(?({%@0VLtYx_Lk`==1+QSD;Et6*0++VitRW8@#MCq`Z=ko{XecWQaQ9r0Bc& zcHv`|fDB>V{aft4vmk6HJBWBBKT`X24k{QSrxI6=&CBC`3B)nNeglE*B>tjrbzjFQ zH_n!N407v$NxGV#mYHJxeyH=ei&9V(HXIbUjWgqxhzfbBmvsc_jMb>^#7L(TV1j^P zA_^$8(vVomt@A3CvjaY61mDluc49$3M+5CvGCzLXGgIcxYhZNt*+>=W;3oMK9BRPXQ-AXtn{2q-M=?9|=3X|zBT>I!u`azo~8uv_!$UaDe_Nx{D| zEz?MV;+Bx(Z&Y;D?(7s!~8Tt{K|( z&}}@naSH?AZzJYu&;}~2-|g)N9*g{f)7!=EXrUv1y8yx%Mrz9w_*5=-yyLZ)cs38B z?E&v@kt$Rf_UdC%FCA6NW+k^5I%p0_uP5`8@a4M*ium_l$}8r6KE(Z?H{l;b8|{n3 zGy;giVQpNX3AXpdk(d6l>6AN**!{07LUf)H**)8nLzk^|PEmI}WTN-ajb5{x~2Vs0MbL#_q_vZaSDA`s7N<0ZS=I^JKA zc^o?6*>Q*He#|4#AJzb8LV^k2U^#BLrxv?>&e7 z#k@$n{{40UCAecHRsgtz`yTJ|#lKJA{978w%0D)FJ8L}+_cvHVhm*PgGs+N1dsvK+ z4M^G}hNsG>-(9-_4+_nIUWdPx~%U5yKRJ zIhoA)Y0=QK^CrV-?!FVeT(bP%tCB11?elhUW{Um<-!swkQTV|-4OKA{Z&W1zvy5-L w2o7|7fBWPM`Q0l_|9{Jk=YG;H@)+?)gegK4WK^ZAB~9P_f4&3gN&o-= literal 0 HcmV?d00001 From e553ecbec11d730605682e8d049a98a033a345eb Mon Sep 17 00:00:00 2001 From: Uli Date: Sun, 22 Oct 2017 10:38:11 +0200 Subject: [PATCH 056/117] typofix in z-wave docs (#3710) --- source/_docs/z-wave.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/z-wave.markdown b/source/_docs/z-wave.markdown index e773cef4ac5..98c9ffc9008 100644 --- a/source/_docs/z-wave.markdown +++ b/source/_docs/z-wave.markdown @@ -10,7 +10,7 @@ footer: true 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](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. There is currently support for climate, covers, lights, locks, sensors, switches, and thermostats. All will be picked up automatically after configuring this platform. From c756b3d280e9972cfce19d6855dfdf18c8262fa9 Mon Sep 17 00:00:00 2001 From: Klaas Hoekema Date: Sun, 22 Oct 2017 11:29:59 -0400 Subject: [PATCH 057/117] Update description of default EmonCMS sensor names (#3708) Revises the section on default names to match the changes I'm proposing to use the feed names defined in EmonCMS if available. --- source/_components/sensor.emoncms.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.emoncms.markdown b/source/_components/sensor.emoncms.markdown index cf11b14dd50..3fb5f1aeab7 100644 --- a/source/_components/sensor.emoncms.markdown +++ b/source/_components/sensor.emoncms.markdown @@ -41,7 +41,11 @@ sensor: ## {% linkable_title Default naming scheme %} -The names of the sensors created by this component, will be a combination of static text, `id` from the config and `feedid` from the Emoncms feed, unless `sensor_names` is used. An example name would be `emoncms1_feedid_10`. +The names of the sensors created by this component will use the feed names defined in EmonCMS if available, +or the feed ID otherwise, and will be prefixed with "EmonCMS", e.g. "EmonCMS Total Power" or "EmonCMS Feed 5". +If the `id` property is anything but `1`, the ID will be shown as well, e.g. "EmonCMS 2 Feed 5". + +If `sensor_names` is used, any feeds with defined names will get those names exactly, with no prefix. ### {% linkable_title Examples %} From 5cc222406802bb6c9fd1d777e3adf3bc44aebd22 Mon Sep 17 00:00:00 2001 From: Thom Troy Date: Mon, 23 Oct 2017 07:25:36 +0100 Subject: [PATCH 058/117] Add irish rail docs (#3633) * Add irish rail docs * make main example be basic * Small spelling & grammar fixes --- .../sensor.irish_rail_transport.markdown | 52 ++++++++++++++++++ source/images/supported_brands/irishrail.png | Bin 0 -> 5062 bytes 2 files changed, 52 insertions(+) create mode 100644 source/_components/sensor.irish_rail_transport.markdown create mode 100644 source/images/supported_brands/irishrail.png diff --git a/source/_components/sensor.irish_rail_transport.markdown b/source/_components/sensor.irish_rail_transport.markdown new file mode 100644 index 00000000000..2735bad819e --- /dev/null +++ b/source/_components/sensor.irish_rail_transport.markdown @@ -0,0 +1,52 @@ +--- +layout: page +title: "Irish Rail Transport" +description: "Instructions on how to integrate timetable data for traveling on Irish Rail within Home Assistant." +date: 2017-10-15 16:50 +sidebar: true +comments: false +sharing: true +footer: true +logo: irishrail.png +ha_category: Transport +ha_iot_class: "Cloud Polling" +ha_release: 0.56 +--- + + +The `irish_rail_transport` sensor will give you the time until the next two departures (within 90 minutes) from an Irish Rail station using the RTPI information. + +A station name is the full station name as specified on the Irish Rail search site, for example, `Tara Street` or `Dublin Connolly`. + +To activate the sensor add the data to your `configuration.yaml` file as shown in the example: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: irish_rail_transport + station: "Tara Street" + name: "To Greystones" +``` + +Configuration variables: + +- **station** (*Required*): The name of the station. +- **direction** (*Optional*): The direction of the train. Typically either `Northbound` or `Southbound`. +- **destination** (*Optional*): The name of the destination station to filter by. +- **stops_at** (*Optional*): An optional filter based on the name of a station that the train stops at. +- **name** (*Optional*): A friendly name for this sensor. + +Using the `stops_at` option will cause an extra request per train found. Therefore, if you are looking at a busy station, it is recommended that you also use at least one other filter. For example: + +```yaml +# Example full configuration.yaml entry +sensor: + - platform: irish_rail_transport + station: "Tara Street" + direction: Southbound + destination: Greystones + stops_at: "Dun Laoghaire" + name: "To Greystones" +``` + +The above example will show the next 2 `Southbound` trains that leave `Tara Street` station, going to `Greystones` via `Dun Laoghaire`: diff --git a/source/images/supported_brands/irishrail.png b/source/images/supported_brands/irishrail.png new file mode 100644 index 0000000000000000000000000000000000000000..204e1c2f899f50189c6e40b212902a6c25cdae30 GIT binary patch literal 5062 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 literal 0 HcmV?d00001 From e2c8e4b1f5ef40fa4b270ce05432e697600fad7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoffer=20Kylv=C3=A5g?= Date: Mon, 23 Oct 2017 08:32:28 +0200 Subject: [PATCH 059/117] Update faulty link, website => documentation (#3729) --- source/developers/development_checklist.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/development_checklist.markdown b/source/developers/development_checklist.markdown index a7a585701f2..1a1fdb3deff 100644 --- a/source/developers/development_checklist.markdown +++ b/source/developers/development_checklist.markdown @@ -16,5 +16,5 @@ Before you commit any changes, check your work against these requirements: - New dependencies are added to `requirements_all.txt` (if applicable), using `script/gen_requirements_all.py` - The `.coveragerc` file is updated to exclude your platform if there are no tests available or your new code uses a third-party library for communication with the device, service, or sensor - Documentation is developed for [home-assistant.io](https://home-assistant.io/) - * It's OK to start with adding a docstring with configuration details (for example, sample entry for `configuration.yaml` file) to the file header. Visit the [website documentation](/developers/website/) for more information about contributing to [home-assistant.io](https://github.com/home-assistant/home-assistant.github.io). + * It's OK to start with adding a docstring with configuration details (for example, sample entry for `configuration.yaml` file) to the file header. Visit the [website documentation](/developers/documentation/) for more information about contributing to [home-assistant.io](https://github.com/home-assistant/home-assistant.github.io). From 484aa07381c8f9eb8ea3f5e70a43b0b520948907 Mon Sep 17 00:00:00 2001 From: Kevin Fronczak Date: Mon, 23 Oct 2017 03:24:36 -0400 Subject: [PATCH 060/117] Fail2Ban Sensor Documentation (#3679) * Initial revision of sensor.fail2ban docs * Bumped version --- source/_components/sensor.fail2ban.markdown | 185 ++++++++++++++++++++ source/images/supported_brands/fail2ban.png | Bin 0 -> 17857 bytes 2 files changed, 185 insertions(+) create mode 100644 source/_components/sensor.fail2ban.markdown create mode 100644 source/images/supported_brands/fail2ban.png diff --git a/source/_components/sensor.fail2ban.markdown b/source/_components/sensor.fail2ban.markdown new file mode 100644 index 00000000000..c96b3109910 --- /dev/null +++ b/source/_components/sensor.fail2ban.markdown @@ -0,0 +1,185 @@ +--- +layout: page +title: "Fail2Ban Sensor" +description: "Instructions how to integrate a fail2ban sensor into Home Assistant." +date: 2017-10-19 10:30 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Sensor +ha_iot_class: "Local Polling" +logo: fail2ban.png +ha_release: 0.57 +--- + + +The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to be displayed in the Home Assistant front-end. + +

    +Your system must have fail2ban installed and correctly configured for this sensor to work. In addition, Home Assistant must be able to read the fail2ban log file. +

    + +To enable this sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: fail2ban + jails: + - ssh + - hass-iptables + file_path: /var/log/fail2ban.log +``` + +Configuration variables: + +- **jails** (*Required*): List of configured jails you want to display (each jail is its own sensor). +- **name** (*Optional*): Name of the sensor. Defaults to `fail2ban`. +- **file_path** (*Optional*): Path to the fail2ban log. Defaults to `/var/log/fail2ban.log`. +- **scan_interval** (*Optional*): Used to limit how often log file is read and must be a positive integer (representing number of seconds to wait). Defaults to 120. + +### {% linkable_title Set up Fail2Ban %} + +For most set-ups, you can follow [this tutorial](https://home-assistant.io/cookbook/fail2ban/) to set up fail2ban on your system. It will walk you through creating jails and filters, allowing you to monitor IPs that have been banned for too many failed ssh login attempts, as well as too many failed Home Assistant log in attempts. + +### {% linkable_title Fail2Ban with Docker %} + +

    +These steps assume you already have the Home Assistant docker running behind nginx and that it is externally accessible. It also assumes the docker is running with the `--net='host'` flag. +

    + +For those of us using Docker, the above tutorial may not be sufficient. The following steps specifically outline how to set up `fail2ban` and Home Assistant when running Home Assistant within a Docker behind nginx. The setup this was tested on was an unRAID server using the [let's encrypt docker](https://github.com/linuxserver/docker-letsencrypt) from linuxserver.io. + +#### Set http logger + +In your `configuration.yaml` file, add the following to the `logger` component to ensure that Home Assistant prints failed login attempts to the log. + +```yaml +logger: + logs: + homeassistant.components.http.ban: warning +``` + +#### Edit the `jail.local` file + +Next, we need to edit the `jail.local` file that is included with the Let's Encrypt docker linked above. Note, for this tutorial, we'll only be implementing the `[hass-iptables]` jail from the [previously linked tutorial](https://home-assistant.io/cookbook/fail2ban/). + +Edit `/mnt/user/appdata/letsencrypt/fail2ban/jail.local` and append the following to the end of the file: + +``` +[hass-iptables] +enabled = true +filter = hass +action = iptables-allports[name=HASS] +logpath = /hass/home-assistant.log +maxretry = 5 +``` + +#### Create a filter for the Home Assistant jail + +Now we need to create a filter for `fail2ban` so that it can properly parse the log. This is done with a `failregex`. Create a file called `hass.local` within the `filter.d` directory in `/mnt/user/appdata/letsencrypt/fail2ban` and add the following: + +``` +[INCLUDES] +before = common.conf + +[Definition] +failregex = ^%(__prefix_line)s.*Login attempt or request with invalid authentication from .*$ + +ignoreregex = + +[Init] +datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S +``` + +#### Map log file directories + +First, we need to make sure that fail2ban log can be passed to Home Assistant and that the Home Assistant log can be passed to fail2ban. When starting the Let's Encrypt docker, you need to add the following argument (adjust paths based on your setup): + +``` +/mnt/user/appdata/home-assistant:/hass +``` + +This will map the Home Assistant configuration directory to the Let's Encrypt docker, allowing `fail2ban` to parse the log for failed login attempts. + +Now do the same for the Home Assistant docker, but this time we'll be mapping the `fail2ban` log directory to Home Assistant so that the fail2ban sensor is able to read that log: + +``` +/mnt/user/appdata/letsencrypt/log/fail2ban:/fail2ban +``` + + +#### Send client IP to Home Assistant + +By default, the IP address that Home Assistant sees will be that of the container (something like `172.17.0.16`). What this means is that for any failed login attempt, assuming you have correctly configured `fail2ban`, the Docker IP will be logged as banned, but the originating IP is still allowed to make attempts. We need `fail2ban` to recognize the originating IP to properly ban it. + +First, we have to add the following to the nginx configuration file located in `/mnt/user/appdata/letsencrypt/nginx/site-confs/default`. + +``` +proxy_set_header X-Real-IP $remote_addr; +proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +``` + +This snippet should be added within your Home Assistant server config, so you have something like the following: + +``` +server { + ... + location / { + proxy_pass http://192.168.0.100:8123; + proxy_set_header Host $host; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + location /api/websocket { + proxy_pass http://192.168.0.100:8123/api/websocket; + proxy_set_header Host $host; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + ... +} +``` + +Once that's added to the nginx configuration, we need to modify the Home Assistant `configuration.yaml` such that the `X-Forwarded-For` header can be parsed. This is done by adding the following to the `http` component: + +```yaml +http: + use_x_forwarded_for: True +``` + +At this point, once the Let's Encrypt and Home Assistant dockers are restarted, Home Assistant should be correctly logging the originating IP of any failed login attempt. Once that's done and verified, we can move onto the final step. + +#### Add the fail2ban sensor + +Now that we've correctly set everything up for Docker, we can add our sensors to `configuration.yaml` with the following: + +```yaml +sensor: + - platform: fail2ban + jails: + - hass-iptables + file_path: /fail2ban/fail2ban.log +``` + +Assuming you've followed all of the steps, you should have one fail2ban sensor, `sensor.fail2ban_hassiptables`, within your front-end. + +### {% linkable_title Other debug tips %} + +If, after following these steps, you're unable to get the fail2ban sensor working, here are some other steps you can take that may help: + +- Add `logencoding = utf-8` to the `[hass-iptables]` entry +- Ensure the `failregex` you added to `filter.d/hass.local` matches the output within `home-assistant.log` +- Try changing the datepattern in `filter.d/hass/local` by adding the following entry (change the datepattern to fit your needs). [source](https://github.com/fail2ban/fail2ban/issues/174) + ``` + [Init] + datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S + ``` diff --git a/source/images/supported_brands/fail2ban.png b/source/images/supported_brands/fail2ban.png new file mode 100644 index 0000000000000000000000000000000000000000..e834a38bf869997a2dd1ba688fdd00b6ff66fb4e GIT binary patch literal 17857 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 r?~Xm#v5c?pMIRH7Cc56J Date: Mon, 23 Oct 2017 15:53:43 +0200 Subject: [PATCH 061/117] Make host optional (#3733) --- source/_components/namecheapdns.markdown | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/source/_components/namecheapdns.markdown b/source/_components/namecheapdns.markdown index 73fbc9d1f1b..3331080fa93 100644 --- a/source/_components/namecheapdns.markdown +++ b/source/_components/namecheapdns.markdown @@ -13,7 +13,7 @@ featured: false ha_release: 0.56 --- -With the namecheapDNS component you can automatically update your dynamic DNS entry. +With the `namecheapdns` component you can automatically update your dynamic DNS entry at [namecheapdns](https://www.namecheap.com/store/domains/freedns/).

    Namecheap only supports IPv4 adresses to update. @@ -24,22 +24,21 @@ To use the component in your installation, add the following to your `configurat ```yaml # Example configuration.yaml entry namecheapdns: - host: '@' domain: example.com - access_token: 0123_Dynamic_DNS_Password + password: YOUR_PASSWORD ``` {% configuration %} host: - description: The host part or "subdomain" part you want to update (If you want your domain leave the @ sign) - required: true + description: The host part or "subdomain" part you want to update. + required: false type: string domain: description: Your namecheap TLD (example.com). required: true type: string - access_token: - description: The namecheap "Dynamic DNS Password" you can find under the "Advanced DNS" Tab + password: + description: The namecheap "Dynamic DNS Password" you can find under the "Advanced DNS" tab. required: true type: string {% endconfiguration %} From 17870655fd94b2a5117825e1257e2bd6004046ca Mon Sep 17 00:00:00 2001 From: Thom Troy Date: Mon, 23 Oct 2017 22:23:56 +0100 Subject: [PATCH 062/117] Create climate.ephember (#3561) * Create climate.ephember * add logo * Small grammar corrections --- source/_components/climate.ephember | 33 ++++++++++++++++++ .../supported_brands/ephcontrolsember.png | Bin 0 -> 2518 bytes 2 files changed, 33 insertions(+) create mode 100644 source/_components/climate.ephember create mode 100644 source/images/supported_brands/ephcontrolsember.png diff --git a/source/_components/climate.ephember b/source/_components/climate.ephember new file mode 100644 index 00000000000..962b34746e2 --- /dev/null +++ b/source/_components/climate.ephember @@ -0,0 +1,33 @@ +--- +layout: page +title: "EPH Controls Ember Thermostat" +description: "Instructions on how to integrate EPH Controls Ember thermostats within Home Assistant." +date: 2017-10-07 12:40 +sidebar: true +comments: false +sharing: true +footer: true +logo: ephcontrolsember.png +ha_category: Climate +ha_release: "0.55" +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. + +To set it up, add the following information to your `configuration.yaml` file: + +```yaml +climate: + - platform: ephember + username: YOUR_EMAIL + password: YOUR_PASSWORD +``` + +A single interface can handle up to 32 connected devices. + +Configuration variables: + +- **username** (*Required*): The email address you used to sign up to the ember app +- **password** (*Required*): The password you used to sign up to the ember app diff --git a/source/images/supported_brands/ephcontrolsember.png b/source/images/supported_brands/ephcontrolsember.png new file mode 100644 index 0000000000000000000000000000000000000000..e57df2a577e7610e0435084634f790ae38df03da GIT binary patch literal 2518 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 literal 0 HcmV?d00001 From 98396704a317c8a0bb54ff5f87318bcb37e9ffbf Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Tue, 24 Oct 2017 09:06:22 +0200 Subject: [PATCH 063/117] set emulated_hue_hidden to true in example (#3740) this will make the setting correspond to the comment above. This is also noticed after merge in #3554 --- source/_components/emulated_hue.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/emulated_hue.markdown b/source/_components/emulated_hue.markdown index b6dfa32c7e5..0244bc546aa 100644 --- a/source/_components/emulated_hue.markdown +++ b/source/_components/emulated_hue.markdown @@ -100,7 +100,7 @@ homeassistant: customize: light.bedroom_light: # Don't allow light.bedroom_light to be controlled by the emulated Hue bridge - emulated_hue_hidden: false + emulated_hue_hidden: true light.office_light: # Address light.office_light as "back office light" emulated_hue_name: "back office light" From 55c2e26e60db4be22c529d269979313c90aa587a Mon Sep 17 00:00:00 2001 From: Adam Cooper Date: Tue, 24 Oct 2017 08:10:55 +0100 Subject: [PATCH 064/117] Whois Sensor (#3744) * Init whois sensor docs * Fixed glaring typo (hostname => domain) --- source/_components/sensor.whois.markdown | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 source/_components/sensor.whois.markdown diff --git a/source/_components/sensor.whois.markdown b/source/_components/sensor.whois.markdown new file mode 100644 index 00000000000..215e7aa01e1 --- /dev/null +++ b/source/_components/sensor.whois.markdown @@ -0,0 +1,30 @@ +--- +layout: page +title: "Whois Sensor" +description: "Instructions on how to integrate WHOIS lookup sensor within Home Assistant." +date: 2017-10-22 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: home-assistant.png +ha_category: Sensor +ha_release: "0.57" +ha_iot_class: "Cloud Polling" +--- + + +`whois` sensor allows you to perform daily WHOIS lookups against your owned domains. This provides you with information such as `expiration_date`, `name_servers`, and `registrar` details. + +```yaml +# Example configuration.yaml entry +sensor: + - platform: whois + domain: example.net + name: primary +``` + +Configuration variables: + +- **domain** (*Required*): The domain you want to perform WHOIS lookups against. +- **name** (*Optional*): A friendly name to apply to this sensor. From 4114cd4f923da97cd729388141d75a304cc72494 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 24 Oct 2017 14:46:19 +0200 Subject: [PATCH 065/117] Add support for HTTP Basic/Digest authentication (#3737) --- source/_components/sensor.scrape.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_components/sensor.scrape.markdown b/source/_components/sensor.scrape.markdown index 85738eeaaa3..2ab59be72c6 100644 --- a/source/_components/sensor.scrape.markdown +++ b/source/_components/sensor.scrape.markdown @@ -33,6 +33,9 @@ Configuration variables: - **attribute** (*optional*): Get value of an attribute on the selected tag. - **name** (*Optional*): Name of the sensor. - **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. +- **authentication** (*Optional*): Type of the HTTP authentication. Either `basic` or `digest`. +- **username** (*Optional*): The username for accessing the website. +- **password** (*Optional*): The password for accessing the website. ## {% linkable_title Examples %} From c42b215857ade5c2b787e4c2edfab07def17988a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 24 Oct 2017 15:56:54 +0200 Subject: [PATCH 066/117] Update default name (#3756) --- source/_components/binary_sensor.bayesian.markdown | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/_components/binary_sensor.bayesian.markdown b/source/_components/binary_sensor.bayesian.markdown index e1b2411ca04..0d2858e9829 100644 --- a/source/_components/binary_sensor.bayesian.markdown +++ b/source/_components/binary_sensor.bayesian.markdown @@ -14,7 +14,7 @@ ha_release: 0.53 --- -The `bayesian` binary sensor platform observes the state from multiple sensors and uses Bayes' rule to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`. +The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`. This allows for the detection of complex events that may not be readily observable, e.g., cooking, showering, in bed, the start of a morning routine, etc. It can also be used to gain greater confidence about events that _are_ directly observable, but for which the sensors can be unreliable, e.g., presence. @@ -23,7 +23,7 @@ To enable the Bayesian sensor, add the following lines to your `configuration.ya ```yaml # Example configuration.yaml entry binary_sensor: - - platform: 'bayesian' + - platform: bayesian prior: 0.1 observations: - entity_id: 'switch.kitchen_lights' @@ -36,14 +36,14 @@ binary_sensor: Configuration variables: - **prior** (*Required*): The prior probability of the event. At any point in time (ignoring all external influences) how likely is this event to occur? +- **probability_threshold** (*Optional*): The probability at which the sensor should trigger to `on`. +- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Bayesian Binary sensor`. - **observations** array (*Required*): The observations which should influence the likelihood that the given event has occurred. - **entity_id** (*Required*): Name of the entity to monitor. - **prob_given_true** (*Required*): The probability of the observation occurring, given the event is `true`. - **prob_given_false** (*Optional*): The probability of the observation occurring, given the event is `false` can be set as well. If `prob_given_false` is not set, it will default to `1 - prob_given_true`. - **platform** (*Required*): The only supported observation platforms are `state` and `numeric_state`, which are modeled after their corresponding triggers for automations, requiring `below` and/or `above` instead of `to_state`. - **to_state** (*Required*): The target state. -- **probability_threshold** (*Optional*): The probability at which the sensor should trigger to `on`. -- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Bayesian Binary`. ## {% linkable_title Full examples %} @@ -74,6 +74,8 @@ binary_sensor: platform: 'state' to_state: 'below_horizon' ``` + + ```yaml # Example configuration.yaml entry binary_sensor: From 61cfd7f07a6db03d9bb377705b72885afb87f0bd Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 24 Oct 2017 23:53:17 -0700 Subject: [PATCH 067/117] Update duckdns.markdown --- source/_components/duckdns.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/duckdns.markdown b/source/_components/duckdns.markdown index 93caf14341b..bd18114a18e 100644 --- a/source/_components/duckdns.markdown +++ b/source/_components/duckdns.markdown @@ -24,7 +24,7 @@ duckdns: access_token: abcdefgh ``` -{% configuration binary_sensor.template %} +{% configuration duckdns %} domain: description: Your duckdns subdomain (without the `.duckdns.org` suffix). required: true From 978eef0d8d4fcbb1465244aaa6f8392e4c449543 Mon Sep 17 00:00:00 2001 From: Kane610 Date: Wed, 25 Oct 2017 09:27:30 +0200 Subject: [PATCH 068/117] Remove external dependency guide lines (#3673) With the next PR for axis component (home-assistant/home-assistant#9791) the external dependencies for event stream has been removed. --- source/_components/axis.markdown | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown index 49f9ec87315..a23a97c2dfc 100644 --- a/source/_components/axis.markdown +++ b/source/_components/axis.markdown @@ -17,36 +17,6 @@ ha_iot_class: "Local Polling" Home Assistant will automatically discover their presence on your network. -## {% linkable_title Dependencies %} - -```bash -$ sudo apt-get install python3-gst-1.0 gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools python3-gi -``` - -Depending on how you run Home Assistant, you may need to symlink the `gi` module into your environment. - -Hassbian: - -```bash -$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/lib/python3.4/site-packages -``` - -Raspberry Pi All-In-One Installer: - -```bash -$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages -``` - -[Virtualenv](https://home-assistant.io/docs/installation/virtualenv/) installation: - -```bash -$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/lib/python3.5/site-packages -``` - -

    - Adjust "python3.5" in command above to match your version as stored in "/srv/homeassistant/lib/pythonX.X" -

    - You can also manually configure your devices by adding the following lines to your `configuration.yaml` file: ```yaml From a05999486277e511aa59d14124a062331ddd4f90 Mon Sep 17 00:00:00 2001 From: jbarrancos <31309880+jbarrancos@users.noreply.github.com> Date: Wed, 25 Oct 2017 09:41:19 +0200 Subject: [PATCH 069/117] Rain Bird LNK WiFi Irrigation Implementation (#3242) * Add Rainbird logo Add Rainbird logo * Add Rainbird docset Add Rainbird docset * Added service description Start and stop irrigation explaination * Changed paramaters * Corrected to official names * Fixed more typos * Added additional configuration documentation * Corrected unnecessary line. * Per discussion moved everything to switch * Update switch.rainbird.markdown * Not needed --- source/_components/switch.rainbird.markdown | 46 ++++++++++++++++++++ source/images/supported_brands/rainbird.png | Bin 0 -> 2427 bytes 2 files changed, 46 insertions(+) create mode 100644 source/_components/switch.rainbird.markdown create mode 100644 source/images/supported_brands/rainbird.png diff --git a/source/_components/switch.rainbird.markdown b/source/_components/switch.rainbird.markdown new file mode 100644 index 00000000000..455c9118ac8 --- /dev/null +++ b/source/_components/switch.rainbird.markdown @@ -0,0 +1,46 @@ +--- +layout: page +title: "Rain Bird Switch" +description: "Instructions on how to integrate your Rain Bird LNK WiFi Module as Switches within Home Assistant." +date: 2017-08-25 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: rainbird.png +ha_category: Hub +ha_release: 0.50 +ha_iot_class: "Local Polling" +--- + +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. + +To enable stations as switches inside Home Assistant, add the following to your `configuration.yaml` file: + +```yaml +switch: + platform: rainbird + host: '1.1.1.1' + password: 'secretpassword' + sprinkler_1: + zone: 1 + friendly_name: "Front sprinklers" + trigger_time: 20 + scan_interval: 10 + sprinkler_2: + friendly_name: "Back sprinklers" + zone: 2 + trigger_time: 20 + scan_interval: 10 +``` + +Configuration variables: + +- **stickip** (*Required*): The IP address of your LNK WiFi Module. +- **password** (*Required*): The password for accessing the module. +- **zone** (*Required*): Station zone identifier. +- **friendly_name** (*Optional*): Just a friendly name for the station. +- **trigger_time** (*Required*): The default duration to sprinkle the zone. +- **scan_interval** (*Optional*): How fast to refresh the switch. + +Please note that due to the implementation of the API within the LNK Module, there is a concurrency issue. For example, the Rain Bird app will give connection issues (like already a connection active). diff --git a/source/images/supported_brands/rainbird.png b/source/images/supported_brands/rainbird.png new file mode 100644 index 0000000000000000000000000000000000000000..fee1def08e802b568a52ab9b7686874f456373bc GIT binary patch literal 2427 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 literal 0 HcmV?d00001 From 4667c0f6006ed691313a3b3a6616e5d4e2fdbda3 Mon Sep 17 00:00:00 2001 From: Anders Melchiorsen Date: Wed, 25 Oct 2017 12:31:25 +0200 Subject: [PATCH 070/117] Allow folder selection for IMAP unread sensor (#3767) --- source/_components/sensor.imap.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/sensor.imap.markdown b/source/_components/sensor.imap.markdown index d6ce85c67af..34fd3df9231 100644 --- a/source/_components/sensor.imap.markdown +++ b/source/_components/sensor.imap.markdown @@ -10,7 +10,7 @@ footer: true logo: smtp.png ha_category: Sensor ha_release: 0.25 -ha_iot_class: "Local Polling" +ha_iot_class: "Cloud Push" --- @@ -31,8 +31,8 @@ sensor: Configuration variables: - **server** (*Required*): The IP address or hostname of the IMAP server. -- **port** (*Required*): The port where the server is accessible. +- **port** (*Optional*): The port where the server is accessible. - **name** (*Optional*): Name of the IMAP sensor. - **username** (*Required*): Username for the IMAP server. - **password** (*Required*): Password for the IMAP server. - +- **folder** (*Optional*): The IMAP folder to watch. From 7f6e6f8692344821ffa0fb16133b2e7ceefbfd17 Mon Sep 17 00:00:00 2001 From: Trevor Date: Wed, 25 Oct 2017 05:32:17 -0500 Subject: [PATCH 071/117] Add Google Domains component (#3739) * Add Google Domains component * Add Google Domains image * Add timeout to Google Domains component * Update google_domains.markdown * Update google_domains.markdown --- source/_components/google_domains.markdown | 46 ++++++++++++++++++ .../supported_brands/google_domains.png | Bin 0 -> 5060 bytes 2 files changed, 46 insertions(+) create mode 100644 source/_components/google_domains.markdown create mode 100644 source/images/supported_brands/google_domains.png diff --git a/source/_components/google_domains.markdown b/source/_components/google_domains.markdown new file mode 100644 index 00000000000..cfee608eb67 --- /dev/null +++ b/source/_components/google_domains.markdown @@ -0,0 +1,46 @@ +--- +layout: page +title: "Google Domains" +description: "Keep your computer registered with the Google Domains dynamic DNS." +date: 2017-10-23 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: google_domains.png +ha_category: Utility +featured: false +ha_release: 0.57 +--- + +With the Google Domains component you can keep your Google Domains record up to date. + +To use the component in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +google_domains: + domain: subdomain.domain.com + username: abc123 + password: xyz345 +``` + +{% configuration binary_sensor.template %} + domain: + description: Your FQDN. + required: true + type: string + username: + description: The generated username for this DDNS record. + required: true + type: string + password: + description: The generated password for this DDNS record. + required: true + type: string + timeout + description: Timeout (in seconds) for the API calls. + required: false + type: number + default: 10 +{% endconfiguration %} diff --git a/source/images/supported_brands/google_domains.png b/source/images/supported_brands/google_domains.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b6ca9461070aa80602e06863329446ce98ded6 GIT binary patch literal 5060 zcmV;#6FcmQP)QnS8pml3ei+U?AWX=Qv z*ilJ<%m5YoxKJy$>J^FGBdu!!u`Kr*qS9KIx>c*PB<#$@Br|i~`$x_shhY+81@3(? z@AKqg=A85U&2M?X@A7?r2cZiYH8*mWB;*ocH0VGe4`C;;1)F-1XZyypU#<#DD~F-v zKQaD%HEaQBZSigR>$Q(Y>5;=;B;CcL^2qm9nS=1-Zglanh&`>Qtk+YA+u{sec3A>2 z0K_ncte;r5p+{v7fAQ?&9m=DV6x*QHTJ{^3HJyZ(P^kk0XVvXXJFL5{N7a@dxvfX9zmYssSy_2g z>cx_hk~2)xyh2r{0KHXpMl>4j2i$lVuZ05RfdKICu3fu+f5;QPgIkrj)3CyBvjs0;?pRcJt2Cx$-aEsDR= z)$fl9?&=fs8n>b{4v|wpn^E2rLl&zoZz1*+$8~P1nUQmEw~~O-`6JclCg6v_(ZF_; zwHWr|yy`dB9OyNiGiOetWmz+U->d2Xuh)A8u#dMWEiE0KNF=Tjk)a~eM^(22>qX?T z%F4?3(ma2@s-9`v_RerPynOof>HT7{*i9lbQdN%tJ`|DPg+ig#uCVT0!!WJ~&UC`? z_iWpKpfe&M5D4@Fex|BL!0|v#RX+fp&B@7Gk(wiwl$7L~ra8nh2uoa^^#&0!Y};NJ z4u}6{S=IE`LMTEh*)mNj!yeZWoWeX`3?sm{;olk$R)`74J|Cssv8#9Ch-7 zC#&^p8NrU!TSaps|E@NVJ3veqL%ysq##w{Etely1c30ukhhtC9%xyjDfsT+fT~MqG z@@ne+(iR_o1{k#)sN^Vj+Ai9?UN@MF$j{sNfr3@mUsA?Z^fG5b*#^U@&s@KmwkOpSSk|i;} z-@i^o#;EErH@0(gbDsb%bH48Yo&~;8)e}VIQXm(&t*NPLfHVG7z~%wZ0Xe{9z^A}z zz{Nm@s?G@n0;j3!^}tualOpn^s-6M-#98CT)22h@ zD*^_I$d7>MCrp^|!>X#PL^qdWiin&H{1bRuRpTOZ9xwv%h{!{hWxXB>g+2s`L?Y8g zBngQ3MdWEEa*D%E|_L1bo_o*rqNOLg+6_ad$?%^N6OSfsJZ=9)@;6 zGy|paZ2O^OSG>`*@h9hId%iNSN3{~j0*oYQx zn6BoicuR%_nzUL&5{7p!#HIig&)uGDCwROA5c08M>rK@&eKm+^QN`|4RgL?c&FLO* zS~zSx=oKzQ@@U)}D;eSD3j0K--`yMC+x z0m~t5Gi&pxbBE)y!m4s*Ud{SN$F6vz3Ew=K~~mdaqRB zxgaJUpXH$gTbKD zw&zmjDBedtpYJj^Ae?+;o6qOF)Up29wq4eVvMq1}0w5d?R{@{6!kuzAAONznvmXW; zov*`_*F&Mu3%hphI#E?exdGvTBJT6~{J`HGuwVQ&mZ8-&&0n|y;f!@L@R>8t5w2TD zI`jLd8xT&;Qg52(aiLIXOehrEV2H>+T$?=hKarI9TAH>QVqD^i zJJ$AJS@&$Ze*3Mee;(zvc1tL7i4&J!;)?qp%eXL>mJ;=t@dcpCkjooW??uk;UFHJY z!j&_#zf5iW;;qu6DtC8h7d950d$g+NC%ZHaeg&{;?2vv9#re}3SLc7M!t*ZA7)P)* zm^QxuCY~Y*^lial(DwWN-^0nb48yoLRZ(0@7y%X~Ep16j$r)(?x3rVG!3XV$Nh0w` zn!e+}$4=kT5eg^)C|6#x1Ul{y*VLSh)k>A<`0TrVdl=d(_lZcTdJF3w?Xb;jULVSKI> zk;R=59W&{uSZ99?!|?Ym)+bqX&T!59c2)g8aGHor0wzVH(U@gf^}rwF@%Zl-E?oE} zfKfXmXM@`csLfr$pniSJrlvdbT;n9a9m%n+k^N+_dt7G8=ltthq(qnP4Oe?XeG~4& z>sC}dp4i=4+u`(yILyg@rYP>ZKz~8kDO~OPomzy;`|Y#`_ODrgr<*W1P%?Gu)Kgs` zsBtztr`?;I=I*ZA$K!GL{a&ddNoU7LwBs;VbJsk?K2+?bBJ!962wPR3QPn#|WQwZJ z12zEOf59*`cL97&Q|H+jkH?3o>P(k0@d7^p$~_*>$ChPXM=}8w)jL%rncxh2%@g?* zw1o!Ukx_T=8La5_9V;V$a2%QYn8>MJTQD7@Dvr}&W81jcj4;sY^VI#20B&o!sVXR~ zh2@cL$(+J4%~O)GYpSd@cb^32{tZD~H)HH`+I~0isEKi3-A1X_^|zz~qOoY$sRw#f1A)L~oDfk} zpPn~w-rLUSx}=ph3}f7Wl=R|`^uew>m`ZrZ9e4C`C|y)_Stt}*o4!oM=^O%?I(6y^ zu7vy_p-|`#p-|{*;Cv^96T>jBH1LLclpJkY)*@AXz`69Lh)i)YJe!lD z6mYZO?>{qLKc%ImX92%Rrik{G(RgT zDH)r3KNJdW5Rv3s9Mi5~tIK*d7R=c-#<0!jlgJhHM~J*uSP|Vw`JQ@|Eo#V-hU!37 z$pJ3ZLLI8>PM1 ztl0sOIi~gf*sB@8M%3>FtT)6H-XFxO^>J0%BEsM}TnF@SXM4~o$>So`vvR5n%cD<$ zj(0i_6_!WFDLgA85mXCoxZDM({faly8j6|TD;>7SXQ*Astyp5VNM+-nV)?D{KNr*n>8vk3}YmaEh4Kd%lgkxKmGKX zs;a7lQxBM6+xB9o9@LUZB+3r9Wu7x<&bB}x@PVqHDk4|-{r*>Sa&ndhgF*ZD+i&lk zk&$tis{Zm2gm4>0gcvx1HDG z&AcD@DII0}V?o9tAPSmN-B?@&`&A%OJq<0<%y_^DeAZ z^sBD>?OrkPj@D_hqrAt7@YAHn0I86D8^=_+DPweeulGOfSag!%&CUZZNIE%z5$ImI zSW60f)Tta*yJ6?%;&aCtYP{68E@Yxi646O%9$(k0a&tHLuGsl=Cyc4N?$aVNB^3|= z^XJcB9|#0)RMjO;9<}_$6HnY}S=PpAGsJc_t7DY*N+FqtWOKoFgL#p@G2dv=yE>Um9je#3 zBHaBRGdQODjkm>!=S$mBh(sC+X1j{qwJT#s;qf(f-{d`$9l&~3onsirkZ?FWAsrxG z49ikg9StPCb#LGd7a%qOg`rUB4;&&1hr`Qh^X5C9OMRV4Bm?-XZQCQ0^^Jom^XAQ4 zV;Dw}s{X~XFav;LNkE9mpH0&&m_L91)=mp`wKIM7!1#ioW*KJWd@+fZ#-BKYzUhfzG7_su8qbG!(3l8{fPf5ERT$ECC}{~ycy3r zDxT3Q0QK(<-UC$~^Lh2HjleaV#txZkwt5N$InJ@?A7VGH%By`R(w%jQ#bPI?i@me5 zvZBFYu=QV1!dl=g%d*Z^)qKM+`q;L;-89X*dGqG|C0(2B?Cj~y&CS8)=H{*rFWzjL z=54ClDRu4h`L1kkZuUl_(L_qj{zxzwd@2%&j5ZA8WFV@lZ-+vmHBJa)H8(fUbhnGg z;}w~inF~^>Ueh%D1GKcXbV|u)XJ_Bu+}vE6Iv=M}KO_(cN8^(X(mYfk!{08P4`F-C=NTxXqD|Cqa1eW`-b<3R|?7_$s-bszGv4d z&AX$|IdL}#4Q7V#*&em{cFSQOJ{8U0bGeE!V)?^a28Wl|Eih27WJq^kI1)WqJ^`+8i*vO0Aqpg&~^auGmsk7jxYW?Oj?f| a-txcQs(^}l9sHC40000 Date: Wed, 25 Oct 2017 12:33:18 +0200 Subject: [PATCH 072/117] Docs of the Xiaomi Air Purifier 2 integration (#3605) * Docs for the Xiaomi Air Purifier 2 component added. * Service domain ("fan") updated and services properly prefixed by xiaomi_miio. * Update 'ha_release' --- source/_components/fan.xiaomi_miio.markdown | 111 ++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 source/_components/fan.xiaomi_miio.markdown diff --git a/source/_components/fan.xiaomi_miio.markdown b/source/_components/fan.xiaomi_miio.markdown new file mode 100644 index 00000000000..9b8d2c0e0fc --- /dev/null +++ b/source/_components/fan.xiaomi_miio.markdown @@ -0,0 +1,111 @@ +--- +layout: page +title: "Xiaomi Air Purifier 2" +description: "Instructions how to integrate your Xiaomi Air Purifier 2 within Home Assistant." +date: 2017-10-13 12:35 +sidebar: true +comments: false +sharing: true +footer: true +logo: xiaomi.png +ha_category: Switch +ha_version: 0.57 +ha_iot_class: "Local Polling" +--- + +The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2. The Air Purifier Pro isn't supported right now. + +Currently, the supported features are + +* On, Off +* Operation modes (auto, silent, favorite, idle) +* Buzzer (on, off) +* LED (on, off), LED brightness (bright, dim, off) +* Favorite Level +* States + - power + - aqi + - humidity + - temperature + - mode + - led + - led_brightness + - buzzer + - child_lock + - brightness + - favorite_level + - filter1_life + - f1_hour_used + - use_time + - motor1_speed + +## {% linkable_title Setup %} + +Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file. + +To add a Xiaomi Air Purifier to your installation, add the following to your `configuration.yaml` file: + +```yaml +fan: + - platform: xiaomi_miio + name: Xiaomi Air Purifier 2 + host: 192.168.130.66 + token: YOUR_TOKEN +``` + +Configuration variables: +- **host** (*Required*): The IP of your plug. +- **token** (*Required*): The API token of your plug. +- **name** (*Optional*): The name of your plug. + +## {% linkable_title Platform Services %} + +### Service fan/xiaomi_miio_set_buzzer_on + +Turn the buzzer on. + +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `entity_id` | yes | Only act on specific air purifier. Else targets all. | + +### Service fan/xiaomi_miio_set_buzzer_off + +Turn the buzzer off. + +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `entity_id` | yes | Only act on specific air purifier. Else targets all. | + +### Service fan/xiaomi_miio_set_led_on + +Turn the led on. + +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `entity_id` | yes | Only act on specific air purifier. Else targets all. | + +### Service fan/xiaomi_miio_set_led_off + +Turn the led off. + +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `entity_id` | yes | Only act on specific air purifier. Else targets all. | + +### Service fan/xiaomi_miio_set_led_brightness + +Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off). + +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `entity_id` | yes | Only act on specific air purifier. Else targets all. | +| `brightness` | no | Brightness, between 0 and 2. | + +### Service fan/xiaomi_miio_set_favorite_level + +Set the favorite level of the operation mode "favorite". + +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `entity_id` | yes | Only act on specific air purifier. Else targets all. | +| `level` | no | Level, between 0 and 17. | From 74b868ffb0a1fed08eb9dfe8446f081c02f130bf Mon Sep 17 00:00:00 2001 From: Derek Date: Thu, 26 Oct 2017 02:42:04 -0400 Subject: [PATCH 073/117] New entries, fixes, hyperlinks. (#3774) * New entries, fixes, hyperlinks. - Got rid of a second hass.io entry - Seems as though "hass" entry topic undercase is allowing it to bypass sorting? - Added hyperlinks to all entries - Added some new terms * Typo fix * Added frontend/themes --- source/_data/glossary.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index 505ba4a8945..ba5c42f02c9 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -32,6 +32,8 @@ description: "[Scenes](/components/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: HADashboard description: "[HADashboard](/docs/ecosystem/hadashboard/) is a modular, skinnable dashboard for Home Assistant that is intended to be wall mounted, and is optimized for distance viewing." +- topic: hass + description: "HASS or [hass](/docs/tools/hass/) is often used as an abbreviation for Home Assistant. It is aslo the comand line tool for accessing" - topic: Hass.io description: "[Hass.io](/hassio/) is an operating system that will take care of installing and updating Home Assistant, is managed from the Home Assistant UI, allows creating/restoring snapshots of your configuration, and can easily be extended" - topic: Cookbook From 825498c775ffb549b08d6c1d6afe6702a0ecd89c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 26 Oct 2017 10:32:01 +0200 Subject: [PATCH 074/117] Remove template --- source/_components/google_domains.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/google_domains.markdown b/source/_components/google_domains.markdown index cfee608eb67..5c5a3009abe 100644 --- a/source/_components/google_domains.markdown +++ b/source/_components/google_domains.markdown @@ -21,11 +21,11 @@ To use the component in your installation, add the following to your `configurat # Example configuration.yaml entry google_domains: domain: subdomain.domain.com - username: abc123 - password: xyz345 + username: YOUR_USERNAME + password: YOUR_PASSWORD ``` -{% configuration binary_sensor.template %} +{% configuration %} domain: description: Your FQDN. required: true From 7dc48d71952c48745764f28399d145c8b30e76a8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 26 Oct 2017 12:51:30 +0200 Subject: [PATCH 075/117] Fiy syntax --- source/_components/google_domains.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_components/google_domains.markdown b/source/_components/google_domains.markdown index 5c5a3009abe..df42475a519 100644 --- a/source/_components/google_domains.markdown +++ b/source/_components/google_domains.markdown @@ -9,7 +9,6 @@ sharing: true footer: true logo: google_domains.png ha_category: Utility -featured: false ha_release: 0.57 --- @@ -38,7 +37,7 @@ google_domains: description: The generated password for this DDNS record. required: true type: string - timeout + timeout: description: Timeout (in seconds) for the API calls. required: false type: number From 9f012992d1f8d653c2c1f20cb18716057f77572f Mon Sep 17 00:00:00 2001 From: Georgi Kirichkov Date: Thu, 26 Oct 2017 14:33:04 +0300 Subject: [PATCH 076/117] Adds documentation for SNMP switch (#3598) * Adds documentation for SNMP switch * Grammar fixes * Update 'ha_release' --- source/_components/switch.snmp.markdown | 53 +++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 source/_components/switch.snmp.markdown diff --git a/source/_components/switch.snmp.markdown b/source/_components/switch.snmp.markdown new file mode 100644 index 00000000000..7dd158291c0 --- /dev/null +++ b/source/_components/switch.snmp.markdown @@ -0,0 +1,53 @@ +--- +layout: page +title: "SNMP Switch" +description: "Instructions on how to integrate SNMP switches into Home Assistant." +date: 2017-10-12 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: network-snmp.png +ha_category: Switch +ha_iot_class: "Local Polling" +ha_release: 0.57 +--- + +The `snmp` switch platform allows you to control SNMP-enabled equipment. + +Currently, only SNMP OIDs that accept integer values are supported. SNMP v1 and v2c are supported. SNMP v3 is **not** supported. + +To use an SNMP switch in your installation: + +```yaml +# Example configuration.yaml entry: +switch: + - platform: snmp + host: 192.168.0.2 + baseoid: 1.3.6.1.4.1.19865.1.2.1.4.0 +``` + +Configuration variables: + +- **baseoid** (*Required*): The SNMP BaseOID which to poll for the state of the switch and which to set in order to turn the switch on and off. +- **host** (*Optional*): The IP/host which to control. Defaults to `localhost`. +- **port** (*Optional*): The port on which to communicate. Defaults to `161`. +- **community** (*Optional*): community string to use for authentication. Defaults to `private`. +- **version** (*Optional*): SNMP version to use - either `1` or `2c`. Defaults to `1`. +- **payload_on** (*Optional*): What return value represents an `On` state for the switch. The same value is used in writes to turn on the switch. Defaults to `1`. +- **payload_off** (*Optional*): What return value represents an `Off` state for the switch. The same value is used in writes to turn off the switch. Defaults to `0`. + +You should check with your device's vendor to find out the correct BaseOID and what values turn the switch on and off. + +A complete example: + +```yaml +switch: + - platform: snmp + name: SNMP switch + host: 192.168.0.2 + community: private + baseoid: 1.3.6.1.4.1.19865.1.2.1.4.0 + payload_on: 1 + payload_off: 0 +``` From d66bc61044e1e33ef670f56edebcf1f712f64ecb Mon Sep 17 00:00:00 2001 From: Lukas Barth Date: Thu, 26 Oct 2017 18:18:29 +0200 Subject: [PATCH 077/117] Remove warning; frontend now merged (#3784) --- source/_components/input_datetime.markdown | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/_components/input_datetime.markdown b/source/_components/input_datetime.markdown index 0ae8cae833c..f9351f09848 100644 --- a/source/_components/input_datetime.markdown +++ b/source/_components/input_datetime.markdown @@ -12,10 +12,6 @@ ha_category: Automation ha_release: 0.55 --- -

    -This component is a work in progress. The frontend is not yet implemented. -

    - The `input_datetime` component allows the user to define date and time values that can be controlled via the frontend and can be used within automations and templates. To add three datetime inputs to your installation, one with both date and time, and one with date or time each, add the following lines to your `configuration.yaml`: From d206db7ec7295ffd8e9e28ff9b70054d08c3e9d4 Mon Sep 17 00:00:00 2001 From: Richard Leurs Date: Thu, 26 Oct 2017 18:49:52 +0200 Subject: [PATCH 078/117] Add documentation for display_currency setting to CoinMarketCap sensor (#3779) * Add documentation for display_currency setting to CoinMarketCap sensor. * Make example configuration simple again --- source/_components/sensor.coinmarketcap.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/sensor.coinmarketcap.markdown b/source/_components/sensor.coinmarketcap.markdown index 0fdcbc86486..e8ab719c944 100644 --- a/source/_components/sensor.coinmarketcap.markdown +++ b/source/_components/sensor.coinmarketcap.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling" --- -The `coinmarketcap` sensor platform displays various details about a crypto currency provided by [CoinMarketCap](http://coinmarketcap.com/). +The `coinmarketcap` sensor platform displays various details about a cryptocurrency provided by [CoinMarketCap](http://coinmarketcap.com/). To add the CoinMarketCap sensor to your installation, add the following lines to your `configuration.yaml`: @@ -26,5 +26,5 @@ sensor: Configuration variables: -- **currency** (*Optional*): The currency to display, eg. `bitcoin`, `litecoin`, `steem`, etc. Default is `bitcoin`. - +- **currency** (*Optional*): The cryptocurrency to use, eg. `bitcoin`, `litecoin`, `steem`, etc. Default is `bitcoin`. +- **display_currency** (*Optional*): The currency to display, eg. `USD`, `EUR`, `GBP`, etc. Default is `USD`. All supported currencies can be found [here](https://coinmarketcap.com/api/). From 9a2eb3800666889d7bc7e47dc3e1aa8f325c109b Mon Sep 17 00:00:00 2001 From: Jeroen ter Heerdt Date: Fri, 27 Oct 2017 07:43:42 +0200 Subject: [PATCH 079/117] Fixing bug in egardia documentation: armhome in config should be home. (#3788) Fixing this bug: https://github.com/jeroenterheerdt/python-egardia/issues/8 --- source/_components/alarm_control_panel.egardia.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/alarm_control_panel.egardia.markdown b/source/_components/alarm_control_panel.egardia.markdown index ba1bb74d63d..b8309efd549 100644 --- a/source/_components/alarm_control_panel.egardia.markdown +++ b/source/_components/alarm_control_panel.egardia.markdown @@ -43,7 +43,7 @@ You can change this, however, using the following procedure. This is a more adva 1. Log in into your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password. 2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. Also, update the port number 85 or to anything you like. The provided software that you will set up in the next steps runs on port 85 by default. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'. -3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, armhome) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).** +3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).** 4. Once you have the codes, update your `configuration.yaml`: ```yaml # Example configuration.yaml entry @@ -57,12 +57,12 @@ alarm_control_panel: report_server_codes: arm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX disarm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX - armhome: XXXXXXXXXXXXXXXX + home: XXXXXXXXXXXXXXXX triggered: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX ignore: XXXXXXXXXXXXXXXX ``` -Note that for triggered, arm and disarm multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as ignore (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, armhome, triggered) even when system checks occur. +Note that for triggered, arm and disarm multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as ignore (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, home, triggered) even when system checks occur. 5. Start the `egardiaserver.py` script on boot of your Home Assistant machine, for example by using `systemctl` by `systemd`. To use this method, create a shell script named `egardiaserver.sh` that contains something like the following: From 48a803bd1ed68d7355ec552596a6559a0345505a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 27 Oct 2017 10:53:54 +0200 Subject: [PATCH 080/117] Add NO-IP.com docs (#3799) --- source/_components/no_ip.markdown | 45 ++++++++++++++++++++++++ source/images/supported_brands/noip.png | Bin 0 -> 34183 bytes 2 files changed, 45 insertions(+) create mode 100644 source/_components/no_ip.markdown create mode 100644 source/images/supported_brands/noip.png diff --git a/source/_components/no_ip.markdown b/source/_components/no_ip.markdown new file mode 100644 index 00000000000..f070e2b4d5f --- /dev/null +++ b/source/_components/no_ip.markdown @@ -0,0 +1,45 @@ +--- +layout: page +title: "NO-IP.com" +description: "Keep your computer registered with the NO-IP.com dynamic DNS." +date: 2017-10-27 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: noip.png +ha_category: Utility +ha_release: 0.57 +--- + +With the `no_ip` component you can keep your [NO-IP.com](https://www.noip.com) record up to date. + +To use the component in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +no_ip: + domain: subdomain.domain.com + username: YOUR_USERNAME + password: YOUR_PASSWORD +``` + +{% configuration %} + domain: + description: Your FQDN. + required: true + type: string + username: + description: The generated username for this DDNS record. + required: true + type: string + password: + description: The generated password for this DDNS record. + required: true + type: string + timeout: + description: Timeout (in seconds) for the API calls. + required: false + type: number + default: 10 +{% endconfiguration %} diff --git a/source/images/supported_brands/noip.png b/source/images/supported_brands/noip.png new file mode 100644 index 0000000000000000000000000000000000000000..862b4fcaa59e3ddfc9a71a8b98c031dc48bb7801 GIT binary patch literal 34183 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 literal 0 HcmV?d00001 From bbbc330d3891c61b3add6a169641ed29d79937b2 Mon Sep 17 00:00:00 2001 From: Lukas Barth Date: Fri, 27 Oct 2017 17:55:07 +0200 Subject: [PATCH 081/117] Document JSON serialization (#3783) --- source/_components/mqtt_statestream.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_components/mqtt_statestream.markdown b/source/_components/mqtt_statestream.markdown index cbf831206a3..1fa88b4469f 100644 --- a/source/_components/mqtt_statestream.markdown +++ b/source/_components/mqtt_statestream.markdown @@ -40,8 +40,10 @@ When any Home Assistant entity changes, this component will publish that change The topic for each entity is different, so you can easily subscribe other systems to just the entities you are interested in. The topic will be in the form `base_topic/domain/entity/state`. -For example, with the example configuration above, if an entity called 'light.master_bedroom_dimmer' is turned on, this component will publish `on` to `homeassistant/light/master_bedroom_dimmer/state`. +For example, with the example configuration above, if an entity called 'light.master_bedroom_dimmer' is turned on, this component will publish `on` to `homeassistant/light/master_bedroom_dimmer/state`. -If that entity also has an attribute called `brightness`, the component will also publish the value of that attribute to `homeassistant/light/master_bedroom_dimmer/brightness`. +If that entity also has an attribute called `brightness`, the component will also publish the value of that attribute to `homeassistant/light/master_bedroom_dimmer/brightness`. + +All states and attributes are passed through JSON serialization before publishing. **Please note** that this causes strings to be quoted (e.g., the string 'on' will be published as '"on"'). You can access the JSON deserialized values (as well as unquoted strings) at many places by using `value_json` instead of `value`. The last_updated and last_changed values for the entity will be published to `homeassistant/light/master_bedroom_dimmer/last_updated` and `homeassistant/light/master_bedroom_dimmer/last_changed`, respectively. The timestamps are in ISO 8601 format - for example, `2017-10-01T23:20:30.920969+00:00`. From ed488732c5e7dc50826b7a4a04f6b106b62e2835 Mon Sep 17 00:00:00 2001 From: Hydreliox Date: Fri, 27 Oct 2017 21:21:42 +0200 Subject: [PATCH 082/117] Add Deluge Sensor documentation (#3760) * Add Deluge Sensor documentation * Minor changes --- source/_components/sensor.deluge.markdown | 42 +++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 source/_components/sensor.deluge.markdown diff --git a/source/_components/sensor.deluge.markdown b/source/_components/sensor.deluge.markdown new file mode 100644 index 00000000000..2f495a8d041 --- /dev/null +++ b/source/_components/sensor.deluge.markdown @@ -0,0 +1,42 @@ +--- +layout: page +title: "Deluge Sensor" +description: "Instructions how to integrate Deluge sensors within Home Assistant." +date: 2017-10-24 17:06 +sidebar: true +comments: false +sharing: true +footer: true +logo: deluge.png +ha_category: Downloading +ha_release: 0.57 +ha_iot_class: "Local Polling" +--- + + +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. + +To enable this sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: deluge + host: IP_ADDRESS + monitored_variables: + - 'current_status' + - 'download_speed' + - 'upload_speed' +``` + +Configuration variables: + +- **host** (*Required*): This is the IP address of your Deluge daemon, eg. 192.168.1.32. +- **port** (*Optional*): The port your Deluge daemon uses. Defaults to 58846. Warning, this is not the port of the WebUI. +- **name** (*Optional*): The name to use when displaying this Deluge instance. +- **username** (*Optional*): Your Deluge username, if you use authentication. +- **password** (*Optional*): Your Deluge password, if you use authentication. +- **monitored_variables** array (*Required*): Conditions to display in the frontend. + - **current_status**: The status of your Deluge daemon. + - **download_speed**: The current download speed. + - **upload_speed**: The current upload speed. From de0f26e557453508ee951555c108bcc568766550 Mon Sep 17 00:00:00 2001 From: Menno Blom Date: Fri, 27 Oct 2017 22:20:26 +0200 Subject: [PATCH 083/117] Add support page for new nederlandse spoorwegen sensor (#3773) * Add support page for new nederlandse spoorwegen sensor * Rename departures to routes. --- .../sensor.nederlandse_spoorwegen.markdown | 51 ++++++++++++++++++ .../nederlandse_spoorwegen.png | Bin 0 -> 2223 bytes 2 files changed, 51 insertions(+) create mode 100644 source/_components/sensor.nederlandse_spoorwegen.markdown create mode 100644 source/images/supported_brands/nederlandse_spoorwegen.png diff --git a/source/_components/sensor.nederlandse_spoorwegen.markdown b/source/_components/sensor.nederlandse_spoorwegen.markdown new file mode 100644 index 00000000000..b4745a3fb65 --- /dev/null +++ b/source/_components/sensor.nederlandse_spoorwegen.markdown @@ -0,0 +1,51 @@ +--- +layout: page +title: "Nederlandse Spoorwegen" +description: "Instructions how to integrate timetable data for travelling by train in the Netherlands within Home Assistant." +date: 2017-10-25 13:35 +sidebar: true +comments: false +sharing: true +footer: true +logo: nederlandse_spoorwegen.png +ha_category: Transport +ha_iot_class: "Cloud Polling" +ha_release: "0.57" +--- + + +This sensor will provide you with time table information of the [Nederlandse Spoorwegen](https://www.ns.nl/) train service in the Netherlands. + +You must create an application [here](https://www.ns.nl/ews-aanvraagformulier/) to obtain a `password`. + +Add the data to your `configuration.yaml` file as shown in the example: + +```yaml +# Example configuration.yaml entry +sensor: +- platform: nederlandse_spoorwegen + email: you@example.com + password: !secret ns_password + routes: + - name: Rotterdam-Amsterdam + from: Rtd + to: Asd + - name: Groningen-Zwolle-Maastricht + from: Gn + to: Mt + via: Zl +``` + +Configuration variables: + +- **email** (*Required*): The email address you used to request the API password. +- **password** (*Required*): The API password provided by the Nederlandse Spoorwegen. +- **routes** array (*Required*): List of travelling routes. + - **name** (*Required*): Name of the route. + - **from** (*Required*): The start station. + - **to** (*Required*): Direction of the travelling. + - **via** (*Optional*): Optional other station you wish to visit in between. + +The data are coming from [Nederlandse Spoorwegen](https://www.ns.nl/). + +Station codes must be used and can be looked up [here](https://nl.wikipedia.org/wiki/Lijst_van_spoorwegstations_in_Nederland). diff --git a/source/images/supported_brands/nederlandse_spoorwegen.png b/source/images/supported_brands/nederlandse_spoorwegen.png new file mode 100644 index 0000000000000000000000000000000000000000..f18ddb15ed7f25460d46c2c58ce5b10244fccf56 GIT binary patch literal 2223 zcmZ`)2{fB&7ye9Dh^4f)8MNqhF(r~}M`b$xYDL5nOVLg>mQK|yE;nsI|5EE9rM{ByZ>Cn4xFnyr-s4iF%S0zuSm28ZCJL(t_d+;PhROpx-} z6nbugAcQ4w2$#ABLEA$>0Aau;UxdSs_f}e}O>NTIHGdtMHFc!d!h8TXm`ZoT4bw{FB_u*f?3 z@$A&cXg&Yvqfc&62IL-l98 z9B|7Q-XAwxF#PW58{u8Ds!C&6g|E+TVc#O0n zL4v|W79{*0uV!Lvm)KBn-~Ds?g`)4YDyf5cf>h+pbU=>EWUeq$us0++ZzWQ&lp8L{ zTXK=t9+Q;H>QGQNMv)_m@TJdV5eezL!gd<(O-kotFk$JGI+WSy*NW8v*-yCNvj!#h zN7c}}@g?%bB?nK@6A8TmU)tQLBq0OmN_P01;h!xlo41P^xpgct@grk`-Ff$LPG+;r zGoG(<*TJ_9R)sv2w3k{xMYSl0rB{u4u1=C0qTWWS_!*cPo~scj8rrxTx^`g7oi*Pw zU+HBAcFrg(wEd|_8%RB{R%*~Qku-YfhoN%C(gjCkqWw*!*)Mf5HY?(GrRJZ^Ss7Gj zN{wFqanyT?SH95K=#SAdQ&3~9t7MJ{~#UVgc^2TkF}?jREBTj!gfR-cCGO&ZeHBj1F|p*hTu+dUe{ zj-f0zm7b<9C}HP4!8v4jbB`_t8eF+qls(o|^P|3tm(u-YXBCS|lGAR_;d9R4hc!I# zwxC{o%wL~<8ck^?P7RHY(Von`*a)w4Y^)Eyt8h|w6dTcqXhFpeB?Y|`oPWIkDrbse zBe1>|H>|zjJAR*-P#L%Q>#{q3fqrTx2LNK?<%QH8ekOBTYFECj51Q{BGG{; z;?)=&erWfO_W0>{mnAePmO^w@1T!Tp;8<_+Blq9(G%m*xnW&u=`{_p4`9Dq5^0B?a z=EX=Wevf2-8Yi`XhM`cKldAt!lveivvVp?HJ=xMDdRooBhq5$>AI$I}EB?yo$7K)e z*oUMISq}U`VKu4*kA5JH=ekC)R~n`JNXdfQ$O2*OI}_`@%aQFAp+)qgz8m*W7A;Ix z>jlcW$C+dJI*&%@~7M7ON47`b#u-F&oJhE<3cs3?X+riLL zqObS}N0bMqPF1q1oYjpN*Q;VBv*&Hz+6N0<-PbrRbS*2M)OezL>Eg%?uL_6o6(W$$ zxF?zuAHjDCI>5l4XLz_XDA-GZ6mUUD(HKKL3|bFkV}Tf<|M}Xncv+iT@JN a{XD#=q5mxSTKF;+2p|HEXv#kA7V~e7phxHc literal 0 HcmV?d00001 From b46c47bca0a1efcb01f582dde41121849c4c57ab Mon Sep 17 00:00:00 2001 From: Marcelo Moreira de Mello Date: Fri, 27 Oct 2017 16:50:40 -0400 Subject: [PATCH 084/117] Added filename attribute to override filename via downloader (#3730) --- source/_components/downloader.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/downloader.markdown b/source/_components/downloader.markdown index c3cec44022b..c616cc40688 100644 --- a/source/_components/downloader.markdown +++ b/source/_components/downloader.markdown @@ -40,4 +40,5 @@ This will download the file from the given URL. | ---------------------- | -------- | ---------------------------------------------- | | `url` | no | The url of the file to download. | | `subdir` | yes | Download into subdirectory of **download_dir** | +| `filename` | yes | Determine the filename. | From 9a16c6c38233b31cbdfce555b8c295e1869b9436 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Fri, 27 Oct 2017 14:56:14 -0600 Subject: [PATCH 085/117] Small updates to the Yi Camera configutation docs (#3805) --- source/_components/camera.yi.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index d00a131ef8f..8ba6368e150 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -71,10 +71,11 @@ camera: Configuration variables: +- **name** (*Required*): a human-friendly name for the camera - **host** (*Required*): the IP address or hostname of the camera - **password** (*Required*): the password to the FTP server on the camera (from above) +- **path** (*Optional*): the path to the raw MP4 files (default: `/tmp/sd/record`) - **username** (*Optional*): the user that can access the FTP server (default: `root`) -- **name** (*Optional*): a human-friendly name for the camera - **ffmpeg_arguments** (*Optional*): extra options to pass to `ffmpeg` (e.g. image quality or video filter options) ## {% linkable_title Image quality %} From dddba3ca452f74544bbc1199403065ed3af2b6e5 Mon Sep 17 00:00:00 2001 From: Sebastian Muszynski Date: Sat, 28 Oct 2017 08:29:31 +0200 Subject: [PATCH 086/117] Limits of the favorite level updated. Values between 0 and 16 will be accepted. --- source/_components/fan.xiaomi_miio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/fan.xiaomi_miio.markdown b/source/_components/fan.xiaomi_miio.markdown index 9b8d2c0e0fc..7acf1291e45 100644 --- a/source/_components/fan.xiaomi_miio.markdown +++ b/source/_components/fan.xiaomi_miio.markdown @@ -108,4 +108,4 @@ Set the favorite level of the operation mode "favorite". | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific air purifier. Else targets all. | -| `level` | no | Level, between 0 and 17. | +| `level` | no | Level, between 0 and 16. | From c02c4b80e7cfabaea8260c084ff15b880bb8e0e6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 28 Oct 2017 17:36:25 +0200 Subject: [PATCH 087/117] Update description and add links (#3812) --- source/_components/camera.yi.markdown | 46 ++++++++++----------------- 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index 8ba6368e150..98cc2b1f38b 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -13,37 +13,25 @@ ha_release: 0.56 ha_iot_class: "Local Polling" --- -The `yi` camera platform allows you to utilize Yi Home Cameras within Home -Assistant. Specifically, this platform supports the line of Yi Home Cameras -that are based on the Hi3518e Chipset; these include: +The `yi` camera platform allows you to utilize [Yi Home Cameras](https://www.yitechnology.com/) within Home Assistant. Specifically, this platform supports the line of Yi Home Cameras that are based on the Hi3518e Chipset. This includes: * Yi Home 17CN * Yi 1080p Home * Yi Dome * Yi 1080p Dome -To successfully implement this platform, the Home Assistant host should be -capable of multiple simultaneous reads; for every concurrent Home Assistant -user, a connection will be made to the camera every 10 seconds. -This should normally not be a problem. +To successfully implement this platform, the Home Assistant host should be capable of multiple simultaneous reads. For every concurrent Home Assistant user, a connection will be made to the camera every 10 seconds. This should normally not be a problem. ## {% linkable_title Preparing the Device %} ### {% linkable_title Installing Alternative Firmware %} -In order to integrate the camera with Home Assitant, it is necessary to install -a custom firmware on the device. Instructions for doing so can be found via the -[yi-hack-v3 GitHub project](https://github.com/shadow-1/yi-hack-v3). +In order to integrate the camera with Home Assitant, it is necessary to install a custom firmware on the device. Instructions for doing so can be found via the [yi-hack-v3 GitHub project](https://github.com/shadow-1/yi-hack-v3). -Once installed, please ensure that you have enabled FTP and Telnet on your -device. +Once installed, please ensure that you have enabled FTP and Telnet on your device.

    -Some alternative Yi firmwares enable an experimental RTSP server, which will -allow you to connect to your camera via other Home Assistant camera platforms. -However, this RTSP server disables the ability to use the supremely-useful Yi -Home app. In order to maintain both Home Assistant compatibility _and_ the native -app, this platform retrieves videos via FTP. +Some alternative Yi firmwares enable an experimental RTSP server, which will allow you to connect to your camera via other Home Assistant camera platforms. However, this RTSP server disables the ability to use the supremely-useful Yi Home app. In order to maintain both Home Assistant compatibility _and_ the native app, this platform retrieves videos via FTP.

    ### {% linkable_title Changing the FTP Password %} @@ -59,33 +47,30 @@ server. To do so: ## {% linkable_title Configuring the Platform %} -To enable the platform, add the following lines to your -`configuration.yaml` file: +To enable the platform, add the following lines to your`configuration.yaml` file: ```yaml camera: - platform: yi + name: Camera host: '192.168.1.100' password: my_password_123 ``` Configuration variables: -- **name** (*Required*): a human-friendly name for the camera -- **host** (*Required*): the IP address or hostname of the camera -- **password** (*Required*): the password to the FTP server on the camera (from above) -- **path** (*Optional*): the path to the raw MP4 files (default: `/tmp/sd/record`) -- **username** (*Optional*): the user that can access the FTP server (default: `root`) -- **ffmpeg_arguments** (*Optional*): extra options to pass to `ffmpeg` (e.g. image quality or video filter options) +- **name** (*Required*): A human-friendly name for the camera. +- **host** (*Required*): The IP address or hostname of the camera. +- **password** (*Required*): The password to the FTP server on the camera (from above). +- **path** (*Optional*): The path to the raw MP4 files. Defaults to `/tmp/sd/record`. +- **username** (*Optional*): The user that can access the FTP server. Ddefaults to `root`. +- **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g. image quality or video filter options). ## {% linkable_title Image quality %} -Any option supported by the `ffmpeg` client can be utilized via the -`ffmpeg_arguments` configuration parameter. +Any option supported by [`ffmpeg` camera](/components/camera.ffmpeg/) can be utilized via the `ffmpeg_arguments` configuration parameter. -One particularly useful adjustment deals with video size. Since Yi videos are -fairly large (especially on the 1080p cameras), the following configuration will -bring them down to a manageable size: +One particularly useful adjustment deals with video size. Since Yi videos are fairly large (especially on the 1080p cameras), the following configuration will bring them down to a manageable size: ```yaml camera: @@ -93,5 +78,6 @@ camera: name: My Camera host: '192.168.1.100' password: my_password_123 + path: /home/camera/feed ffmpeg_arguments: '-vf scale=800:450' ``` From 8e42810aceb1d05b583478f7d225307ba38ccffa Mon Sep 17 00:00:00 2001 From: Ryan McLean Date: Sat, 28 Oct 2017 23:49:06 +0100 Subject: [PATCH 088/117] docs for linode (#3687) * docs for linode * Update 'ha_release' * Fix 'ha_release' --- .../_components/binary_sensor.linode.markdown | 30 ++++++++++++++++++ source/images/supported_brands/linode.png | Bin 0 -> 4780 bytes 2 files changed, 30 insertions(+) create mode 100644 source/_components/binary_sensor.linode.markdown create mode 100644 source/images/supported_brands/linode.png diff --git a/source/_components/binary_sensor.linode.markdown b/source/_components/binary_sensor.linode.markdown new file mode 100644 index 00000000000..02f652ca350 --- /dev/null +++ b/source/_components/binary_sensor.linode.markdown @@ -0,0 +1,30 @@ +--- +layout: page +title: "Linode Binary Sensor" +description: "Instructions on how to set up Linode binary sensors within Home Assistant." +date: 2017-10-20 08:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: System Monitor +logo: linode.png +ha_release: 0.57 +ha_iot_class: "Local Polling" +--- + +The `linode` binary sensor platform allows you to monitor your Linode nodes. + +Add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: linode + nodes: + - 'myvpsname' +``` + +Configuration variables: + +- **nodes** (*Required*): List of VPSs you want to control. diff --git a/source/images/supported_brands/linode.png b/source/images/supported_brands/linode.png new file mode 100644 index 0000000000000000000000000000000000000000..68dd2c96b1f97ea0479c1f632135db0667c1e133 GIT binary patch literal 4780 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 Date: Sun, 29 Oct 2017 01:24:01 +0200 Subject: [PATCH 089/117] Rfxtrx binary sensor and switch update (#3785) * First draft of RFXtrx binary sensor doc page. * Updated rfxtrx binary sensor doc. * binary_sensors.rfxtrx: updated doc according to latest PR changes. * Updated rfxtrx binary sensor documentation * Update binary_sensor.rfxtrx.markdown Tried to clarify the data_bits description. * Updated device_class property. * Updated rfxtrx switch and binary sensor on using automatic_add. * Fixed typo for tamper switch --- source/_components/binary_sensor.rfxtrx.markdown | 7 +++++-- source/_components/switch.rfxtrx.markdown | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/source/_components/binary_sensor.rfxtrx.markdown b/source/_components/binary_sensor.rfxtrx.markdown index 2c72fe07c51..c676c46cec0 100644 --- a/source/_components/binary_sensor.rfxtrx.markdown +++ b/source/_components/binary_sensor.rfxtrx.markdown @@ -44,6 +44,9 @@ Do not forget to tweak the configuration variables: - **device_class** (*Optional*): The [type or class of the sensor](/components/binary_sensor/) to set the icon in the frontend. - **off_delay** (*Optional*): For sensors that only sends 'On' state updates, this variable sets a delay after which the sensor state will be updated back to 'Off'. +

    +This component and the [rfxtrx switch](/components/switch/rfxtrx/) can steal each other's devices when setting the `automatic_add` configuration parameter to `true`. Set `automatic_add` only when you have some devices to add to your installation, otherwise leave it to `False`. +

    Binary sensors have only two states - "on" and "off". Many door or window opening sensors will send a signal each time the door/window is open or closed. However, depending on their hardware or on their purpose, some sensors are only able to signal their "on" state: @@ -132,5 +135,5 @@ The following devices are known to work with the rfxtrx binary sensor component. - Chuango PIR-700. - Door / window sensors: - - Kerui D026 door / window sensor: can trigger on "open" and "close". Has a temper switch. - - Nexa LMST-606 Magnetic contact switch. + - Kerui D026 door / window sensor: can trigger on "open" and "close". Has a tamper switch. + - Nexa LMST-606. diff --git a/source/_components/switch.rfxtrx.markdown b/source/_components/switch.rfxtrx.markdown index 1831a5b0e17..73902df97f2 100644 --- a/source/_components/switch.rfxtrx.markdown +++ b/source/_components/switch.rfxtrx.markdown @@ -50,6 +50,11 @@ Configuration variables: - **signal_repetitions** (*Optional*): Because the RFXtrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly. - **fire_event** (*Optional*): Fires an event even if the state is the same as before, for example a doorbell switch. Can also be used for automations. +

    +This component and the [rfxtrx binary sensor](/components/binary_sensor/rfxtrx/) can steal each other's devices when setting the `automatic_add` configuration parameter to `true`. Set `automatic_add` only when you have some devices to add to your installation, otherwise leave it to `False`. +

    + + Generate codes: If you need to generate codes for switches you can use a template (useful for example COCO switches). From ede7ca89ffdb6d64897047d404a502f8f5e8db2a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 01:35:10 +0200 Subject: [PATCH 090/117] Add Sytadin sensor docs (#3819) --- source/_components/sensor.sytadin.markdown | 35 +++++++++++++++++++++ source/images/supported_brands/sytadin.png | Bin 0 -> 61627 bytes 2 files changed, 35 insertions(+) create mode 100644 source/_components/sensor.sytadin.markdown create mode 100644 source/images/supported_brands/sytadin.png diff --git a/source/_components/sensor.sytadin.markdown b/source/_components/sensor.sytadin.markdown new file mode 100644 index 00000000000..1b15eeae9aa --- /dev/null +++ b/source/_components/sensor.sytadin.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: "Sytadin Sensor" +description: "Instructions how to integrate Sytadin sensors into Home Assistant." +date: 2017-10-05 14:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: sytadin.png +ha_release: 0.57 +ha_category: Sensor +ha_iot_class: "Clound Polling" +--- + +The `sytadin` sensor platform allows you to monitor traffic details from [Sytadin](http://www.sytadin.fr). + +To add Sytadin to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: sytadin +``` + +Configuration variables: + +- **name** (*Optional*): Additional name for the sensors. Default to platform name. +- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. Defaults to `traffic_jam`. + - **traffic_jam**: A human-readable text summary. + - **mean_velocity**: The current temperature. + - **congestion**: The wind speed. + + +The data is coming from the [Direction des routes Île-de-France (DiRIF)](http://www.sytadin.fr). diff --git a/source/images/supported_brands/sytadin.png b/source/images/supported_brands/sytadin.png new file mode 100644 index 0000000000000000000000000000000000000000..407749e4546bcea79fd637ca2beadf519996d815 GIT binary patch literal 61627 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 D?)STP literal 0 HcmV?d00001 From a16290c4fe8abc6d70e1e34309c5df9604e8b212 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 01:37:19 +0200 Subject: [PATCH 091/117] Add Linode component docs (#3821) --- .../_components/binary_sensor.linode.markdown | 10 ++++-- source/_components/linode.markdown | 34 ++++++++++++++++++ source/images/supported_brands/linode.png | Bin 4780 -> 4386 bytes 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 source/_components/linode.markdown diff --git a/source/_components/binary_sensor.linode.markdown b/source/_components/binary_sensor.linode.markdown index 02f652ca350..0ffbddb5817 100644 --- a/source/_components/binary_sensor.linode.markdown +++ b/source/_components/binary_sensor.linode.markdown @@ -10,7 +10,7 @@ footer: true ha_category: System Monitor logo: linode.png ha_release: 0.57 -ha_iot_class: "Local Polling" +ha_iot_class: "Cloud Polling" --- The `linode` binary sensor platform allows you to monitor your Linode nodes. @@ -25,6 +25,10 @@ binary_sensor: - 'myvpsname' ``` -Configuration variables: +{% configuration %} + nodes: + description: List of VPSs you want to control. + required: true + type: string +{% endconfiguration %} -- **nodes** (*Required*): List of VPSs you want to control. diff --git a/source/_components/linode.markdown b/source/_components/linode.markdown new file mode 100644 index 00000000000..08a44bda7ce --- /dev/null +++ b/source/_components/linode.markdown @@ -0,0 +1,34 @@ +--- +layout: page +title: "Linode" +description: "Instructions on how to set up Linode within Home Assistant." +date: 2017-10-20 08:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Hub +logo: linode.png +ha_release: 0.57 +ha_iot_class: "Cloud Polling" +--- + +The `linode` component allows you to access the information about your [Linode](https://welcome.linode.com) systems from Home Assistant. + +Obtain your API key from Linode account. + +To integrate Linode with Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +linode: + access_token: YOUR_API_KEY +``` + +{% configuration %} + access_token: + description: The Linode access token. + required: true + type: string +{% endconfiguration %} + diff --git a/source/images/supported_brands/linode.png b/source/images/supported_brands/linode.png index 68dd2c96b1f97ea0479c1f632135db0667c1e133..c776faa744b7c2f668204b76ebeb365a98252e7d 100644 GIT binary patch delta 4042 zcmV;*4>jzCU<{H!lLc;p5H0~%9qR8 z&xy|`5?zf|+-fJPY1sAuYgp zJj*bgOw|NCPl|sThLwuY9$p02uZ9Gj7w|mD()n7qmu-4*OS8NwBfb3h7oolIX_)**kZ=lP~3*m;o%tOfcaov`iU z;n5u$Kvp?_0>RFUWK=__gO>K_E?(dCSp*#m&K?cnrW7zq2S|IkveT21-!ABb;OtEr z-2rF99+o~Srq53iv;(5N;z`PYb5@S@0dD#bm9oZJ6jwYN!rOpFq!TUWv3qpuI`+oWl7YIdDD&(Rt@h z@*4qy^ZB9QfpZ7q0-YzBF(bkO=L6_DfW8y`jUFWdTXw}E{SF=E#CcAj8`Tg>C-5_$ zGrAMKjb0^27(yuk$ByT@F35S4Ss)ya0PH((?m>T9kn<)%dqk)l=#9?~4s;vBf}A&r zQViiaIQScW5QSLJhVVcl9lJZe;*eoMfb(hyR|w8~PL7>iniAkVN{Wb76vytuf%9%d zfb%Fd!VoH)KR9r1lqM85#lv4|L?4Zh=wd}FDLYu@I~?+F6DV9|=fXgnSWMJvk6gXU zMzntkv{4OVmr&3f8x8^C&Dc4c1B*7!(Wd&x$L!}brX4~fzRuzmnXzl}Gf8NF?3}}N z&QYTi_z@l7F>#(I4WZ)L@j1U9dm)y=xoHm8ee;}aWbNvA*hUVV6A!`}8#(yqIVTB2 zs5l%ue9p&^eGtww1J2QJowF}QdK~bH=Wu@@`3TYv!Z|qLoc!iFCjfq1v-WYokDT+2 zddD#Kf;XLW^dF=*G}q|o*1*Hes>vl4u_@U)$DUTQPW za{CCN=|*V;z13V8oPGMx`J(S1!C7%S;7vfn96M?z3AJ|=%5Hi$qS|_i_~@Mb0nC3R zE?XHdXJ4`j>!y;XJ9fx_u?zFAI%JGN+e&(5&dMi!)UbQZoYkJjkfEd%$L`3^86kzT zyZ)FOKBk-)ne!tjkjBl~7l+n+<3z)2WTU*THT)Nx-PmYhn3>M+h_f%+fK^?0z_M&{ zm^l-jC<%okW%g&W!A?3pAbQ+t253w#)T%t<29(1W7v-*~=`4>g4 z6x%b;^4*P%8q@kG!_3M1v}exNg;<#Df(0(Mn7hqn8QTi8N`&X*TC`q`%{hN+-K)_^ zIUDTs;8V4pNvgwfXHed!Y=)p8=^S@MO4K7~tC|lIoM*5nnL_&ipNuEZU|((@mAo9z zCoVvbl`})KZWRGEykNF+USeOzt4J)J-P9`-aLM3TdvG{ zj#H)_I2W=MZwz~WlcG2y^h+0UC2KfG!4QRWmKGUg2j^m*{V`!nlD6DXZoJa`ke9ny z$s=xXRvhnJ#>%B1d#HcS%ij&hxkmlfXJ~b=G_`s#O;gT`M843ir7|sobCQec8yCnfeEAKWLCZ3E32gS4n zmP5@>)?G>TNqVbd{-S4>z2a85ED%NUsjsIp?d zG;wLcDZkNV;&k?+RY1v<)12?7>(9%w(UmXMN&pZ5$u{3cm4jW@fO+ z1D0eF$rFy6QywYHRu4JHkSwcrGqSCrqL`6o0|yahzn5t9_^JWyKj-P^$#PB;4-9+) z!jUx|Y1%KXJ8^%WWow71v*OTJQfa^X7Edu7oR28itYEd=fv)fNjIBx^7bnX(X+OOQ zx^}keSi2QXIB{-r4y`liSl6tjY>;N`;}>M#3_;s%w`rZnSD$%g{tD24>yzc|v-i{l z*-bVHTlkn`z9_+&mx)?r1f^KKer0OczzSP28_aⅅIyukyfng6;{su!Y#{Ag7Y-z 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 From cfefa86e8994f1b6aa610b670ca6820816e598e4 Mon Sep 17 00:00:00 2001 From: Florian Klien Date: Sun, 29 Oct 2017 01:46:02 +0200 Subject: [PATCH 092/117] Documentation for yessssms component (#3801) * Documentation for yessssms component * typo * updated documentation for YesssSMS * Remove line breaks --- source/_components/notify.yessssms.markdown | 47 ++++++++++++++++++++ source/images/supported_brands/yesssat.png | Bin 0 -> 71904 bytes 2 files changed, 47 insertions(+) create mode 100644 source/_components/notify.yessssms.markdown create mode 100644 source/images/supported_brands/yesssat.png diff --git a/source/_components/notify.yessssms.markdown b/source/_components/notify.yessssms.markdown new file mode 100644 index 00000000000..e320de496a7 --- /dev/null +++ b/source/_components/notify.yessssms.markdown @@ -0,0 +1,47 @@ +--- +layout: page +title: "Yesss SMS" +description: "Instructions how to add user notifications to Home Assistant." +date: 2017-10-27 16:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: yesssat.png +ha_category: Notifications +ha_release: 0.57 +--- + +The `yessssms` platform is using the Austrian mobile operator [Yesss.at](https://yesss.at) to send SMS via its web-site. + +

    +Regular charges apply and a contract or prepaid plan is needed. +

    + +

    +Do not use this for high frequency notifications. The web-SMS page is rate limited and sending more than 45 SMS/h might get you blocked. +

    + +You can send to any number, but your phone number will appear as sender. + +To enable SMS notifications in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +notify: + - name: NOTIFIER_NAME + platform: yessssms + username: YOUR_PHONE_NUMBER + password: YOUR_PASSWORD + recipient: PHONE_NUMBER_TO_NOTIFY +``` + +Configuration variables: + +- **username** (*Required*): This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website. +- **password** (*Required*): This is the password you use to login to Yesss.at. +- **recipient** (*Required*): This is the phone number you want to send the SMS notification to. + +

    +Verify that your credentials work on [Yesss.at's website](https://yesss.at). Using the wrong credentials three times in a row will get you blocked for one hour. +

    diff --git a/source/images/supported_brands/yesssat.png b/source/images/supported_brands/yesssat.png new file mode 100644 index 0000000000000000000000000000000000000000..76da7a8b0a78e477b09052bf63b095b061dd4afc GIT binary patch literal 71904 zcmV)#K##wPP)004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00006 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

    OL# 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%0Du5VL_t(*9Qr`gY4Xj6bS4REi7i{4 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 I$3FD`0R4N>oB#j- literal 0 HcmV?d00001 From f9782f0466b2f1c0824732ef8200d99b32680ed6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 29 Oct 2017 11:16:15 +0100 Subject: [PATCH 093/117] Add Random binary sensor docs (#3798) --- .../_components/binary_sensor.random.markdown | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 source/_components/binary_sensor.random.markdown diff --git a/source/_components/binary_sensor.random.markdown b/source/_components/binary_sensor.random.markdown new file mode 100644 index 00000000000..7376d6254d9 --- /dev/null +++ b/source/_components/binary_sensor.random.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: "Random Binary Sensor" +description: "Instructions how to integrate random state sensors into Home Assistant." +date: 2017-10-27 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: home-assistant.png +ha_category: Sensor +ha_iot_class: "Local Polling" +ha_release: 0.57 +--- + + +The `random` binary sensor platform is creating random states (`True`, 1, `on` or `False`, 0, `off`). This can be useful if you want to test automation rules. It generates a new state every time it is polled. + +To enable the random binary sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: random +``` + +{% configuration %} + name: + description: Name to use in the frontend. + required: false + type: string +{% endconfiguration %} + +See the [entity component options](/docs/configuration/platform_options/) to control how often the main component polls the random binary sensor. The default is 30 seconds. + From d92b4a9e8c690960e6d2f4e7de6709ed582a9824 Mon Sep 17 00:00:00 2001 From: Marcelo Moreira de Mello Date: Mon, 30 Oct 2017 02:48:32 -0400 Subject: [PATCH 094/117] Extend Ring doorbell camera documentation by adding a python_script to download the video (#3705) --- source/_components/camera.ring.markdown | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/source/_components/camera.ring.markdown b/source/_components/camera.ring.markdown index 30d1fab1052..c383381eaf7 100644 --- a/source/_components/camera.ring.markdown +++ b/source/_components/camera.ring.markdown @@ -31,3 +31,41 @@ Configuration variables: **Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation. Currently it supports doorbell and stickup cameras. + + +## {% linkable_title Saving locally the videos captured by your Ring Door Bell %} + +You can save locally the latest video captured by your Ring Door Bell by enabling the [downloader](/components/downloader) and the [python_scripts](/components/python_script) components. + + - Add to the `configuration.yaml` the `downloader` and `python_scripts`. Visit the component page for further details. + +```json +python_script: +downloader: + download_dir: downloads +``` + - Create a file `ring_downloader.py` in the folder `/python_scripts` and give it this content: + +```python +# obtain ring doorbell camera object +# replace the camera.front_door by your camera entity +ring_cam = hass.states.get('camera.front_door') + +subdir_name = 'ring_{}'.format(ring_cam.attributes.get('friendly_name')) + +# get video URL +data = { + 'url': ring_cam.attributes.get('video_url'), + 'subdir': subdir_name, +} + +# call downloader component to save the video +hass.services.call('downloader', 'download_file', data) +``` + + - Start Home Assistant + - Call the server `python_script/ring_downloader` + +You should be able to see a video file saved under `//ring_/`. + +You can also automate the process by integrating it with the (automation)[/components/automation) component. From df4600b179f2dfb38a58e4666fe6b9bc9ce3dbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolae=20Vl=C4=83descu?= Date: Mon, 30 Oct 2017 08:54:11 +0200 Subject: [PATCH 095/117] Fix typo: Romainia -> Romania (#3830) --- source/developers/cla_sign.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/cla_sign.html b/source/developers/cla_sign.html index c16b88be66f..0c546c76cca 100644 --- a/source/developers/cla_sign.html +++ b/source/developers/cla_sign.html @@ -91,7 +91,7 @@ footer: true