From 4dea071ff836197842e246c4f4e6c309debe186a Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Wed, 2 Sep 2015 02:23:51 -0400 Subject: [PATCH 001/188] Refactor Getting Started page. This commit is a large refactoring of the getting started page. This version contains only the information necessary to get off the ground and get your bearings. There is also one consistent flow on information rather than a spaghetti flow. Advanced installation details have been moved to their own page (Docker and daemons). Details about opening firewall ports have been expanded a bit and moved to the troubleshooting page. The install instructions contain details about all three install types (production, beta, and dev). --- sass/custom/_paulus.scss | 153 +++++---- source/getting-started/advanced.markdown | 104 ++++++ source/getting-started/index.markdown | 315 ++++-------------- .../getting-started/troubleshooting.markdown | 29 +- 4 files changed, 268 insertions(+), 333 deletions(-) create mode 100644 source/getting-started/advanced.markdown diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index a1f761d3932..2aadb83156f 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -102,7 +102,7 @@ h6:hover a.title-link { article.post, article.page, article.listing { img, table { border-radius: 3px; - box-shadow: rgba(0,0,0,0.06) 0 0 10px; + box-shadow: rgba(0,0,0,0.06) 0 0 10px; } img.no-shadow { @@ -120,7 +120,7 @@ article.post, article.page, article.listing { text-align: center; padding-bottom: 3px; font-size: .9rem; - box-shadow: rgba(0,0,0,0.06) 0 0 10px; + box-shadow: rgba(0,0,0,0.06) 0 0 10px; img { display: block; @@ -171,7 +171,7 @@ p.note { &.warning { background-color: #F7F9E1; - + &::before { background-color: rgb(187, 185, 13);; content: "\f071" " Warning " attr(data-title); @@ -180,80 +180,6 @@ p.note { } -.install-instructions-container { - #normal-install, #raspberry-install, #docker-install, .install-instructions { - display: none; - } - - label.menu-selector { - display: inline-block; - text-align: center; - padding: 20px; - white-space: nowrap; - border-bottom: 5px solid $grayLight; - transition: border-bottom-color .5s; - } - - label.menu-selector + label.menu-selector { - margin-left: 10px; - } - - #normal-install:checked ~ .menu-selector.normal, - #raspberry-install:checked ~ .menu-selector.raspberry, - #docker-install:checked ~ .menu-selector.docker - { - border-bottom-color: $blue; - } - - #normal-install:checked ~ .install-instructions.normal, - #raspberry-install:checked ~ .install-instructions.raspberry, - #docker-install:checked ~ .install-instructions.docker - { - display: block; - } - - .install-instructions { - margin-top: 30px; - } -} - -.prep-instructions-container { - #generic-prep, #fedora-prep, #centos-prep, .prep-instructions { - display: none; - } - - label.menu-selector { - display: inline-block; - text-align: center; - padding: 10px; - white-space: nowrap; - border-bottom: 2px solid $grayLight; - transition: border-bottom-color .5s; - } - - label.menu-selector + label.menu-selector { - margin-left: 10px; - } - - #generic-prep:checked ~ .menu-selector.generic, - #fedora-prep:checked ~ .menu-selector.fedora, - #centos-prep:checked ~ .menu-selector.centos - { - border-bottom-color: $blue; - } - - #generic-prep:checked ~ .prep-instructions.generic, - #fedora-prep:checked ~ .prep-instructions.fedora, - #centos-prep:checked ~ .prep-instructions.centos - { - display: block; - } - - .prep-instructions { - margin-top: 20px; - } -} - .post-instructions-container { #generic-post, #fedora-post, #debian-post, .post-instructions { display: none; @@ -292,3 +218,76 @@ p.note { } +.install-channels-container { + #prod-channel, #beta-channel, #dev-channel, .install-channels { + display: none; + } + + label.menu-selector { + display: inline-block; + text-align: center; + padding: 10px; + white-space: nowrap; + border-bottom: 2px solid $grayLight; + transition: border-bottom-color .5s; + } + + label.menu-selector + label.menu-selector { + margin-left: 10px; + } + + #prod-channel:checked ~ .menu-selector.prodchan, + #beta-channel:checked ~ .menu-selector.betachan, + #dev-channel:checked ~ .menu-selector.devchan + { + border-bottom-color: $blue; + } + + #prod-channel:checked ~ .install-channels.prodchan, + #beta-channel:checked ~ .install-channels.betachan, + #dev-channel:checked ~ .install-channels.devchan + { + display: block; + } + + .install-channels { + margin-top: 20px; + } +} + +.advanced-installs-container { + #docker-install, #debian-install, #fedora-install, .advanced-installs { + display: none; + } + + label.menu-selector { + display: inline-block; + text-align: center; + padding: 10px; + white-space: nowrap; + border-bottom: 2px solid $grayLight; + transition: border-bottom-color .5s; + } + + label.menu-selector + label.menu-selector { + margin-left: 10px; + } + + #docker-install:checked ~ .menu-selector.docker, + #debian-install:checked ~ .menu-selector.debian, + #fedora-install:checked ~ .menu-selector.fedora + { + border-bottom-color: $blue; + } + + #docker-install:checked ~ .advanced-installs.docker, + #debian-install:checked ~ .advanced-installs.debian, + #fedora-install:checked ~ .advanced-installs.fedora + { + display: block; + } + + .advanced-installs { + margin-top: 20px; + } +} diff --git a/source/getting-started/advanced.markdown b/source/getting-started/advanced.markdown new file mode 100644 index 00000000000..c0ac7592522 --- /dev/null +++ b/source/getting-started/advanced.markdown @@ -0,0 +1,104 @@ +--- +layout: page +title: "Advanced Installation" +description: "Brief advanced installation tutorials." +date: 2015-9-1 22:57 +sidebar: false +comments: false +sharing: true +footer: true +--- + +Here are some general tutorials on how to setup some of the more advanced deployments that are frequently requested. + +
+ + + + + + + +
+**Docker Deployment** +

Installation with Docker is straightforward. Adjust the following command so that /path/to/your/config/ points at the folder where you want to store your config and run it:

+ +```bash +docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host balloob/home-assistant +``` + +

This will launch Home Assistant and serve its web interface from port 8123 on your Docker host.

+ +

+When using boot2docker on OS X you are unable to map the local time to your Docker container. Replace -v /etc/localtime:/etc/localtime:ro with -e "TZ=America/Los_Angeles" (replacing America/Los_Angeles with your timezone) +

+
+ +
+**Debian Deamon** +

Debian based systems, including Ubuntu and Raspbian for the Raspberry Pi use an application called Init to manage daemon services. Init will launch init scripts that are located in the directory /etc/init.d/. A sample init script for Debian based systems is maintained in this project.

+ +

To install this script, download it, tweak it to you liking, and install it by following the directions in the header. This script will setup Home Assistant to run when the system boots. To start/stop Home Assistant manually, issue the following commands: +```bash +sudo service hass-daemon start +sudo service hass-daemon stop +``` +

+ +

When running Home Assistant with this script, the configuration directory will be located at /var/opt/homeassistant. This directory will contain a verbose log rather than simply an error log.

+ +

When running daemons, it is good practice to have the daemon run under its own user name rather than the default user's name. Instructions for setting this up are outside the scope of this document.

+
+ +
+**Fedora Daemon** +

If you want that Home Assistant is lauched automatically, an extra step is needed to setup systemd. You need a service file to control Home Assistant with systemd.

+ + + + +```bash +su -c 'cat <> /lib/systemd/system/home-assistant.service +[Unit] +Description=Home Assistant +After=network.target + +[Service] +Type=simple +ExecStart=hass + +[Install] +WantedBy=multi-user.target +EOF' +``` + +

You need to reload systemd to make the daemon aware of the new configuration. Enable and launch Home Assistant after that.

+ +```bash +sudo systemctl --system daemon-reload +sudo systemctl enable home-assistant +sudo systemctl start home-assistant +``` + +

If everything went well, sudo systemctl start home-assistant should give you a positive feedback.

+ +```bash +$ sudo systemctl status home-assistant -l +● home-assistant.service - Home Assistant + Loaded: loaded (/usr/lib/systemd/system/home-assistant.service; disabled; vendor preset: disabled) + Active: active (running) since Thu 2015-06-25 23:38:37 CEST; 3min 13s ago + Main PID: 8557 (python3.4) + CGroup: /system.slice/home-assistant.service + └─8557 /usr/bin/python3.4 -m homeassistant +[...] +``` + +

To get Home Assistant's logging output, simple use journalctl.

+ +```bash +sudo journalctl -f -u home-assistant +``` +
+ +###[« Back to Getting Started](/getting-started/index.html) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 044e632db49..6be4f213ae6 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -9,284 +9,97 @@ sharing: true footer: true --- -
- - - - - - -
+

Requirements

+

Home Assistant requires at least Python 3.4. For the Raspberry Pi, install instructions can be found here. Other systems generally have this bundled or contain easy to install packages.

-

Preparation

- -
- - - - - - - - -
-Installing and running Home Assistant on your local machine is easy. Make sure you have Python 3.4 installed and execute the following code in a console: - - -
- -
-

The preparation of a Fedora 22 host will only take a couple of minutes. First install Python 3.4 and the other needed packages out of the Fedora Package Collection. This ensure that you receive updates in the future.

- -

-It's assumed that your user has an entry in the sudoers file. Otherwise, run the commands which needs more privileges as root. -

+

To ensure Python 3.4 is installed, type the following command into the console:

```bash -sudo dnf -y install python3 python3-devel gcc +python3 --version ``` -
- -
- -

CentOS is providing longtime support and often not shipping the latest release of a software component. To run, Python 3.x on CentOS Software Collections needs to be activated.

- -
Step 1. Install the tools for the Software Collection
- -```bash -sudo yum -y install scl-utils -``` - -
Step 2. Make the repository available.
- -```bash -sudo yum -y install https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm -``` - -
Step 3. Install Python 3.x
- -```bash -sudo yum -y install rh-python34 -``` - -
Step 4. Start using software collections:
- -```bash -scl enable rh-python34 bash -``` - -
- -
- -
-

Installation

+
+ + + + + + -

+

+

Installing from the production channel is fast, easy, and will provide you with access to the newest stable builds. This is recommended for most users. To install, execute the following code in a console:

```bash pip3 install homeassistant hass --open-ui ``` -

-

Running these commands will:

+

Running these commands will:

  1. Install Home Assistant
  2. Launch Home Assistant and serve web interface on http://localhost:8123
  3. -
-
- - -

Post-Installation

- -
- - - - - - - - -
-

There is nothing else to do. If you run into any issues, please see the troubleshooting page.

- -

If you want to see what Home Assistant can do, you can start the demo mode by running hass --demo-mode.

- -

In the future, if you want to update to the latest version, run pip3 install --upgrade home-assistant.

- -
- -
-

By default, the access to port 8123 is not allowed. If you want to allow other hosts in your local network access, open port 8123.

- +

+

When new stable versions are released, you can upgrade to newest version by typing the following into a console:

```bash -sudo firewall-cmd --permanent --add-port=8123/tcp -sudo firewall-cmd --reload +pip3 install --upgrade homeassistant ``` -

Home Assistant will serve its web interface on http://[IP address of the host]:8123.

- -

If you want that Home Assistant is lauched automatically, an extra step is needed to setup systemd. You need a service file to control Home Assistant with systemd.

- - - - -```bash -su -c 'cat <> /lib/systemd/system/home-assistant.service -[Unit] -Description=Home Assistant -After=network.target - -[Service] -Type=simple -ExecStart=/usr/bin/python3.4 -m homeassistant - -[Install] -WantedBy=multi-user.target -EOF' -``` - -

You need to reload systemd to make the daemon aware of the new configuration. Enable and launch Home Assistant after that.

- -```bash -sudo systemctl --system daemon-reload -sudo systemctl enable home-assistant -sudo systemctl start home-assistant -``` - -

If everything went well, sudo systemctl start home-assistant should give you a positive feedback.

- -```bash -$ sudo systemctl status home-assistant -l -● home-assistant.service - Home Assistant - Loaded: loaded (/usr/lib/systemd/system/home-assistant.service; disabled; vendor preset: disabled) - Active: active (running) since Thu 2015-06-25 23:38:37 CEST; 3min 13s ago - Main PID: 8557 (python3.4) - CGroup: /system.slice/home-assistant.service - └─8557 /usr/bin/python3.4 -m homeassistant -[...] -``` - -

To get Home Assistant's logging output, simple use journalctl.

- -```bash -sudo journalctl -f -u home-assistant -``` - -

In the future, if you want to update to the latest version, run pip3 install --upgrade home-assistant.

- -

-Those instructions were written for Fedora 22 Server and Workstation. They may work for Cloud flavor as well but this was not tested. -

- - -
- -
- -

Coming soon...

- - -
+
+

The beta channel will provide you with newer features sooner but at the risk of reduced stability. The brave and curious are welcomed here. To install, execute the following code in a console:

+```bash +pip3 install --pre homeassistant +hass --open-ui +``` +

Running these commands will: +

    +
  1. Install Home Assistant
  2. +
  3. Launch Home Assistant and serve web interface on http://localhost:8123
  4. +

+

When new a new release candidate, alpha, or beta version is released, you can upgrade to newest version by typing the following into a console:

+```bash +pip3 install --pre --upgrade homeassistant +```
-
- - -
- - -
-

Installation with Docker is straightforward. Adjust the following command so that /path/to/your/config/ points at the folder where you want to store your config and run it:

- -```bash -docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host balloob/home-assistant -``` - -

This will launch Home Assistant and serve its web interface from port 8123 on your Docker host.

- -

-When using boot2docker on OS X you are unable to map the local time to your Docker container. Replace -v /etc/localtime:/etc/localtime:ro with -e "TZ=America/Los_Angeles" (replacing America/Los_Angeles with your timezone) -

- -
- - -
- -

Home Assistant uses Python 3.4. This makes installation on a Raspberry Pi a bit more difficult as it is not available in the package repository. Please follow the following instructions to get it up and running.

- -

Step 1. Install pyenv

- -```bash -curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash -``` - -

After the installation is done, run:

- -```bash -nano ~/.bashrc -``` - -

Then add these lines to the end of the file and save:

-``` -export PATH="$HOME/.pyenv/bin:$PATH" -eval "$(pyenv init -)" -eval "$(pyenv virtualenv-init -)" -``` - -
Step 2. Install requirements
- -```bash -sudo apt-get install python3-dev -sudo apt-get install libsqlite3-dev libreadline-dev libbz2-dev -``` - -

Log out and then back in so your bashrc is reloaded.

- -

-NOTE: the rest of the commands are not being run as sudo and will install python etc under you user's home directory. -

- -

Step 3. Install python 3.4.2 (this will take a few hours)

- -```bash -pyenv install 3.4.2 -``` - -

Step 4. Create Python Virtual Environment

-```bash -pyenv virtualenv 3.4.2 homeassistant -``` - -

Step 5. Set the virtual environment

+
+

The development channel provides builds that are on the bleeding edge. This builds have not been fully tested or used. This is best for potential contributors and tinkerers. Subscribing to this channel is not for the faint of heart and requires significant knowledge of Git and Python.

```bash +# Clone repo from git, you may want to use your own fork +git clone --recursive https://github.com/balloob/home-assistant.git cd home-assistant -pyenv local homeassistant +# You may want to switch to a virtual environment here +# Install Home Assistant in development mode +python3 setup.py develop +# Optionally pre-emptively install all possible dependencies +pip3 install -r requirements_all.txt ``` - -

Step 6. Install Home Assistant

+

To keep up-to-date with the development channel, you will have to fetch and merge from the dev branch in the head repository. Be careful when doing this.

```bash -pip3 install homeassistant +git fetch balloob +git merge remotes/balloob/dev ``` - -

Step 7. Start it up

-```bash -hass -``` - -

It will be up and running on port 8123

- -

In the future, if you want to update to the latest version, run pip3 install --upgrade home-assistant.

-
-
+
+ + +

Troubleshooting

+ +

If you run into any issues, please see the troubleshooting page. It contains solutions to many of the common issues.

+ +

For additional help, in addition to this site, there are three sources: +

+

+ + +

What's Next

+

If you want to see what Home Assistant can do, you can start the demo mode by running hass --demo-mode. Home Assistant has a few other command line flags that can be displayed by running hass --help.

+

From here you may now start configuring Home Assistant to your liking. For more advanced users, the advanced configuration page contains brief tutorials on creating more advanced installations such as installing daemons and using Docker.

+ ###[Next step: configuring Home Assistant »](/getting-started/configuration.html) - diff --git a/source/getting-started/troubleshooting.markdown b/source/getting-started/troubleshooting.markdown index b3588e679d9..3d1e7a0f629 100644 --- a/source/getting-started/troubleshooting.markdown +++ b/source/getting-started/troubleshooting.markdown @@ -17,7 +17,7 @@ This utility should have been installed as part of the Python 3.4 installation. is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/). -If you are to succesfully run `python3 --version` but not `pip3`, run the following command instead +If you are able to successfully run `python3 --version` but not `pip3`, run the following command instead to install Home Assistant: `python3 -m pip install homeassistant`. **No module named pip**
@@ -27,8 +27,27 @@ by some distributions. If you are unable to run `python3 -m pip --version` you c `python3 get-pip.py`. **No access to the frontend**
-In newer Linux distributions (at least Fedora 22/CentOS 7) the access to a host are very limited. -This means that you can't access the Home Assistant Frontend that is running on a host in your -network. Check the Post-installation section on the [Getting started](/getting-started/) page and -follow the instruction that match your distribution to allow access to port 8123. +In newer Linux distributions (at least Fedora 22/CentOS 7) the access to a host is very limited. +This means that you can't access the Home Assistant Frontend that is running on a host outside of the host machine. Windows and OSX machines may also have issues with this. +To fix this you will need to open your machine's firewall for TCP traffic over port 8123. The method for doing this will vary depending on your operating system and the firewall you have installed. Below are some suggestions to try. Google is your friend here. + +[Windows](http://windows.microsoft.com/en-us/windows/open-port-windows-firewall#1TC=windows-7) and [Mac OSX](https://support.apple.com/en-us/HT201642) have good instructions posted. + +For firewalld systems (Fedora, RHEL, etc.): +```bash +sudo firewall-cmd --permanent --add-port=8123/tcp +sudo firewall-cmd --reload +``` + +For UFW systems (Ubuntu, Debian, Raspbian, etc.): +```bash +sudo ufw allow 8123/tcp +``` + +For iptables systems (usually the default): +```bash +iptables -I INPUT -p tcp --dport 8123 -j ACCEPT +iptables-save > /etc/network/iptables.rules # your rules may be saved elsewhere +``` +###[« Back to Getting Started](/getting-started/index.html) From 7f3790cf581f15fe0d10c656e4d7d1ac685da110 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Wed, 2 Sep 2015 15:00:25 -0400 Subject: [PATCH 002/188] Additional info on Scheduler Additional information about loading the scheduler component. Clarification that schedule.json is a file in the config directory. --- source/components/scheduler.markdown | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/components/scheduler.markdown b/source/components/scheduler.markdown index ca78e7521ee..a9691e79df7 100644 --- a/source/components/scheduler.markdown +++ b/source/components/scheduler.markdown @@ -12,7 +12,12 @@ footer: true A component that will act as a scheduler and performe actions based on the events in the schedule. -It will read a json object from `schedule.json` in the config dir and create a schedule based on it. +Load the component by enabling it in `configuration.yaml` +``` +scheduler: +``` + +It will read a json object from the file `schedule.json` in the config dir (`~/.homeassistant`) and create a schedule based on it. Each schedule is a JSON with the keys `id`, `name`, `description`, `entity_ids`, `events`. @@ -23,7 +28,7 @@ Each schedule is a JSON with the keys `id`, `name`, `description`, `entity_ids`, - events is an array of objects that describe the different events that is supported. Read in the events descriptions for more information -Example `schedule.json` +Example `schedule.json` file ```json [ From 46c68f411b2ca52c853f5b5acedd9d4918c21176 Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Wed, 2 Sep 2015 23:32:50 -0400 Subject: [PATCH 003/188] Another reorganization of the Getting Started page. --- sass/custom/_paulus.scss | 66 +++---------- source/getting-started/advanced.markdown | 19 +--- source/getting-started/index.markdown | 113 +++++++++++------------ 3 files changed, 69 insertions(+), 129 deletions(-) diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index 2aadb83156f..e7bf78e4738 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -180,17 +180,17 @@ p.note { } -.post-instructions-container { - #generic-post, #fedora-post, #debian-post, .post-instructions { +.install-instructions-container { + #normal-install, #raspberry-install, #docker-install, .install-instructions { display: none; } label.menu-selector { display: inline-block; text-align: center; - padding: 10px; + padding: 20px; white-space: nowrap; - border-bottom: 2px solid $grayLight; + border-bottom: 5px solid $grayLight; transition: border-bottom-color .5s; } @@ -198,65 +198,27 @@ p.note { margin-left: 10px; } - #generic-post:checked ~ .menu-selector.generic-post, - #fedora-post:checked ~ .menu-selector.fedora-post, - #debian-post:checked ~ .menu-selector.debian-post + #normal-install:checked ~ .menu-selector.normal, + #raspberry-install:checked ~ .menu-selector.raspberry, + #docker-install:checked ~ .menu-selector.docker { border-bottom-color: $blue; } - #generic-post:checked ~ .post-instructions.generic-post, - #fedora-post:checked ~ .post-instructions.fedora-post, - #debian-post:checked ~ .post-instructions.debian-post + #normal-install:checked ~ .install-instructions.normal, + #raspberry-install:checked ~ .install-instructions.raspberry, + #docker-install:checked ~ .install-instructions.docker { display: block; } - .post-instructions { - margin-top: 20px; - } - -} - -.install-channels-container { - #prod-channel, #beta-channel, #dev-channel, .install-channels { - display: none; - } - - label.menu-selector { - display: inline-block; - text-align: center; - padding: 10px; - white-space: nowrap; - border-bottom: 2px solid $grayLight; - transition: border-bottom-color .5s; - } - - label.menu-selector + label.menu-selector { - margin-left: 10px; - } - - #prod-channel:checked ~ .menu-selector.prodchan, - #beta-channel:checked ~ .menu-selector.betachan, - #dev-channel:checked ~ .menu-selector.devchan - { - border-bottom-color: $blue; - } - - #prod-channel:checked ~ .install-channels.prodchan, - #beta-channel:checked ~ .install-channels.betachan, - #dev-channel:checked ~ .install-channels.devchan - { - display: block; - } - - .install-channels { - margin-top: 20px; + .install-instructions { + margin-top: 30px; } } .advanced-installs-container { - #docker-install, #debian-install, #fedora-install, .advanced-installs { + #debian-install, #fedora-install, .advanced-installs { display: none; } @@ -273,14 +235,12 @@ p.note { margin-left: 10px; } - #docker-install:checked ~ .menu-selector.docker, #debian-install:checked ~ .menu-selector.debian, #fedora-install:checked ~ .menu-selector.fedora { border-bottom-color: $blue; } - #docker-install:checked ~ .advanced-installs.docker, #debian-install:checked ~ .advanced-installs.debian, #fedora-install:checked ~ .advanced-installs.fedora { diff --git a/source/getting-started/advanced.markdown b/source/getting-started/advanced.markdown index c0ac7592522..24c45d73377 100644 --- a/source/getting-started/advanced.markdown +++ b/source/getting-started/advanced.markdown @@ -12,28 +12,11 @@ footer: true Here are some general tutorials on how to setup some of the more advanced deployments that are frequently requested.
- - + - -
-**Docker Deployment** -

Installation with Docker is straightforward. Adjust the following command so that /path/to/your/config/ points at the folder where you want to store your config and run it:

- -```bash -docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host balloob/home-assistant -``` - -

This will launch Home Assistant and serve its web interface from port 8123 on your Docker host.

- -

-When using boot2docker on OS X you are unable to map the local time to your Docker container. Replace -v /etc/localtime:/etc/localtime:ro with -e "TZ=America/Los_Angeles" (replacing America/Los_Angeles with your timezone) -

-
-
**Debian Deamon**

Debian based systems, including Ubuntu and Raspbian for the Raspberry Pi use an application called Init to manage daemon services. Init will launch init scripts that are located in the directory /etc/init.d/. A sample init script for Debian based systems is maintained in this project.

diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 6be4f213ae6..f2f2cbfdf62 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -9,79 +9,67 @@ sharing: true footer: true --- -

Requirements

-

Home Assistant requires at least Python 3.4. For the Raspberry Pi, install instructions can be found here. Other systems generally have this bundled or contain easy to install packages.

- -

To ensure Python 3.4 is installed, type the following command into the console:

- -```bash -python3 --version -``` +
+ + + + + +

Installation

-
- - - - - - -
-

Installing from the production channel is fast, easy, and will provide you with access to the newest stable builds. This is recommended for most users. To install, execute the following code in a console:

+ +
+Installing and running Home Assistant on your local machine is easy. Make sure you have Python 3.4 installed and execute the following code in a console: + +

```bash pip3 install homeassistant hass --open-ui ``` -

Running these commands will: +

+

Running these commands will:

  1. Install Home Assistant
  2. -
  3. Launch Home Assistant and serve web interface on http://localhost:8123
  4. -

-

When new stable versions are released, you can upgrade to newest version by typing the following into a console:

-```bash -pip3 install --upgrade homeassistant -``` -
+
  • Launch Home Assistant and serve web interface on http://localhost:8123
  • + +
    + + +
    +

    Installation with Docker is straightforward. Adjust the following command so that /path/to/your/config/ points at the folder where you want to store your config and run it:

    -
    -

    The beta channel will provide you with newer features sooner but at the risk of reduced stability. The brave and curious are welcomed here. To install, execute the following code in a console:

    ```bash -pip3 install --pre homeassistant +docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host balloob/home-assistant +``` + +

    This will launch Home Assistant and serve its web interface from port 8123 on your Docker host.

    + +

    +When using boot2docker on OS X you are unable to map the local time to your Docker container. Replace -v /etc/localtime:/etc/localtime:ro with -e "TZ=America/Los_Angeles" (replacing America/Los_Angeles with your timezone) +

    +
    + + +
    +

    Home Assistant uses Python 3.4 which is not shipped with the current Raspbian distibution for the Raspberry Pi. Before installing Home Assistant, you will have to target="_blank"install Python 3.4. + +Once that is complete, installing and running Home Assistant on your local machine is easy. Make sure you have Python 3.4 installed and execute the following code in a console: + +

    +```bash +pip3 install homeassistant hass --open-ui ``` -

    Running these commands will: +

    +

    Running these commands will:

    1. Install Home Assistant
    2. -
    3. Launch Home Assistant and serve web interface on http://localhost:8123
    4. -

    -

    When new a new release candidate, alpha, or beta version is released, you can upgrade to newest version by typing the following into a console:

    -```bash -pip3 install --pre --upgrade homeassistant -``` -
    - -
    -

    The development channel provides builds that are on the bleeding edge. This builds have not been fully tested or used. This is best for potential contributors and tinkerers. Subscribing to this channel is not for the faint of heart and requires significant knowledge of Git and Python.

    -```bash -# Clone repo from git, you may want to use your own fork -git clone --recursive https://github.com/balloob/home-assistant.git -cd home-assistant -# You may want to switch to a virtual environment here -# Install Home Assistant in development mode -python3 setup.py develop -# Optionally pre-emptively install all possible dependencies -pip3 install -r requirements_all.txt -``` -

    To keep up-to-date with the development channel, you will have to fetch and merge from the dev branch in the head repository. Be careful when doing this.

    -```bash -git fetch balloob -git merge remotes/balloob/dev -``` -
    - -
    +
  • Launch Home Assistant and serve web interface on http://localhost:8123
  • + +

    Troubleshooting

    @@ -96,10 +84,19 @@ git merge remotes/balloob/dev

    +

    Staying Up to Date

    +

    In order to update Home Assistant to the latest stable release, simply type the following into a console:

    +```bash +pip install --upgrade homeassistant +``` +

    If you would like to stay up to date with the newest unstable builds (alphas, betas, and release candidates), use this command:

    +```bash +pip install --upgrade --pre homeassistant +```

    What's Next

    If you want to see what Home Assistant can do, you can start the demo mode by running hass --demo-mode. Home Assistant has a few other command line flags that can be displayed by running hass --help.

    -

    From here you may now start configuring Home Assistant to your liking. For more advanced users, the advanced configuration page contains brief tutorials on creating more advanced installations such as installing daemons and using Docker.

    +

    From here you may now start configuring Home Assistant to your liking. For more advanced users, the advanced configuration page contains brief tutorials on creating more advanced installations.

    ###[Next step: configuring Home Assistant »](/getting-started/configuration.html) From db3614592866be575558a7a3c031445aa0d128e0 Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Wed, 2 Sep 2015 23:35:15 -0400 Subject: [PATCH 004/188] Fixed small typo on getting started page. --- source/getting-started/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index f2f2cbfdf62..340a2ce71c6 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -54,7 +54,7 @@ When using boot2docker on OS X you are unable to map the local time to your Dock
    -

    Home Assistant uses Python 3.4 which is not shipped with the current Raspbian distibution for the Raspberry Pi. Before installing Home Assistant, you will have to target="_blank"install Python 3.4. +

    Home Assistant uses Python 3.4 which is not shipped with the current Raspbian distibution for the Raspberry Pi. Before installing Home Assistant, you will have to install Python 3.4. Once that is complete, installing and running Home Assistant on your local machine is easy. Make sure you have Python 3.4 installed and execute the following code in a console: From 9d3ea63632339042a01f2ecf25ac14093244b6bc Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Wed, 2 Sep 2015 23:41:59 -0400 Subject: [PATCH 005/188] Escaped double dashes on getting started page. --- source/getting-started/index.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 340a2ce71c6..70f072a9a4a 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -27,7 +27,7 @@ Installing and running Home Assistant on your local machine is easy. Make sure y

    ```bash pip3 install homeassistant -hass --open-ui +hass \-\-open-ui ```

    Running these commands will:

    @@ -42,7 +42,7 @@ hass --open-ui

    Installation with Docker is straightforward. Adjust the following command so that /path/to/your/config/ points at the folder where you want to store your config and run it:

    ```bash -docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host balloob/home-assistant +docker run -d \-\-name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro \-\-net=host balloob/home-assistant ```

    This will launch Home Assistant and serve its web interface from port 8123 on your Docker host.

    @@ -61,7 +61,7 @@ Once that is complete, installing and running Home Assistant on your local machi

    ```bash pip3 install homeassistant -hass --open-ui +hass \-\-open-ui ```

    Running these commands will:

    @@ -87,15 +87,15 @@ hass --open-ui

    Staying Up to Date

    In order to update Home Assistant to the latest stable release, simply type the following into a console:

    ```bash -pip install --upgrade homeassistant +pip install \-\-upgrade homeassistant ```

    If you would like to stay up to date with the newest unstable builds (alphas, betas, and release candidates), use this command:

    ```bash -pip install --upgrade --pre homeassistant +pip install \-\-upgrade \-\-pre homeassistant ```

    What's Next

    -

    If you want to see what Home Assistant can do, you can start the demo mode by running hass --demo-mode. Home Assistant has a few other command line flags that can be displayed by running hass --help.

    +

    If you want to see what Home Assistant can do, you can start the demo mode by running hass \-\-demo-mode. Home Assistant has a few other command line flags that can be displayed by running hass \-\-help.

    From here you may now start configuring Home Assistant to your liking. For more advanced users, the advanced configuration page contains brief tutorials on creating more advanced installations.

    From 56f897a383b209eb4a60cc082a4fd2fe39f0ee72 Mon Sep 17 00:00:00 2001 From: JTimNolan Date: Fri, 4 Sep 2015 18:11:34 -0500 Subject: [PATCH 006/188] Add section for Dependencies Additionally, added subsection for windows-specific quirks with python 3.4,pip and x64. --- source/components/keyboard.markdown | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/components/keyboard.markdown b/source/components/keyboard.markdown index 28ef17fc7df..ff5b96a1bcc 100644 --- a/source/components/keyboard.markdown +++ b/source/components/keyboard.markdown @@ -24,3 +24,17 @@ To load this component, add the following lines to your `configuration.yaml`: ``` keyboard: ``` + +## {% linkable_title Dependencies %} + +You may need to install platform-specific [dependencies for PyUserInput](https://github.com/SavinaRoja/PyUserInput#dependencies) in order to use the keyboard component. In most cases this can be done by running: + +``` +pip3 install [package name] +``` + +#### {% linkable_title Windows %} + +x64 Windows users may have trouble installing pywin through pip. Using an [executable installer](http://sourceforge.net/projects/pywin32/files/pywin32/) should work around this issue. + +[Similar installers](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook) (unofficial) for pyhook have been ported to python 3.4 and should help with x64 pip issues with pyhook. From 7ba2a552328911e1a4f7d9220b884dd82dbe79e3 Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Sat, 5 Sep 2015 05:40:45 -0400 Subject: [PATCH 007/188] Updated Advanced Install page to focus on daemon managers. The advanced install page was reworded to be organized by daemon manager rather than Linux distribution. Some wording changes were made on the Getting Started page. --- sass/custom/_paulus.scss | 17 ++++---- source/getting-started/advanced.markdown | 54 +++++++++++++++--------- source/getting-started/index.markdown | 4 +- 3 files changed, 44 insertions(+), 31 deletions(-) diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index e7bf78e4738..a52577199fa 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -218,16 +218,17 @@ p.note { } .advanced-installs-container { - #debian-install, #fedora-install, .advanced-installs { + + #upstart-install, #systemd-install, .advanced-installs { display: none; } label.menu-selector { display: inline-block; text-align: center; - padding: 10px; + padding: 20px; white-space: nowrap; - border-bottom: 2px solid $grayLight; + border-bottom: 5px solid $grayLight; transition: border-bottom-color .5s; } @@ -235,19 +236,19 @@ p.note { margin-left: 10px; } - #debian-install:checked ~ .menu-selector.debian, - #fedora-install:checked ~ .menu-selector.fedora + #upstart-install:checked ~ .menu-selector.upstart, + #systemd-install:checked ~ .menu-selector.systemd { border-bottom-color: $blue; } - #debian-install:checked ~ .advanced-installs.debian, - #fedora-install:checked ~ .advanced-installs.fedora + #upstart-install:checked ~ .advanced-installs.upstart, + #systemd-install:checked ~ .advanced-installs.systemd { display: block; } .advanced-installs { - margin-top: 20px; + margin-top: 30px; } } diff --git a/source/getting-started/advanced.markdown b/source/getting-started/advanced.markdown index 24c45d73377..bf2cf5698d9 100644 --- a/source/getting-started/advanced.markdown +++ b/source/getting-started/advanced.markdown @@ -12,34 +12,46 @@ footer: true Here are some general tutorials on how to setup some of the more advanced deployments that are frequently requested.
    - - - - + + + + -
    -**Debian Deamon** -

    Debian based systems, including Ubuntu and Raspbian for the Raspberry Pi use an application called Init to manage daemon services. Init will launch init scripts that are located in the directory /etc/init.d/. A sample init script for Debian based systems is maintained in this project.

    -

    To install this script, download it, tweak it to you liking, and install it by following the directions in the header. This script will setup Home Assistant to run when the system boots. To start/stop Home Assistant manually, issue the following commands: +

    +Many linux distributions use the Upstart system (or similar) for managing daemons. Typically, systems based on Debian 7 or previous use Upstart. This includes Ubuntu releases before 15.04 and all current Raspian releases. If you are unsure if your system is using Upstart, you may check with the following command: + +```bash +ps -p 1 -o comm= +``` + +If the preceding command returns the string `init`, you are likely using Upstart. + +Upstart will launch init scripts that are located in the directory /etc/init.d/. A sample init script for systems using Upstart is maintained by this project. + +To install this script, download it, tweak it to you liking, and install it by following the directions in the header. This script will setup Home Assistant to run when the system boots. To start/stop Home Assistant manually, issue the following commands: ```bash sudo service hass-daemon start sudo service hass-daemon stop ``` -

    -

    When running Home Assistant with this script, the configuration directory will be located at /var/opt/homeassistant. This directory will contain a verbose log rather than simply an error log.

    +When running Home Assistant with this script, the configuration directory will be located at /var/opt/homeassistant. This directory will contain a verbose log rather than simply an error log. -

    When running daemons, it is good practice to have the daemon run under its own user name rather than the default user's name. Instructions for setting this up are outside the scope of this document.

    -
    +When running daemons, it is good practice to have the daemon run under its own user name rather than the default user's name. Instructions for setting this up are outside the scope of this document. +
    -
    -**Fedora Daemon** -

    If you want that Home Assistant is lauched automatically, an extra step is needed to setup systemd. You need a service file to control Home Assistant with systemd.

    - +
    +Newer linux distributions are trending towards using systemd for managing daemons. Typically, systems based on Fedora 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= +``` + +If the preceding command returns the string `systemd`, you are likely using systemd. + +If you want Home Assistant to be launched automatically, an extra step is needed to setup systemd. You need a service file to control Home Assistant with systemd. ```bash su -c 'cat <> /lib/systemd/system/home-assistant.service @@ -56,7 +68,7 @@ WantedBy=multi-user.target EOF' ``` -

    You need to reload systemd to make the daemon aware of the new configuration. Enable and launch Home Assistant after that.

    +You need to reload systemd to make the daemon aware of the new configuration. Enable and launch Home Assistant after that. ```bash sudo systemctl --system daemon-reload @@ -64,7 +76,7 @@ sudo systemctl enable home-assistant sudo systemctl start home-assistant ``` -

    If everything went well, sudo systemctl start home-assistant should give you a positive feedback.

    +If everything went well, sudo systemctl start home-assistant should give you a positive feedback. ```bash $ sudo systemctl status home-assistant -l @@ -77,11 +89,11 @@ $ sudo systemctl status home-assistant -l [...] ``` -

    To get Home Assistant's logging output, simple use journalctl.

    +To get Home Assistant's logging output, simple use journalctl. ```bash sudo journalctl -f -u home-assistant ``` -
    +
    ###[« Back to Getting Started](/getting-started/index.html) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 70f072a9a4a..bb93f58ee07 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -74,7 +74,7 @@ hass \-\-open-ui

    Troubleshooting

    -

    If you run into any issues, please see the troubleshooting page. It contains solutions to many of the common issues.

    +

    If you run into any issues, please see the troubleshooting page. It contains solutions to many of the more commonly encountered issues.

    For additional help, in addition to this site, there are three sources:

      @@ -99,4 +99,4 @@ pip install \-\-upgrade \-\-pre homeassistant

      From here you may now start configuring Home Assistant to your liking. For more advanced users, the advanced configuration page contains brief tutorials on creating more advanced installations.

      -###[Next step: configuring Home Assistant »](/getting-started/configuration.html) +###[Next step: Configuring Home Assistant »](/getting-started/configuration.html) From 8b82bf7161e1e357b9f7a9cfe0febab1c2a1efa9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:11:30 +0200 Subject: [PATCH 008/188] add ifttt logo --- source/images/supported_brands/ifttt.png | Bin 0 -> 293 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/ifttt.png diff --git a/source/images/supported_brands/ifttt.png b/source/images/supported_brands/ifttt.png new file mode 100644 index 0000000000000000000000000000000000000000..7121c507d32417d98475e77a647f93d59a755876 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^u|TZA!2~4#uYcSPq&N#aB8wRq_>O=u<5X=vX`mo` ziKnkC`+ZJ!UKafdIny~nA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rNP+tbA{B;(%OnHvQg6a-lKkM}KLSrg?wVb;A946cR(syDbNR;N#UeALlN)zUMK zt)rPu-~g*$LFST=HX=cZ_g;N>dwb{S%A>E%&!~9@KP&2f<@(QPlK3~lm(K)-Pz}juD7? gcf?kw63B|mWX`l!&v0?o-vM&Jr>mdKI;Vst0F57IaR2}S literal 0 HcmV?d00001 From 65babf6c29a71929a1dd5e5a23ca5781aced45de Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:12:01 +0200 Subject: [PATCH 009/188] add arest logo --- source/images/supported_brands/arest.png | Bin 0 -> 4679 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/arest.png diff --git a/source/images/supported_brands/arest.png b/source/images/supported_brands/arest.png new file mode 100644 index 0000000000000000000000000000000000000000..0add391a04567d689c0e3dd8d87e834a5fcab3b1 GIT binary patch literal 4679 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 literal 0 HcmV?d00001 From 72cf4f1ee3053a4c7308dc43f7e05824d5cc34a2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:17:15 +0200 Subject: [PATCH 010/188] add aruba logo --- source/images/supported_brands/aruba.png | Bin 0 -> 25547 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/aruba.png diff --git a/source/images/supported_brands/aruba.png b/source/images/supported_brands/aruba.png new file mode 100644 index 0000000000000000000000000000000000000000..7c94b9fcd576a1b86165505628a2e27d78b4f5dd GIT binary patch literal 25547 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�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 RZVvze002ovPDHLkV1f}eY;6Dl literal 0 HcmV?d00001 From 0bb219a98f7262b75b5e66fd30e9c2df904e3ced Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:27:19 +0200 Subject: [PATCH 011/188] add logo --- source/components/device_tracker.aruba.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/components/device_tracker.aruba.markdown b/source/components/device_tracker.aruba.markdown index e609b8efef3..1e80014ee9d 100644 --- a/source/components/device_tracker.aruba.markdown +++ b/source/components/device_tracker.aruba.markdown @@ -9,6 +9,7 @@ sharing: true footer: true --- + This platform allows you to detect presence by looking at connected devices to an [Aruba Instant](http://www.arubanetworks.com/products/networking/aruba-instant/) device. This has been tested on an ARUBA AP-105.

      From 67363c3ec66c71df3639c40724cb24c804983853 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:28:36 +0200 Subject: [PATCH 012/188] dd aruba logo --- source/components/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index 787a5d37b8d..97f5060721a 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -147,7 +147,7 @@ Entities are things that you want to observe within Home Assistant. Support for - + Aruba routers From 8c0862e134c75f0992c2e31a7a60d98513ba205a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:34:40 +0200 Subject: [PATCH 013/188] update image --- source/images/supported_brands/aruba.png | Bin 25547 -> 1907 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/supported_brands/aruba.png b/source/images/supported_brands/aruba.png index 7c94b9fcd576a1b86165505628a2e27d78b4f5dd..e20f1c95a6b45074e119d4a139400e99bac409f1 100644 GIT binary patch literal 1907 zcmV-(2aNcMP)u= zfo3BRj=(qq>mm@2z}f^bCIL$k7-t|yuqc8>5!@&P>4E3F2Q_C(CFU0-CZdem`xMCHY6)6B&Wg=!(FljFd z*8twCOyul!nY5RNDS({Sz@)u2JXD!TSq)6uOT&!A1Sahz#<-lAF=>Z`DigxsvI%R7 zNjn6x##JVyp%)dbv37j#*f2NbB_dLMNXs1ntN?5Q6abb%B4rQ6(2Xwvlzok_c&8J{FBD|{0boX-Yr`SeM1kQiwAEc}zNaU8rj%a+-jCj_F!EDjTYOy$$ zEK)garg0?KWRv*d-iQ(?9Z^&4OKRIA_DnUa%0rcjNs!3;e($`&wtAo=(i%W?tP((f z%K_vD6^B`siMgtxpipppSY@E+EXm`fjgpHl8y*7IB-7DKK#<50Q3nKgAG>=A)e0FN5aFmW($sH^)1iIhPiLqnOP0T4Da zDP2)*_R(PVXvWjeJ46%b} z9y($NoxT|AR8>{j5D{T9cC5)=Cg&inYNpH`2{Y?xd0uqAg*gDcJIXXCC(`Eegn>O> z^NE=we|jUWYDsm<_$j_xX-Y??hWculJL+_+i63jywk5+m*KJ@5&Dtsp<8zR9tXN8< z$2+KEP?Kip-Km;iP6^MIqww%}zAIL#sXm>Qv~4&yVZK^efWB>_Ns7uI?J*eAeq}^o zRIWaW)%#H)8`8GLD!%;(V!+0AHGnD>H%eGNmr~ValbWPi41J>8kX9-b>{HG-_tBEF z%Xe$+zWFY{ed$zcoY2^H!q9!=A(6IlEOn@av}tfY2WdwR-~JM-WU^>_chza6B2Hs` zmE5VLF4I#O%!ah8GRmE8FDjL@(lZmbF1x9U;&am@-Hj6zZTPTwwUKSNS)*giWPFu9 zr?xv-bp3Qtq@@y!s=Mda)GHBT^8t9-8Y)BAEt59}gjs52vfY1wGIa)x9_NvvoJ+KC zLIC@IhS0*E%TpQ4wtArRjP-X?359?${EngYMOu{s$Jn22h!rwPjZ7QIqWx=?iKT%~ zOM~&34JWjPdIRGcz@I7;Y1@RQ(<>=}Kc{p+)`$D5Oqh1Kf8g`ProiXfARFQCgG3gz z^!#qQW)&pTJ7cvt>$V}eN_=+To5=KdNLtOo#-p;*gs*j4w+D_)b$P@)OM~~{;j?ku z+n&C*ayi&odrIBQK43WQeJ0^gN>vcugdEYwMz)pj3E4V#fLn?2{TNxO*Lb3E2u-g$ z9g3~49E@9{gGSzgVxkEXT(HJ@%X({7#}<+K*CiRrX-CYkck|*vm4v86;?_;+=W3Z; z!=Tt7ByxU9#J%z`a1P)W=I4cUvD#3GTgR&F4rB@)8(+GZG>agSq3MJn;{Mga*t?E6 z(LHGo47~6#>@6iy??dvqbh_ci!H7Emzk)$0|dvZouvWZ-4x=xVSaxwUSWNVE5 zXh48ng7(F`{2XDwAxnZ`P0& z_sbxWl4_J~$%O1EGq;he{Ecxz^>8Wj`e(Juf1002ovPDHLkV1m36g9iWr literal 25547 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�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 RZVvze002ovPDHLkV1f}eY;6Dl From 9c692407a10f78bd5512a42d18c4faac92c9f44e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:53:33 +0200 Subject: [PATCH 014/188] add dht image --- source/images/supported_brands/dht.png | Bin 0 -> 2413 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/dht.png diff --git a/source/images/supported_brands/dht.png b/source/images/supported_brands/dht.png new file mode 100644 index 0000000000000000000000000000000000000000..701af8ffbd14345c828eb620d61a46a19c1df389 GIT binary patch literal 2413 zcmV-z36l1SP)75--K%q?A{q zG=$Pn9D<;H?lUhjHev-7%_ALGoOadz!Vve0ZgN3t|C=g!>w?K$^+ z=bURGkU#GpKLN@VD1KI`ZB18#gLMT>2HmVmNg*hxy5IMg+xq&LX0a z=;;Rl6waT5Xb^T?M`cTB>AMdAP`q>&f=V5o#dIX^9rCqKFoyD#DLwb@>o1&t^R@3U zH(c`b&7t8hzBuya6Xe*n5-hgN2N^>QNt7<05m3>b=aKe4#5&gi0MyJ?ShHCNkeq6B zbf#KH^}=~aN1`D|=SN~)eTo!{yx1u48#WFOk+&}waA{uiy$CUP9>UqT_=BFWad#{I z2js+le!ppikFzw86R&V%_HVvvcaHV+69DT0oLO>>KE9<8Q3PX6w3kH!0HI|K^id9Y zA8GK?|LVh(+0oYtYVM#6z;fxx-3ESW)5F-dbDML&_Y`%myVvw$$CJCA`va3IsxG<; z+`gGDe=WKWFHM#BM5|Ug*OgR1UYeTYZl7B1SRvjwgzD!;`F2UPHXnGBSOJn)QQO@j zafp$4?f2vmV%_Tlx4$F6Ta>|UrYxs{Zm<3MwL=hz0HHYJqAP~A0~_ogN7qs6+yoMi z@+@om1Y(Tu`FwmWq-2NvZe|JzJ>%$#N(Y3FwE%!>b{fU^|H}7#dk0NNF1>x;q1?n_ah!lpYmI0s*z|8G}7q@PC1T$6$R|@{?dAa=_p#7fO3vB5CY3Zn~ zi^Px`+){rrl8n^-pIV}sL!sp|zPvhc`{ii<@YoShB7;`uT)!|wx~tQ^rWD5N2O!G4 zf50+Rkky=XuXk*K7)jW={8h+>X&%vAx*)XL-!e*h6i@uaEo>-G3?Q4q@6D)z5=Ri9=Rp$wU!bB?Hqt9)oErB5mYY#Kx{c+zNqf& zzd3q5Cq$907)=oB8MJ%`W4pF5OLe}YeM?wI)oP9%!oa|MHd}pxpPpAymPu297a&|e zqHYNI{9CW?hhUT-UOvkAJY^W(`HWqOl}eac`52T$iu3;2F|13N&i#86iaHUY6r1YSx_}@fd?PpT*cWo@h)}*OiPQ z8IsTp!oa|&<$LQcD}|~7)uc@UUVs3>XWZ~(&hp_u9)xIV5HgcB2UwpQB<;!PKIPz=0z^)DGcx)%9o^k;*zyAS9 zz4W%@UQiMOfN~?iSL9FM!MyT+R;Z)sWOyhmr1AMlKG>sTti zD4-c2vlr@@v>hA4LP-Fq1XbN_TApZyEQD$fqE`F3YN281eWq)muJLX=QOktx(kYhr zea)p4^&98Zbsdz}Npea#F#B_4`S{?2>K^^x{^Rb{wdSuFjYAN)BUySC)Zm$#6p1@+ zE^6wqw5lry2t$+nLZ zOO&u@(Vo2~DGt~htRae?z)B#=M? f2_%p}noj-;98{MB%$vv200000NkvXXu0mjf;9iCB literal 0 HcmV?d00001 From f5dec6e2f12495b2e5dd949a8925fdcb90873e19 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:55:50 +0200 Subject: [PATCH 015/188] add dht image --- source/components/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index 97f5060721a..e70057b597d 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -70,7 +70,7 @@ Entities are things that you want to observe within Home Assistant. Support for - + DHTxx reads the temperature and humidity. From 49cb76e3e477aac08b699916081b7e23ab869365 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 15:56:53 +0200 Subject: [PATCH 016/188] add dht image --- source/components/sensor.dht.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/components/sensor.dht.markdown b/source/components/sensor.dht.markdown index 4feed1facee..d6d7b6a38c3 100644 --- a/source/components/sensor.dht.markdown +++ b/source/components/sensor.dht.markdown @@ -9,6 +9,7 @@ sharing: true footer: true --- + The dht sensor platform allows you to get the current temperature and humidity from a DHT11, DHT22, or AM2302 device. To use your DHTxx sensor in your installation, add the following to your `configuration.yaml` file: From 3d1840595769a704bf536ada4fa35a944dbf7a0d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:45:27 +0200 Subject: [PATCH 017/188] update arest logo --- source/images/supported_brands/arest.png | Bin 4679 -> 1851 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/supported_brands/arest.png b/source/images/supported_brands/arest.png index 0add391a04567d689c0e3dd8d87e834a5fcab3b1..8905776801d16ca75723c2448bf10af1241b5853 100644 GIT binary patch literal 1851 zcmV-B2gLY^P)`r&jY<2hlmsB>H&3s+;RsXw={^}bLLI@#*5JCtcgb+dq zA%qY@2qAw(XJZ-8bA z#7_=~_|AS{w=G+MdY}&Y0NCn5{mR*oeSuqmn}NY0Z8QO&0Pg@RfFIh~7aADyoE}&C z2Y3^h;%WT~l`zx-4P~s$VUG$DNVM`2&^yHfnb!_=Nu)rsIK^r!8-aY^!@CnHE}bOUPa%|9DhQ{YLn7RZ&kex+n$ zK%MG=2}RoKXzk6nYqwIiFVoW`9~?Ix_%^`a9VzM9j&@|oug?mgYed^QUMfh7)`Po`+m6r1q@Z0jj?aEocNeB}#P9b4F2sZ=48w#d3

      &c8eN;otUlC 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 From 104c386f4b759765ad97054c1f6ee72070f634f1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:46:11 +0200 Subject: [PATCH 018/188] add arest entry --- source/components/index.markdown | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index e70057b597d..d3c224e4751 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -114,7 +114,7 @@ Entities are things that you want to observe within Home Assistant. Support for - RFXtrx sensors monitors values from RFXtrx sensors. + RFXtrx sensors monitors values from RFXtrx devices. @@ -122,6 +122,11 @@ Entities are things that you want to observe within Home Assistant. Support for MQTT allows sending and recieving MQTT messages. + + + aREST sensors monitors values from aREST enabled devices. + +

    From bc3e2fd15d95776506555b751f669f95120eff58 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:46:39 +0200 Subject: [PATCH 019/188] add arest page --- source/components/sensor.arest.markdown | 106 ++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 source/components/sensor.arest.markdown diff --git a/source/components/sensor.arest.markdown b/source/components/sensor.arest.markdown new file mode 100644 index 00000000000..b39d493602d --- /dev/null +++ b/source/components/sensor.arest.markdown @@ -0,0 +1,106 @@ +--- +layout: page +title: "aREST support" +description: "Instructions how to integrate aREST sensors within Home Assistant." +date: 2015-09-07 18:15 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The arest sensor platform allows you to get all data from your devices (like Arduinos with a ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. + +To use your aREST enabled device in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + platform: arest + resource: http://IP_ADDRESS + monitored_variables: + - name: temperature + unit: '°C' + - name: humidity + unit: '%' +``` + +The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you find below a sketch for the Arduino device family. + +```c +/* + This modified sketch is based on the Ethernet example of the aREST + (http://arest.io/) library. +*/ + +// Libraries +#include +#include +#include +#include + +// Device settings +char* deviceId = "sensor02"; +char* deviceName = "livingroom"; +byte deviceMac[] = { 0x20, 0xD5, 0xD3, 0x03, 0xFE, 0x31 }; +IPAddress deviceIp(192, 168, 1, 12); + +EthernetServer server(80); +aREST rest = aREST(); + +// Variables to be exposed to the API +int temperature; +int humidity; + +void setup(void) { + Serial.begin(57600); + + // Init variables and expose them to REST API + temperature = 0; + humidity = 0; + + rest.variable("temperature", &temperature); + rest.variable("humidity", &humidity); + + // Give name and ID to device + rest.set_id(deviceId); + rest.set_name(deviceName); + + Ethernet.begin(deviceMac, deviceIp); + + server.begin(); + Serial.print("Sensor is ready..."); + + // Start watchdog + wdt_enable(WDTO_4S); +} + +void loop() { + EthernetClient client = server.available(); + rest.handle(client); + wdt_reset(); + + // Replace this with your actual sensor readings, like + // temperature = (((analogRead(A0) * 5.0) / 1024) - 0.5) * 10; + temperature = random(400); + humidity = random(600); + delay(500); +} + +``` + +The JSON response contains the variables and their current values along with some device details. + +```json +{ + "variables" : { + "temperature" : 23, + "humidity" : 82 + }, + "id" : "sensor01", + "name" : "livingroom", + "connected" : true +} +``` + From 266b278f7d8574d02ee5679a4962cbefa28d1ecc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:56:10 +0200 Subject: [PATCH 020/188] add mqtt sensor and switch --- source/components/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index d3c224e4751..e3651ec045d 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -119,7 +119,7 @@ Entities are things that you want to observe within Home Assistant. Support for - MQTT allows sending and recieving MQTT messages. + MQTT allows sending and recieving MQTT messages, incl. switch and sensor. From 64d5cfd70ded9cdcdd4780abbda19ebce2f24a73 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:56:32 +0200 Subject: [PATCH 021/188] remove period --- source/components/mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/mqtt.markdown b/source/components/mqtt.markdown index cb5648db31e..ea5b360a188 100644 --- a/source/components/mqtt.markdown +++ b/source/components/mqtt.markdown @@ -35,7 +35,7 @@ The MQTT component has no TLS support at the moment. This means that only plain- - [MQTT Sensor](/components/sensor.mqtt.html) - [MQTT Switch](/components/switch.mqtt.html) - - [MQTT-automation rule](/components/automation.html#mqtt-based-automation). + - [MQTT-automation rule](/components/automation.html#mqtt-based-automation) - Integrating it into a component. See the [MQTT example component](https://github.com/balloob/home-assistant/blob/dev/config/custom_components/mqtt_example.py) how to do this. ## Testing From 365445ff2a770adf70f616e61838da3f284f4056 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:56:50 +0200 Subject: [PATCH 022/188] update list --- source/components/sensor.mqtt.markdown | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/source/components/sensor.mqtt.markdown b/source/components/sensor.mqtt.markdown index a07f9edb8cd..69fef13c525 100644 --- a/source/components/sensor.mqtt.markdown +++ b/source/components/sensor.mqtt.markdown @@ -21,11 +21,9 @@ sensor: platform: mqtt name: "MQTT Sensor" state_topic: "home/bedroom/temperature" - unit_of_measurement: "ºC" + unit_of_measurement: "°C" ``` -state_topic: The MQTT topic subscribed to receive sensor values. *Required* - -name: The name of the sensor. Default is 'MQTT Sensor'. *Optional* - -unit_of_measurement: Defines the units of measurement of the sensor, if any. *Optional* +- **name**: The name of the sensor. Default is 'MQTT Sensor'. *Optional* +- **state_topic**: The MQTT topic subscribed to receive sensor values. *Required* +- **unit_of_measurement**: Defines the units of measurement of the sensor, if any. *Optional* From 2290d32ccd854a729fa8fda4be3ecf4bacd6765d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:57:08 +0200 Subject: [PATCH 023/188] update list --- source/components/switch.mqtt.markdown | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/source/components/switch.mqtt.markdown b/source/components/switch.mqtt.markdown index 69a1552806a..3637efc3742 100644 --- a/source/components/switch.mqtt.markdown +++ b/source/components/switch.mqtt.markdown @@ -36,14 +36,9 @@ switch: optimistic: false ``` -command_topic: The MQTT topic to publish commands to change the switch state. *Required* - -name: The name of the switch. Default is 'MQTT Switch'. *Optional* - -state_topic: The MQTT topic subscribed to receive state updates. *Optional* - -payload_on: The payload that represents enabled state. Default is "ON". *Optional* - -payload_off: The payload that represents disabled state. Default is "OFF". *Optional* - -optimistic: Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false. *Optional* +- **name**: The name of the switch. Default is 'MQTT Switch'. *Optional* +- **state_topic**: The MQTT topic subscribed to receive state updates. *Optional* +- **command_topic**: The MQTT topic to publish commands to change the switch state. *Required* +- **payload_on**: The payload that represents enabled state. Default is "ON". *Optional* +- **payload_off**: The payload that represents disabled state. Default is "OFF". *Optional* +- **optimistic**: Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false. *Optional* From 8cbb66a8bc8de1c1833280c8eee45da0780318f0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:59:31 +0200 Subject: [PATCH 024/188] add qos --- source/components/sensor.mqtt.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/components/sensor.mqtt.markdown b/source/components/sensor.mqtt.markdown index 69fef13c525..ac7ca6596de 100644 --- a/source/components/sensor.mqtt.markdown +++ b/source/components/sensor.mqtt.markdown @@ -21,9 +21,11 @@ sensor: platform: mqtt name: "MQTT Sensor" state_topic: "home/bedroom/temperature" + qos: 0 unit_of_measurement: "°C" ``` - **name**: The name of the sensor. Default is 'MQTT Sensor'. *Optional* - **state_topic**: The MQTT topic subscribed to receive sensor values. *Required* +- **qos**: The maximum QoS level of the state topic. Default is 0. *Optional* - **unit_of_measurement**: Defines the units of measurement of the sensor, if any. *Optional* From 8fe4a2b15c4a38f0a2148d3e701e6b48a1c35589 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 16:59:44 +0200 Subject: [PATCH 025/188] add qos --- source/components/switch.mqtt.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/components/switch.mqtt.markdown b/source/components/switch.mqtt.markdown index 3637efc3742..18f932fb57c 100644 --- a/source/components/switch.mqtt.markdown +++ b/source/components/switch.mqtt.markdown @@ -31,6 +31,7 @@ switch: name: "Bedroom Switch" state_topic: "home/bedroom/switch1" command_topic: "home/bedroom/switch1/set" + qos: 0 payload_on: "ON" payload_off: "OFF" optimistic: false @@ -39,6 +40,7 @@ switch: - **name**: The name of the switch. Default is 'MQTT Switch'. *Optional* - **state_topic**: The MQTT topic subscribed to receive state updates. *Optional* - **command_topic**: The MQTT topic to publish commands to change the switch state. *Required* +- **qos**: The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. *Optional* - **payload_on**: The payload that represents enabled state. Default is "ON". *Optional* - **payload_off**: The payload that represents disabled state. Default is "OFF". *Optional* - **optimistic**: Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false. *Optional* From f79a4885cc467009344a24c5d9408834da82b012 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 17:22:57 +0200 Subject: [PATCH 026/188] add ifttt page --- source/components/ifttt.markdown | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 source/components/ifttt.markdown diff --git a/source/components/ifttt.markdown b/source/components/ifttt.markdown new file mode 100644 index 00000000000..4a08aa1949f --- /dev/null +++ b/source/components/ifttt.markdown @@ -0,0 +1,21 @@ +--- +layout: page +title: "IFTTT" +description: "Instructions how to setup IFTTT within Home Assistant." +date: 2015-09-07 18:00 +sidebar: false +comments: false +sharing: true +footer: true +--- + +[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so called "recipes". With the ifttt component you can trigger recipes through the "maker" channel. + +To integrate IFTTT into Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +ifttt: + key: xxxxx-x-xxxxxxxxxxxxx +``` + From 268afab4c692ae3e6fdbd16d4b2891f40b67e009 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 17:27:12 +0200 Subject: [PATCH 027/188] switch to plural --- source/components/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index e3651ec045d..3237e30a5be 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -119,7 +119,7 @@ Entities are things that you want to observe within Home Assistant. Support for - MQTT allows sending and recieving MQTT messages, incl. switch and sensor. + MQTT allows sending and recieving MQTT messages, incl. switches and sensors. From 8d6ab92cd4ac29fa388b125476c102b0441d5c02 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 7 Sep 2015 17:30:49 +0200 Subject: [PATCH 028/188] add ifttt --- source/components/index.markdown | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index 3237e30a5be..c5283feed9d 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -213,7 +213,7 @@ Entities are things that you want to observe within Home Assistant. Support for - Google Cast devices + Google Cast @@ -435,7 +435,7 @@ the manufacturers of these devices.

    Web services

    -

    The web services displays data grabbed from an external source.

    +

    The web services displays data grabbed from an external source or interact with them.

    @@ -456,7 +456,12 @@ the manufacturers of these devices. - + + + + + +
    Swiss Public Transport displays Swiss timetable data for traveling.Swiss Public Transport displays Swiss timetable data for traveling.
    IFTTT allows the triggering of recipes.
    From 49f79a4faef40042369c96f91dbfd0027ee27043 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Mon, 7 Sep 2015 12:34:10 -0400 Subject: [PATCH 029/188] Additional scattered info for IFTTT Documentation I entered in some additional information on setting up the Maker channel with HA. It still needs information on setting up actual automations etc... Once I figure that out, I will screenshot and document. :) --- source/components/ifttt.markdown | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/source/components/ifttt.markdown b/source/components/ifttt.markdown index 4a08aa1949f..45f66681f08 100644 --- a/source/components/ifttt.markdown +++ b/source/components/ifttt.markdown @@ -11,7 +11,7 @@ footer: true [IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so called "recipes". With the ifttt component you can trigger recipes through the "maker" channel. -To integrate IFTTT into Home Assistant, add the following section to your `configuration.yaml` file: +To load the IFTTT component into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -19,3 +19,24 @@ ifttt: key: xxxxx-x-xxxxxxxxxxxxx ``` +You can find your secret key by viewing the properties of the [Maker Channel] (https://ifttt.com/maker) +![](http://i.imgur.com/9JNHmJe.png) + +Once you have added your entries to `configuration.yaml`, restart your Home Assistant server. This will load up the IFTTT component and create a service trigger. + +Note: After restarting the server, be sure to watch the console for any logging errors that show up in red, white or yellow. + +![](http://i.imgur.com/azkEyUl.png) + +You can use the developer tools to test your [Maker Channel] (https://ifttt.com/maker) trigger. +The payload for the trigger should be {"`event`":"`EventName`"}. + +Example : `{"event":"TestHA_Trigger"}` + +![example](http://i.imgur.com/MV1L2np.png) + +On the [Maker Channel] (https://ifttt.com/maker) side of things, you should have a recipe that looks something similiar to this: + +![Maker Channel Preview](http://i.imgur.com/znvymX7.png) + + From 94f28d9832234fbc3dc1da56339f2bdd97f10106 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Mon, 7 Sep 2015 13:06:41 -0400 Subject: [PATCH 030/188] Added note section Added in 'Note class' for the note tip to match other pages. --- source/components/ifttt.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/components/ifttt.markdown b/source/components/ifttt.markdown index 45f66681f08..d905b335d95 100644 --- a/source/components/ifttt.markdown +++ b/source/components/ifttt.markdown @@ -24,7 +24,9 @@ You can find your secret key by viewing the properties of the [Maker Channel] (h Once you have added your entries to `configuration.yaml`, restart your Home Assistant server. This will load up the IFTTT component and create a service trigger. -Note: After restarting the server, be sure to watch the console for any logging errors that show up in red, white or yellow. +

    +After restarting the server, be sure to watch the console for any logging errors that show up in red, white or yellow. +

    ![](http://i.imgur.com/azkEyUl.png) From 79b8d686ec59da41361056766cf17083290b269c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 00:03:37 +0200 Subject: [PATCH 031/188] add sfam --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 8f0a2ad1ea4..952ead147b2 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -48,6 +48,7 @@ This page contains a list of people who have contributed in one way or another t - [Rev Michael Greb](https://github.com/mikegrb) - [rkabadi](https://github.com/rkabadi) - [Ryan Kraus](https://github.com/rmkraus) +- [sfam](https://github.com/sfam) - [Theodor Lindquist](https://github.com/theolind) - [vitorespindola](https://github.com/vitorespindola) - [wind-rider](https://github.com/wind-rider) From 2be1327420dfd9bd0fc596b74e2bd90b44f13ae4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 00:04:34 +0200 Subject: [PATCH 032/188] Add Per --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 952ead147b2..0d2ae808cf1 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -44,6 +44,7 @@ This page contains a list of people who have contributed in one way or another t - [Markus Stenberg](https://github.com/fingon) - [Michael Arnauts](https://github.com/michaelarnauts) - [miniconfig](https://github.com/miniconfig) +- [Per Sandström](https://github.com/persandstrom) - [Piratonym](https://github.com/Piratonym) - [Rev Michael Greb](https://github.com/mikegrb) - [rkabadi](https://github.com/rkabadi) From a3a44cc455e1164afc8860f002516cfa0ac7240f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 00:05:41 +0200 Subject: [PATCH 033/188] Add Greg --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 0d2ae808cf1..7df91f7aaf5 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -30,6 +30,7 @@ This page contains a list of people who have contributed in one way or another t - [Finbarr Brady](https://github.com/fbradyirl) - [Geoff Norton](https://github.com/kangaroo) - [gottsman](https://github.com/gottsman) +- [Greg Dowling](https://github.com/pavoni) - [Guillem Barba](https://github.com/gbarba) - [Gustav Ahlberg](https://github.com/Gyran) - [Issac Kelly](https://github.com/issackelly) From 6996614a25a2c527f32c2c00c96ea7ea18bb62c4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 00:09:01 +0200 Subject: [PATCH 034/188] Add Carlos --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 7df91f7aaf5..64c42a7bfee 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -22,6 +22,7 @@ This page contains a list of people who have contributed in one way or another t - [andythigpen](https://github.com/andythigpen) - [Austin](https://github.com/trainman419) - [Azelphur](https://github.com/Azelphur) +- [Carlo Costanzo](https://github.com/CCOSTAN) - [Chris Mulder](https://github.com/chrisvis) - [Daniel Iversen](https://github.com/danielhiversen) - [Edwin Smulders](https://github.com/Dutchy-) From 0d6bffb5d67ca866c03be72d2687d27c1a69db6a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 08:43:24 +0200 Subject: [PATCH 035/188] Fix typo --- source/components/switch.mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/switch.mqtt.markdown b/source/components/switch.mqtt.markdown index 18f932fb57c..4b0d76b594c 100644 --- a/source/components/switch.mqtt.markdown +++ b/source/components/switch.mqtt.markdown @@ -25,7 +25,7 @@ Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect switch operation. ```yaml -# Example configuration.yml entr +# Example configuration.yml entry switch: platform: mqtt name: "Bedroom Switch" From 0ed7ee66a4e0699924c5307c12822241d493b764 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 08:44:04 +0200 Subject: [PATCH 036/188] Add comment --- source/components/media_player.cast.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/components/media_player.cast.markdown b/source/components/media_player.cast.markdown index 9b499e34c95..11f44789350 100644 --- a/source/components/media_player.cast.markdown +++ b/source/components/media_player.cast.markdown @@ -14,7 +14,8 @@ Google Cast devices will be automatically discovered if you enable [the discover Chromecast platform can also be forced to load by adding the following lines to your `configuration.yaml`: -``` +```yaml +# Example configuration.yaml entry media_player: platform: chromecast # Optional. Will scan for devices if left out From 0ea000e80e7fb89c248d75b3d802228419149ee2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 08:59:12 +0200 Subject: [PATCH 037/188] update ifttt logo --- source/images/supported_brands/ifttt.png | Bin 293 -> 55893 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/supported_brands/ifttt.png b/source/images/supported_brands/ifttt.png index 7121c507d32417d98475e77a647f93d59a755876..f986bf76db488e503792dc239763b0a2afff1dbd 100644 GIT binary patch literal 55893 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 literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^u|TZA!2~4#uYcSPq&N#aB8wRq_>O=u<5X=vX`mo` ziKnkC`+ZJ!UKafdIny~nA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rNP+tbA{B;(%OnHvQg6a-lKkM}KLSrg?wVb;A946cR(syDbNR;N#UeALlN)zUMK zt)rPu-~g*$LFST=HX=cZ_g;N>dwb{S%A>E%&!~9@KP&2f<@(QPlK3~lm(K)-Pz}juD7? gcf?kw63B|mWX`l!&v0?o-vM&Jr>mdKI;Vst0F57IaR2}S From 0e9cc2cc65efdbf30c0f92827c0bf73b3b47b9f1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 09:00:15 +0200 Subject: [PATCH 038/188] Add new variables --- source/components/media_player.mpd.markdown | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/components/media_player.mpd.markdown b/source/components/media_player.mpd.markdown index 858fa4b5287..bab5e73fbd0 100644 --- a/source/components/media_player.mpd.markdown +++ b/source/components/media_player.mpd.markdown @@ -18,8 +18,15 @@ To add MPD to your installation, add the following to your `configuration.yaml` # Example configuration.yaml entry media_player: platform: mpd - server: 127.0.0.1 + server: IP_ADDRESS port: 6600 location: bedroom + password: PASSWORD ``` +Configuration variables: + +- **server** *Required*: IP address of the Music Player Daemon. Example: 192.168.1.32 +- **port** *Optional*: Port of the Music Player Daemon, defaults to 6600. Example: 6600 +- **location** *Optional*: Location of your Music Player Daemon. +- **password** *Optional*: Password for your Music Player Daemon. From d10b9fd7f3a10930b8df52d3047063bb25f66201 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 09:00:33 +0200 Subject: [PATCH 039/188] Add denon page --- source/components/media_player.denon.markdown | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 source/components/media_player.denon.markdown diff --git a/source/components/media_player.denon.markdown b/source/components/media_player.denon.markdown new file mode 100644 index 00000000000..cf213f70ef1 --- /dev/null +++ b/source/components/media_player.denon.markdown @@ -0,0 +1,39 @@ +--- +layout: page +title: "Denon Network Receivers support" +description: "Instructions how to integrate Denon Network Receivers into Home Assistant." +date: 2015-09-08 09:00 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The denon platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. + +Supported device: + +- Denon DRA-N5 + +To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +media_player: + platform: denon + name: Music station + host: IP_ADDRESS +``` +Configuration variables: + +- **host** *Required*: IP address of the device. Example: 192.168.1.32 +- **name** *Optional*: Name of the device + +A few notes: + +- As long as this module is active and connected, the receiver does not seem to accept additional telnet connections. +- Be careful with the volume. 50 % or even 100 % are very loud. +- To be able to wake up the receiver, activate the "remote" setting in the receiver's settings. +- Play and pause are supported, toggling is not possible. +- Seeking cannot be implemented as the UI sends absolute positions. Only seeking via simulated button presses is possible. From 6659a5114aa653d1c4b6f26d09db19ac959af803 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 09:00:49 +0200 Subject: [PATCH 040/188] Add denon entry --- source/components/index.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/components/index.markdown b/source/components/index.markdown index c5283feed9d..5a3e7fc923c 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -231,6 +231,11 @@ Entities are things that you want to observe within Home Assistant. Support for Logitech Squeezebox + + + Denon Network Receivers + +
    From c6902b0a24f1b92ab5c021bad23df99103149b70 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 10:26:02 +0200 Subject: [PATCH 041/188] Add variable description --- source/components/device_tracker.aruba.markdown | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/source/components/device_tracker.aruba.markdown b/source/components/device_tracker.aruba.markdown index 1e80014ee9d..4e43c3fe5af 100644 --- a/source/components/device_tracker.aruba.markdown +++ b/source/components/device_tracker.aruba.markdown @@ -10,7 +10,11 @@ footer: true --- -This platform allows you to detect presence by looking at connected devices to an [Aruba Instant](http://www.arubanetworks.com/products/networking/aruba-instant/) device. This has been tested on an ARUBA AP-105. +This platform allows you to detect presence by looking at connected devices to an [Aruba Instant](http://www.arubanetworks.com/products/networking/aruba-instant/) device. + +Supported devices (tested): + +- ARUBA AP-105

    This device tracker needs telnet to be enabled on the router. @@ -25,5 +29,11 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` +Configuration variables: + +- **host** *Required*: The IP address of your router, e.g. 192.168.1.1. +- **username** *Required*: The username of an user with administrative privileges, usually *admin*. +- **password** *Required*: The password for your given admin account. + See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From c0f9913a7df7781a27d0929c88454315866909d5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 10:32:42 +0200 Subject: [PATCH 042/188] Add optional vairable --- source/components/device_tracker.actiontec.markdown | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/source/components/device_tracker.actiontec.markdown b/source/components/device_tracker.actiontec.markdown index 1e00789a67d..5ccfd3d1ba2 100644 --- a/source/components/device_tracker.actiontec.markdown +++ b/source/components/device_tracker.actiontec.markdown @@ -12,7 +12,8 @@ footer: true This platform allows you to detect presence by looking at connected devices to an [Actiontec](http://www.actiontec.com/) device. -Supported devices: +Supported devices (tested): + - MI424WR (Verizon FIOS)

    @@ -26,7 +27,15 @@ device_tracker: host: YOUR_ROUTER_IP username: YOUR_ADMIN_USERNAME password: YOUR_ADMIN_PASSWORD + home_interval: MINUTES ``` +Configuration variables: + +- **host** *Required*: The IP address of your router, e.g. 192.168.1.1. +- **username** *Required*: The username of an user with administrative privileges, usually *admin*. +- **password** *Required*: The password for your given admin account. +- **home_interval** *Optional*: If the home_interval is set then the component will not let a device be AWAY if it has been HOME in the last home_interval minutes. This is in addition to the 3 minute wait built into the device_tracker component. + See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From f7850b07eb13ffce5f6a01192d3d5cf1e26743a4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 11:08:41 +0200 Subject: [PATCH 043/188] Add variable description --- source/components/sensor.arest.markdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/components/sensor.arest.markdown b/source/components/sensor.arest.markdown index b39d493602d..3d7f63d48e7 100644 --- a/source/components/sensor.arest.markdown +++ b/source/components/sensor.arest.markdown @@ -26,6 +26,16 @@ sensor: unit: '%' ``` +Configuration variables: + +- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10. + +- **monitored_variables** array: + + - **name** (*Required*): The name of the variable you wish to monitor. + - **unit** (*Optional*): Defines the units of measurement of the sensor, if any. + + The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you find below a sketch for the Arduino device family. ```c From 59675cf914182eab5d7ca2f5a6ca5a1522768af0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 11:23:08 +0200 Subject: [PATCH 044/188] Add variable description --- source/components/sensor.bitcoin.markdown | 30 +++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/source/components/sensor.bitcoin.markdown b/source/components/sensor.bitcoin.markdown index 13ee0753607..5965f0e17f0 100644 --- a/source/components/sensor.bitcoin.markdown +++ b/source/components/sensor.bitcoin.markdown @@ -14,6 +14,8 @@ The bitcoin platform displays various details about the [Bitcoin](https://bitcoi If you have an online wallet from [Blockchain.info](https://blockchain.info/) the sensor is capable to show your current balance. +You need to enable the API access for your online wallet to get the balance. To do that log in and move to 'Account Setting', choose 'IP Restrictions', and check 'Enable Api Access'. You will get an email message from blockchain.info where you must authorize the API access. + To add the Bitcoin sensor to your installation, add a selection of the available display options to your `configuration.yaml` file: ```yaml @@ -47,4 +49,32 @@ sensor: - market_price_usd ``` +Configuration variables: + +- **wallet** (*Optional*): This is your wallet identifier from https://blockchain.info to access the online wallet. +- **password** (*Optional*): Password for your online wallet. +- **currency** (*Optional*): The currency to exchange to, eg. CHF, USD, EUR, etc. Default is USD. + +- **display_options** array: + - **exchangerate**: Exchange rate of 1 BTC + - **trade_volume_btc**: Trade volume + - **miners_revenue_usd**: Miners revenue + - **btc_mined**: BTC mined + - **trade_volume_usd**: Trade volume in USD + - **difficulty**: Difficulty + - **minutes_between_blocks**: Time between blocks in minutes + - **number_of_transactions**: Number of transactions + - **hash_rate**: Hash rate in PH/s + - **timestamp**: Timestamp + - **mined_blocks**: Minded Blocks + - **blocks_size**: Block size + - **total_fees_btc**: Total fees in BTC + - **total_btc_sent**: Total sent in BTC + - **estimated_btc_sent**: Estimated sent in BTC + - **total_btc**: Total of BTC + - **total_blocks**: Total Blocks + - **next_retarget**: Next retarget + - **estimated_transaction_volume_usd**: Estimated transaction volume in BTC + - **miners_revenue_btc**: Miners revenue in BTC + - **market_price_usd**: Market price in USD From 7a9e4069819c5b61fe09de77b06019ac72e8d4f1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 12:20:50 +0200 Subject: [PATCH 045/188] Add variable description --- source/components/sensor.forecast.markdown | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/source/components/sensor.forecast.markdown b/source/components/sensor.forecast.markdown index d5c15ef437a..ed6e1733cdd 100644 --- a/source/components/sensor.forecast.markdown +++ b/source/components/sensor.forecast.markdown @@ -35,4 +35,24 @@ sensor: - visibility - ozone ``` -Details about the API are available in the (Forecast.io documentation)[https://developer.forecast.io/docs/v2]. + +Configuration variables: + +- **api_key** (*Required*): To retrieve this value log into your account at http://forecast.io/. You can make 1000 requests per day. This means that you could create approximately every 1.4 minute one. +- **password** (*Optional*): Password for your online wallet. +- **currency** (*Optional*): The currency to exchange to, eg. CHF, USD, EUR, etc. Default is USD. +- **display_conditions** array: Conditions to display in the frontend. + - **summary**: A human-readable text summary. + - **precip_type**: The type of precipitation occurring. + - **precip_intensity**: The average expected intensity of precipitation occurring. + - **temperature**: The current temperature. + - **dew_point**: The dew point. + - **wind_speed**: The wind speed. + - **wind_bearing**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise. + - **cloud_cover**: The percentage of sky occluded by clouds. + - **humidity**: The relative humidity. + - **pressure**: The sea-level air pressure in millibars. + - **visibility**: The average visibility. + - **ozone**: The columnar density of total atmospheric ozone in Dobson. + +Details about the API are available in the [Forecast.io documentation](https://developer.forecast.io/docs/v2). From 9031b45bbaad68c6e35036ce3abdb5805e988468 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 12:21:30 +0200 Subject: [PATCH 046/188] Minor updates --- source/components/sensor.bitcoin.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/sensor.bitcoin.markdown b/source/components/sensor.bitcoin.markdown index 5965f0e17f0..78004794067 100644 --- a/source/components/sensor.bitcoin.markdown +++ b/source/components/sensor.bitcoin.markdown @@ -55,7 +55,7 @@ Configuration variables: - **password** (*Optional*): Password for your online wallet. - **currency** (*Optional*): The currency to exchange to, eg. CHF, USD, EUR, etc. Default is USD. -- **display_options** array: +- **display_options** array: Options to display in the frontend. - **exchangerate**: Exchange rate of 1 BTC - **trade_volume_btc**: Trade volume - **miners_revenue_usd**: Miners revenue From d05488eb4e4a397e2af880ca2e02a362cdbf938e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 12:21:46 +0200 Subject: [PATCH 047/188] Update variables --- source/components/sensor.dht.markdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/components/sensor.dht.markdown b/source/components/sensor.dht.markdown index d6d7b6a38c3..3a7df9c5a3e 100644 --- a/source/components/sensor.dht.markdown +++ b/source/components/sensor.dht.markdown @@ -25,6 +25,16 @@ sensor: - humidity ``` +Configuration variables: + +- **sensor** (*Required*): The sensor type, supported devices are DHT11, DHT22, and AM2302 +- **pin** (*Required*): The pin the sensor is connected to. +- **monitored_conditions** array: Conditions to monitor. + - **temperature**: + - **humidity**: + +Available conditions are only *temperature* and *humidity*. + The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi.

    From 1bb522dc76a801f0a41fce712f85d2a1b5408268 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 12:23:31 +0200 Subject: [PATCH 048/188] Minor changes --- source/components/sensor.forecast.markdown | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/components/sensor.forecast.markdown b/source/components/sensor.forecast.markdown index ed6e1733cdd..005e3838a6d 100644 --- a/source/components/sensor.forecast.markdown +++ b/source/components/sensor.forecast.markdown @@ -12,7 +12,7 @@ footer: true The forecast platform uses the [Forecast.io](https://forecast.io/) web service as a source for meteorological data for your location. -You need an API key which is free but requires a [registration](https://developer.forecast.io/register). +You need an API key which is free but requires a [registration](https://developer.forecast.io/register). You can make 1000 requests per day. This means that you could create approximately every 1.4 minute one. To add Forecast.io to your installation, add the following to your `configuration.yaml` file: @@ -38,9 +38,7 @@ sensor: Configuration variables: -- **api_key** (*Required*): To retrieve this value log into your account at http://forecast.io/. You can make 1000 requests per day. This means that you could create approximately every 1.4 minute one. -- **password** (*Optional*): Password for your online wallet. -- **currency** (*Optional*): The currency to exchange to, eg. CHF, USD, EUR, etc. Default is USD. +- **api_key** (*Required*): Your API key for http://forecast.io/. - **display_conditions** array: Conditions to display in the frontend. - **summary**: A human-readable text summary. - **precip_type**: The type of precipitation occurring. From 16a1ae0a771145e26e17740732233ac7211c4b47 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 12:36:03 +0200 Subject: [PATCH 049/188] Add variable description --- source/components/sensor.openweathermap.markdown | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/components/sensor.openweathermap.markdown b/source/components/sensor.openweathermap.markdown index 7c292bc0d9e..548f605b156 100644 --- a/source/components/sensor.openweathermap.markdown +++ b/source/components/sensor.openweathermap.markdown @@ -33,5 +33,19 @@ sensor: - snow ``` +Configuration variables: + +- **api_key** (*Required*): Your API key for http://openweathermap.org/. +- **forecast** (*Optional*): Enables the forecast. The default is to display the current conditions. +- **display_conditions** array: Conditions to display in the frontend. + - **weather**: A human-readable text summary. + - **temperature**: The current temperature. + - **wind_speed**: The wind speed. + - **humidity**: The relative humidity. + - **pressure**: The sea-level air pressure in millibars. + - **clouds**: Description about cloud coverage. + - **rain**: The rain volume. + - **snow**: The snow volume + Details about the API are available in the [OpenWeatherMap documentation](http://bugs.openweathermap.org/projects/api/wiki). From ac7cf8d019c32c0cb49360773d2c6a06457e7efb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 12:37:42 +0200 Subject: [PATCH 050/188] Add variable description --- source/components/sensor.rfxtrx.markdown | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/source/components/sensor.rfxtrx.markdown b/source/components/sensor.rfxtrx.markdown index c1309abcded..392e8db6210 100644 --- a/source/components/sensor.rfxtrx.markdown +++ b/source/components/sensor.rfxtrx.markdown @@ -15,9 +15,14 @@ To enable the RFXtrx sensors in your installation, add the following to your `co ```yaml # Example configuration.yaml entry sensor: - - platform: rfxtrx - device: PATH_TO_DEVICE + platform: rfxtrx + device: PATH_TO_DEVICE ``` -The path to your device, e.g. `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0` +Configuration variables: + +- **device** (*Required*): The path to your device, e.g. `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0` + + + From dbd9c02214a1f24d6c3d37b8059e2b86ff5ca2f4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 13:16:14 +0200 Subject: [PATCH 051/188] Add variable description --- source/components/sensor.transmission.markdown | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/source/components/sensor.transmission.markdown b/source/components/sensor.transmission.markdown index a28fe5c92f9..8c9b7373d9a 100644 --- a/source/components/sensor.transmission.markdown +++ b/source/components/sensor.transmission.markdown @@ -16,9 +16,9 @@ The [Transmission](http://www.transmissionbt.com/) platform allows you to monito # Example configuration.yaml entry sensor: platform: transmission - name: Transmission host: 192.168.1.26 port: 9091 + name: Transmission username: YOUR_USERNAME password: YOUR_PASSWORD monitored_variables: @@ -27,10 +27,23 @@ sensor: - type: 'upload_speed' ``` +Configuration variables: + +- **host** (*Required*): This is the IP address of your Transmission daemon, e.g. 192.168.1.32. +- **port** (*Optional*): The port your Transmission daemon uses, defaults to 9091. +- **name** (*Optional*): The name to use when displaying this Transmission instance. +- **username** (*Required*): Your Transmission username +- **password** (*Required*): Your Transmission password +- **display_variables** array: Conditions to display in the frontend. + - **current_status**: The status of your Transmission daemon. + - **download_speed**: The current download speed. + - **upload_speed**: The current upload speed. + + To use the monitoring, your transmission client needs to allow remote access. If you are running the graphical transmission client (transmission-gtk) go to **Edit** -> **Perferences** and choose the tab **Remote**. Check **Allow remote access**, enter your username and your password, and uncheck the network restriction as needed.

    - +

    If everthing is setup correctly, the details will show up in the frontend. From fb9a73dc65a7cdd50ccbe247cdfa74652dea2036 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 8 Sep 2015 13:16:25 +0200 Subject: [PATCH 052/188] Rename screentshot --- ...{transmission-pref.png => transmission_perf.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename source/images/screenshots/{transmission-pref.png => transmission_perf.png} (100%) diff --git a/source/images/screenshots/transmission-pref.png b/source/images/screenshots/transmission_perf.png similarity index 100% rename from source/images/screenshots/transmission-pref.png rename to source/images/screenshots/transmission_perf.png From 03d0d59ed04450ebc93cb60670a96514db646303 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 8 Sep 2015 22:36:46 -0700 Subject: [PATCH 053/188] Fix IFTTT component page --- source/components/ifttt.markdown | 39 +++++++++++------- .../images/components/ifttt/finding_key.png | Bin 0 -> 20385 bytes .../images/components/ifttt/setup_trigger.png | Bin 0 -> 10713 bytes .../components/ifttt/testing_service.png | Bin 0 -> 26277 bytes 4 files changed, 24 insertions(+), 15 deletions(-) create mode 100644 source/images/components/ifttt/finding_key.png create mode 100644 source/images/components/ifttt/setup_trigger.png create mode 100644 source/images/components/ifttt/testing_service.png diff --git a/source/components/ifttt.markdown b/source/components/ifttt.markdown index d905b335d95..5376bded7b7 100644 --- a/source/components/ifttt.markdown +++ b/source/components/ifttt.markdown @@ -11,34 +11,43 @@ footer: true [IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so called "recipes". With the ifttt component you can trigger recipes through the "maker" channel. -To load the IFTTT component into Home Assistant, add the following section to your `configuration.yaml` file: - ```yaml # Example configuration.yaml entry ifttt: key: xxxxx-x-xxxxxxxxxxxxx ``` -You can find your secret key by viewing the properties of the [Maker Channel] (https://ifttt.com/maker) -![](http://i.imgur.com/9JNHmJe.png) +Key is your API key which can be obtained by viewing the properties of the [Maker Channel](https://ifttt.com/maker). -Once you have added your entries to `configuration.yaml`, restart your Home Assistant server. This will load up the IFTTT component and create a service trigger. +

    + +Property screen of the Maker Channel +

    + +Once you have added your key to `configuration.yaml`, restart your Home Assistant server. This will load up the IFTTT component and make a service available to trigger events in IFTTT.

    After restarting the server, be sure to watch the console for any logging errors that show up in red, white or yellow. -

    +

    -![](http://i.imgur.com/azkEyUl.png) +### {% linkable_title Testing your trigger %} -You can use the developer tools to test your [Maker Channel] (https://ifttt.com/maker) trigger. -The payload for the trigger should be {"`event`":"`EventName`"}. +You can use the developer tools to test your [Maker Channel](https://ifttt.com/maker) trigger. To do this, open the Home Assistant UI, open the sidebar, click on the first icon in the developer tools. This should get you to the 'Call Service' screen. Fill in the following values: -Example : `{"event":"TestHA_Trigger"}` +Field | Value +----- | ----- +domain | `ifttt` +service | `trigger` +Service Data | `{"event": "EventName", "value1": "Hello World"}` -![example](http://i.imgur.com/MV1L2np.png) - -On the [Maker Channel] (https://ifttt.com/maker) side of things, you should have a recipe that looks something similiar to this: - -![Maker Channel Preview](http://i.imgur.com/znvymX7.png) +

    + +When your screen looks like this, click the 'call service' button. +

    +### {% linkable_title Setting up a recipe %} +

    + +You need to setup a unique trigger for each event you sent to IFTTT. +

    diff --git a/source/images/components/ifttt/finding_key.png b/source/images/components/ifttt/finding_key.png new file mode 100644 index 0000000000000000000000000000000000000000..5502f2a68aa54462c173b582a9e09d005780f7a2 GIT binary patch literal 20385 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

    si|?PFkneH|DwRCpCt2ju8y0uDRj;94&ySec_1C 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 v00000000000000000000000000C3O;<%1%mAH%eS00000NkvXXu0mjf6Xk7e literal 0 HcmV?d00001 diff --git a/source/images/components/ifttt/setup_trigger.png b/source/images/components/ifttt/setup_trigger.png new file mode 100644 index 0000000000000000000000000000000000000000..6e93b14ea3796e3eca7899f85e84dc34f62ff6ac GIT binary patch literal 10713 zcmb8UWmH^G@F+M;hAr8Nm012Mp5+Jw^gFA%a?hqtcf_or@;0{3s z*WeI*9>4wXet75X+jF))+>);9>Ra7a-FplFEYsprN9Jz+fG1hJ(F_X3RdHeQjD= zn&j|(oju=Pt^E}SQ@4vrE9$;O&|)yBe0=s8%p3-DwY7pCyun0|KbVY1KlB(qo?bh< z-&17wKnp~!>_7BWC&I^fg2D9cVeD)7F|)M~di&Ry(^E{{9AyS}Ji6JQtevRI{&tQj&P=}?4jrsq--NvtMOC2-k=#Ot|1N7THg#!;U|4t90e(j63Y)TqC_Mc#M&={4$ z`{>$n+x&jazrM?*8t2IBrN*4Qg7~pQZ$2rl!4Q$V*SxjknDpM|o}xlYi+qeMg-qXB z?$D0G$I#_QWd12;XR0lyVGntI*4G;#*WhtXo%rexN2F-!7)K zvZ}18D8N9p<^bbRw!HYoPE^4T`E9|+r_SY#Y*(lNrnSn?(c{)$WlM>Tl!&lzczWS_ zQXAPB9g%pCvRX8htLdrj8>_reK@MB%mT{3Nk>P&%Y*HK(ZpJGf3ji>GR)ovwc+T&4 zy~F|l@PYJk=Of}i;D?j}0Fa`or2pan0BJ=;_&>s16KWaV{{gdrSjC6jq6ZAbtFI~k_Qrl`vD^?#2_lNgVd!UE zAU&ICzgoOC=cu^pR{|19()(ABCRJVBI!2<9oiE?Z#4Y;Lo7x9zXKWiu74{pw>FMMF z@derlX!Hva8-!1%0W7x^eu1#U*X^FE7iP0M71vmRA%%L(vp%XI{3S+R>_HZ=1*%7V zv|z>(YzZVo#HT*4g;erk4Gu#;;mT@iaV0dF60`oCMd_anfXFFwb-UgMQyy{v)6gzN ztjs1ffNS>Ln^@{n`#*>dmChle&q>ToOt8WH52{F;b4WQZU_Z;IpGb!0XGsxhH{(y@ zfi%bfnaIa>26A2X8GexaIR^0um*ZlG(l14kxZb_(O!&Y94WY8y=lt1z!s9G>GWS<4UQWBmoKzgN-!kYPZI3eEL@VfQSc0s)Bmm4VwO^MiYkUrHeR{lbJN z?y#-o4mBVDQ!;6>|At{j&w9i<3dv2sZyb=>5m6?kGB0vV8g$?{A-#PHs^3}ups}W0 zYkSus#IBjj#ObLaF;@TqKrW4B(T2F4Ywh_lA{CGpdg~xx?QuwSKvgrUJ=(%x6Pf#^ zK1aZgf76$C+TZ*MB2YwJSSWdeVmblmeRWKJtBKnN9f^H_mhTTey#R|)+x*t6xs!@E z;YH-5uVXGkAj7s;S6P9yp;W%88ZsZH7qS(a({9D#u^VIe38zzeg|-U#J%<0ypPO(& zfa#ZEZd9G!@8!d51`Y!@?Y(dFUh|t{A~J9JHdkVkW3fSGIO$1%UG?ZM?3R$nlS(d| za~nn$e>!Wi z;}W~hk=gI%UQOaZQGSws7QBFb1h#IX28w%Vs?Ln3bshQJ%&FMbqXA~U(JG*@a^|w! zN5GlNJc#aAqmBOud7+HxAHg$8`gpe7+D8Kp3-L$*(o{sb4{d~ni?76By*N5R!<+L^ z$V!!HfUejh^OgkWay%|o`wlM$W&Q zh(iJ_wn>FK2EOuGP}9iJ12|kcIYrmLNh6hQloG=LMqP=IX#!Jw@^nQ%;(5f*gr!gh zSBmzSl^vhpoFC~u71E=8WQkq??*X80g!H)^j$l_Zr1WI@o5xlkM-1{?dwP~~3Nm^Z zcbHY3OB9S6Eb)}d1DAt3-+RQ9@y4CtTV2#LJ(JOtmGyR4 zd;-dSjQAzz1oyyJ&4f&H$EuUVBw0(IS?ErEoRA)ErHzbAt7}fQW937CD0A5TgzVHh z2sIrS3a$9U%qX4UGfaGU4Sc)7Xed-xLH*w>$N;%+2M|-tVw_rE*eJ26uM(<3plaqm zIj|`4EhR@1!-$)=U>iQ6jC#^zP#F1E;x#Kns`s{@R^ibjUt}CfjsUM85)k_8lDb5i zJ^Ulb1{YX`QDaDu?{x&7YylELtSXae2x)XA2&v!wdZM`1T*E&pnGPy~NJGI&yiBg- z2Yw$sFDB~#Le8Y+HV${%}QKBc1qCXm*qD0FhrM9eijCO%US=u zkLNh^7?iBD?a_?NPL8M{0jfkR@076)YNR)VW938=9-(GQ-WlCIC)ecwkGj4Ir;&9v zkDhl#CFo3QF?sj@XoS5K%$oPF!zmCzfZ7N}S`x8=9~*5{-azVoiR2&9nkg^0q^x}K^;<7b{Y*8>kk+bSfCmpZQRM|(a*laokPEYrXV zK(7!WPfOQqA~zbOVxPq}?gj2#hn`=~k+KqOp{fPxeO-mPY5!O zUXuS7X6a_*0$1yY?nTzci|*JMFaEH5(h6IbRrJCKufH>%i58HsJKMHwRZR%kx~GKb ze;^3?Q>~x;OjoaEK`kyWK0^WS$$4TqW{+Q8WR|k9N;| zPJG7PU^Z0aGZ5t9rpLos{s>s-Wx43GROr;lA^@+fB6sV{n|>btDrSPN-|W^ze=v}JX2*5Tu>1YT$QYW}Q)HLz9g zZe`Pze_W(_%d6Foz*h3*X4zMb>I5GLPn&?*f6SqQ6n2N>4kQ~Lb)2Y_&{NkOEHjo+ z(YGf6FozxGj!LlYSIyP)uM!LbIW;GCkCmq^$!S~2Sj~iryzk`}ilm;%xIQxa8LmC} z7{AoSK|(%>{U+;#5@MZ7FLK=gKPSg4J^n8~jzixIz9yBvIb>0KAqG-s6bmMBVER^+ z7fE$M;L4zO^^3sO9Xwz9;#PGapiOu3XiL}igwDRGYRLa7>Q3y}YunnN1`a;IW3v@x zrGLMZ?fhb4Y`G{_pZKasF!191uf8GJdVYG}w$rl5gfU;MUe57$#xHIsn zUTZH7@aNYHki%a`g1K4zPyNb5m$!}yUo!VyyuDd^E7^)y--Lt7idsu4NqV;UleRLH z^*u%XJx;sgZxyP2?x|7j(zDpe3SunjBO+JOFYv)t`SX%20S--WMrrgpMn;1yP4nsb z354eYBR5LI$VvP_JKg0#CIj@dFcB4dPRf(N!K@nsk& zunEyLb6i8^?eOLJ`G0!!XHv4rA079il>Zm^V1@h&=*E1PE-i3hkf=j=darR#JFi(CWpZhM(cz-l_zecr@pttn3+v|X8*fVL$sUt^}4tX5a8v{ z_wNS|$ugZ7;RTJvNa_d(7~A0CikJ}~0HR9EO8hGpx5CZCuszAyCZ;F~#+rqoguz(1 zD?9P?ZvGoXQ}q?juLu)F7fU(cN68n#XZ@<<9bh~nRkDoyDGD#&$fPP-?Xo&ZUZ{#x zwza1Va0q-T+!^h))_0JjQeEh+5Ap`Q$~imm&1`!8Xsjbguwig`_$0Dt_c&r^8gM0v zvmY|6WIVux<`M<*jRa42+$TXc&O%+HqDnQ~kza8ZPqbIEC!V7A)0={(2%|U<#WH>$ z%nKbh35I4U2d2&DRQ|S+Jt1Y;%~up62%trI_?8qHzkXD!A0y?tCC0$>NJk9YW$T6k zR7KVRf9m#LGdyPfJMBr-I0q~7&4lXwQN7asvZsHooVa~mvy&ZI+$xAe|oZ`xgaR95%)2}`3F z)gVASBvo34Ud>DP16)I8wJ@zxR&32NvPvHk#MRuqFNMg9kFPzi;f5T_^D04V`$nI8 zs5u-YcztL`bP9=aNl&L+ya%^BK9W=_%=V5?FWDe`!TAw=q*7=y(F;wHEYEg=xo3qQJEqD7o(V_xDhjIk3p=|s!>7t5F#l&@X z`i7!zr{|;}sP_BkYrTq%3`_ONUioftfX&<(YFc>qzPp3>U#4N5?zH0uw&EPWd8A{f zeAdMj+}WlB7LS{v;_r+6eR-io@BdXd!X|8@q>eah;Biw#hi9|D*)p_}%w}4In%&^< z>D8!o!0hg-l^(D~X7xp&O^y>X`}ihm8!Nc;+ZnNqJG8}w-=pc1n>vK`yDU9*h~jf$ zO+izH!>?hju(^M_xV7Ef;1I8;z8f`X2d^onB?70uO?5W2@XSTjn9M%n7uo>_zTJVu zhZ|NNzBE~;HC*{EYhzx6c-tDgjM(k{d^vHvkh1@t>nmP!SLa1>?&Uz7^~_MP^n&tX zWT85Rji)}_-pE0>F)gprAA-T%QS0xb&u=c0%D-tJdf;q(`8wcWew!xBI?+-A4erQl zr)Qg6FEdT8r0Vu19p}54YnVqQ;Sjr%DK%fFS16BO-V#UpBtY={pCt`G`I;#tEzmwNwPLPQQIn-Y`DW(6vu*R$5l|E>1T2_vf*fIm)Ai-mk<}{e~N!)O{fSnQ@mQ&nq^5m1U zvXRLmw8CjGmJ!YwMii9QtXcU{{={bx3had|AGBxK;uemLA_Ox73w^nLkD{jKp^ zg^al4-QoViC5xFSHhxLr$k7)E;4n6V3`oVo$kSw_D%ha(1@%Aie2cvq$o<5H7EDD< zUqO#{gazR6BiMAG(x2^8x_`nAU??8BU?Ye!jPLa6aUFgoaw^V8qAHcl{dk~`>yWZPjlg~4n;{PPIR_-O}+dp zS)|#0lQ(s>zV09y0ko!O2E8*mRqop1>hWg+VKW#Puw0BA5gN22hGSr7^MvF;|6;2y zQ*PqW+`LbZ+24boJ69WvgZ52tv2)C7){dG-s-TAn#8SU$Iw>v=nCc_wW7jTopeBDz zYt8xfIVqpwdY4+0XhxoC_-JSk*5t#+OUc;CxE=hyO_@jKbLt~BK0@KxWF{fIT@*UK zQFyCe6tH$Ec3XHPUtNpQ1ivB~bz;`?mPRwf;$n}#Se+OftspPTd9BYVSx&~(ICLkT zbe@B2%28yhOd$I*oDy#+D#iM7fb%H0)P_jxwK<~tWLb^; zwx}#d965{ z(8Ord;czi=)S)lE@L&TkT%*fMws&G(ob}!cs)3M*GUPwx(BBfw>Ug0GS_}u&cE#qd z{{e}R`f~iD!Rk%Juyk-H$A!bD-YdnT4NvHXLGO7^LVlTxO)1a|J_XZ1c@O&7=SGtt z*R=&@@@3QpZD?99{L<a}iBq_j#F%)@GY ze7b-Z#8Y8ewVsoe-4@t>Or#UwtwL>iI+Uac)n6a_qGvAzp*p3Odnf!7D1zBq#vd$g z9PsVa=?#7|rURYzAo!^SHWl8npdJ_)aD8KY>k!i(_@ba5s-Y^qK(4&>y6MQr^SUzu ziFZAp2t$j%0!^MYX0>_wFiuGXelu^q@7CoY`9D;LTjiRUfH|^)1!5loJo=V-mkLyZ z@~cPhXI2rPwO?@=NCON)z|vmffX`w7@93V6(Fp`cf*;x;fhQ0wmqms$XxTfGo1&Fa*`PkhggN(a~#cg@}) zK=Byppp#7*jMYiVe^yG$0+dP^c*!+Y(qC@!eKeT?1*?Ts$H^{MjNThaW;fOcYeT}EL!f~{>oTBK>QiqH z82jSs=8B+%1E@r(0h-p)Fd+}AhsAS;Db6qTGP08O1d@8#;Fi!61yR3a`4t5wwiM&M zC3L$J;8X<(U|AZRvOuk;jp3ld$WBH^Q*t<3+zT3b9OJNfHL&JA0B$`H zhXk%YIMvAzFORs{Dvr(-Z$_zHpbYxJ`#z}j&clD8ydf^tY#_|3!Z$oOf60?y`<_b$ zTfN+ZVwGwe|DH(%xGZyA>xM0)_RJRar{!X&Z%jY0e{i9k1wBrzh6NQ?lY~nPeG&cl zsX^eHNhL2^;j0?U7u56DJ>EDGxsBy%Dkm~q8jQKcrG_k?SGrXs!PyaRD2uH)3E~e8 z>JRqn#&G%>mtNkNTMmBD^aEDtoZDxT28#%ybEn%65KsrXs7_;2W5-I$9Pv)Q=&!cs z;}$u<$5^vN+xsg1pfZQMW z_V|A?+rP#RyHXXT={cMv!XYy#lbT5!8Jr%3_(F%0ZD>FV;1Z8ADTvpvPp)gR6KJub zQj90GxxZ^*WVn;Ee-xz9Wd!6>#I^gSZ8hv26j#;@D*h95EpFjnZuL5CAIxB2(<)R* zfFUAD|087jsoa=mt#_F3TTV-zA{NkcEMDF-VLOA9h{1nP556?BI&zZga`Z8(RuN6S z(P-MAGjm9fZGHt^xPF~WN`npMAlnk!B8}hPeUJ!P>zbovgpPKXz=TV{Xj^tv-OFT{{ujegaQG(i07E=e$;fsjvO)`52y5K# z@+5^jsYM5ZnTZ16@ntrDFHR=g+7?HzCu#*|N5ntaEMAyYTr%6;?#n5*oa1CqX9-0f z8B3}_dM+ejGjH^^e7%R-#Nzy+9#+cHqBt)0!~Wc3xzCbzEiHGJt=5zEJ8|-Gqv);d zt-iKChDjI8zjr%OBjB}>emw#5{-K>~@UGq|vMo86hPt_31Rriwg2>{mKkEF{&g?A> z8yu!d+7ocNZ?E8?1cmO=$vd{^;eI+MZW<;c#sbE1(Zt58X_jl}RGR0<=wg|8)FN`F zB#Hq6=MG-{3|@;B6?YKOiRT%QN#1B2{LAcJ+x06FeA>pc>o7DMoz4C4 zV5}qUW-Kdry-Fl1J7>#e07uQeNVn#NSLRhIxk<_s|Lc#i;clR$e!4z1{_*P|I6(bt z-NESEHzZhAtm{?Tole`)m$#Ih&r$bi0c@tN?>V4?vs{Gst{|<=3RZ83R1pHyy&1tr z3ULuVv3L;_Ot3es97*F2j4=Fm@P0?Rj1o`0c`%9Jd)cHB+dL*luvqr1SH$`Is9ez= zlc%xsLq{G+4;V~%z3_9V$BT=(zu3I%ncu#T&|M`**5VWRc3;NjGI0*-eZn|pA z>}GMieTb`(L_P58h9)v*VpDJ122l!bRE3o%$ys#Jn5DZ=H|mHG5)Quwd~YGJ!%d<~&E+yfa5*QY>(4?YtSX&9|xcP|Balc*@=Y zMzZaS^+Bbf<;WKoR9fNXboS$iw-#o#zB-_C_dySWA*aepiz7z$hA$KKvJc~tgCCXG z(J)6^k}C_o2Ca|JblI1Gq~!FpX6g_*x8fwr|12?GB4urFvl7UJofO>d^f4tf5BEn@ z=Z~i+%REN0Z5sw4;InOFy_0Re0ZT9Y`j=#@Ex1;|0yv0ylTvVKZq9$B)DV#^1FE0x zgh2bXlB-Sim3;TI-?uSaqkA-MfXUwQFJ_ICkJnB$j(X}uH=N%KO z(fS>`kSfT%CHl#)&(HS5!TaC2JE!M#e!RMIXI@m}a>s)MlSzno&_7rKO# zq#3Glh4H*;q*BEg*nFANjLGzm42si+-5r+uI0 zU_epfs}hE)YB`2EH@zwIhOy{yX|*I~seMzG4-CNNaP>DQ<&j*^4zGi3cP2-*AF`-e zQIxX7iVVpbp6SD0(q&a-DcQ2v@c!gCAx-oeBG;K`Q-MKAtc0I_(MItJ(YmRjnj|Gl z6umhZs`Jcv-_-t7+y+-zYG&-i>Vn~{^$|d^sz$qE=q*QXt9)4Jo%v-XDeUNDoRV@l z;8o*xBK3ry5&l>wj82-PV%{ptW{`C>`@K8!eU>jOPmuj>aD!Z{4T&Uf+>Ju9jvy?yga~>}d zUS9ogR{t^R@pi6vnQe$yl{xP?_Kf@Oe6nPIT+QQAO(oRbVX9)@C~V&0xBIj|iKvjc zEc+Vr{BviKBb$<$7|JdzTD;>Le1F1&Z`lCC7~t{M;Vn9o7JpOz@y}I#-9UG_rX}5! zr^JY0VP+7;HWwl}_T)4nqG)Y@;gyk6U3phY@LH2^jmLef%_B3)4v+2eyia1xj9Q`~ z&`Eqg9{CBDxI8Od)?A5&Cnr}sp`XGOmnv0%ww6>f#0D-OPAm3o!3wNNLiUMq+{UTWQdc@x^Q$XuiCC?CitXVTQDS$1giu% z(?s!!B3q0LEUulCql}0I{QE^o?~?5_QuD#+eDd+(WsmH=B+fwLb4ABEopKnrT&V)q zkp)q5M8a2JE@q4&s6hX-$vWbQ%YCer%%@6Lq?pcCVCv}9TM zy%RI<+h=72mE0Zg7MW^_$yLQq`UCh$`eR^Uv(wrh+p?RNmV|uM+GuKR1shMY#HYc& zW)5f5N(i1WJVu?k@N}L-+$R` z*rBP?A;#N_mJ`}K66R@n{a5(f53^^8flqu&HC+g&vnKSThCcrzJ{lmmrYW~r(wk^& zc!y(R3uaqn0o6xMxphIF`EHg>!1^@OuB;Ne zrrmtcdWUM=K=5EyzIkLPgQ)p00enUTNR_rTZnZSGHB$Ac(py#x0eYt%7+C~PA0U;{ z3$)a!SbJlAs1Vh;Z(C~~8fKVRm!dqnbVV^Gb=pgTyV^2t$ThPx{i!(H_S}* zhb8>}UcalJJZ&d02|UUS=Xnin3%N8>H`^7xygE`U)&-Ak@191csr|)k*FSmr7IYW# zV_~(1jl0H5z zam^Ompvo;6<@VN@sc{Xl%o8E?O26a!;#zk_rHH?=7qL~$FN(o5T@=dARIxAjPsxKE z&2@;Fm!D>rz*L}c zfGLVl(|$FLT4EVC2A~ntzg(_RTVlPS_&@bXEZTQCsS#xTQ-kDPMv)f1dHoo5kjHD7 zY4{|TY>h>(py5Uu?&D*GgyH@XuB`|nK0xHX6p2&aAl5#j`V8`8jtv#|89ltsTKg&> z9WwdmZOV? z>rkxLD70e*k3d)PYsY-tVsx_b{!4j({3B%W%S{|lC#FMMz5&iq3udF=j$Ab5tsnJsMXUp>O{|tH2?lp;|n;%u}zU572 z^!_msuBAFWP8uO6Rim;MdF)Fw%XIR^# z+2@5CsBji5Uy=5Y34LRkx2@c1k8E%r!>4X||Gf$+8zja<_F{vUk2w;NKn_oHdI@(w zF%Ab$$S;OEV$lM%GKFm(N5_8RNDmn*yMJ;iu4AC`MJJF`GHW$|d_A&1mT)T&D0i4D z`O>WLbB(6f#*(w(;Wi;@&f^rgflBI&6_D=r&z5bcr%s`w7V)pbtgJIv+oekmF_08- z^?jPDcps}yq9%w-V&9NTc>jLrQuS~Cy?s|N#bl3fVi0tgyv-LMKI}@R$q4??r#R~uc@Jd-pP6q%$2LS*m#+WDwO0pe+ zF93i9(^Auue|~?|!UEhZ+Wx3@PWBxH1SbZ&0$_wV2R{rz!q zaf5?{ot>TS?d^GadGFr6tEs7JYHE^_lG4)BN>5K`U|$Q-OkgKaJ3k!?c;O*-Q2qh)ur}4W_ zpFRmRUHi}8HS9lxF2DkZj{e*{@zh`WOy8+>-{9lpzkK;}^5U;T$Bl@HNaxYtq0_$= zI}iSSyNOG8kca2ojeD=Ar6btWIsDn6?}(M9Ov&EIF?pL5pP z%}kk#2e(fiQ+IZww}yFr^}BG>zb0aJd`Zh6llc2-95e3V@ndSY*~^c$lj+Oe zf^vH(c^MX{(s+AP(AP>pRB1gRT`9Q&9;!ADBW>`mEZ+aXpd0xakfg?gVjhW)3JD0l z%Q->hucxc~k4CC~v7ZUJH?JE8VxIP|d?qbYg4=82l@&>tlgb%C4zmc=WvO%;;jEr= zMsVBOkW1s4O4SEI`36$FgLYYL zN2t;z&oR6aO2&DL-J zR1;bDvvSg|A}^@9qIRJ(U~aF=LfMAnK)JZhfjLrAP`Ks~wCWygZTmF(iYV6q%OsWiT7*%G&lke=NF=`g)}tfZ#sY1uhnTq zS4x@7Mc*Qud1XDqOds|hH@ZS48ok$>Zi_^evg8xu6`m-;Ix&!{?5WdE|I)KE)qNdD zc$Me&mOl%QslLS7?x(-Ut?+kNDMKu+_Fo7v;(6zH2d>p7gn#`8EeKUCR{&B=)I*Ad z20s0&*?|aGg}BX%ykEF94u^nYLhk(s3q|gE-E=*Ri?*`SbeOo$DDb(4J5(z4N@?w0 zM^abo9(x*)=}Xki1M9*H9AAfXm!ue3b=L5v@y6V5U(Fz_CpZ^Imv%zXxv#veln*X4 zZp#0(P74xmOy;>*OT2-#gn8``H7ebC@DW`Y_aTaKw?`;0SsdA!2mElhs9 z%QuWY?IBvxAFnElr)KXzhWz7IA%H`4z{EVmXkJ||D}tG0r)IxlRgal|-E#O_f2W%>;kI zR#F^y9}9Tk-LH>%^Fs$JCLPUSCflm zxf+wHqVV3;7=-)oCCTULg|i8A*ySO7CEGuG(2K?U=J4KQ?z7g1_hvv#8mJSj`@4JQ z`Su%AT!q$bkv=vhoX8cqgGpKLzUj{Hxc+Zp08qE0-P?-Czp&t(qVi6A}ZG=>b z&A$dK15V26cA@|VBn$cEqhzHXJ>Beq_6C7MJ-i8rZWQp8W}|6FPex6vEVhN+9&l#Sm!WBvF>(`)3Rr=L*Y;XX zA2&?W$Jg+;accoS2sE%-g(N)D`88-Cxyn;e#A|t#Pv6mlYXUhB`Tk$#D^JBI}{_aQlg-!p0g6ra-#FkA&ZU>g>+e432+m1L0ii zcxPw$UmEq8TA2Ygp?|UtD*eS+UJKK&p$xOM{Y3$JxQQ8VT^^}{TRkh$aWW`aahBSN1(SIJJbBiUavOl(|X_Mh-!&PmyofLZvPWYA~Khz7ys1(-MqJ{@~ z+DoA?m}M&!0Lt%`*~T&91wWW=8Od}V?G%8NZd%GZ9=|$@)*1Q`fsTBUHhEyvtyW^E zF?zs6)Cn2UWyOJxu>8tB+9$+y+7Ac-UTZP(HN{fTayi;LiQ~rhpUuDOhYt*(Gk|+u zD*yxfUaV?!f=O7tu10`~n%V?z$J=RfaXv2+&6%qziSa9pFwFTE0UWqtPiv#=c@B1s3 z2qlQJ9S9o(Gd{MTlgy(rfb}&A-YcCWM>faUm~@FUV9IE-LD}M6b7>dWP}b_cyS_q@%&_uK_i-O`<}%a-Qp1M)795CyPM%bN*xv8Ce_O7st^wk zj{@{_5@)-afLL9;G7CY(eC@7PPpv9m`DJCH^IPrl;H(0lJ*%ufgXEHEkkifeuqvLC z+!aS8YcL&AN}{Wl9I$-@>v=wnGS- zWG`jNF;M^H_3ZV2&DgwF2;PV8&YmS{Vu+t^36ei(%=RXcQ2Z=zt!n(D@muQZa+Y@< zcABUO>_C(PFvac5^y0jLH1sneSB}FcvHR);0`V*J8YeiJo2m-M$&y+!e2*|iR_$b- zpNW?5R~nmB@KZn#9X2r+IPLATp?l)H$>i6x^ZgO-&QIUN)`4Q#L4PuDF|IUrcIcq~ zU?+nMwI-`wU7kK}aI0n9@z1d9vBAlvuLc&Yf`ryc1wFM{8^NF@C%kZ8wx&IMA?5uv zP1DL&rfWDE{Cng$h(1T77XiKUA)^QJ6G4L9KR4dzfViMN8p-B}QbF=5J~q{aseJ}O3Yg$j-oGXpV^dE%871Ht?|_ zmOsN@d_~DNsM16QJ$qL_ZNYK%F_OP(Mv^qk#0ywi=E^+z2X7#Yanz0*IPyg+iSGML zHLX+8!^(*WNU*L0t@v1>3>WbvneqL2-c?QyOJ~3Vk1g^zXURf?3rb3utv?ThC*`lN|rQHW|+B2bXV zB;#XwJg8?Q+Ma+RiEzmV!|yXc zSFfDy{-O^2i5_(Zmm`dWbi?D-BmP%M8x-<1tIfu)vEbAZ9w;R2N0@BuFoJ%0E{+Zs{KNmS_`9t>a~F;B;6Yj$J@Aw zi-fbi(F60i@E<-?t>bVYCaJn9GYXo?5&e5#A8(lIaM5`4ZpWX}1Wi^XX^uog)IpWE%BWfWeUVIKNT}(# zzd@(`s8zEGeThX?La`k>%W_(c6mYWIOYt>csKv{za`{?&)n-L7k^$lJ9J}x=qAt}# zSg2f&Z_%ORjanU`DSij~2jid9E&*a_-)={_Ts!~y%BK@ zZbwqT;{LmHpaZo}Ts3MfQvi-lbm2|Q;Oppc?A6{YYuUqj{J!9a_HoRrRm#*c8^0W3 zIhr^(fNFogdNiiohmrA@UE2r+yK2LsNWhacp{I#5DPQRH-#I1*@cZg5X-0#uSlj}C zmp)0mdYMvT3b(~YRBuZ!ZNDe}vj^KO= z$nf5erfhrAz~i3J&8X<}QPtNqYFfxj)vkGID2%Ad{mYkIm{%rg-BptC(x6b?!3Ayq zGZ)yusR`sdG&0<}T-KS-a=<-Fqmbaoozvm(-&qK=zP&2zZ)xQFgl>rV{j^y6c$7p6nKxusTxSI{S5}Vd1;&qVCutwARUwb ze<%<(ZbnUn1PJ5-%sdrVYuf|EX{`Cung!oMYaS{Cjy3HvkB;db( z0Z8`$g$dDt`kx;vKkvm%ezF0JzhE&VN;*33N>8O$-iDgy*x{k2C>d8C2CQ_JFI&vR zIQ+Z;&$#BQcriHZHqjbYn^~VGMxlEKCoVu{o`5VP%1{3Bf}GQBD@! z2+cQSez#<_Il;c~oVMoi`R-BMK%?W@%VKq2uCS?9w~RI6O@Ebh%@1|r%`=iZ#JGFN z=hRQh*Np9-E%pVz40{HQy8vA>7mo^YZ&z(%f-KJ`SoyCMdGCV~s}Pny}+ z@A7UJHk#4Y5hgyu*7&NJ1voiWOZ}^ZlKKu9S(+!u4c@bPI+y9(dsd$+rLYKk*g$F) z5(-EKNf498#jV_$Eel-8D0uQ{F%!}puZgqNBQ2& z0DvBI7B=ywSfdqVO(y!9N0svIff|Gp(+M{~z zRCdMY_c?$}j%wRiQ<~dJY))_zR2m2p;I9LSuG3H6s7BnMdH>MPPaXZyzOq8)j@!@ zbeJ%1si5cQ0xTiH=kUJQM~%wcR=ks)okr7g=P@oe(vI)kxAO;McByGoPnBa~fF?eO zuf+$smnu{l@C>WBy%&kJ*j9erj+MXI*Z0Qz+f@~HN+rcJI9}b&L=p?;*f82YcF%0* zrc&noD%^MN*Zz2M?N;kz#R`DE*_o|hT2T4i-i(+g2KLu8%W40B60oJwZ|h{EDF7K6 zGsC9^bY1MD+jQhd{O(_ThdNNPm*oo?PHwmnU}>BfM8w>EJebhIK@z*yLn4xcME(^M zG>Rq2sM^5bG&9}3+QnwRelTN&8e`apjT->i_p`M5=>Ku_S7~GlL#FY)bE*V*{H+Ry zx(l3^9MFY(Gd6b7no$z=v%jbM^-&?yPJNdpZfCl^bxrZ7nik6<5;5`H#CsxC0C=gj zHRo41PxQ{aN-^hU65@{r>F&fYVJ|R=v<9V+J_jppI|5>gd0*!oCV)4KG|_b|;t!pi z+#Ycn8oX;~zou^3Gr8272p_g877^dl*6V3G#dj;96@E;doaGazZx+J_Q8Rp7m9mHr zFsWQ)Zbrk$AI?18{&r8)zVG&^1@a1}GYrx#PAo672?-SwMLD1vMxuj$$W|t%r%x0j zAHdk7L~4J7tNMPiggd^x&}N6Rs@E}5SBiG{j6Um1n@Czt4$52y^Ese3IEs;1>^r#D z_~d07wQJ{ao4hO6?Z}B>%OeyTRPrcOalk4`?J+cDcuvlVkL*jg1phbz^NmyUp3HYkk~v zd(Z+oCz?{Nc+*DwDQZ>Y4}DEf@0(-hV#M4W*n6Ma zpzJIoCsz$p|bldZZ_pQzGi22vkqJd0dq?{z8bK;2g=B*!ogFm&b(3*Xp8K z$bE}QOqe&k7#;wQ8XyRLE??{?HsGftRVz(%Wd<7nGSugt}MqU9HCJFV(KQG&OD#+R}1F2*(4hFP*3^ znKyA~$Xi|nIWsI`{5gAZ&VWS!u z7anf?lYEe&%Z=(QzaQnGqhZvJXPs~?cjGp!uoITMnVnJ5swvT_FDLh8HqU{|Wi-fc zP+@hR=gH5onhy&PSE|}34EaM?cf?~l;6~Q+w1(Y#Rc8TPF2@gjr)sez7}d+eA%(~S zQpmIfEk3?T>NW#CeRC0FHMiG$Hu-2~M7Ila~P? zE|2YeA*ZPDq0Z<@mO6Z&OdHNFKl>AZJbZk(BE&wuBIK$UpfJ`^F&5hcH@~&AuS7)* z{)!KVc)G6u*vs~@d&sN%aCTYzJd0)V$7(u_-LeDar17nafG@mW^{ z7=c322z!aE2#XG=ayAIyGuughMbxTyt4sa0yw-XQ1MmoVAB7ms6g_g4EBrS z3@(7V-urA6hZ`hw(?Kc^Yyg>V_P0_%AnzW^_V9>4pqf#4;GpW$>RYbc#}#=*?*Rkw z^6f`Z#@OGODD}<;e8|_Ug_RUI1(pNJ^9nDLEv{h8F3$6Iv@xb znpnhEg>|Z%SFW?mg!_uW`am4`rc}23wVNla;D<~+8BEBQL@vyfKup|A&r)#e`Vp2M zcYz_5M3k94$_T7+Y}>bb#j#~UYAHhT9dCP56=PqsuSiEVd4D^fIHCu&G!{hzY&rw~P@}6F{zU^xk`11FONI@rI|M5+Q>wh*-CGd&CE*Z{j6j4uJmghY3sRxQgFy9|%~^gujpk1Nsdm1T z6V0J{i-2JK`tMxpinw++4GbNV?|7D;JKw&g@#ClSLF^06tWKcfO8qQGjU}zndhbzt zkp{HF>dgab$KDP{XxME<`E|%R({(kw_!WI zBUQkJ?X+2l$o3TtGrGf~DM&Ai%NyqUvZe|5XOfUkn&&~&rf9_I*FPeaex|%;vz&&T zlpm`VJc&ya37x&c&1OvP^1$~@-wlso)uvzN8a7dlB2vHt!x``pYRtoW*ak|Yd zUyLx7Af^Rv(^}`+g~{pth{BzKvop2?8xG_@4*i^XUs#T`#Omc{POA4-7}$X3rFEyK zPiiY36Sv^iVy-|WXxoU0x5K~z*F+@LOY{@d$z;-8E-80ToMyV^5vG-Gulva@5AbC>i3E7f}R6do=LZFf^0mgk?! zMfIwQps26Y@}P^reUN(RvRW~Gh6q0+EjLH$N)_)AWB&%{_d!ED{`x9CXqTiN-AY;#E_q<=Ij_<8Ry{}Eg!Lp5=XyfLN z+Me}73znaClj!ZmSk#;B@xsItlp7PDej=$>0tHp+BZq+Ao0K%rdGGZrL!H?Js(M8G z@}5)N8IbEQpC3~BTw&KqsvT~K!8;?L^r+Di$bNm1jq`zu?$w0DN| zzn8QB>3vJm918%T*6*lwM+Qi-oRyNG0s_Nyw6fzn+e!}e007qt21o*LCjfA1-Ub5z zrtrsitYUCf@~^X&-3o25^(a2>`Jc=!mzg`p);B zy>qhwuQkw9u9iB0$HEViKAA8mmcB*;w1Qd5v4IC6AEFXmR$sH?p9tSbuxNz{lPuFUXFZC{More{m z!Nxb%E98jL%*o8g!q60~r#ll;M9~tgEXY+7P#rWJgbPp~F+zQF*PoR$5>d{6)}-SE zABZepu6Mo6tTzOFB?UKIH&PY;ax+q!pyi6$O@INWOhD(1gr7=EOg9SF{UAuWjj%Ds zs#P7`W^s*HM4w2?1=1WZ?xd=|2jyz^*-LBr&ydh0)qg{{SP1vR|3er^s`^Ku7!HO3 zTu))q-r1JbbA#x>lb^ zPWu-+NM4?Ly03}QJ9nb*TRI1#-&Eat)@v>-v>sLK`>2t#iouxkc=el@K5vkpiQac0 zEId5mJLENeUZ+g5(M2B&u@m0uMZ7+)<^X|SExXvK$pg;)gCjPVF?#mqC=>b%mZ0$P zCp1lJu%>QhxF2u2%wn0uy3uNnQH8=wd zV0d^=*(xMLbtgxOkxfpAK~s+#IN~WUFqpd_pD?1O71DOvkflC~FEjZO zp0RVc?Y?tVi%U=crNg=3R#wOWUqry7#A7FDuLJh`g%(qGq@dQK=WJ+(t9%9y&v68* zeQ}LEe)G`)3+2r*rkotVbq+M>TXcB2QMmOu@o$0mb>Rh`8E+xJ5lc0(OkIl~v1%OL znw^IkRoiDE*%6aNmTj7Ha=rU(J9X^zt?i2WnSsRNPTK~ck#Oom7{1|jzk-wEV8w3R zHF`~Q>;W@SyL`e44}ZGacLe4Xq11X&4~KDF|CxZbX>M#1mAvN77t`M|O(P)qsWjTh zGJ}qf|0=sEdNLurP2SSr03yu%lnpVOf(UTn8%fh=_Z{n`;WHZ3n|%Pay+KHI7bF9V z;HS%O%YvY6;YtS+Fpi@p>|HrGrDzrwu*2U`EX@yR1B$lGJDx)HdA6T;fQ#$4SZW-n z!ql^pZ3kB*OL(6vHYC9BbIVoRy(fz-fK@5ZeYQ*pcMhQM=*F8ltnC`FgeYk>y#XGG zP5_eH;~+`4_3zZJ#*T_Dx041^ibe$xxdEq$#-;e6$q~lPn^HxdeiAh)UrJfL&w8og zEtvQPjXo#ek(JUPw$P{5Xx)$o?_sbse613q+G|m3Va_Ms&+?-gF{td z*8I5X>S~It6186DVJn&yi?l32?bS-UYp@?QmyGkOjFgt@#2C?Cd6hC4s~LxDZlG85 zCt^jRfPUn?J4WYfg%AA*Wza~=w4b0!9v2m>pZeUk&9#hcNC(VXhB_5-8tvV+-?5^N z{L_H%uEA6@LrS}uWLOuwq^=s>j%}H4#p|$m*gv?2`eK%jKJPWO0HW4xF zrp+~SLht6h&Bs@F5Q&<0!lM(QF}Gcd(ret|n!hPFmMaNlFI^5rqo>cKakTu&9~zMU zSM>5|wWvU`YVgxFWy#_!$-T%9oa4FVUlDg>6DYR5la-T;D>yfxE+!2M7egd-UT38i z;c&JywTE0g3O@eyrY%?{SQ883wEUU|cLK-rItfI@*v+VhJwcH>2@!(+Jx@XmXRn{R zD|&F^cI4!~4os~Xz47S5?&zfn?Ofbo-!!K`r~}H$b&gLw%)Uw6^IcQ?a(pAPp;uD6 z?nQz7QU4n!rGiCm#`nVz$wxTUj#}Z*-oU|;3Q5i9%}(h&y^5`%)5lTK^Kqk>4O_|W z!>=W?5FzN48GMyducfiE3Tvi@Q2iYni$KjeP}#Em9Mx{7@(0JjgjsPqrD7O0aI744 z+>+H|HHaen>iR$`IE}41TT68R3aZoB{!!HmpfF*58w8Pd5H+R9NTSD|?ksWT${ck$ zE(@4l?U-Es(D*qHhMIDA_H85*anX>Kk5jBk*1iUYi~>=HJD;rg+&J{VJlIzKU^Zoc zarzL{=(xSpejfrWSE31QclWuPf^8WKzCZ+Yvzl;$gacsJdM-~PX=`#9q1p7Jt0N;Z z1&+}-$llr^K?ZixJ)Ztm$I;Kb#m-Wt3s7k6HGdru$6wb;L2D>TLq*&Ar!qMF@TH&k zY?3I+AmV)dRYvoLJzJp!ae=R|TxT9d~K(A7uik;yeXj z!mnwkXkKnxiFv$vmIo!DE4G&_q*bYgI7#HIbbr20o~X-Uv|naKw)ek122bMFvA?nY zK=_A@@vI%_m-cS^n|llKgL5z)W~SX|S;bse;RU3lCOt;C(vJYEi;tFCY`RV!y%M}u zq+kO|;5vV}PgP3Kijp{R24@|y+BPGxJk6-=+)Qj+n-Bvc4$NaFBuplZ&>u*^;>0g4 zXfqzYtC0loTN=-AzrlocCn;)Zck&Ie>08$mkvuR4PBP_hM-79V4dohAR7Wuu^kHUb zVZ}baKhSyVa-Nzv39@6ibSK1U61=kwBQ(9cTJaE9ECV)A!w+^-X3-@n8^6qH2PKSi zo{Xiq9MN>tJSNHoQvhBt1^jk5t8o$%B#6Sj9iB$INp37sPbz1=o?Zxas}SdLhi&XW zC1hcDI3-26K#p(@jZ8Ka`n|uu)quqLf`DpYN*;;8dSPN>R!Jr{JV#U7euHP)pQCq+ z_h9d|ZJ`3qfDsANbu>* zk;JPG{1oeGC)qeNCvBwq@y&dg(x(6%@S2E2B|>HQB_g!?C5J>kqzT`6vc!loN;yARkFc{{6Z-zL_0N16j zyB7JeQ^~D+IeYn}fV6d6)^WdP=z*u9w{)1nbWSoe$CHAetx$6{Co$V}6?=z(>b*sJ z_Q+$f3Zi~RCPhUlf6dCczf|BrQ;omcj3SYmjLl%OS+)*-)+6ZQrJDrO# zSOI&R_7e&C1hwWt^*SOLQuJ@#{xrsW!&jr&`w_G?!wrc= zk;eNTQ<6lQ$xPsUIGWoKj*C-)^G#V@4x&88O`LF(-~+PW{s<7bi*5QeYYZCsMY`5R zKpQu*xlPFSdqwajXc?+K*WW;y+ZkVis7||A{HO%6NrnR~iq0Isu0UyD^=QBc~J0Iab}w?@sHo z7l!H$c65az3o91vnh3y1{-CHy8H*taw0hbN*Lb9<-Hnqw7=Of$NDwQTwMbc7&0ss}blI7p3!(zzD#4PPi5tZ{q&W%{i;-FM|0%u{IDzkA ztl*1JYw&YGnFHuKIhBvXQWrhR5Mu>_=ia`1BT+u6C|OJJB5=kS)Nn}f&t#WbQT_xx zR?2?n<2eI7^RBnRAJaGa^)Xejt{TEi<#7X>PmCnAY=17_U=4?Q;(k~*iO?MQ4BT3M zAE6mx+&!24g#*N4f^1eCCvui}9>n&j!ayfEMQPH9;gD%&30W43B)wE7d?>6A*SwFl zsev8RRK4aY95e(S|B0pYGmgP+{b`HHIm}K@{Xb{XL;*G{@6jFNOwpt)PGpS{y@&5p{W_oeq6WK{Dam{P`fXg>u_8HHLmHI>uB|`6Ls&jj$ODwMrNkev14Gx71YJh2 zU_QNSUWU86=v&>LFR~H!U1=*xRkjmKTLx>$l=j<6TBA-#H|`s}_=Nr+V7WGl1Fe;) z0Eia<$XRC}8OBVuDz+L9C}z}uqGvZ)z8|6o?(U>&bJE4PVV|E-f0xv#d(Zd<{T3rD zeDf9O4Bm7e%grSGcchj>lEy$%kAq)z<}gZ!q@fS!C(_1g7yyHCX@?KFBZc?F=iN z95HwDvrqNH!c>~=6#wlI{&&xqiy~ZcXuVHLsR+H;@dQ%LAVo3#-Co{=nsRv|w^BU;N5*V|%8^B+r$r z&>eDDV)`AS*sLS^|2aJW_n$65d~&*JDnO6=Q$DI*+m*QFq9h`gP+3tG%ygo3V4!E) zGty>UgZjN@fc&fO$Z~YU+;8tAo`}ERg-+22>7VBEu7z`~jG&$<)v$9D2Z@5`YS6j3 zrTJ`e>pRY5@8{nMYFo6oQC$qjg1@F*%s3q21 zg=4e0_rUaqxdQ({rmdOT%M-Ku4rk6ID4U6LyYibLdI!N6>Jq!3$#c~Sy2`{4%XRc# zPHOMI)WGs;6b3arKsa}%$8jS?R%tUUeL}iPI-3D^s}L_B7xj{s{Fl+CsT#eEc2E!1 z$xOFL+c?Z*=rdv*!>84@(YBe)l)8-A20|iRyK^Hd|DZto zKg82^ND1-G^3k!j>RV6hrdYd)k{3;~J)|EwD})|-Hw3nkF^$SG$(4}8DA3dUnK`$E z%ULtY6r zb22P)J-4S#`fc%HSpp1{wNN`YRDrkRv4=dqF^LxUIhs%}{y=PPthg^6V65+U_(=uZ zPU$FSiMh5=tlVG`xw9q!&QM4=_)B1hLH&b7swOhAM=E8&(|NL9Ld@?!6Xq3G(Mv$-z(IS#yU|P0?HK$~F8ggZkp?Wyn&G7Tp#9mzLJr z9Y!}uk{M86<~o%j7Y_BauYA zZ=2$~GMTsOEM`LR@+qwSG>}lj(dkO|psfr- z6G2%#t-M&x4Wlx8r$HS)w`VoE!&a^Q&p^^H3VqD|xNv7%`O9G`Bp&WwJ&O;EgGzYw zH;(n~GHQ$Y9XIrWrvdZ$EtMz=d)_gJx=;AjyWSB)X@ay#Xv;Gyzy~bA7obXF$;&zl z!#hH4!$o%~qs7V9Q5Kv&JAmQ29I%$9v*JC)j|ysF5>E3J(xWK!{o;X%JcvaZkiM+_ z=jTX@{e?ogg!(Ph zG{rkrUc#Hb;NEF*I=0?$AKW^C3f#W-iolSFG_uF69cXWE;_Ro2!b8a7uuxHi6HXWdpjyAj&~kvz;}J8KJCyY{?-5k)^FX`{%G z(}8q%k%#Y;xK>9GejR5EUwRio$x$|T0cysf-R)Ekhn8t6j@Bg`k7G5a>%y(lA(-pq z2LmYGTI7fh~6+U0JQ_cubBf>L5qGO${pgB>oy{kiPWQJb}DJbTF z>~^9vDIXT=tq4Ubn2)iPxD-rm{8iILI`E+h)gZF{qCZqVdEbG6f&1eHS`mo9fdhxxtD#$~)ZP5Vu^j1gC7>lXG9S#WT+f{Za`|Au?hJVW!XD@G61j%o4{3hwB zya5k!%Xzrh$$6W*s~B3FQ>Apoetj>2ac%Ag=g92x^kLFNC8&gIUu~u!%qoMDs~`{O zZ{|E2h1R86=ef2p_1X3ddbgMo&j;0Vtc@7-!?4UC3L1v=2 zM0vH?O3m>VNk zLjoIH`x6M$=DjH5f<_=~Mp*oKV%Bmk9~=yX5AYB%K&^M%R+;g z+jG<2=tc^4ap8XqOlV1Urh@XmQ0IUucVkA@9Jjc`cLi$4J;_-?uM@4#S{$u^VZT?S zgTLi@6o8ZY&9O~}Fbvz~Daj@1Ipjj{%U2tq%V;z7m-A9G37VvgK{AB0BZ?Ju>|kva zv}WV_*|y&bHoyh;c*YmVE^iF zd{_BIf?7F#v^L^zn+0|2f<7E5M`0s_zzpuFD*qRUiZ3gG2kyL^=H+Z)?;Dd-2J`a{ zXav&aS?Onm96{=8%u|myv@IlJNH!HHFgp*I3nLTw(zR5h)a7d^d8UgilA7?zY4RkX z+RArkS-&m4be>m3uF3*dmhgLQ*(55@vZ5Bap#WUb?V_R!wYVn<7x+L~WnRc(qvBCv z6DHAkyD@q|SiT#f^gvBq8;7eP`jj;p9-H;fY2>X|TNMaB(7)9oE5Y4x`P3LV892LQ ztQm~j>Pr}GX#)RIT?+-kiyeUz2mnYzk1a8(A>2zw<9^k39dXnfcdf0~F)e*vG}bEY01!Og2OIgG$CFStBVm+ejdRJ~4o&Rp~yW_fGFof!}u6ruIamhp$Egpjs9#FH89Zs_Z$2_HkA^_mxE@HOX~%N-S<6|pBS zAZ3M}_;CU+I=RMnJV<2^?oic$JdwLBWP=zP%Dy=_?<2ZGczT2lDZ%KA(e6lvO zHbt7LH0ne%SQ%n@^*!9;M~BToANlfS>zLiH_6$i-v7_I`-c^*a$6JD#px)TstNy^0 zth)fHFUntscQJf#nJ4Lv%z$sYeikv_?fRqX0P}EmW#4sSvt6qJ9kQvRzF6XQhgZ$_ zM}?W{TiTD&-+r~hP|U|__xZLmZWg;V9O1AR;s*mfkD4z+-*TO>zQMmI{-Ke7xUqpi zKiTDHY9o_XyAGaa2DlUQ$&+YfSJ=a_EfrZE!uujf8{$g9WVvlJn4#nmi(AqptJd$) z1Ck$4jsFEW2lE@Mky6P{*72f)=^V6|99Y}0Zwfo8CZ;HH9CJk;x5k=uX5%g(r zzl;nkG#IK$D1;unwz|HTyuwQ0v%is0b>Mu$RX__G;aEbMywB-;lum zX+A9R1%9K~J9s=+ujUH|-RzMtufPH_oW<)=%xR)rjAOB0=RJjzIxnaQ$r(WfDr!qw zocQB-xM_b^i{CDrE06)**=lA{2ADHDOYP82$F8Q+9wyJNFU%8IaHFH+)}z@P*knb< zg?yD`Y**`=H!_(1e2(y;Q3`HRAVKLh^a+7_+4VJm3 zp*RM#b)9VgppT6<1LIPdX4xN%1QbxfE_jb{qdWTAd4IdLg|cFvE?kR(C(eNW&!#$2 zY(M+gBM)|h0H=`5bx1OeVv&L*FePEvHqM+_~XX9T60J z;?*1U1nt3$eDZe*lM#FOUav4W(z}ZHbbb?|O6uqUi56ZfPsZy4WB+`5& z8829fsmbVu!?D^JhNn0fhpRa2Ix>>>z8)t}QguC)lmEKF_e&)*V^Y&o8svN~-}a zZS;s`BTE|P-F2r_$|MR4>&Jpj#W6NZnhCngUPT0yiq&6_u0J^7V=TIQn0WeRWh+ zU$p-q0tPS=(lAJODm|C(?vzFvq{9JGlr8~j7^Fc2Y3XK2k&sks=pJ$?dE@uJ_5OJ4 z`+mQ7*Q_;X_CB%qzWctCWmSWLV=Ajf#s0-H7-lH-@w zYzT=S%xbrDNo-N2-uCd9)Z=6D2y@ppg3CRQxSMbI_RXi(k%3W2XxzO~eF6M#zW?tB zYJ~w37O_6+{t8QbJ=5HtQ}l@sgml;F%BYx~BM{C`N#~anvL}u0my>^Vj|JELQ07O^ z!$#EAYtW+XIbNS7OVV79MEk?Q1)e8XmPF$K4@l zkg%=W3Aej>?qz4QQ9(IVws6Axvk`IB&}EKJzMkn6ABw&qP6edu*VusfvV!#< zEYl8~Umka2kQ?`+?L4#^DR6u6`fCTid5fjTj>c&>!`u9*sp|oLRJx|;GICYnGI%%D ze}SOCHu9Ty%$Ds_;KT2<=|j02Sn-g}il85?%UbU-o_@Zy5-dcmnI;vX;4>Z@Z|H_c zVn6rEOkc1sONqf`-0A~*m>MFqG-1=@TG?QRkOaP|-0|*@f9qz%SM~ zoerM3pvODZQMPcIhW@Lv2*ZeQdf$tzj3$2GQ-7yn9f@avr>E7cw|)iPywA&bJmCLi zTQzNhRN6F@L#bU^jc8j&H$EBt9zb(#MqV}=bg5ZRm$@PuUe6Hf%RS!PZdPispPc(D zLx9(wGr<60hKz=sA}mZagl3bUY1$k0YetpBifKfKfk9zDn95jztNX+#(<}7k|yUMJo zPJ0l)>W!ONEU9)4)SL}qGWk(f_b~95G2^w^A*l!IG2oXwR;eFyE~38<_r}ux+Ed>6 z?Gd-^x7KKX{Q^H_Mj;?DgTNToSqSuPkgiPla!2VV%n%@JPjI_qz+y>#KZT?H${~&XbA-6q3^Dvi<;Y~KTh)K$^w$T~(OHSKE zR#{5*g5>?V&sl|{WN!?Pb)Pgh`eHTtnSg1U=U74@j(WrUpBc6Xuh<4(JXK6VJvqw0 zg+StirxzhHA-^)n;9H4Jhqjlm01}*|Qq^jIc{-YShL3B!|5Y8N zJwOdlzGeL*lVxgN zE%>b&rU^r0zGg{@A|QP2%5&*Baz&6=^*+VrMB)680oHHwc90^CFaAUwiFd7r$W6^q zl&Qa%Db}OHi39=nMqkFGDnT-M&vW_6N{x{b&ZboQh8Ml8#B6SzwWcPDz4DRqst3v| zUPcielb>nBoOV?1b1T-lZ(9iT0E}NFaebuoGl5 zG+^3a%q$nb^w!L4oKqkZhv3(RNMw-0zg}Y3D{b5xEGoeB=c1RG zA4^SmEr%1(9mg^KS_A(p!$93P9a)$wu{WK5?5Le_hsV4VK82p2#v{0+ar>eJtWV|1 z=2RWupn&JtV|al?*u!ZzIk{l{X8_6gdmDyAeDAA5B_v8Zo+Ev0N@3-=!gGYx^Ksa_ zj8IMhyvBl*mGh?4iyaN=@fdDtdF!Tap!o=bZ?DJhwh-CHlxHHdkFJ%_H=MKF{5UeW zX7C$z!Jvyk=9{dWN`soG89b)+=k+SdDVqxnM3{yTwA+IYYkw|@41`&$3p2e zAU$8dg0z$x9y%7qj=_rc^Op75%QY=OxHm)$h8xg=n|{Hj_HDGY}`BT!XEd5H>v<9b+`sWB3b z1!&!9I}dbCi9LGyogl(hbn+#PhSKpf9VDh%0bW^+6O&F}g%o5(etk|wVT%Ew!OEOq z3EcG^o~D-1fY z;0GDtfn1b`>yuBOlEJkMF1y$=Q_V_Vz!nA*X$dcQFe96#Vtqaz<|LgtjL$K&mk~i) zQe+Sx8~j$}eXyG>3dv>|3b{hEPK?E{`c>d-I9#sAqFL!VY4iPqD%8U@E~6u8qx!YS z9G*HVG|{8))hS;EUIlI!J7Du6Cw|&*VfuFjEYAS;GDz9G@IAe^Y&Aiu>+G`!R@B(^ zalRrt4~O!G+-tk&c`D=k>^~=iyK6Zp{a0+1;vzMuHFJp};e8k|;Ke&u!2H7oZ=lBm zYhFO^r5G+8>Kyuyv$okFHfa7r0>88U#S(7Y!2VIg216+U`u?$n`2U%)Dg4T>9La)@ z`!WlMF^11luhbKo^$sR%R2;*qN|f&Qt)V}G>--N`OSVG0!CT1$`R6qygLz0h05G~S zV&+&-JtjgC^gokIx{ISM&H$jNQ6BPPG$^c)r(aN2b9VmWWE!R`*dS$Meckz` zZ3gkWhxKk8bJ(CQV)(Wd zut0R%R5|NW!e>~Zc&5B(60U|8KCTl97<95tgafxGS6uDXnf7%OO5iN~8U)%uNX)7K zTv*$xV_w;!)B4df{dHN?C5E1pQ_0&@nu{1{eB$Xw<)dY>sK6)*3b~4hss^^?{LORB}0eKpI^VrFbK`$$@w4*zub{)}X`0ZTHPLHa0c&S!IWOU(Ok zmtA+_VbYKhCy6V*zOd&~pGH+bjqcz`-QsM5c0%nWL+LsgKb=ldVPyX z`1-aL9|Z9Xwl&IfivYAMB=?N>M5E1v4t-CSw^!9B6?es!#=`l9l9LPWBR(@^EbSx%S@LTj?g@zq)JFvfE8Tt>X+*sWBZ06-l_4Sa|pD zmN`z}S2b>2QaI=^=1+c`Pxk~dWHzUQr;IgFWb+)gi7BFBN1wy0`qEf$QxJ3Nk+#!m zFJfc*0CMu1ZaLoR3CYy;Uv+05iGik+kK(bkg#pBwqC)FLm-mp8*bgfBQq>$g z;3QJ6CHR^}0ei9)>IMsLISC$@7cGk(3qPm97&G4b4wYzGczBK8;2ORqe=6srHLu3K zndGhOlkb|?{d+|N{E1m)_K0F?ThpO61)EcT`Z@^ngUKS~%1^t!;zD|CExk~W92>M>8Vyt(HBE~X&#M10KHTEwf-b!H6 zaZAM!Zi^J4S!UyUiAoj7JYeEjnOmsVw|Y8Chgii-!*|w*x%TH3$gPH4v7NmcAF3tQ zf^Am^Out8uaLi6t(*NwmN^is#Nzu=vuP9~G!&gFLRd2E@^|27loc~@qPNIMXzT|h0 z2N=r+QC2Yo=?s=?Y~G9(Jd(ImLu+Y|AwymH#tcyr04enaZTDbeg3ueoUhmGEzHd<3 za>!%(HZo0=_p^4^@0~AHVfa}Uw61O-cFFsyD<{Q*Klh&JhNC;uI1HQ(Ac_OltGHV0#r}67J*F~ zi1Xn^?|i5QhhmPlbN4@<;gW0zq9zIUY;*<$fIZx>lK7pF95ez>b*S zm5c0_F_mL;a-%*Bsi@pHVqPZty36=!Mi;iO91)qc!(>a)^O>n9=gzk_ijVJNuyh++ z*GWv}e#yQ~3873f6b^2kc_xqTvrrFxYlaHg*c-4|OB&XR@iP_d3rlDx?3}4Y&-HD* zUth@KO!&gXnw?5r_{dlfTa*<5M`o=`B_Y((xKXo){ndEGgPn*U{Xz?}uoqc2E9J~6 z{*|1>XLc|rYHFP7$db5)IL&eBYZ9fwL-_##YkKL>lS}FIX1DfNuZ|`b3Var0$%80t zx;GtgQv8|bSpcN%!#fX|MzBpMciEScQ2sLYB+d&T$UtB0Mi4>kovJ9S?-^DFjdUxz zEW#m=QC9f=;&GkS=gt=7yFLw?J_#Fe`IonaDEj{9NTObti+cRCajny%dYioe<46oLN^ zSuO^QMA;SUpbvy7BKY19Zqb6ba(=O+vbp1mFu4n-vy4$IOw`prV)>2za;lQKg`oJtUI6*gHmZHL$_- z*K2XWMv0wvMfQG=VoBt|uFF6`C8-Vv!4K*DfqhZ|3g{OS;4tIs7m};&jzsGeG^FR@Cl62#==y*{o0ex22jYm#~TG50wK`qv=BI# zsz(p2U5gMg0p;YjPm||UrAkR6_+l$G06|SiVI!-ei4{Fiy`Nr5EwvhmJIf~gRs%*e z6w|S9cU5{=q0T{_)KB${r>)3&tNw%Mo1v;+Fgx3Sf z{6e*p>KBaAw$}=A(3)pJN~>}oV=4)X_DXu&ppHm=-SV*yA5I(~q^ z&**jAoqFpP8y|e5VqSLOWG4WDVaEWHQ&ShC4uTjyRZ-oNWa~XkdFfp_y7qne#Vj36rezhg zRtvh9?IM{GkT+Jm>Rk8qrky=XY$Y0JBIkO+X%A_adIl^1vcCr1q6Y&p{C)d$@Qw(J zhxQMCs#FR6sX#&-P$pG6+_vS9A#^Ybo0#9N0Pvcx9By=)e$&`(9%}p<`gcvV5i}KZ zGg3kOnT7bh6~%%=jmLn9AVZpT1U<7bfcPOP9EV*J)6My2GeHyml}@6AjYpJaNoHbpKI3 z{w9_6%j;xwx^%yL@IoFGjVcD23~c&}SyYHet6zB@3R0NW3rBws6ooIu1venZ2tu}V zf~Y)_*Xvw_(|Hf*#0{gz^*2y%qVU~nlN<$)?ocr3u{+!?`7CL}MfmqZ`HPxnOCi(W zF2&8eqFcq<)B9MtVyD%>$jS-Xk?#DtFLKM4TCE8A+}(n6oJ2Uvoj?MkmTM4C7n=Pj ziM4JF7z%9VnvZumN;p`pgDa0;!$9Q|50=O2ou1CIk*jvFYwr8xgwjV!aC=D@a%dUvzf1m~6Fdh{ z<@AOqbr8?zy<6Ad_I6*@_e)ifW^zbK-HzvpM}rzHSm2Bv069-H&)3ruPcCv1!>7+I zGYe?Z7oc+U)Lqq5KVD^_hN0gUX9G!@;EsArB51R;^bb=??ur~-_yuu z$sm>dW21Z9;fAE6N1eJpTm3;}r-RwL**2ylZhpLisMbqeRC-*{b!O1{n5cwTkO-&F zHcd2tUs{22U-6Q(?rqtq)|wwfrl>!=7v++X+;?exov}x-Gp#>YmX~)5sVCoX5-&Er z^Tq!5N&=u(%zbf+ropTc@bo=;C~VZKxsZ$m6cG`xup3dU-2U!zxLO|?QP?(V!=y4=jco-&{NDMUl7P7yy_&&#^k8cAwl6+OOR7)DGSV4!KBIr z(3V8@KS{2a*KrjYPgoU_E67_eS#DmNKt`njQ$>3H zH2drhP{B!-I?`{sWC05X56Sa1_xu_zOJ_7-D^Wbm3w)>n3m#?M-eK;B!JcTLnr+P8!=E<#i z-GhFZj@}{6V$hR6N|+X=GK^Cq^CkO|_U;LVto$UwNuB7oOJZg;)%-ZRc5MK?n#=ws zmZ2qTbUD4DLqqznNZL#QV{8{4>HJ`5X+MvxJmHc~4-VC(5%_!8quN|v4sf;-tN`~0 zJ++N42q`Uz{|bS33l`q_v3D@HhTBJxB=Oq(CEr*uSN2Xb`Sy4y_Xm8ULcY7q4pCHH zTvYG}*Aebt;zqf($n`_B(Je9YHQ|FAe}(VjLMAn}&*HuQ`jvAo>Sp7|qYw5{u7~uH zuqAx+h(THIv+o=9ZFOQmW=CX+^Gx(8*uJc5$b*Qx0OKvT7;gc$5Q*X}euxlvu;|Dc zKFwu+Xmu~R<5LMgJ_BlO1JPiBP^?(eyQ4wa*0+If;83GJoceS8B8LAy3FdXzz5FHC zLzT&<65Qe3%SWjhUbktOxB>v389iE>qqtIo1B-OM;RI+Yl$U6~(qa_$V@a|}pT{Y) z#`FMfx|O7+!`v(~qGEzsO@Z^S_M{FvDb+i=mK1kwn>|*;p0FibA&5Ni5>y>wCr9e%9kC%PX=~D)wr^*} zf_Vdx*lY9Y73X&|K02T<;ZvANdkOB=bN+6fT;9V`%2<(vC>E=+1lQg{Ej);eeM;1>*KNB{2y|Gm0@s56u6+a5d4 z^>;ytIx27-6G)_VEux`ZGEZ%o&XvW`uGavy#CU0@O|rcQo16gS?joIHys<#EZGIS-*{H)R<^1`_M{ zwShxCdlWch+smZ&@#cw~gh|X6m7Kcrm7m6>UKoLLDU^j>AG~-{mx!p4_AyBE9kQ|K z-SW~WgJ|Y?z#KqYQA`A_>X)5XXGYDY1o3h8TjF+GvrK{3%LG!!;{*Fy*LI`wvzF9& zcC5#_Dc(lJUg>gpu`4iPdu$LaOk=ij&NTK|fLqSaWA4&eJ@5F1=4xg;=up()6>46! z6EGK#cbgvh>T4qO3Rm)T1W2o?%zzB8MoP%xe#~9K{z_;oY5o2vM$xLN?77*&?-!1e zyaU}D%B-bTtTKxIFYol$X$mM2QbxqwkO@@sNIVUjrp56Oxr6C?D=W_bq zXD35)@99d!G;)cVST2QCaswh&=kS1od;VSKRk5dFm@ z)wAV0)rb(tq63wxrYdTbe28@z1PdSi^}_2W>A^d2$N^FUrh?`d?ZWFgN6`Vk+GoYd zdDP3;OXA!= zh|LshSvP~}0|0uUh=%=>P{Ab93Nn+GARuN&7%)UERsjA}?S~Ko-JvJNArRD>ovpqN zF`>+olG*1F@+TMwAL+4A78c#cE@uJq^&|$npMA|n59@ppE`)X%7{XRN+so#@Ks$8o z6_Ut?{~w+7e`AF-Lq(YWG9R7X)(LX`Yqm^~#H^pDkmEVdU$(NmhFpb=<=g)NlsOn& literal 0 HcmV?d00001 From 833015fbf8b9c0f4da2c2535edb7d337a07d4bfa Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 8 Sep 2015 23:05:44 -0700 Subject: [PATCH 054/188] add MQTT topic warning --- source/components/switch.mqtt.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/components/switch.mqtt.markdown b/source/components/switch.mqtt.markdown index 4b0d76b594c..74d1a2e67d9 100644 --- a/source/components/switch.mqtt.markdown +++ b/source/components/switch.mqtt.markdown @@ -44,3 +44,7 @@ switch: - **payload_on**: The payload that represents enabled state. Default is "ON". *Optional* - **payload_off**: The payload that represents disabled state. Default is "OFF". *Optional* - **optimistic**: Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false. *Optional* + +

    +Make sure that your topics match exact. some-topic/ and some-topic are different topics. +

    \ No newline at end of file From 5e62b48440f1818ab234b4210ccb7e9ab4560bf7 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 8 Sep 2015 23:08:20 -0700 Subject: [PATCH 055/188] Discovery: Add 64bit Windows warning --- source/components/discovery.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/components/discovery.markdown b/source/components/discovery.markdown index 64193b2eb88..aca8501c092 100644 --- a/source/components/discovery.markdown +++ b/source/components/discovery.markdown @@ -26,3 +26,7 @@ discovery: ``` If you are developing a new platform, please read [how to make your platform discoverable]({{site_root}}/developers/add_new_platform.html#discovery). + +

    +There is currently a known issue with running this playform on a 64-bit version of Python. +

    From 225024280c2a74efae4c60e52cda8d3a0a7de291 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 9 Sep 2015 00:00:41 -0700 Subject: [PATCH 056/188] Update logos on frontpage --- sass/custom/_paulus.scss | 3 +- source/_includes/custom/grid_item_left.html | 55 ++++++++++++++++----- 2 files changed, 44 insertions(+), 14 deletions(-) diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index a52577199fa..1b49de73ec5 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -34,8 +34,9 @@ border: none !important; box-shadow: none !important; max-height: 50px; - max-width: 200px; + max-width: 140px; margin: 10px; + vertical-align: middle; } } diff --git a/source/_includes/custom/grid_item_left.html b/source/_includes/custom/grid_item_left.html index c1a498fb418..afc9cca654f 100644 --- a/source/_includes/custom/grid_item_left.html +++ b/source/_includes/custom/grid_item_left.html @@ -2,19 +2,48 @@

    Home Assistant will track the state of all the devices in your home, so you don't have to.

    Browse all »

    From 16b598be9b229eee90b49d5751669611dc9b035d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 9 Sep 2015 00:10:20 -0700 Subject: [PATCH 057/188] Tweak getting started - configuration --- source/getting-started/configuration.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index c445e577838..69438367cb5 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -By default, Home Assistant will create a configuration folder. Depending on your operating system this is `~/.homeassistant` (OS X/Linux) or `%APPDATA%/.homeassistant` (Windows). If you want to use a different folder for configuration, run `hass --config path/to/config`.

    +Home Assistant will create a configuration folder when it is run for the first time. Depending on your operating system this is `~/.homeassistant` (OS X/Linux) or `%APPDATA%/.homeassistant` (Windows). If you want to use a different folder for configuration, run `hass --config path/to/config`.

    Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains which components will be loaded and what their configuration is. An example configuration file is located at [`here`](https://github.com/balloob/home-assistant/blob/master/config/configuration.yaml.example). From 0286d34cc9f7e8e1302bd91a5fe83e0995e228e8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 09:11:08 +0200 Subject: [PATCH 058/188] Add link to website details --- source/developers/index.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/developers/index.markdown b/source/developers/index.markdown index edbf10b964a..30f31c7a3fa 100644 --- a/source/developers/index.markdown +++ b/source/developers/index.markdown @@ -64,4 +64,5 @@ requests. Adding support for a new platform
  • Rest API
  • - \ No newline at end of file +
  • Website
  • + From 7da8bdb34557e314fedf6d4f6b9119dc410081da Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 09:46:20 +0200 Subject: [PATCH 059/188] Add logo --- source/components/tellstick.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/components/tellstick.markdown b/source/components/tellstick.markdown index b38ddaa9de8..c15ef78ba55 100644 --- a/source/components/tellstick.markdown +++ b/source/components/tellstick.markdown @@ -9,11 +9,13 @@ sharing: true footer: true --- + The TellStick Home Assistant integration allows users to add switches and sensors. To get started, add the following information to your `configuration.yaml`: -```YAML +```yaml +# Example configuration.yaml entry switch: platform: tellstick @@ -32,3 +34,5 @@ light: platform: tellstick ``` + + From c83c845e55975a3ef698c1203c93990e756d3071 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 09:47:40 +0200 Subject: [PATCH 060/188] Add variable desctiption --- source/components/wink.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/components/wink.markdown b/source/components/wink.markdown index 85f22399fe0..0ade8a52135 100644 --- a/source/components/wink.markdown +++ b/source/components/wink.markdown @@ -28,6 +28,10 @@ wink: access_token: YOUR_ACCESS_TOKEN ``` +Configuration variables: + +- **access_token** (*Required*): The retrieved access token. + This will connect to the Wink hub and automatically set up any lights, switches and sensors that it finds.

    From fa37be99e1aa61a8036d335f17d4fb81bbb20409 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 09:53:52 +0200 Subject: [PATCH 061/188] Add variables description --- source/components/verisure.markdown | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/source/components/verisure.markdown b/source/components/verisure.markdown index e8962b91040..c5c3524d20e 100644 --- a/source/components/verisure.markdown +++ b/source/components/verisure.markdown @@ -19,15 +19,25 @@ We support: * Reading from thermometers and hygrometers integrated in various devices * Reading alarm status -Username and password are required. Other variables are optional and allow you to disable certain devices. +To integrate Verisure with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry verisure: - username: user@example.com - password: password + username: USERNAME + password: PASSWORD alarm: 1 hygrometers: 0 smartplugs: 1 thermometers: 0 ``` + +Configuration variables: + +- **username** (*Required*): The username to Verisure mypages. +- **password** (*Required*): The password to Verisure mypages. +- **alarm** (*Optional*): Set to 1 to show alarm, 0 to disable. Default 1. +- **hygrometers** (*Optional*): Set to 1 to show hygrometers, 0 to disable. Default 1. +- **smartplugs** (*Optional*): Set to 1 to show smartplugs, 0 to disable. Default 1. +- **thermometers** (*Optional*): Set to 1 to show thermometers, 0 to disable. Default 1. + From 4377da52a078156a844712b8a10eb5bf123a8eb0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 09:54:42 +0200 Subject: [PATCH 062/188] Add variable description --- source/components/zwave.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/components/zwave.markdown b/source/components/zwave.markdown index 26b72d34268..a6c887fd1dc 100644 --- a/source/components/zwave.markdown +++ b/source/components/zwave.markdown @@ -31,3 +31,11 @@ As an alternative, the Home Assistant docker image has support for Z-Wave built- zwave: usb_path: /dev/ttyUSB0 ``` + +Configuration variables: + +- **usb_path** (*Required*): The port where your device is connected to your Home Assistant host. + +```bash +ls /dev/ttyUSB* +``` From b37c3d76ce87a19b01c490130dbfd7c7c3772dc0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 09:55:00 +0200 Subject: [PATCH 063/188] Add variables description --- source/components/arduino.markdown | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/source/components/arduino.markdown b/source/components/arduino.markdown index 3a02b4cb1c4..67a6909e16b 100644 --- a/source/components/arduino.markdown +++ b/source/components/arduino.markdown @@ -28,8 +28,10 @@ To integrate an Arduino boards with Home Assistant, add the following section to arduino: port: /dev/ttyACM0 ``` -The port where is your board connected to your Home Assistant host. If you are using an original Arduino the port will be named `ttyACM*`. The exact -number can be determined with `ls /dev/ttyACM*`. + +Configuration variables: + +- **port** (*Required*): The port where your board is connected to your Home Assistant host. If you are using an original Arduino the port will be named `ttyACM*`. The exact number can be determined with `ls /dev/ttyACM*`. ```bash ls /dev/ttyACM* @@ -60,9 +62,13 @@ switch: type: digital ``` -The digital pins are numbered from 0 to 13. The available pins are 2 till 13. For testing purposes you can use pin 13 because with that pin you can control the internal LED. +Configuration variables: -The name field of the pins array will be used in the frontend. +- **pins** array (*Required*): Pins to use. + - **name**: Name that will be used in the frontend for the pin. + - **type**: The type of the pin. At the moment only 'digital' is supported. + +The digital pins are numbered from 0 to 13. The available pins are 2 till 13. For testing purposes you can use pin 13 because with that pin you can control the internal LED. ## Sensor Configuration @@ -83,7 +89,11 @@ sensor: type: analog ``` +Configuration variables: + +- **pins** array (*Required*): Pins to use. + - **name**: Name that will be used in the frontend for the pin. + - **type**: The type of the pin. At the moment only 'analog' is supported. + The 6 analog pins are numbered from A0 to A5. -The name field of the pins array will be used in the frontend. - From 1ffd8839126cd5b2513655417e16c5bc71a7e46e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 10:07:35 +0200 Subject: [PATCH 064/188] Update variables description --- source/components/isy994.markdown | 45 +++++++++++-------------------- 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/source/components/isy994.markdown b/source/components/isy994.markdown index 4536942f03c..032faf6ab13 100644 --- a/source/components/isy994.markdown +++ b/source/components/isy994.markdown @@ -21,46 +21,33 @@ Home Assistant is capable of communicating with any switch, sensor, and light that is configured on the controller. Using the programs on the controller, custom switches and sensors can also be created. -To integrate your ISY994 controller with Home Assistant, add the following -section to your `configuration.yaml` file: +To integrate your ISY994 controller with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry isy994: - # requried - host: ISY_ADDRESS - username: ISY_USERNAME - password: ISY_PASSWORD - - # optional - sensor_string: SENSOR_STRING - hidden_string: HIDDEN_STRING - tls: TLS_VERSION + host: ISY_ADDRESS + username: ISY_USERNAME + password: ISY_PASSWORD + sensor_string: SENSOR_STRING + hidden_string: HIDDEN_STRING + tls: TLS_VERSION ``` +Configuration variables: -The ISY_ADDRESS should be in full URL format. For example: -http://192.168.10.100:80 +- **host** (*Required*): The host entry should be in full URL format, eg. http://192.168.10.100:80 +- **username** (*Required*): The username that used to access the ISY interface. +- **password** (*Required*): The password that used to access the ISY interface. -The ISY_USERNAME and ISY_PASSWORD are the configured username and password used -to access the ISY interface. - -The SENSOR_STRING is a string that is used to identify which devices are to be -assumed to be sensors instead of lights of switches. By default, this string is -'Sensor'. If this string is found in the device name, Home Assistant will +- **sensor_string** (*Optional*): This is the string that is used to identify which devices are to be assumed to be sensors instead of lights of switches. By default, this string is 'Sensor'. If this string is found in the device name, Home Assistant will assume it is as a sensor. - -The HIDDEN_STRING is a string that is used to identify which devices are to be +- **hidden_string** (*Optional*): The HIDDEN_STRING is a string that is used to identify which devices are to be hidden on Home Assistant's front page. This string will be stripped from the device's name before being used. By default, this value is '{HIDE ME}'. +- **tls** (*Optional*): This entry should refelct the version of TLS that the ISY controller is using for HTTPS encryption. This value can be either 1.1 or 1.2. If this value is not set, it is assumed to be version 1.1. This is the default for most users. +ISY994 Pro users may likely be using 1.2. When using HTTPS in the host entry, it is best practice to set this value. -The TLS_VERSION value is the version of TLS that the ISY controller is using -for HTTPS encryption. This value can be either 1.1 or 1.2. If this value is not -set, it is assumed to be version 1.1. This is the default for most users. -ISY994 Pro users may likely be using 1.2. When using HTTPS in the ISY_ADDRESS -string, it is best practice to set this value. - -Once the ISY controller is configured, it will automatically import any lights, -switches, and sensors it can locate. +Once the ISY controller is configured, it will automatically import any lights, switches, and sensors it can locate. ### Creating Custom Switches ### From 9ac69765891195123a2a2ad7ecbbc3789d66a009 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 10:48:50 +0200 Subject: [PATCH 065/188] Add variable description --- source/components/media_player.cast.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/components/media_player.cast.markdown b/source/components/media_player.cast.markdown index 11f44789350..a75f2b25cd5 100644 --- a/source/components/media_player.cast.markdown +++ b/source/components/media_player.cast.markdown @@ -18,6 +18,10 @@ Chromecast platform can also be forced to load by adding the following lines to # Example configuration.yaml entry media_player: platform: chromecast - # Optional. Will scan for devices if left out host: 192.168.1.9 ``` + +Configuration variables: + +- **host** *Optional*: Use only if you don't want to scan for devices. + From 7ab62d9d6b315e2d814005f365bf6fac7670e09f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 10:49:25 +0200 Subject: [PATCH 066/188] Add variables description --- source/components/media_player.kodi.markdown | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/source/components/media_player.kodi.markdown b/source/components/media_player.kodi.markdown index 644e1aa1dbe..a0c8251edb4 100644 --- a/source/components/media_player.kodi.markdown +++ b/source/components/media_player.kodi.markdown @@ -18,9 +18,15 @@ To add Kodi to your installation, add the following to your `configuration.yaml` # Example configuration.yaml entry media_player: platform: kodi - name: Kodi url: http://192.168.0.123/jsonrpc - user: kodi - password: my_secure_password + name: Kodi + user: USERNAME + password: PASSWORD ``` +Configuration variables: + +- **url** *Required*: The URL of the XBMC/Kodi JSON-RPC API, eg. http://192.168.0.123/jsonrpc +- **name** *Optional*: The name of the device used in the frontend. +- **username** *Optional*: The XBMC/Kodi HTTP username. +- **password** *Optional*: The XBMC/Kodi HTTP password. From d9f53190be1c035b97737b058d90e6465130799b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 10:50:18 +0200 Subject: [PATCH 067/188] Add variables description --- source/components/media_player.squeezebox.markdown | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/components/media_player.squeezebox.markdown b/source/components/media_player.squeezebox.markdown index af69465f39e..0004014e539 100644 --- a/source/components/media_player.squeezebox.markdown +++ b/source/components/media_player.squeezebox.markdown @@ -20,7 +20,13 @@ media_player: platform: squeezebox host: 192.168.1.21 port: 9090 - username: user - password: password + username: USERNAME + password: PASSWORD ``` +Configuration variables: + +- **host** *Required*: The host name or address of the Logitech Media Server. +- **port** *Optional*: Telnet port to Logitech Media Server, default 9090. +- **username** *Optional*: The username, if password protection is enabled. +- **password** *Optional*: The password, if password protection is enabled. From 3e48f688bc5b9e94733c5bbbe212ddc9156cb197 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 10:55:11 +0200 Subject: [PATCH 068/188] Add variable description --- source/components/camera.generic.markdown | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/components/camera.generic.markdown b/source/components/camera.generic.markdown index b0d54041383..851b6747bee 100644 --- a/source/components/camera.generic.markdown +++ b/source/components/camera.generic.markdown @@ -14,12 +14,21 @@ This component allows you to integrate any IP camera into Home Assistant. It sup Home Assistant will serve the images via its server, making it possible to view your IP camera's while outside of your network. +To enable this sensor in your installation, add the following to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry camera: platform: generic - name: my sample camera - username: MY_USERNAME - password: MY_PASSWORD still_image_url: http://194.218.96.92/jpg/image.jpg + name: my sample camera + username: USERNAME + password: PASSWORD ``` + +Configuration variables: + +- **still_image_url** *Required*: The URL your camera serves the image on, eg. http://192.168.1.21:2112/ +- **name** *Optional*: This parameter allows you to override the name of your camera. +- **username** *Optional*: The username for accessing your camera. +- **password** *Optional*: The password for accessing your camera. From 7b8c234c25a95b9e2b7ed032fa47d9272293cb9f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:00:28 +0200 Subject: [PATCH 069/188] Add variables description --- source/components/switch.hikvision.markdown | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/source/components/switch.hikvision.markdown b/source/components/switch.hikvision.markdown index 942fea08b96..bf19ab5f7eb 100644 --- a/source/components/switch.hikvision.markdown +++ b/source/components/switch.hikvision.markdown @@ -18,8 +18,15 @@ To use your Hikvision cam in your installation, add the following to your `confi # Example configuration.yaml entry switch: platform: hikvisioncam + host: 192.168.1.32 name: Hikvision Cam 1 Motion Detection - host: 192.168.1.26 - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD ``` + +Configuration variables: + +- **host** *Required*: The IP address of your Hikvision camera, eg. 192.168.1.32 +- **name** *Optional*: This parameter allows you to override the name of your camera. +- **username** *Required*: The username for accessing your Hikvision camera. +- **password** *Required*: The password to access your Hikvision camera. From e0b80f2fd11b52d43a7e17a6a47bb2908f13389a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:09:20 +0200 Subject: [PATCH 070/188] Add variables description --- source/components/switch.command_switch.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/components/switch.command_switch.markdown b/source/components/switch.command_switch.markdown index 407fdee7372..70efd603d24 100644 --- a/source/components/switch.command_switch.markdown +++ b/source/components/switch.command_switch.markdown @@ -23,3 +23,10 @@ switch: oncmd: switch_command on kitchen offcmd: switch_command off kitchen ``` + +Configuration variables: + +- **switches** array (*Required*): Contains all command switches. + - **'entry'** (*Required*): Name of the command switch. Multiple entries are possible. + - **oncmd** (*Required*): The action to take for on. + - **offcmd** (*Required*): The action to take for off. From 09d28e86bb917f62cbfd355863b832f10df3b2e0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:19:37 +0200 Subject: [PATCH 071/188] Add variables description --- source/components/sensor.swiss_public_transport.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/components/sensor.swiss_public_transport.markdown b/source/components/sensor.swiss_public_transport.markdown index c24cdd5a752..838c3df7a60 100644 --- a/source/components/sensor.swiss_public_transport.markdown +++ b/source/components/sensor.swiss_public_transport.markdown @@ -24,7 +24,11 @@ sensor: platform: swiss_public_transport from: STATION_ID to: STATION_ID - ``` +Configuration variables: + +- **from** (*Required*): The ID of the station of the start station. +- **to** (*Required*): The ID of the station of the end station. + The public timetables are coming from [Swiss public transport](http://transport.opendata.ch). From 43dd8148b3451a363b240582d5d4807b2359eb2a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:20:04 +0200 Subject: [PATCH 072/188] Add variables description --- source/components/sensor.systemmonitor.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/components/sensor.systemmonitor.markdown b/source/components/sensor.systemmonitor.markdown index 99e3784efdf..c545f660281 100644 --- a/source/components/sensor.systemmonitor.markdown +++ b/source/components/sensor.systemmonitor.markdown @@ -25,6 +25,13 @@ sensor: - type: processor_use ``` +Configuration variables: + +- **resources** array (*Required*): Contains all entries to display. + - **type** (*Required*): The type of the information to display, please check the table below for details. + - **arg** (*Optional*): Argument to use, please check the table below for details. + + The table contains types and their argument to use in your `configuration.yaml` file. | Type (- type:) | Argument (arg:) | From c34d33256e399afeafcd5f639a72880c359ea948 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:20:25 +0200 Subject: [PATCH 073/188] Replace tabs with spaces --- source/components/sensor.bitcoin.markdown | 45 +++++++++++------------ 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/source/components/sensor.bitcoin.markdown b/source/components/sensor.bitcoin.markdown index 78004794067..00f44a15eef 100644 --- a/source/components/sensor.bitcoin.markdown +++ b/source/components/sensor.bitcoin.markdown @@ -54,27 +54,26 @@ Configuration variables: - **wallet** (*Optional*): This is your wallet identifier from https://blockchain.info to access the online wallet. - **password** (*Optional*): Password for your online wallet. - **currency** (*Optional*): The currency to exchange to, eg. CHF, USD, EUR, etc. Default is USD. - -- **display_options** array: Options to display in the frontend. - - **exchangerate**: Exchange rate of 1 BTC - - **trade_volume_btc**: Trade volume - - **miners_revenue_usd**: Miners revenue - - **btc_mined**: BTC mined - - **trade_volume_usd**: Trade volume in USD - - **difficulty**: Difficulty - - **minutes_between_blocks**: Time between blocks in minutes - - **number_of_transactions**: Number of transactions - - **hash_rate**: Hash rate in PH/s - - **timestamp**: Timestamp - - **mined_blocks**: Minded Blocks - - **blocks_size**: Block size - - **total_fees_btc**: Total fees in BTC - - **total_btc_sent**: Total sent in BTC - - **estimated_btc_sent**: Estimated sent in BTC - - **total_btc**: Total of BTC - - **total_blocks**: Total Blocks - - **next_retarget**: Next retarget - - **estimated_transaction_volume_usd**: Estimated transaction volume in BTC - - **miners_revenue_btc**: Miners revenue in BTC - - **market_price_usd**: Market price in USD +- **display_options** array (*Required*): Options to display in the frontend. + - **exchangerate**: Exchange rate of 1 BTC + - **trade_volume_btc**: Trade volume + - **miners_revenue_usd**: Miners revenue + - **btc_mined**: BTC mined + - **trade_volume_usd**: Trade volume in USD + - **difficulty**: Difficulty + - **minutes_between_blocks**: Time between blocks in minutes + - **number_of_transactions**: Number of transactions + - **hash_rate**: Hash rate in PH/s + - **timestamp**: Timestamp + - **mined_blocks**: Minded Blocks + - **blocks_size**: Block size + - **total_fees_btc**: Total fees in BTC + - **total_btc_sent**: Total sent in BTC + - **estimated_btc_sent**: Estimated sent in BTC + - **total_btc**: Total of BTC + - **total_blocks**: Total Blocks + - **next_retarget**: Next retarget + - **estimated_transaction_volume_usd**: Estimated transaction volume in BTC + - **miners_revenue_btc**: Miners revenue in BTC + - **market_price_usd**: Market price in USD From 6847abdd52414082332119244f0b7b1f9a794c38 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:25:33 +0200 Subject: [PATCH 074/188] Update description --- source/components/sensor.transmission.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/components/sensor.transmission.markdown b/source/components/sensor.transmission.markdown index 8c9b7373d9a..d886ea22b2a 100644 --- a/source/components/sensor.transmission.markdown +++ b/source/components/sensor.transmission.markdown @@ -22,9 +22,9 @@ sensor: username: YOUR_USERNAME password: YOUR_PASSWORD monitored_variables: - - type: 'current_status' - - type: 'download_speed' - - type: 'upload_speed' + - 'current_status' + - 'download_speed' + - 'upload_speed' ``` Configuration variables: @@ -32,8 +32,8 @@ Configuration variables: - **host** (*Required*): This is the IP address of your Transmission daemon, e.g. 192.168.1.32. - **port** (*Optional*): The port your Transmission daemon uses, defaults to 9091. - **name** (*Optional*): The name to use when displaying this Transmission instance. -- **username** (*Required*): Your Transmission username -- **password** (*Required*): Your Transmission password +- **username** (*Optional*): Your Transmission username, if you use authentication. +- **password** (*Optional*): Your Transmission password, if you use authentication. - **display_variables** array: Conditions to display in the frontend. - **current_status**: The status of your Transmission daemon. - **download_speed**: The current download speed. From 0c6bd82573777235835a459f2485bfc3838557c4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:25:52 +0200 Subject: [PATCH 075/188] Add description --- source/components/switch.transmission.markdown | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/source/components/switch.transmission.markdown b/source/components/switch.transmission.markdown index e482b013f67..a8b9267fc35 100644 --- a/source/components/switch.transmission.markdown +++ b/source/components/switch.transmission.markdown @@ -18,11 +18,18 @@ To add Transmission to your installation, add the following to your `configurati # Example configuration.yaml entry switch: platform: transmission - name: Transmission host: 192.168.1.26 port: 9091 - username: YOUR_USERNAME - password: YOUR_PASSWORD + name: Transmission + username: USERNAME + password: PASSWORD ``` -[Finbarr Brady](https://github.com/fbradyirl) has contributed the transmission switch platform. +Configuration variables: + +- **host** (*Required*): This is the IP address of your Transmission daemon, e.g. 192.168.1.32. +- **port** (*Optional*): The port your Transmission daemon uses, defaults to 9091. +- **name** (*Optional*): The name to use when displaying this Transmission instance. +- **username** (*Required*): Your Transmission username, if you use authentication. +- **password** (*Required*): Your Transmission password, if you use authentication. + From 4b57cf73fc0744bdc2294551b77077c4ab423fd5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:26:56 +0200 Subject: [PATCH 076/188] Update description --- source/components/switch.transmission.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/components/switch.transmission.markdown b/source/components/switch.transmission.markdown index a8b9267fc35..259172fd886 100644 --- a/source/components/switch.transmission.markdown +++ b/source/components/switch.transmission.markdown @@ -30,6 +30,6 @@ Configuration variables: - **host** (*Required*): This is the IP address of your Transmission daemon, e.g. 192.168.1.32. - **port** (*Optional*): The port your Transmission daemon uses, defaults to 9091. - **name** (*Optional*): The name to use when displaying this Transmission instance. -- **username** (*Required*): Your Transmission username, if you use authentication. -- **password** (*Required*): Your Transmission password, if you use authentication. +- **username** (*Optional*): Your Transmission username, if you use authentication. +- **password** (*Optional*): Your Transmission password, if you use authentication. From 460910971fffe5e715b12d350634f91a9d49c9b8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:33:50 +0200 Subject: [PATCH 077/188] Add denon logo --- source/images/supported_brands/denon.png | Bin 0 -> 2604 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/denon.png diff --git a/source/images/supported_brands/denon.png b/source/images/supported_brands/denon.png new file mode 100644 index 0000000000000000000000000000000000000000..621cdda9d67ebd24ff746bda138d66c67a44a15a GIT binary patch literal 2604 zcmV+{3e)w8P)25C}n(LW|2i=no7FF3PP}z zJ?ur#KMHl_q9Y`~3EA|Mor*i9{liNF)-8L?V$$Boc{4B9TE%OVte+ zB#Z=}uDTI{Xa`;aOadkVqkuMG2haoj9e5B}2lNN9-_+-}kwA_Gx^mXJ6L?m#+#QxnR2f#n|U901G&W&=}!5gC576<7w`0NeuX z@zj>3z0`CHT zSYbO{SqSWh+{R|)eBhFd-|YeJ2Q~v+(0y?*a1e@cWpT-7q4P0|V!@dS=t=TM6zHiG zSAkpx{34-zG&-@}z-xhHNFSV!1b%>?WH&mtrN%Dcrv-j*MX=IXfLz720e%(Cr?EJ8 z0@ngRMmOXx<9qEW(sd?q9`O8>I?n_aqfV~~hyJfkC*gKoO2dj`WsT;HM>o+%qn_HQ z4>&PnomLd9C*$v3m}l6meJ;h%oRW_y)(mt$t+v*})#Du6_d?(cz*8yp=ea*1{odFL z9O=-`B%GpHjVLOR8tuR*QLkm4jLpD-8R}|Af%F64q_{|m3S=DcWJ(*KM6OFwCL{O9 zvhy_A=g%5-p8rCgNKu+D%sY^0fv*C`1CJTsIfU#!b2IW`6#A?p@KIwingmQ@J#u?j zc(C(l;5gtm{5-8db7w11$huUj=78>Qd zfwNIgm2Y~1(~;|z!~&1D_DAV9J|-qJQfN4gjRtN8PWD`HB2^0Hao}ghv8iP?qyRSnccmPk0o(*UFJK#5fHRC^i_pYhX!=l| zS`ueD)_DQ&jB#uvnunY2Sa)WsoJj}x5imEQ{5XfY+Q>I3>_d}LMc4*>5coCr0P=L; z=O{%##JY#0(d29rO9I%lxDogo`-ZwZfr;cF1N{nxw|_!%3d;!8!OjGJnX~T9R4tHI zM!8Fl)+qA%+P!GtSCn29Axaa;Dab821GzmuvE~T20)O;uD~&BEZM{3;*lTbL5-dX< z%T4I1QBOO{1elA2NKa{KHfkbCbGN3U3qHoP?W7wL6bSLPs3|M= z8s$ZjQkNq)&3gK_BUg8J0UIV&3j{P%nuL$uy-c!*WGcGgKL4BLURiTZA+eqkFD+Q_ z3KY1pL^2%sKJfN}cJ`qe1Y)I#3^sv4Hjzw0GsC_Xj#*FIt)A-7!*-+mAP;rliY7uW z7qu0*hT@5m|3@{(&t|9Gf7FMUS2uX(NCB9ZJcj<*8e zLm3TTsCtkN_LCxS^5Jfj%90i9B>N!C!2K8$MLU^dy?w7y9(s*;5*M1S=j=42kPyTPG~>y3GCU} zp@wgfd>cEQIt8U+_#BVykHlg5_N#%bJle~{eZU*A^ZYVXmO#4D+JtMd7Y|)Qz`Xt@ z#ivMip&i$))SWpfn&cw~Y!VuLTkFH0L1UlY9&EYt01`=|*D8b*$Z+(iTLSzQcw5SM zZ^QOuhdMq*atE3mvp5ljMQ1qH-wu2PZ5eCLd4P7nw^HBBl(JH8kBrPo^E9aw0LTk--7Yd`_4txo9PL15! z4z$J3MKlhVUV=7?XcpEYk=#mvU`3G^=w$g^NB;HNp z;=p?TkWi1c+v0U->F{*m)o9(yStxwF9Ccn<>bi>jyGvR-EBf3G1@y$*lwc>w)}uu~ zJ-DYN4`qQsvPfLsFx7z;8ihDl^`AZH-7hYbB@obSAReu=(-d2e*62ea-Xl=dC9*Fy zck511^<0K-gi!RLz05un(1tJmhQ?vmoY6j%C6Fi3ju(faC&xcZvO8GmMQJ!iMbZa+ z98I2u*jaH2N>VKH+KIARk3_OD%a=n5WDklUT#g2d2ctQT^?~dSMSO__G(hb}uA+}? za0?ozoJ~3VZuw>d63HWtzSw9$bvXIoBe5NcBh-q$HnP7*hY z4)n^m4|u9?80xfUBNr^|^?d+s)^-hk|MOIm12wA%yXq6P2In+V+ Date: Wed, 9 Sep 2015 11:34:06 +0200 Subject: [PATCH 078/188] Minor changes --- source/components/media_player.denon.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/components/media_player.denon.markdown b/source/components/media_player.denon.markdown index cf213f70ef1..e5580b24dc4 100644 --- a/source/components/media_player.denon.markdown +++ b/source/components/media_player.denon.markdown @@ -22,13 +22,13 @@ To add a Denon Network Receiver to your installation, add the following to your # Example configuration.yaml entry media_player: platform: denon - name: Music station host: IP_ADDRESS + name: Music station ``` Configuration variables: -- **host** *Required*: IP address of the device. Example: 192.168.1.32 -- **name** *Optional*: Name of the device +- **host** (*Required*): IP address of the device. Example: 192.168.1.32 +- **name** (*Optional*): Name of the device A few notes: From 38818c50845b806b061d510eaba6a77b451386dc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:45:28 +0200 Subject: [PATCH 079/188] Add variable description --- source/components/sensor.mysensors.markdown | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/source/components/sensor.mysensors.markdown b/source/components/sensor.mysensors.markdown index df659179aee..2566cc3fa4a 100644 --- a/source/components/sensor.mysensors.markdown +++ b/source/components/sensor.mysensors.markdown @@ -10,7 +10,9 @@ footer: true --- -Integrate your [MySensors sensors](https://www.mysensors.org) by adding the following to your `configuration.yaml`: +The [MySensors](https://www.mysensors.org) project combines Arduino boards with NRF24L01 radio boards to build sensor networks. + +Integrate your Serial MYSensors Gateway by adding the following to your `configuration.yaml`: ```yaml # Example configuration.yaml entry @@ -18,3 +20,11 @@ sensor: platform: mysensors port: /dev/ttyACM0 ``` + +Configuration variables: + +- **port** (*Required*): The port where your board is connected to your Home Assistant host. If you are using an original Arduino the port will be named `ttyACM*`. The exact number can be determined with `ls /dev/ttyACM*`. + +```bash +ls /dev/ttyACM* +``` From 12c0bbab765ec2958e86df08d6399174eeba6bf7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:52:04 +0200 Subject: [PATCH 080/188] Add variables description --- source/components/light.limitlessled.markdown | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/components/light.limitlessled.markdown b/source/components/light.limitlessled.markdown index 73b0dac584d..40fd5adaa52 100644 --- a/source/components/light.limitlessled.markdown +++ b/source/components/light.limitlessled.markdown @@ -18,9 +18,14 @@ To add limitlessled to your installation, add the following to your `configurati # Example configuration.yaml entry light: platform: limitlessled - host: 192.168.1.10 + host: IP_ADDRESS group_1_name: Living Room group_2_name: Bedroom group_3_name: Office group_4_name: Kitchen ``` + +Configuration variables: + +- **host** (*Required*): IP address of the device, eg. 192.168.1.32 +- **group_X_name** (*Required*): Name of the group. Multiple entries with a consecutive number. From edd064d67390b0425260c18ee7347a45879c1ad0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 11:58:42 +0200 Subject: [PATCH 081/188] Add variable description --- source/components/thermostat.nest.markdown | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/components/thermostat.nest.markdown b/source/components/thermostat.nest.markdown index ca75e22a1fb..e4446633758 100644 --- a/source/components/thermostat.nest.markdown +++ b/source/components/thermostat.nest.markdown @@ -17,10 +17,15 @@ To set it up, add the following information to your `configuration.yaml` file: ``` thermostat: platform: nest - username: myemail@mydomain.com - password: mypassword + username: USERNAME + password: PASSWORD ``` +Configuration variables: + +- **username** (*Required*): Your Nest username. +- **password** (*Required*): Your Nest password. +

    From eba809ccfbd1135f4756b5d626d32933d564f7de Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:01:49 +0200 Subject: [PATCH 082/188] Update exaple --- source/components/switch.wemo.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/switch.wemo.markdown b/source/components/switch.wemo.markdown index d5f9c62cbb5..11e0903b2fa 100644 --- a/source/components/switch.wemo.markdown +++ b/source/components/switch.wemo.markdown @@ -17,5 +17,5 @@ They will be automatically discovered if the discovery component is enabled. ```yaml # Example configuration.yaml entry switch: - - platform: wemo + platform: wemo ``` From 57feaed0bece12029f04b747bb0e59c388cbeb5d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:16:50 +0200 Subject: [PATCH 083/188] Add variable description --- source/components/sensor.efergy.markdown | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/components/sensor.efergy.markdown b/source/components/sensor.efergy.markdown index 7886ef0e459..80d36973fff 100644 --- a/source/components/sensor.efergy.markdown +++ b/source/components/sensor.efergy.markdown @@ -25,3 +25,14 @@ sensor: period: day currency: $ ``` + +Configuration variables: + +- **app_token** (*Required*): The App Token for your account. +- **utc_offset** (*Required*): Some variables (currently only the daily_cost) require that the +negative number of minutes your timezone is ahead/behind UTC time. +- **monitored_variables** array (*Required*): Variables to monitor. + - **type** (*Required*): Name of the variable. + - **period** (*Optional*): Some variables take a period argument. Valid options are "day", "week", "month", and "year". + - **currency** (*Optional*): This is used to display the cost/period as the unit when monitoring the cost. It should correspond to the actual currency used in your dashboard. + From 6123fe60df67f46b22ac05de56b6a68343db0441 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:17:04 +0200 Subject: [PATCH 084/188] Add variable description --- source/components/switch.edimax.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/components/switch.edimax.markdown b/source/components/switch.edimax.markdown index cbe99fafe09..5beb4bcf0e8 100644 --- a/source/components/switch.edimax.markdown +++ b/source/components/switch.edimax.markdown @@ -23,3 +23,11 @@ switch: password: YOUR_PASSWORD name: Edimax Smart Plug ``` + +Configuration variables: + +- **host** (*Required*): The IP address of your Edimax switch, eg. 192.168.1.32 +- **username** (*Required*): Your username for the Edimax switch. +- **password** (*Required*): Your password for the Edimax switch. +- **name** (*Optional*): The name to use when displaying this switch. + From 5e485373de0b1b1457254a69cd54519150c1e8c3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:38:44 +0200 Subject: [PATCH 085/188] Update --- source/components/device_tracker.actiontec.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/components/device_tracker.actiontec.markdown b/source/components/device_tracker.actiontec.markdown index 5ccfd3d1ba2..5f89e162c04 100644 --- a/source/components/device_tracker.actiontec.markdown +++ b/source/components/device_tracker.actiontec.markdown @@ -32,10 +32,10 @@ device_tracker: Configuration variables: -- **host** *Required*: The IP address of your router, e.g. 192.168.1.1. -- **username** *Required*: The username of an user with administrative privileges, usually *admin*. -- **password** *Required*: The password for your given admin account. -- **home_interval** *Optional*: If the home_interval is set then the component will not let a device be AWAY if it has been HOME in the last home_interval minutes. This is in addition to the 3 minute wait built into the device_tracker component. +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. +- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. +- **password** (*Required*): The password for your given admin account. +- **home_interval** (*Optional*): If the home_interval is set then the component will not let a device be AWAY if it has been HOME in the last home_interval minutes. This is in addition to the 3 minute wait built into the device_tracker component. See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From af404876886eb6bd3b1b2a1e439ab634a7721357 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:39:03 +0200 Subject: [PATCH 086/188] Add new trackers --- source/components/device_tracker.markdown | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/components/device_tracker.markdown b/source/components/device_tracker.markdown index 3de99d1a31e..b72539a4a1a 100644 --- a/source/components/device_tracker.markdown +++ b/source/components/device_tracker.markdown @@ -11,11 +11,15 @@ footer: true Home Assistant can get information from your wireless router to track which devices are connected. There are three different types of supported wireless routers: +- [Actiontec](/components/device_tracker.actiontec.html) +- [Aruba](/components/device_tracker.aruba.html) +- [ASUSWRT](/components/device_tracker.asuswrt.html) - [DD-WRT](/components/device_tracker.ddwrt.html) -- [tomato](/components/device_tracker.tomato.html) -- [netgear](/components/device_tracker.netgear.html) - [luci (OpenWRT)](/components/device_tracker.luci.html) +- [netgear](/components/device_tracker.netgear.html) +- [tomato](/components/device_tracker.tomato.html) - [TP-Link](/components/device_tracker.tplink.html) +- [Thomsom](/components/device_tracker.thomson.html) You can also decide to directly scan the network for devices by using the [nmap scanner](/components/device_tracker.nmap_scanner.html). From c3d682ca3b0a76d3ec2282125f3d83a3965cfd78 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:39:39 +0200 Subject: [PATCH 087/188] Add variables description --- source/components/device_tracker.asuswrt.markdown | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/components/device_tracker.asuswrt.markdown b/source/components/device_tracker.asuswrt.markdown index 362a30a3a3e..028a94daea2 100644 --- a/source/components/device_tracker.asuswrt.markdown +++ b/source/components/device_tracker.asuswrt.markdown @@ -12,6 +12,10 @@ footer: true This platform offers presence detection by looking at connected devices to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router. +

    +This device tracker needs telnet to be enabled on the router. +

    + To use an ASUSWRT router in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -23,6 +27,10 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -This device tracker needs telnet to be enabled on the router. +Configuration variables: + +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. +- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. +- **password** (*Required*): The password for your given admin account. See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From 06abac80b295fdec630e317f4d97696ee31e5d20 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:40:01 +0200 Subject: [PATCH 088/188] Add variables description --- source/components/device_tracker.ddwrt.markdown | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/source/components/device_tracker.ddwrt.markdown b/source/components/device_tracker.ddwrt.markdown index 4435eda1b27..b24aa7ef523 100644 --- a/source/components/device_tracker.ddwrt.markdown +++ b/source/components/device_tracker.ddwrt.markdown @@ -18,9 +18,15 @@ To use a DD-WRRT router in your installation, add the following to your `configu # Example configuration.yaml entry device_tracker: platform: ddwrt - host: 192.168.1.1 - username: admin - password: PASSWORD + host: ROUTER_IP_ADDRESS + username: YOUR_ADMIN_USERNAME + password: YOUR_ADMIN_PASSWORD ``` +Configuration variables: + +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. +- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. +- **password** (*Required*): The password for your given admin account. + See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From 668e0733d182358f2b70bcb41a853703f4f081be Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:40:20 +0200 Subject: [PATCH 089/188] Add variables description --- source/components/device_tracker.luci.markdown | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/source/components/device_tracker.luci.markdown b/source/components/device_tracker.luci.markdown index 97c8d709f5e..c8452ee09e1 100644 --- a/source/components/device_tracker.luci.markdown +++ b/source/components/device_tracker.luci.markdown @@ -16,9 +16,15 @@ Before this scanner can be used you have to install the luci RPC package on Open # Example configuration.yaml entry device_tracker: platform: luci - host: 192.168.1.1 - username: admin - password: PASSWORD + host: ROUTER_IP_ADDRESS + username: YOUR_ADMIN_USERNAME + password: YOUR_ADMIN_PASSWORD ``` +Configuration variables: + +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. +- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. +- **password** (*Required*): The password for your given admin account. + See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From c674b69e356df963152ba6701d6835730aac312b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:40:39 +0200 Subject: [PATCH 090/188] Add variables description --- source/components/device_tracker.netgear.markdown | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/source/components/device_tracker.netgear.markdown b/source/components/device_tracker.netgear.markdown index dc3b59b2bc9..f37594ac958 100644 --- a/source/components/device_tracker.netgear.markdown +++ b/source/components/device_tracker.netgear.markdown @@ -16,9 +16,15 @@ This platform allows you to detect presence by looking at connected devices to a # Example configuration.yaml entry device_tracker: platform: netgear - host: 192.168.1.1 - username: admin - password: PASSWORD + host: YOUR_ROUTER_IP + username: YOUR_ADMIN_USERNAME + password: YOUR_ADMIN_PASSWORD ``` +Configuration variables: + +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. +- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. +- **password** (*Required*): The password for your given admin account. + See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From e84566e607ebb4b000d7b7fe0641f57051d11816 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:40:58 +0200 Subject: [PATCH 091/188] Add variables description --- source/components/device_tracker.tomato.markdown | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/source/components/device_tracker.tomato.markdown b/source/components/device_tracker.tomato.markdown index 89c5f4726c1..b32a7e4f315 100644 --- a/source/components/device_tracker.tomato.markdown +++ b/source/components/device_tracker.tomato.markdown @@ -16,10 +16,17 @@ Tomato requires an extra config variable called `http_id`. The value can be obta # Example configuration.yaml entry device_tracker: platform: tomato - host: 192.168.1.1 - username: admin - password: PASSWORD - http_id: ABCDEFG + host: YOUR_ROUTER_IP_ADDRESS + username: YOUR_ADMIN_USERNAME + password: YOUR_ADMIN_PASSWORD + http_id: YOUR_HTTP_ID ``` +Configuration variables: + +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. +- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. +- **password** (*Required*): The password for your given admin account. +- **http_id** (*Required*): The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code. + See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From d78e39f5dd628946d9d7437b6554946adc863311 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:42:05 +0200 Subject: [PATCH 092/188] Update --- source/components/sensor.forecast.markdown | 2 +- source/components/sensor.openweathermap.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/components/sensor.forecast.markdown b/source/components/sensor.forecast.markdown index 005e3838a6d..9a2534f9eca 100644 --- a/source/components/sensor.forecast.markdown +++ b/source/components/sensor.forecast.markdown @@ -39,7 +39,7 @@ sensor: Configuration variables: - **api_key** (*Required*): Your API key for http://forecast.io/. -- **display_conditions** array: Conditions to display in the frontend. +- **display_conditions** array (*Required*): Conditions to display in the frontend. - **summary**: A human-readable text summary. - **precip_type**: The type of precipitation occurring. - **precip_intensity**: The average expected intensity of precipitation occurring. diff --git a/source/components/sensor.openweathermap.markdown b/source/components/sensor.openweathermap.markdown index 548f605b156..4695ee6d5a0 100644 --- a/source/components/sensor.openweathermap.markdown +++ b/source/components/sensor.openweathermap.markdown @@ -37,7 +37,7 @@ Configuration variables: - **api_key** (*Required*): Your API key for http://openweathermap.org/. - **forecast** (*Optional*): Enables the forecast. The default is to display the current conditions. -- **display_conditions** array: Conditions to display in the frontend. +- **display_conditions** array (*Required*): Conditions to display in the frontend. - **weather**: A human-readable text summary. - **temperature**: The current temperature. - **wind_speed**: The wind speed. From 7c6b012f7fe7bacc3e880c167f5ff6fe62bf4378 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:43:06 +0200 Subject: [PATCH 093/188] Add variables description --- source/components/device_tracker.tplink.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/components/device_tracker.tplink.markdown b/source/components/device_tracker.tplink.markdown index d10750af4ba..712145c57f5 100644 --- a/source/components/device_tracker.tplink.markdown +++ b/source/components/device_tracker.tplink.markdown @@ -21,4 +21,11 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` +Configuration variables: + +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. +- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. +- **password** (*Required*): The password for your given admin account. + + See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From 3456834edb0340ae991ad88a00ec826280602f14 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:43:24 +0200 Subject: [PATCH 094/188] Update example --- source/components/device_tracker.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/components/device_tracker.markdown b/source/components/device_tracker.markdown index b72539a4a1a..1422ad4a107 100644 --- a/source/components/device_tracker.markdown +++ b/source/components/device_tracker.markdown @@ -25,12 +25,13 @@ You can also decide to directly scan the network for devices by using the [nmap To get started add the following lines to your `configuration.yaml` (example for Netgear): -``` +```yaml +# Example configuration.yaml entry for Netgear device device_tracker: platform: netgear host: 192.168.1.1 username: admin - password: MY_PASSWORD + password: YOUR_PASSWORD ``` Once tracking, the `device_tracker` component will maintain a file in your config dir called `known_devices.csv`. Edit this file to adjust which devices have to be tracked. Here you can also setup a url for each device to be used as the entity picture. From 7ac74244e7a51b31e6fea743c0078594be87a722 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 12:59:44 +0200 Subject: [PATCH 095/188] Update title --- source/components/notify.pushbullet.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/notify.pushbullet.markdown b/source/components/notify.pushbullet.markdown index 71378ffc913..7ea5f6de797 100644 --- a/source/components/notify.pushbullet.markdown +++ b/source/components/notify.pushbullet.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Notifications" +title: "PushBullet notification support" description: "Instructions how to add user notifications to Home Assistant." date: 2015-01-20 22:36 sidebar: false From de5bf0a368d43c4af25958ca7538bd1a94bafb4f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 9 Sep 2015 16:36:45 +0200 Subject: [PATCH 096/188] Add details about the endpoints --- source/components/sensor.arest.markdown | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/components/sensor.arest.markdown b/source/components/sensor.arest.markdown index 3d7f63d48e7..8b6eef520f8 100644 --- a/source/components/sensor.arest.markdown +++ b/source/components/sensor.arest.markdown @@ -29,14 +29,12 @@ sensor: Configuration variables: - **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10. - - **monitored_variables** array: - - **name** (*Required*): The name of the variable you wish to monitor. - **unit** (*Optional*): Defines the units of measurement of the sensor, if any. -The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you find below a sketch for the Arduino device family. +The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you find below a sketch for the Arduino device family. There are two variables (`temperature` and `humidity`) which will act as endpoints. ```c /* @@ -99,8 +97,13 @@ void loop() { } ``` +Accessing one of the endpoints (eg. http://192.168.1.10/temperature) will give you the value inside a JSON response. -The JSON response contains the variables and their current values along with some device details. +```json +{"temperature": 23, "id": "sensor01", "name": "livingroom", "connected": true} +``` + +The root will give you a JSON response that contains all variables and their current values along with some device details. ```json { From 5d6f86477392d478c26c9cbdcfee49aef83619af Mon Sep 17 00:00:00 2001 From: MakeMeASandwich Date: Wed, 9 Sep 2015 18:07:20 +0000 Subject: [PATCH 097/188] media_player/denon: improve readability for users added untested, but theoretically (partly) supported device RCD-N8 removed notes written for future developers only --- source/components/media_player.denon.markdown | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/components/media_player.denon.markdown b/source/components/media_player.denon.markdown index e5580b24dc4..4fe302ec541 100644 --- a/source/components/media_player.denon.markdown +++ b/source/components/media_player.denon.markdown @@ -12,9 +12,10 @@ footer: true The denon platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. -Supported device: +Supported devices: - Denon DRA-N5 +- Denon RCD-N8 (untested) To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file: @@ -35,5 +36,3 @@ A few notes: - As long as this module is active and connected, the receiver does not seem to accept additional telnet connections. - Be careful with the volume. 50 % or even 100 % are very loud. - To be able to wake up the receiver, activate the "remote" setting in the receiver's settings. -- Play and pause are supported, toggling is not possible. -- Seeking cannot be implemented as the UI sends absolute positions. Only seeking via simulated button presses is possible. From ba138f2df86c96e0721c65da1385276e966fb3d0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Sep 2015 07:26:19 +0200 Subject: [PATCH 098/188] Add new media players --- source/components/media_player.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/components/media_player.markdown b/source/components/media_player.markdown index 7b774d72884..d544225e085 100644 --- a/source/components/media_player.markdown +++ b/source/components/media_player.markdown @@ -14,8 +14,10 @@ Interacts with media players on your network. Currently supported devices: - [Chromecasts](/components/media_player.cast.html) -- [Music Player Daemon](/components/media_player.mpd.html) +- [Denon Network Receivers](/components/media_player.denon.html) - [Kodi](/components/media_player.kodi.html) +- [Music Player Daemon](/components/media_player.mpd.html) +- [Squeezebox](/components/media_player.squeezebox.html) ## Services From a9f17a2cc3b02c6369bbc861d5f3cc5a52028226 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Sep 2015 07:26:42 +0200 Subject: [PATCH 099/188] Update variables description --- source/components/sensor.mqtt.markdown | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/components/sensor.mqtt.markdown b/source/components/sensor.mqtt.markdown index ac7ca6596de..442d53b4044 100644 --- a/source/components/sensor.mqtt.markdown +++ b/source/components/sensor.mqtt.markdown @@ -19,13 +19,15 @@ last known value. Otherwise, the initial state will be undefined. # Example configuration.yml entry sensor: platform: mqtt - name: "MQTT Sensor" state_topic: "home/bedroom/temperature" + name: "MQTT Sensor" qos: 0 unit_of_measurement: "°C" ``` -- **name**: The name of the sensor. Default is 'MQTT Sensor'. *Optional* -- **state_topic**: The MQTT topic subscribed to receive sensor values. *Required* -- **qos**: The maximum QoS level of the state topic. Default is 0. *Optional* -- **unit_of_measurement**: Defines the units of measurement of the sensor, if any. *Optional* +Configuration variables: + +- **state_topic** (*Required*): The MQTT topic subscribed to receive sensor values. +- **name** (*Optional*): The name of the sensor. Default is 'MQTT Sensor'. +- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0. +- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. From 72136af3653284f4189c7a35fcd7391dffd94778 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Sep 2015 07:27:11 +0200 Subject: [PATCH 100/188] Update variables description --- source/components/switch.mqtt.markdown | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/source/components/switch.mqtt.markdown b/source/components/switch.mqtt.markdown index 74d1a2e67d9..ac0ff005e97 100644 --- a/source/components/switch.mqtt.markdown +++ b/source/components/switch.mqtt.markdown @@ -37,14 +37,16 @@ switch: optimistic: false ``` -- **name**: The name of the switch. Default is 'MQTT Switch'. *Optional* -- **state_topic**: The MQTT topic subscribed to receive state updates. *Optional* -- **command_topic**: The MQTT topic to publish commands to change the switch state. *Required* -- **qos**: The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. *Optional* -- **payload_on**: The payload that represents enabled state. Default is "ON". *Optional* -- **payload_off**: The payload that represents disabled state. Default is "OFF". *Optional* -- **optimistic**: Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false. *Optional* +Configuration variables: + +- **name** (*Optional*): The name of the switch. Default is 'MQTT Switch'. +- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. +- **command_topic** (*Required*): The MQTT topic to publish commands to change the switch state. +- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. +- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON". +- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF". +- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false.

    Make sure that your topics match exact. some-topic/ and some-topic are different topics. -

    \ No newline at end of file +

    From d736992e58b89a9eceed2e3af0d3640dc00cdf1a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Sep 2015 12:19:37 +0200 Subject: [PATCH 101/188] Initial version of a MQTT blog post --- ...s-to-use-mqtt-with-home-assistant.markdown | 201 ++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 source/_posts/2015-09-10-mqtt-different-ways-to-use-mqtt-with-home-assistant.markdown diff --git a/source/_posts/2015-09-10-mqtt-different-ways-to-use-mqtt-with-home-assistant.markdown b/source/_posts/2015-09-10-mqtt-different-ways-to-use-mqtt-with-home-assistant.markdown new file mode 100644 index 00000000000..6350be51420 --- /dev/null +++ b/source/_posts/2015-09-10-mqtt-different-ways-to-use-mqtt-with-home-assistant.markdown @@ -0,0 +1,201 @@ +--- +layout: post +title: "MQTT: Different ways to use MQTT with Home Assistant" +description: "This post describes three different ways to use MQTT with Home Assistant." +date: 2015-09-10 11:19:38 +0200 +date_formatted: "September 10, 2015" +author: Fabian Affolter +comments: true +categories: +og_image: /images/blog/2015-09-mqtt/arduino.png +--- + +The [MQTT](https://en.wikipedia.org/wiki/MQTT) support was added to Home Assistant recently. The [MQTT component](https://home-assistant.io/components/mqtt.html) will enable you to do all sort of things. Most likely you will use it to communicate with your devices. But Home Assistant don't care where the data is coming from or is limited to real hardware as long as there is MQTT support. This means that it doesn't matter if the data is coming from a human, a web service, or a device. + +A great example is shown in a [Laundry Automation](https://home-assistant.io/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/) post in this blog. + +This post will give you a small overview of some other possibilities on how to use MQTT with Home Assistant. + + +## {% linkable_title Manual usage %} + +The simplest but not the coolest way as a human to interact with a Home Assistant sensor is launching a command manually. Let's create a "Mood" sensor. For simplicity Home Assistant and the MQTT broker are both running on the same host. The needed configuration snipplets to add to the `configuration.yaml` file consists of two parts: one for the broker and one for the sensor. + +```yaml +mqtt: + broker: 127.0.0.1 + +sensor: + - platform: mqtt + name: "Fabian's Mood" + state_topic: "home-assistant/fabian/mood" + unit_of_measurement: " " +``` + +After a restart of Home Assistant the "Mood" sensor will show up in the frontend. For more details about the configuration of MQTT itself and the sensor, please refer to the [MQTT component](https://home-assistant.io/components/mqtt.html) or the [MQTT sensor](https://home-assistant.io/components/sensor.mqtt.html) documentation. + +Now we can set the mood. The commandline tool (`mosquitto_pub`) which is shipped with `mosquitto` is used to send a MQTT message. + +```bash +mosquitto_pub -h 127.0.0.1 -t "home-assistant/fabian/mood" -m "bad" +``` + +

    + + The Mood sensor +

    + +## {% linkable_title Python MQTT bindings %} + +The last section was pretty boring, I know. Nobody want to send MQTT messages by hand if there is a computer on the desk. If you are playing the lottery this section is for you. If not, read it anyway because the lottery is just an example :-). + +This example is using the [Paho MQTT Python binding](https://eclipse.org/paho/clients/python/) because those binding should be available on the host where Home Assistant is running. If you want to use this example on another machine, please make sure that the bindings are installed (`pip3 install paho-mqtt`). + +The first step is to add an additional MQTT sensor to the `configuration.yaml` file. The sensor will be called "Lottery". + +```yaml + - platform: mqtt + name: "Lottery" + state_topic: "home-assistant/lottery/number" + unit_of_measurement: " " +``` + +Don't forget to restart Home Assistant to make the configuration active. + +To play, we need numbers from 1 to 49 which can be marked on the ticket. Those number should be random and displayed in the Home Assistant frontend. The Python script below is another simple example on how to send MQTT messages from the commandline. This time in a loop. For further information and examples please check the [Paho MQTT](https://eclipse.org/paho/clients/python/docs/) documentation. + +```python +#!/usr/bin/python3 +# +import time +import random +import paho.mqtt.client as mqtt +import paho.mqtt.publish as publish + +broker = '127.0.0.1' +state_topic = 'home-assistant/lottery/number' +delay = 5 + +# Send a single message to set the mood +publish.single('home-assistant/fabian/mood', 'good', hostname=broker) + +# Send messages in a loop +client = mqtt.Client("ha-client") +client.connect(broker) +client.loop_start() + +while True: + client.publish(state_topic, random.randrange(0, 50, 1)) + time.sleep(delay) +``` + +Every 5 seconds a message with a new number is sent to the broker and picked up by Home Assistant. By the way, my mood is much better now. + +

    + + The Lottery sensor +

    + +With only a few lines of Python and a MQTT broker you can create your own "smartdevice" or send information to Home Assistant which you haven't think of. Of course this is not limited to Python. If there is a MQTT library available, the device can be used with Home Assistant now. + +## {% linkable_title Arduino %} + +To get started with real hardware that is capable to send MQTT messages, the Arduino platform is an inexpensive way to do it. In this section an Arduino UNO with an Ethernet shield and a photo resistor is used. The photo resistor is connected to analog pin 0 (A0) and has an output from 0 to 1024. + +

    + + The Arduino UNO with Ethernet shield and photo resistor +

    + +The [MQTT client](http://knolleary.github.io/pubsubclient/) for the Arduino needs to be available in your Arduino IDE. Below you find an sketch which could act as an starting point. Please modify the IP addresses, the MAC address, and the pin as needed and upload the sketch to your Arduino. + +```c +/* + This sketch is based on the basic MQTT example by + http://knolleary.github.io/pubsubclient/ +*/ + +#include +#include +#include + +#define DEBUG 1 // Debug output to serial console + +// Device settings +IPAddress deviceIp(192, 168, 0, 43); +byte deviceMac[] = { 0xAB, 0xCD, 0xFE, 0xFE, 0xFE, 0xFE }; +char* deviceId = "sensor01"; // Name of the sensor +char* stateTopic = "home-assistant/sensor01/brightness"; // MQTT topic where values are published +int sensorPin = A0; // Pin to which the sensor is connected to +char buf[4]; // Buffer to store the sensor value +int updateInterval = 1000; // Interval in miliseconds + +// MQTT server settings +IPAddress mqttServer(192, 168, 0, 12); +int mqttPort = 1883; + +EthernetClient ethClient; +PubSubClient client(ethClient); + +void reconnect() { + while (!client.connected()) { +#if DEBUG + Serial.print("Attempting MQTT connection..."); +#endif + if (client.connect(deviceId)) { +#if DEBUG + Serial.println("connected"); +#endif + } else { +#if DEBUG + Serial.print("failed, rc="); + Serial.print(client.state()); + Serial.println(" try again in 5 seconds"); +#endif + delay(5000); + } + } +} + +void setup() { + Serial.begin(57600); + client.setServer(mqttServer, mqttPort); + Ethernet.begin(deviceMac, deviceIp); + delay(1500); +} + +void loop() { + if (!client.connected()) { + reconnect(); + } + client.loop(); + + int sensorValue = analogRead(sensorPin); +#if DEBUG + Serial.print("Sensor value: "); + Serial.println(sensorValue); +#endif + client.publish(stateTopic, itoa(sensorValue, buf, 10)); + delay(updateInterval); +} +``` + +The Arduino will sent the value of the sensor every second. To use the data in Home Assistant, add an additional MQTT sensor to the `configuration.yaml` file. + +```yaml + - platform: mqtt + name: "Brightness" + state_topic: "home-assistant/sensor01/brightness" + unit_of_measurement: " " +``` + +After a restart of Home Assistant the values of your Arduino will be available. + +

    + + The Brightness sensor +

    + +I hope that this post could give you some ideas about the usage Home Assistant and MQTT. If you are working on a cool project that includes Home Assistant, please let us now. + + From 9c62f001804ac5d4c50d92c941df4f403706e8df Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Sep 2015 18:29:45 +0200 Subject: [PATCH 102/188] Update variables and add description to fix #48 --- source/components/mqtt.markdown | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source/components/mqtt.markdown b/source/components/mqtt.markdown index ea5b360a188..6ea7f700bbd 100644 --- a/source/components/mqtt.markdown +++ b/source/components/mqtt.markdown @@ -19,14 +19,22 @@ To integrate MQTT into Home Assistant, add the following section to your `config # Example configuration.yaml entry mqtt: broker: IP_ADDRESS_BROKER - # All the other options are optional: port: 1883 + client_id: home-assistant-1 keepalive: 60 - qos: 0 - username: your_username - password: your_secret_password + username: USERNAME + password: PASSWORD ``` +Configuration variables: + +- **broker** (*Required*): The IP address of your MQTT broker, e.g. 192.168.1.32. +- **port** (*Optional*): The network port to connect to. Default is 1883. +- **client_id** (*Optional*): Client ID that Home Assistant will use. Has to be unique on the server. Default is a random generated one. +- **keepalive** (*Optional*): The keep alive in seconds for this client. Default is 60. +- **username** (*Optional*): The username to use with your MQTT broker. +- **password** (*Optional*): The corresponding password for the username to use with your MQTT broker. +

    The MQTT component has no TLS support at the moment. This means that only plain-text communication is possible.

    From 69ade0366da83dddc0b47e02bc6b72c07b066c26 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Sep 2015 18:54:51 +0200 Subject: [PATCH 103/188] Use pip3 everywhere --- source/getting-started/index.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index bb93f58ee07..aeeb5bde4a7 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -87,11 +87,11 @@ hass \-\-open-ui

    Staying Up to Date

    In order to update Home Assistant to the latest stable release, simply type the following into a console:

    ```bash -pip install \-\-upgrade homeassistant +pip3 install \-\-upgrade homeassistant ```

    If you would like to stay up to date with the newest unstable builds (alphas, betas, and release candidates), use this command:

    ```bash -pip install \-\-upgrade \-\-pre homeassistant +pip3 install \-\-upgrade \-\-pre homeassistant ```

    What's Next

    From 812f4ff9bf428dd86a20dfa6260901a6d7a5303b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Sep 2015 18:29:45 +0200 Subject: [PATCH 104/188] Update variables and add description to fix #48 --- source/components/mqtt.markdown | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source/components/mqtt.markdown b/source/components/mqtt.markdown index ea5b360a188..6ea7f700bbd 100644 --- a/source/components/mqtt.markdown +++ b/source/components/mqtt.markdown @@ -19,14 +19,22 @@ To integrate MQTT into Home Assistant, add the following section to your `config # Example configuration.yaml entry mqtt: broker: IP_ADDRESS_BROKER - # All the other options are optional: port: 1883 + client_id: home-assistant-1 keepalive: 60 - qos: 0 - username: your_username - password: your_secret_password + username: USERNAME + password: PASSWORD ``` +Configuration variables: + +- **broker** (*Required*): The IP address of your MQTT broker, e.g. 192.168.1.32. +- **port** (*Optional*): The network port to connect to. Default is 1883. +- **client_id** (*Optional*): Client ID that Home Assistant will use. Has to be unique on the server. Default is a random generated one. +- **keepalive** (*Optional*): The keep alive in seconds for this client. Default is 60. +- **username** (*Optional*): The username to use with your MQTT broker. +- **password** (*Optional*): The corresponding password for the username to use with your MQTT broker. +

    The MQTT component has no TLS support at the moment. This means that only plain-text communication is possible.

    From f0f182191a10e6d01f315b4cf033625380289a77 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 10 Sep 2015 18:54:51 +0200 Subject: [PATCH 105/188] Use pip3 everywhere --- source/getting-started/index.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index bb93f58ee07..aeeb5bde4a7 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -87,11 +87,11 @@ hass \-\-open-ui

    Staying Up to Date

    In order to update Home Assistant to the latest stable release, simply type the following into a console:

    ```bash -pip install \-\-upgrade homeassistant +pip3 install \-\-upgrade homeassistant ```

    If you would like to stay up to date with the newest unstable builds (alphas, betas, and release candidates), use this command:

    ```bash -pip install \-\-upgrade \-\-pre homeassistant +pip3 install \-\-upgrade \-\-pre homeassistant ```

    What's Next

    From 904584b16be0e5da5b3628677bcb04c9c29a7305 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 11 Sep 2015 07:30:10 +0200 Subject: [PATCH 106/188] Add images for blog post --- .../blog/2015-09-mqtt/arduino-shield.png | Bin 0 -> 472125 bytes source/images/blog/2015-09-mqtt/arduino.png | Bin 0 -> 5757 bytes source/images/blog/2015-09-mqtt/lottery.png | Bin 0 -> 4244 bytes source/images/blog/2015-09-mqtt/mood.png | Bin 0 -> 2962 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/blog/2015-09-mqtt/arduino-shield.png create mode 100644 source/images/blog/2015-09-mqtt/arduino.png create mode 100644 source/images/blog/2015-09-mqtt/lottery.png create mode 100644 source/images/blog/2015-09-mqtt/mood.png diff --git a/source/images/blog/2015-09-mqtt/arduino-shield.png b/source/images/blog/2015-09-mqtt/arduino-shield.png new file mode 100644 index 0000000000000000000000000000000000000000..792170b59f647918e2414889d8e06515aa5e1989 GIT binary patch literal 472125 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

    TqJ+4^FnJRxd^cYCH1Gn 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%0AnjR-tcEJG01i|>j*z?;`5 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

    ZDyJ_D5j5rW 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�SUij(P-*aBieDV06_oqhr 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 LNkvXXu0mjf%}`0Z literal 0 HcmV?d00001 diff --git a/source/images/blog/2015-09-mqtt/arduino.png b/source/images/blog/2015-09-mqtt/arduino.png new file mode 100644 index 0000000000000000000000000000000000000000..790aae09bf1b4d9314064a979f72bd54e2744d88 GIT binary patch literal 5757 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 SB&xUXg%xGhWXhz>L;eRPuzJD( literal 0 HcmV?d00001 diff --git a/source/images/blog/2015-09-mqtt/lottery.png b/source/images/blog/2015-09-mqtt/lottery.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae7c570db7fe3554ec2a9dcc07d33257c3fcb9d GIT binary patch literal 4244 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 literal 0 HcmV?d00001 diff --git a/source/images/blog/2015-09-mqtt/mood.png b/source/images/blog/2015-09-mqtt/mood.png new file mode 100644 index 0000000000000000000000000000000000000000..a8de8cd9bee54c32f5a4cc0946cbbdb48b192830 GIT binary patch literal 2962 zcmV;D3vKj?P)06!MZo5}G43c0rxAygOaS8Z1-$hWZq9zHkOFGkhiqjDRs#qCgO%Wr_rp(Zq&< z=0c#$eR=oY?+?b!%@$Z-0Y7RqdFAX7T1#LUV|{vA1UsQp_yKUj#i9G8&D|Z`0W3}?vMZq z)r9VMDdd>`72o|s+Y|H-q|>8n9^U-#A)gB$-u!Qz9#vyZ+F)PP6^{Dzi}tb?fDP8l&Fo$BorIp}FC#bHjMxjtJefo4>e)(m5e0(hQDk>^CeE2XmH8ps7d9i5GA`}Wm zADq%GI?tTw$B4Ey_sMK?b8~5IY$P!;k+iflqNAhPy?ZxWt=6pb-FM%yckf=7ELpZ{D0ITIHb7d$*Xh>eX! zsZ{dQPd}OUGBY!Yii#pKG7={zCzMJh@$vEa`}_B4n)&lLxY8RM?^&2qc?Tx)PaYLb_uvuDsJDtjVOxd@2jk=jO^@e ze*5h=8XFstBng1v;NWhbAW8iB=bxxlD*MF7_GnZtmm`(}Gu<%J*!Bqk>Ql^Dxp$Ye5eo%;gx=FOWZl}dA`Po6x;~AImE`snsvg$ z!Z>v35OsBRbar-9QBlG6?b~T@Z>O`f)2tU88_QQ;eMNqLJ_dtw4@ad^q19^HxN)P^ zzBH!1N0);$#-~@>2CC3jAg1rbXa5)XMF@C((?S%_Z?U>(W7Tv;KMmr|+CG`@aEsKc zN4#0vciT*b2fZLQ4NpWw`SzS4-unkGu=&Y`^dFR{a zd~J%!u5>{QOsW4?}HjWW-opIrEclE_bA(&@m{@S&^DynE}Y?3+CFe` zM|fd-pS`QyK+S30rL%}7xk&YOgK~0A7&{(C`=!t<8P2 z3|DuMBphcxZI`ovgT6Q>`e`tED3LDaK_4NzN3$8mxM7^X5=l93=oZHYBF6M2Xlv=m zhuP9y*A8MAQ0Yq1u+$xL(2*#10TqJ7ho$b2gUT1LhB0ooR~+Mp{Q1rI52$S76dc}3 zwP|#O;BXw?NkwJ{k878C^nvbocdk|ava&K#Qtmy( zTvSvIk~yHT)A>(=(3mS=xCCYlLz#&@NnCs9#Ir=b8{PB(=`|jY~8vQe}8|1 zf`T}9?3npkRaF&HQBed01egzH6ciMYo}O;CUS(w^2?+@-T)2=aQ>KuRkie29OL*+D z#{fu4NkOC0pjNAUJncCk&{L;QS(xtGvu9~(X<@~R6_l2iQe0e2ettfpD4IK+nwm;U zNePvel@{jLQ@!l$Y(DzvBQ9UQ%+;$`(doL+%uA9)US1xBg@xqj=hM{GM00cV(3$Sh zqepq=l~>T|beK#g+S=LxShj2#TxE-o(2pFf|;lP9Cs>xTw(!GZ-`ym%3{ zTFtIqyU=JfG&VK@;N#=N%9SgbJ$p8Rfq@pMRC=msO~#EIM^{%Dp`oFKhK8b6tIeOr zX!bH18I6LDf<73aqA23)>uYg}`i|__v4cH(_6$lVQ&LhWD=Qn`5ml?zeD>LA7G>@2 z?NnD+|9_dTzrR0MuU<7D9f$5KR*M%ew$M9p-~bwph8Z(vSfp^)%0K+@LjnQVQ1 zxL{!SG_5D|jfjY#u&~gaqZStz^X8jx^6Rg^nnS+JmoJl_pN~u?W9!zf1O^7u*4Flq zBPxm_(b3W7%XnpFWdsEUS;VM?g@wHP?z^Z|D#nf- z%LgBPKv7YV)$&W1F0pp)TD-lz@%8n!IOIHRpeBD!Utf<-r(@^NorH&n zTP+U>2_ZQ-na0LOu3fve~q)C&gsi|Sxwr&5ogi>B!PE=GBqA0R%-8$yX znFC<8JUBR*IdkTqR4SQ1efog=HyYHBf{ucYf{ucYg4#j;2f_;3#0VaLe*gdg07*qo IM6N<$f^e|9$N&HU literal 0 HcmV?d00001 From 24b4dfff1dbb12f9574b4e4e9cf38816d2139cf5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 11 Sep 2015 07:32:26 +0200 Subject: [PATCH 107/188] Rename post --- ...09-10-different-ways-to-use-mqtt-with-home-assistant.markdown} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/_posts/{2015-09-10-mqtt-different-ways-to-use-mqtt-with-home-assistant.markdown => 2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown} (100%) diff --git a/source/_posts/2015-09-10-mqtt-different-ways-to-use-mqtt-with-home-assistant.markdown b/source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown similarity index 100% rename from source/_posts/2015-09-10-mqtt-different-ways-to-use-mqtt-with-home-assistant.markdown rename to source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown From 901ede9d9461fb8456b0485c63f9c9811fd722d2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 11 Sep 2015 07:45:21 +0200 Subject: [PATCH 108/188] Update --- ...ways-to-use-mqtt-with-home-assistant.markdown | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown b/source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown index 6350be51420..612ce560843 100644 --- a/source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown +++ b/source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "MQTT: Different ways to use MQTT with Home Assistant" +title: "Different ways to use MQTT with Home Assistant" description: "This post describes three different ways to use MQTT with Home Assistant." date: 2015-09-10 11:19:38 +0200 date_formatted: "September 10, 2015" @@ -10,7 +10,7 @@ categories: og_image: /images/blog/2015-09-mqtt/arduino.png --- -The [MQTT](https://en.wikipedia.org/wiki/MQTT) support was added to Home Assistant recently. The [MQTT component](https://home-assistant.io/components/mqtt.html) will enable you to do all sort of things. Most likely you will use it to communicate with your devices. But Home Assistant don't care where the data is coming from or is limited to real hardware as long as there is MQTT support. This means that it doesn't matter if the data is coming from a human, a web service, or a device. +The [MQTT](https://en.wikipedia.org/wiki/MQTT) support was added to Home Assistant recently. The [MQTT component](https://home-assistant.io/components/mqtt.html) will enable you to do all sort of things. Most likely you will use it to communicate with your devices. But Home Assistant doesn't care where the data is coming from or is limited to real hardware as long as there is MQTT support. This means that it doesn't matter if the data is coming from a human, a web service, or a device. A great example is shown in a [Laundry Automation](https://home-assistant.io/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/) post in this blog. @@ -34,7 +34,7 @@ sensor: After a restart of Home Assistant the "Mood" sensor will show up in the frontend. For more details about the configuration of MQTT itself and the sensor, please refer to the [MQTT component](https://home-assistant.io/components/mqtt.html) or the [MQTT sensor](https://home-assistant.io/components/sensor.mqtt.html) documentation. -Now we can set the mood. The commandline tool (`mosquitto_pub`) which is shipped with `mosquitto` is used to send a MQTT message. +Now we can set the mood. The commandline tool (`mosquitto_pub`) which is shipped with `mosquitto` is used to send an MQTT message. ```bash mosquitto_pub -h 127.0.0.1 -t "home-assistant/fabian/mood" -m "bad" @@ -47,7 +47,7 @@ mosquitto_pub -h 127.0.0.1 -t "home-assistant/fabian/mood" -m "bad" ## {% linkable_title Python MQTT bindings %} -The last section was pretty boring, I know. Nobody want to send MQTT messages by hand if there is a computer on the desk. If you are playing the lottery this section is for you. If not, read it anyway because the lottery is just an example :-). +The last section was pretty boring, I know. Nobody wants to send MQTT messages by hand if there is a computer on the desk. If you are playing the lottery this section is for you. If not, read it anyway because the lottery is just an example :-). This example is using the [Paho MQTT Python binding](https://eclipse.org/paho/clients/python/) because those binding should be available on the host where Home Assistant is running. If you want to use this example on another machine, please make sure that the bindings are installed (`pip3 install paho-mqtt`). @@ -62,7 +62,7 @@ The first step is to add an additional MQTT sensor to the `configuration.yaml` f Don't forget to restart Home Assistant to make the configuration active. -To play, we need numbers from 1 to 49 which can be marked on the ticket. Those number should be random and displayed in the Home Assistant frontend. The Python script below is another simple example on how to send MQTT messages from the commandline. This time in a loop. For further information and examples please check the [Paho MQTT](https://eclipse.org/paho/clients/python/docs/) documentation. +To play, we need numbers from 1 to 49 which can be marked on the ticket. Those numbers should be random and displayed in the Home Assistant frontend. The Python script below is another simple example on how to send MQTT messages from the commandline; this time in a loop. For further information and examples please check the [Paho MQTT](https://eclipse.org/paho/clients/python/docs/) documentation. ```python #!/usr/bin/python3 @@ -96,7 +96,7 @@ Every 5 seconds a message with a new number is sent to the broker and picked up The Lottery sensor

    -With only a few lines of Python and a MQTT broker you can create your own "smartdevice" or send information to Home Assistant which you haven't think of. Of course this is not limited to Python. If there is a MQTT library available, the device can be used with Home Assistant now. +With only a few lines of Python and an MQTT broker you can create your own "smartdevice" or send information to Home Assistant which you haven't think of. Of course this is not limited to Python. If there is an MQTT library available, the device can be used with Home Assistant now. ## {% linkable_title Arduino %} @@ -107,7 +107,7 @@ To get started with real hardware that is capable to send MQTT messages, the Ard The Arduino UNO with Ethernet shield and photo resistor

    -The [MQTT client](http://knolleary.github.io/pubsubclient/) for the Arduino needs to be available in your Arduino IDE. Below you find an sketch which could act as an starting point. Please modify the IP addresses, the MAC address, and the pin as needed and upload the sketch to your Arduino. +The [MQTT client](http://knolleary.github.io/pubsubclient/) for the Arduino needs to be available in your Arduino IDE. Below you will find a sketch which could act as a starting point. Please modify the IP addresses, the MAC address, and the pin as needed and upload the sketch to your Arduino. ```c /* @@ -180,7 +180,7 @@ void loop() { } ``` -The Arduino will sent the value of the sensor every second. To use the data in Home Assistant, add an additional MQTT sensor to the `configuration.yaml` file. +The Arduino will send the value of the sensor every second. To use the data in Home Assistant, add an additional MQTT sensor to the `configuration.yaml` file. ```yaml - platform: mqtt From c83f4e01cf178f6b820dd6be743b665c3bb194da Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 11 Sep 2015 08:03:39 +0200 Subject: [PATCH 109/188] Add missing entry for verisure hub --- source/components/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index 5a3e7fc923c..4b2af3374a7 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -310,7 +310,7 @@ Home Assistant integrates with a variety of third party Home Automation hubs and [Wink](/components/wink.html) [ISY994](/components/isy994.html) [Modbus](/components/modbus.html) -[Arduino](/components/arduino.html) +[Verisure](/components/verisure.html)

    Support for these devices is provided by the Home Assistant community and not From c4a017063e8f006d8f2a8e9a11b035081434a91c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 11 Sep 2015 08:58:21 -0700 Subject: [PATCH 110/188] Move post to September 11 --- ...fferent-ways-to-use-mqtt-with-home-assistant.markdown} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename source/_posts/{2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown => 2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown} (98%) diff --git a/source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown b/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown similarity index 98% rename from source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown rename to source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown index 612ce560843..119bf245e9c 100644 --- a/source/_posts/2015-09-10-different-ways-to-use-mqtt-with-home-assistant.markdown +++ b/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown @@ -1,12 +1,12 @@ --- layout: post -title: "Different ways to use MQTT with Home Assistant" +title: "Using MQTT with Home Assistant" description: "This post describes three different ways to use MQTT with Home Assistant." -date: 2015-09-10 11:19:38 +0200 -date_formatted: "September 10, 2015" +date: 2015-09-11 11:19:38 +0200 +date_formatted: "September 11, 2015" author: Fabian Affolter comments: true -categories: +categories: how-to og_image: /images/blog/2015-09-mqtt/arduino.png --- From 49d6c3e8a23452ec8416ddee8b2294c0674f72b2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 11 Sep 2015 09:26:27 -0700 Subject: [PATCH 111/188] Publish MQTT blog post --- _deploy | 2 +- ...s-to-use-mqtt-with-home-assistant.markdown | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/_deploy b/_deploy index 5a20d28e543..c16793d62c8 160000 --- a/_deploy +++ b/_deploy @@ -1 +1 @@ -Subproject commit 5a20d28e54328a61b0719eccbffe13cebf59752c +Subproject commit c16793d62c8e54a260fae7cd6606c0ffbe376e40 diff --git a/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown b/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown index 119bf245e9c..cf01742ea26 100644 --- a/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown +++ b/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown @@ -10,14 +10,15 @@ categories: how-to og_image: /images/blog/2015-09-mqtt/arduino.png --- -The [MQTT](https://en.wikipedia.org/wiki/MQTT) support was added to Home Assistant recently. The [MQTT component](https://home-assistant.io/components/mqtt.html) will enable you to do all sort of things. Most likely you will use it to communicate with your devices. But Home Assistant doesn't care where the data is coming from or is limited to real hardware as long as there is MQTT support. This means that it doesn't matter if the data is coming from a human, a web service, or a device. + +The [MQTT](https://en.wikipedia.org/wiki/MQTT) support was added to Home Assistant recently. The [MQTT component](https://home-assistant.io/components/mqtt.html) will enable you to do all sort of things. Most likely you will use it to communicate with your devices. But Home Assistant doesn't care where the data is coming from or is limited to real hardware as long as there is MQTT support. This means that it doesn't matter if the data is coming from a human, a web service, or a device. -A great example is shown in a [Laundry Automation](https://home-assistant.io/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/) post in this blog. +A great example is shown in a [Laundry Automation](https://home-assistant.io/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/) post in this blog. -This post will give you a small overview of some other possibilities on how to use MQTT with Home Assistant. +This post will give you a small overview of some other possibilities on how to use MQTT with Home Assistant. -## {% linkable_title Manual usage %} +### {% linkable_title Manual usage %} The simplest but not the coolest way as a human to interact with a Home Assistant sensor is launching a command manually. Let's create a "Mood" sensor. For simplicity Home Assistant and the MQTT broker are both running on the same host. The needed configuration snipplets to add to the `configuration.yaml` file consists of two parts: one for the broker and one for the sensor. @@ -32,7 +33,7 @@ sensor: unit_of_measurement: " " ``` -After a restart of Home Assistant the "Mood" sensor will show up in the frontend. For more details about the configuration of MQTT itself and the sensor, please refer to the [MQTT component](https://home-assistant.io/components/mqtt.html) or the [MQTT sensor](https://home-assistant.io/components/sensor.mqtt.html) documentation. +After a restart of Home Assistant the "Mood" sensor will show up in the frontend. For more details about the configuration of MQTT itself and the sensor, please refer to the [MQTT component](https://home-assistant.io/components/mqtt.html) or the [MQTT sensor](https://home-assistant.io/components/sensor.mqtt.html) documentation. Now we can set the mood. The commandline tool (`mosquitto_pub`) which is shipped with `mosquitto` is used to send an MQTT message. @@ -45,9 +46,9 @@ mosquitto_pub -h 127.0.0.1 -t "home-assistant/fabian/mood" -m "bad" The Mood sensor

    -## {% linkable_title Python MQTT bindings %} +### {% linkable_title Python MQTT bindings %} -The last section was pretty boring, I know. Nobody wants to send MQTT messages by hand if there is a computer on the desk. If you are playing the lottery this section is for you. If not, read it anyway because the lottery is just an example :-). +The last section was pretty boring, I know. Nobody wants to send MQTT messages by hand if there is a computer on the desk. If you are playing the lottery this section is for you. If not, read it anyway because the lottery is just an example :-). This example is using the [Paho MQTT Python binding](https://eclipse.org/paho/clients/python/) because those binding should be available on the host where Home Assistant is running. If you want to use this example on another machine, please make sure that the bindings are installed (`pip3 install paho-mqtt`). @@ -98,7 +99,7 @@ Every 5 seconds a message with a new number is sent to the broker and picked up With only a few lines of Python and an MQTT broker you can create your own "smartdevice" or send information to Home Assistant which you haven't think of. Of course this is not limited to Python. If there is an MQTT library available, the device can be used with Home Assistant now. -## {% linkable_title Arduino %} +### {% linkable_title Arduino %} To get started with real hardware that is capable to send MQTT messages, the Arduino platform is an inexpensive way to do it. In this section an Arduino UNO with an Ethernet shield and a photo resistor is used. The photo resistor is connected to analog pin 0 (A0) and has an output from 0 to 1024. @@ -197,5 +198,3 @@ After a restart of Home Assistant the values of your Arduino will be available.

    I hope that this post could give you some ideas about the usage Home Assistant and MQTT. If you are working on a cool project that includes Home Assistant, please let us now. - - From 2af515296be4271b8a16561020e3a37993e22ed4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 11 Sep 2015 23:42:14 +0200 Subject: [PATCH 112/188] Add arest switch page --- source/components/switch.arest.markdown | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 source/components/switch.arest.markdown diff --git a/source/components/switch.arest.markdown b/source/components/switch.arest.markdown new file mode 100644 index 00000000000..bb80a3877fc --- /dev/null +++ b/source/components/switch.arest.markdown @@ -0,0 +1,40 @@ +--- +layout: page +title: "aREST switch support" +description: "Instructions how to integrate aREST switches within Home Assistant." +date: 2015-09-11 23:15 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The arest switch platform allows you to toggle pins of your devices (like Arduino boards with a ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. + +To use your aREST enabled device in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +switch: + platform: arest + resource: http://IP_ADDRESS + pins: + 11: + name: Fan Office + 12: + name: Light Desk +``` + +Configuration variables: + +- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10. +- **pins** (*Required*): An array with all used pins of your board. + - **name** (*Required*): The name of the variable you wish to monitor. + +Accessing one of the endpoints (eg. http://192.168.1.10/analog/2/) will give you a JSON response. The interesting part is `return_value` which represents the sensor's data. + +```json +{"return_value": 34, "id": "sensor02", "name": "livingroom", "connected": true} +``` + From f849d749279896d2d2602dcebf14db0d33fc6c37 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 11 Sep 2015 23:43:19 +0200 Subject: [PATCH 113/188] Update variable description --- source/components/switch.arest.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/switch.arest.markdown b/source/components/switch.arest.markdown index bb80a3877fc..38b6380d38c 100644 --- a/source/components/switch.arest.markdown +++ b/source/components/switch.arest.markdown @@ -30,7 +30,7 @@ Configuration variables: - **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10. - **pins** (*Required*): An array with all used pins of your board. - - **name** (*Required*): The name of the variable you wish to monitor. + - **name** (*Required*): The name of the pin you wish to toggle. Accessing one of the endpoints (eg. http://192.168.1.10/analog/2/) will give you a JSON response. The interesting part is `return_value` which represents the sensor's data. From 8d99ae40914b31d7da93fe3a06fd5d101c1e1235 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Sep 2015 00:15:57 +0200 Subject: [PATCH 114/188] Add arest switch entry --- source/components/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index 4b2af3374a7..bf39e5bbfad 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -124,7 +124,7 @@ Entities are things that you want to observe within Home Assistant. Support for
    - aREST sensors monitors values from aREST enabled devices. + aREST sensors monitors values from aREST enabled devices and switch toggles those pin. From 505424e0404cb2a0a6be84ba8a00cf578886487d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Sep 2015 01:09:21 +0200 Subject: [PATCH 115/188] Add an example for with curl --- .../components/switch.command_switch.markdown | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/source/components/switch.command_switch.markdown b/source/components/switch.command_switch.markdown index 70efd603d24..0d4a634c6aa 100644 --- a/source/components/switch.command_switch.markdown +++ b/source/components/switch.command_switch.markdown @@ -14,7 +14,7 @@ A switch platform that issues specific commands when it is turned on and off. Th To enable it, add the following lines to your `configuration.yaml`: -``` +```yaml # Example configuration.yaml entry switch: platform: command_switch @@ -26,7 +26,21 @@ switch: Configuration variables: -- **switches** array (*Required*): Contains all command switches. - - **'entry'** (*Required*): Name of the command switch. Multiple entries are possible. +- **switches** (*Required*): The array that contains all command switches. + - **entry** (*Required*): Name of the command switch. Multiple entries are possible. - **oncmd** (*Required*): The action to take for on. - **offcmd** (*Required*): The action to take for off. + + +The example below is doing the same as the [aREST switch](/components/switch.arest.html). The commandline tool `[curl](http://curl.haxx.se/)` is used to toogle a pin which is controllable through REST. + +```yaml +# Example configuration.yaml entry +switch: + platform: command_switch + switches: + arest_pin4: + oncmd: "/usr/bin/curl -X GET http://192.168.1.10/digital/4/1" + offcmd: "/usr/bin/curl -X GET http://192.168.1.10/digital/4/0" +``` + From f74a8bca6d19b11095eadae042422b094eee5160 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Fri, 11 Sep 2015 23:25:02 -0400 Subject: [PATCH 116/188] add iTunes logo --- source/images/supported_brands/itunes.png | Bin 0 -> 16738 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/itunes.png diff --git a/source/images/supported_brands/itunes.png b/source/images/supported_brands/itunes.png new file mode 100644 index 0000000000000000000000000000000000000000..f61681b0d1ed666259689ca0c688843a3118508a GIT binary patch literal 16738 zcmaKU18`-{+U|~Rb9QzzvCWCiiEV4gwkDVfXOc{8+cqb*ZQHu@o&TKw-dpwGyQ&dkLK=wWAT@678V0Q#3+-oN#Kx|u-0e~Gx*2!Q^Jl%~8AP!#NB2IOGmWH4do zFtTuPaj|pJ16i3_IGC8(nAn&ZSlM{lnR(e+f&YF$e@AmNHRn|pllb>oe_H|| zOBWXhUM41YcXvj2Hb$_M1rrMo4-XSFD-$a#!(RyoXHR<#uz|Iuh<40d%90R3h9UnbZ&$jkq?VteO*JL<2?m^_Rem{=H@ne6QTvFl&b&MwMk z|C`4DDDAB3>0rjBY~~Dhbu#%I4|DSWfdBgL|3A<_f`8fYih)gB?ab_5q{Re4e|s2B ztxS1^MY&m+StZyxSXkIuSj0JmS=e~Ex!5F_Ia%2`h1og(gO#>-b}_OyG5ZhJ>VIR| z{=ZmWQ71Da7qF8m7;O8W=qXu(UBJ$kU?nAya{S-9BPg_+s@;m^a(BgP}f$;>0h!onlU#tr&6*7Sd{{oh#j z|0kB|FBztPg8P32`#)WOGw7e{f2Z!>#(yWjnf>34clw*!DZ?b}0D!=>w3x7}$MUH! zTpESh?}v}_lJT{K8HL5RD%nLC1V|()?5`BLg&Et$0T7CxsSEuwHjaw3JdR0LF>YsL zZf2nnXfwj`h2rzpK7-SKBotckx@*k62wdo>tUW}1r7X$ip)S_qx1%TDA^=AXWKJVC(r~-9nG(0p7@a%a~I!CgD9`_j{Ak6-Kvu9 z@aRMw$%cC3hML^HODN2%U{vWoy!wzJBn%YEZiLD1tSqkG6IzI&vL90$l{+r`v=blL>x~FZUwr%!;Ds1~YGrfWYH0MaGM*}U(Wa(% zR*2~Iu@ZDxeZ(!Nv(9qTatKvX4tBHJG7)MEXxyAU+&eo;6+<3+pD6vE_7 zB0uM}38$x_7IUeV$^shh-pp@=(FpED_AlvTZeYHw=6zTu0MOGE`}Vfr-#nmoWdQOr z2+@Bi{g~t~Y`(J61l55lRa(FY_k3WTk5e@NmZK*FTsdb!!2RwN32G>#UiEG~8k2#K zG+5(BMi`h^ORNIhTstPJfv4f0@ z+=Qfuq&`A^+@oFc~0i@_>d04$nt!343}<>ySE z+pY<&`o?j*RqAHUG7*pNVw2oN%ZoFrT*J?gMv?$H62uNmX&B;qIzw=D^kwYo6>8ds z5l3WxTddCw@cV&&(EF(KWTp<9$zb>`vnEv_12)LDXT`no)SKRLMrPGA(p7^e69Zcl;^&9j+e4_6Ky*BdU6Myr3QVcU zS~i}Wk$PQxT^wb_{*8n^a7lejHJ^QZnLz#J26D8RT~h-tSqTf09-20|;T*p>OcN<% zt@>zcLcr^S98L?V?goqajqZnUALf(T$5AdHU z?iwx(WD+cT23962Dum?`AwNeEeSKUrp?=+(ptd6l6TuAR;L=I13sqEfrqa_u|G0b2 zj)Q2!F4?)flkJ+Oc8c+*K1lIg(L%EOz-s93iP^LeI)c1y=l^;o*v1H`q98nL+PR(aud(iaRbf`JPpp{9p}_^X zoy8B32;RtDMhODe7c}<@dxO1VkzO)%U5#A67w<;MDRFzmuhrE(c7+<#vN^bR^P2%24O$ZNUT6Tt} z->~osu(-T4bvoaRw(7s%7?1!M_3IvAFFKz_`3w)4r8{+WE2T#= zj}!0KfXk;~b^ZH%EX60ZT{dR6-4�big7j{QNYe-yBu9;+J8{whp|q8V!-K@gD88 z{x2mcm!qE+jBokeg){$vm^+Dj>S!?FTTIF=BO5lc9yYGGF3O%ZQtv$hKCW|d8oJJ} zGz%uY2m+bp5tW*L&ja#ZMCySbGk9IzE#zY0Fx~w(yY)!ubz&)#bJM{StNtgy76cp@xE{0sK4yDyna|&_ z6h0{9cP58hEP@_IHo&A5NSVm(OnwcZ^R>=ln;+aGr=^F6Cs^uBF&cgLPbw=yb!htf z@cYjz3J6{ z92N9V#RTPl!Dk)bNrkb}PH?tXzJXDZiwvlyMMrQtP@#G9WGAJf%j^ZxXlSV{#5KVq z!D09Tsc|o!A9qqKM)h1F)MzIdKndvJhzYI!J@K zk9*L@qj!3Ar9c8_*(}i;^_V;I4=PNRsLx2kCWerL8&CkFs}IvwV7L^7uDpPrZ=Vf(UjLxP z9+<{&{qPh^bP>(p(B^7^v0xP3I-JPxxZ>)#9{i+xmjcm6AaJAje)!cwUo8bcv|Cm7 zB4N?u8wvE@CqW~I4(er9S^{Ey#SJe^hPI5teNo4AN3!IcWeM#)yY8hYIoSSk9Xn%i zs5D3q)7t~vnilGZ0+2Fd4Z8dXch%swZ7|ylz8s-jO-G)t)So{AoA*qS6LMd5EUCWH z9t@SvqC5z#pjS9ihlp#mqcrQy4B6rfTW0AEe9t5z>J!XxTKd(w@jBa%2G)7#A|-0@ zwuTZ@W8ik_#%aZz64T-35FSMYw&p|e2c=>>`6O6arPR0iTi=uEFG@!`48pgLh)#s~pcNITje%n`dv+{PHKq1+|1VjHSNf)suu#;c$j ztqMptct-tFOnft76M!rL@UjF6IHMD;d4a7r6oN=rk|d7$;z+3fINfe2PpPVG5Iob% zUG|YR|KYqWY5%_Z;rH@ZnS#ijZL+!OUdg|=4H@Cb*jH{@1e~hW^TGW&_iaSAvbU=u zOaG0yL-zXw=QZ68z1SELs-4M?M;xIdR zf#Ah$RA!a_8&fnNkGoc;4&OCjE`j!)P|1CnUIA;=w{;?>$LyjJCU_A#h-AKD9PJM1 zrE=}*O<&Jj=! zkOR<|c#doG-{6?WkFqzb=Hp-JOd~RJoAZ3{t`B+`! zza}|ox+MyQ`y}y_NFr6nudBYQ+2=;mVhc;l7+0Yh&eW_^AMuBl_#C~yE#}30{QcJs z_qIMi(YSY{HlvtT9(<`rsKz^P=%lGoXZerh{SGZq!G!|F7Wdb;P5 z0X9Hb9OeC{q)~rxhGx38jymWCZZIp|8T6A}BleJKY_sW#;7jSl+VTYgFC0}N25Lz8 z7a^5!PYaV@3udSqddAxIt}Vx`yQ+9wbgQSQJ8OSlFtNCS%y#2kBtmE7K*mouQbiNW z#Ub~iFDw^7q2fqo0!!zw8Vd&<|9Yo|QE1@N02!b`>aaa$XD6Fdz&0~Ixi#Zib+2BO zlxCLh|MeSM@PfU5iUCj=UQ4_xijf~Va2`LhIj5{(`4?$#_Zu8n`@tbn z<$Dw$ph?i@E>fkEg-trbYs$jnJT2sTJR#eq@mH`w+Jx;*>s_XzN1KGuJRT-$wc5&b z8TtkpZ3+B|+X^i)6IVZ3mUX8(J!DIB2Qqa1=oO??OHSeg7xsy-=vQ6+0G&P!eiD7x z^wm#LB6E9D;cgU@{sV}n1J25b@aVQwm7BhUohK==gyC)5fF_q=$4^#vI>ecO^2^4T zhlzi}++^vw1i99PY2|jWwWKW^dVAboTKk`Cb6&ix!r&(jS=gH>Fm!SzAJXeZw}JyM zuLSuNP}7x4uq9~DcY^%xF~A=~bf^JziRoVX^kiu*-g&Iy-NQ)e@9A8%5wCPvtIg>vrP90BC}$Gytez>{uP84ZOi`{n3nOEo z4kPDQiaPSow$i{a&Hxs=U;A#~N|qOCFQUH0JE%avQ89^f{%*|qe(RmPM8U{=-$SSW z6_7UPeb^k;lKAksRs}Q%;oJhxnc4J_mdiljI+N}bwy2ovYi>fWes+QHqKyOivwCzr zMrY_i5s zy5+Sz`-r7X`!=j&4vyIUoDMbsje+;dL}WBkuG*syrq{}{urg>mv8rhU>&w31v$ul( z74JGk<3bt9?b6190Hsa2?$rZ!0SU9EpwXj z95SHy>KuWzp!dzpzR>__Cf`&$1ea)7nG_)qqk7I$4;~|qWBW8<}mu9)dKBupwAtTku9c+Ig;W;L}(&=ZL!T9ujl?Q zPnL(+c_@`}wG?m|Q^&+peUrsy?j+5N)B>CqF6+cvW_4RaflyK6#nJ}f-^IA#@s=z7LWXeb&&HJqM;}?d=0g}5z5*hu8tJs zrolEVwfJq3hbD}!pLi~mg!fHCy4Dt;hf@u+@1)UO*wgeCu`y$^4tH^v(hJpAvWza8 zUpie#s#nUI7>+^U`bRp$nyf@ZFVO=cK;c5`F43WmsI{O$d;UWVHJdF_G+UhYh9?sq zwG_RP{=DSGM-z(qkxs(>J;JAVE+4sA>A(C(HhYhiASMtzi&xXYV!;$5zcrFF~ZW&*#hz` zYNh(YUzk;g40t}8>=796SfzHiLh9oQQNK;=T}6S-rJ5EYW}R!FiAcE7=YU*rE# zNBB^=msU!+*?>XK^-CIRjyN3_9ED}^AdI0aV1V8#>b6fSP_C4NfmR*GEOyjl63;eY zW&Yzu+qOYNWMfV(>IG%)7qXM`wk;=Z`8?Y77v$b&tU7CzK^9fMELrM`Qm2J*_w5B3=Ie0O>F9HgncI?ciSh?;_SeKv? zSkDpI-!o_Bwr#6|zB0BndXaXVm9QX)CJA{M|AO5UDinSsxJ8qgPXZc0PDNM;wE+R5Is=rFyENc|CH-du7y2RU+qGBJ9-)UC_0P#=9B~zQ zVl88Zgwr2KB7|#eQ7tbmcq9#jfmyxUiNqMF^}?eAdp!U-BBjK5>c1=P&SNtul=W~1 z_r0sL^4FNw>$P!PU7?*X+m_kFsYdVQ9T-P}n&)fS&;3JYlP7%}cDb6i!hC+fv^I{ALn}sjpVj1mn!bfuTBo+qc}jzcW7-+AuX6uAVc69*pcmwux0){89F^2 zHZf!{7lzs2u)jp00V1*gpfccVjV`^B^dQJoiNj=EROvxI6|V$JSOgMZ8Pih9f|o~e z(4pO{t)#MQAZdGD4k(gpxAa_a_%>>_72^8fJWG~6@{OuE)R zYwQUiu&pkQ$ z^K$cDHQFq(5GEQ(Xb1%O*}47b{oRUvWY5ZUZ9NVLi+aN-DSP6y{P3D`~=wY9BvHH}Xx1UMf;+ z_Vc2(h#V7|MC$=P#J=PUFS)huecv!JDqDz*g&fc&|Hb5oMY~6rZW_dT0G2qcV&mUD zLUb75M=Vb4wMl0IBeV>AjHD==@3WrgoJ<;&v6|G7=B;eII`PuD#6g?R@#^V*G0Mpf2>lqZ*z4a zpg2W_cwGZrFyJxu0UCr+>R;e~>}s@a{YKD&4N!uJ+=D!JwFN{kjj@+t3ET^;2nAT? zYr_AbI9H z8ug+*wSLYyeXoLW38Ci`f-Rp#%)C67`K(|2`b*#SJRP|Gk{*U2`xLen33V7b2%9Xu zJzFGkv0L-3q|Bc4t3ZZGD7pwIeK|hNIU1@e;FpDai$2tRtRx!WRY_GDRr84NbUVjD z(%{@qo8Oq&4=_0XP$U12sU46FY1>$;8$a*{iPA>7vp+uSurYq8opDPZ{^+{}shw?D zZVct2ygM3A!)={!tL&{fKy9q~YL3xLF?A&ZJ`f{Q10nT`M%$A_Ym=y#UR90srZfRzMx}SRx=Ak@?JK z^Gj#Hb-87X+F)rxDCGN|&KJhmWCW=R@&4(LmK-m7&-350``&Y|8U+K4Rd%#jIi}Y# z#6ljRNM?9X$8o?Uk0Q}{8&UNnrPd113|GY&ZfVSFwdM~?llfbX3S3z$GF6h&oa&y=kZ9H$V$E!YiqSU#j`Ho z;UQFpgrQiS9w{Op>@p3pNy$~e1iO0eZadQH|=m@*-4c{tJj+0bt z?p)Om)SaVH0x-E^M--_3ZYZ2Bo$Y9ey1a&8T1TMDf!zMY8d|!LxqkCrXtt2OQ)Q0+ zU1GL|5bt!Ft_7fGS#uMWHxOKZsBo+e=jCF>ZXd)&`5gaZ1Y?e@VFGXBJ@D!Mif{<= z;0RQn;Q%8(6c&)gv=>Lb#>rv?i`+vU4;9 zTNT07j_FBe-j8Ki5&Tkw=Plv+Yj0;l=$FV7DN1abh8)EX$utqZShTX-GhX zD(5<8BiOm{J;*S2?7^W6N*Y7Yq&7eNT2yZb@OAP{NyAYID>LfGcVUjklp1ugqO+{1cvj*coN{NiGk4C18*o4?_u{(gZ!9)l7(o9v1K3BZDt z!Qy=j*iL=?J*E`9^i#r+YM7`P;#`zpGmR9L z)-ncea*k9)M;0BeoTMM>#Mx3_Z1<7aMm^SlzE$C{^4Z7Z??k*unDms};~9uDUavCq zu5v(DQ6X=2Qu%RV{zXN6a`*l;nnBXF?0gR&CWykCQV!egD4ZA_#MF(2K8Wn9Qk0G} z=xg5_KoBps-W6?i04XDa$lQB=vr~K0QrtWvskYf-n-uN^|8)rmtu$P$>>ZvQY-rmO z{)6vk@i+Z;Xg0B5<8a9QY6Ln)j+n8*w;6opmBr(W+18BMraR?vp?E+nJUouj zG&OGj?N9?lP?$F)z*f%AiziDWnytyzhD*Q%)G7asud~0cLZ#WLB!d9ee*r<9k~{M#j?!sNsO_9Sz}=tc@dhe~#l$4o>u zhe|dN1Z8yV)(8>-(%`ocuV;;LI%_;P?)P~7VEMy;T=Df-F47S+rr@-w;!@#g1f5a` zGBWge3Ag((7*FjLa9Q2Blm2oTa<~ z4U0rB%C6ENyE)0KRAwrjL|V35`#1uhn+S8);2d>1jIA6lvd|{i#+tEYT(Ef=RNgv9^*6dUlz~?= z;&cbUu8Jx!sm^I*N;2q=AN*ZyeudW+7B;H|j+8C7s-bW37JxrRcSg~;_(`S)ZG1`W zyX)LN)T@GjYahGjtTa|`Y&xj4+Q3||T5G#@K+syqT0A=*ZINWwWeei2blNJZAem!C zJ80XQe z5GEy!49qifN%bHt888109fORxp{YekH<^^l$c0a9^90Fb7j^5mOK!dfPOee6N!8OoIWM=BM8>F>qa*lu6kHoz9n#CDwKLmozt6N=Gqj%Nf=2W7-^g~RBo zam&WW+Xzrmi3m{%FSl(kKb;)G@QYM&J>`tanyrz{>3WokeWar%F0~${2@Vq-=cYUQRYh&tid^Hl|R!|OBN zi4#_@e+EjPIXQ%>(;Hf=pX0;|UV81c!+E?UY1a@rK#A<-uq!-HC4tYAde1c<|Y>N*GbEiw2A=w|)1dD}yNy=F4WYN3Jd=8>VB ziPfi=3Zyt;4vAIvG!$}7oX`7iO2d@=7IW3n+S?ihUfl6Q03hk@tGWFA#9HZL1<7tk zmFnKfZeA?=zK7{F;s+t8`cLYrv+m3dm9NP^R=6#o08b;G8=enq!Np*|FF73KrG@CH z&;uE}$-2E$e%J(It=z{_Eyv5Uf+W-mY48j4<%WDmw~`&1y_@8;hzST{m@Hx|J(h%7 zq4V@_=6|wcl0%I2(#hZiwFalpCfa+7_7$qX1agHU;Pfgna}emUB=7Cdg?omT98t6l zG&Bm4gYt!I;#zX++1QCfsoKYKRxP5%;R25%Xrc=(ZIHAwB!KJRckk&N-nPbDElQPs zYC#5kM#@#>XLq?E7nn-kvzYm{SBQP;lcnpoHNWN|I!NLd~JiW zi-1Y?XBI#c%jy?vv7=t+-4w}BBwye@#^ zT*)%2Ad+LY=`MdTQY0xwE_4DU)6*V))_CetH!NXp6(;b(J%Q2D6JVA=rXILkWQlMv zz~>`;;fy00S-)GRo*)#P!{;rAmC8XmAXs0t%W0I(n=hqOR-M4!%!n-ZQYg7= z`JsCL%zn9okR{NQx7J%9d;61f&G!V&?OQ`FOh8>x2L98SVg|maQ5)Mb2nCg)o4H=E zd)^@K9l3ce`I$jYKPLpMk0ux9b!&xITgMCI!tB}&3epmnOT!+ZOj(5lScO7Q3Kqpp0k{fKn%rq(V{R{if%M)6N2Qp{Xs>(8UjZ z_xQqirNx2KkD|us26_hM=4Jcwz#>mOiUXz4zwlSW^!oc5`RrD2yy8>qbbF%!rloL| z&!T^PIMFQ`us$#%O7x~9r}`BeI>jpF_;P;cnBxF@+)Y(5N*VSMLMCH|2V|y_2ZsMZO1S#cy;>+fs@)W(lLC52>uB!2VwDV6v3yY z3q-;tmpyMRKs0t&C0wWbPD@0bv3H%8e${-Ap*3CLCL>HX^8=bbcLz)5ysNRJGfz7G z8?(q&tehdfz440f1@1?|1BY&3BN#8s`W>dIZQQuE(RP@1wSxD{50AyZ%{ox6ojuf~ zDWlR)VX9PS=43S%Ri(?lTvl#(M}$^onXw-g$Ndo2;}b;axeNu4t6xeCkpgM6wH7{| zT6ZtDY;8Aqzu$zd$#b1D0@xFXbo{TUHNdznlI$jtGFwt;y(8{6_`VUZ52Ur`+v@Gs z=*l`$Kb%Y@MDrBNAl<%&o1s(RL*_n%2anzPA-_>8NsCF09cLr0{{o{M;!K^Ti{0+& z@xGriNY_co@pEMZ%~Vf(sxPk-Yjqvkg5(K)-PVMemBV(t6jAuZA<#I^Zfi{_*|Qmu0S041^Vk7>M%nO^&N^3Fu%8n3;cw zMnr#!N(==^XXCO;xst5^syx)iwFlhJpXuu;AmW1EZ93 zmrz-z%VZ_{sGxLj{ETe!YQa#d6DKQt2)GP$OI&+NYURPz<@|Ag*1Bt{>A_j`9F+M%uQaHqz&D0?n-{<$JWo?)L1)d68~q9JH0~PF@OkzU z>E)E-6tQxL=S}j4<5MQT|DlrUe{`9Fa|2t*sx(9>k46_hw!?k0&kl(ZO;128C%i^# zfpLHqg1mb3%iLCnNTRG&M0ar7{So<6O^J4v1&twrN-N?M) zn_4xZnGw7I*G$eJ6!H1+h4E3O3nsz#P?~+H@f&a6rphMEN;I$VDk zvq_Q7DE9CNlTG(y<~)kPRrD{oN&6#-d4B=kiMM_ zk8tTLAjf7qS>R8+vwlys&$T{Q8ymv)+EqrTQy3+m>WxdO2|vR3SQWL*f(&x%ldp&5 zCQs;EvM8tu@p&B1Q&w{u@I0Gk=-lO~w5WDEZ+^3@uW(a*2)bBP6fhT9-7%s?VN~nr zJY>l$^ox%bq`bT7jR4?=m2I=e#iM<~?nk*v>ptM{(3mpGDFhd-Nqt~H z?%oE)b&xoFm&B1Op&PL#~W>pSjNS?t*WYHiSWOtc=9G=Tr`L%{fW zYKwH{>ZfpaUCt3~U=Cc}k9*yrx~mAVvi*$$xGz9-kPSpX7)U(%^yR|I@n&3#S*Roc zInOQHN4vZ7y%+(;NoPA9R<76NXRGyVd@o@%FJG|A2V+zw<>*a3x;|UWR0( z*n0y>BHjJ_L&2pz$S<<5CK+nXJmtLq?FRRJqHV{(!aG;zoZOT9nXl10escR78vXBz z+oU8%2wJ(FUQfO6cutF6OSSJYBvK@BjySV+$@wV*yY`W^QenP2P7K3mx*)|epTlS3 z9{T(@qM`U=ESX_7y8O4$>i0jD>m54-6Z+6g#YUlu=KPsnF6*LzuFrls3u&*9Ehcy* z^&Y(;G~ylHrBe)u(O#0I7QSAPGdp5=$O$AI=i+e-=B**+Yb~qbw-j_YTLk0CS4T%h z#9wWZ9#{-=tB)-19EiEp)&d9?w_3;W1p9^e`@!evwIQmb^g!8}Z?QQw*P=STN z1O2ctI-$i$51sJ=YMsVxv2!ZBxlKN7b3z;{gs8QmakeD>E*S zFbf$kvu7ePKg^oHkKkP+W96+VHd6$1`NtyHv%oyj6NDjxsiS|VGf_W`sNO-Vw?td8 zEjd#{*~S!jcwIO*r4FJiftBT4;E-Q$q#zB5ql|=wB<0XEZ}p3~K$Q0;YY3%`w6@yb zt+5R~fy*T2w=(#F>o%A?l|z%aGwwcTTzL98ls=R>auQ?gK@vCon;jSZmm{eW!Hfxy{u_@B6&`R*Cs_42Pn=ML|5IB-RH!1#=Aq}KDM_mv0#-4n=?0CE4*rrQArEhk8Rz+1cD2z;S(sE0i7+6 zkyfGr*(3x~C_BQz!Ef4^`PJO}aPq@XyuL+sVHk%{oNXV|m4&1&FGP${8;d$(D>}4Y zHrO&;SC3E??+YUet>@QM?9FyCbhmURJ`zK|I!^_lb=Q9A9u}-zJ`U>h2=h^r(4D#Q zdN5SYg;HmU$=r*_JS^GDSiIZET%y@FY9l>LBD1*t7@T{VbZnX%IkexN=gAiW5XlR?m1m}9qkMOA=#Cq8$=-#LbJ6YP z9c%gZ)IC)?=(I+5j3H>~SDB+WnuPHt719R@)hjqc0eO23Xa;xSokqP6$CbH6U!e2+ zl)n*x84q4YlJVtm;fu=vO6D-S8`X@{_IKp1=u^;dT)1)a-pj|C8L2}20!nGZBAj zH&9l^SewApOWxHMN;%$Pi8x4{^w}WO$hM8Qi;e1S#4Y%eO$z69pM{vbDwCUE&iI3B zn7Tts_rv&WH{iFk$VSw;v4j*FiO9)ikEPLz_e4w6<@SzXb-8cv{FArsRi`$P!dE>`s70zHKeg>dMoF`NvESl=@f>`f-s`Q5YrksXeM_q_E-%v*ES#zhg zd7QSbH5IUp%r?O$;j5S%rQ2#g)|aq^UhzqGv$L=#oEj2cU0F6(Bm8BP)$n;7&S25= zC=@TX7~|{Ar$)W@>2*+7DGFdQ?7L9?ke++n(<0dCWOh!YLsEBZ@h8p&-j>PMXXF@2 zglpdze-&7&^w{p8K+qB#Vm!^Q;!Rk&mo$K%b0Glk{hW}AKCzbt=i`5z^Eqw zWdmBK@3Z{E{rv;S5A=rvSGsGeS&_(l{7h(GZ|-P8#^5tKPEqoc=WsKqlPTPu zTj^_=&j&X_MEY7+TxkvW^CW#D6C+5$e#S*Te*(vbpWlY!=kKVh`nB#=fu`zl2cq+t zPPzfe2F$|7$wXFc{uIRRgM_cEY$W}LQ^y-ND2t(G*1>RhVV-i@mq&;Ei>Fo#+! zgH+~N?eL>-8EG$wfHXBVJzC-48~(>Hio8e56O25Y;h(j(19$7p@P;6;BXOh%3m!nxZ*=^v75&2L!S zVo^2~XUJ9sNxDU$1EfI)T*FP2}SSG)s0O|8L{x&&81M9oSgws zRyxZ%eXsYJ%iFN*AccrUM#Xuz!0_GC%iqPg6C^g6={+I_NI{Yjz5UK{(LBnk)nvJU zH~ipZ3Pn7EGPqX8DAveMmS}Vmg37)%Fy>sQWFHOdbo%t(`foUpx3{lx-XgCovKbtO z`jta=F`)D`%;_l24*elte=L?o6}ZO2bH8{0EcRhIdPz;dh}r@6YG2rwII1#?hK9u5q~!dfx8*--$=gsH~&gB8hj||{KVJCvuGJ>(uKD`W%X}T2{LF+sPd*PBSQYFe`M&LK^NIX>ZGVeQFRQ`ZHLf?0&0~a+MlfHk2|0NOz3GXTo7UVVkg@sFKGNXv+u!-{PoUL z(%&R`>4SE!bG+bdeB_>&7>x-cIpk+)SUFS`H?r5-w*MZYoN&}q0LV32mAPa}UB7QL zJHE7R2qyR)-ft9qdY=Q!@^K2tc`Gi7EhzoAG3rQ(YG#7`YwjFukVkqoUM(Y zXDX7F=EvRK6uvnhJ&2N781@vzUTDL zMBIx?2!LNkaHLFyu6whph<05>kuCE&3)6H*lMc#fUQs(J2JN=o(Bf`tEl1%B>J+oS z-@FH2Q|ysi0&I!&a<;OB&9j=0E<3Sb1Q@wfp#>;yE6f|RkL!$1I17m?IdVQYpt=-U zsTp0jDB{yO{no^ZVbtm+)wTfVm`kISH72Y*?`5m)@7lY!3*>-TK(}s}L#La+J{n+E z-1Z!@U#>p;g#y6-dMB_d#_H3x^{`BYz3Y+Ae=HO57PBxYy3`5%_YUtz^(Vl~r^ Date: Fri, 11 Sep 2015 23:26:46 -0400 Subject: [PATCH 117/188] add iTunes to list of media components --- source/components/index.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/components/index.markdown b/source/components/index.markdown index bf39e5bbfad..561e6aaf3c1 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -221,6 +221,11 @@ Entities are things that you want to observe within Home Assistant. Support for Kodi + + + iTunes + + Music Player Daemon (MPD) From 4d162541a9d182ccc60e60d11089fca4bdd986a6 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Fri, 11 Sep 2015 23:26:53 -0400 Subject: [PATCH 118/188] add iTunes help page --- .../components/media_player.itunes.markdown | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 source/components/media_player.itunes.markdown diff --git a/source/components/media_player.itunes.markdown b/source/components/media_player.itunes.markdown new file mode 100644 index 00000000000..374d1c962b2 --- /dev/null +++ b/source/components/media_player.itunes.markdown @@ -0,0 +1,37 @@ +--- +layout: page +title: "iTunes support" +description: "Instructions how to integrate iTunes into Home Assistant." +date: 2015-06-22 11:00 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The iTunes platform allows you to control [iTunes](http://apple.com/itunes/) via [itunes-api](https://github.com/maddox/itunes-api) from Home Assistant. + +

    +iTunes itself can not be remotely controlled. In order to control your iTunes, +you'll need to install middleware named `itunes-api`. `itunes-api` is a simple REST +server that talks to a local instance of iTunes via Applescript. It's very easy to set up +and run. You can find more about it on it's [GitHub repo](https://github.com/maddox/itunes-api). +

    + + +To add iTunes to your installation, add the following to your `configuration.yaml` file: + +``` +# Example configuration.yaml entry +media_player: + platform: itunes + name: iTunes + host: http://192.168.1.50 + port: 8181 +``` + +Configuration variables: + +- **host** *Required*: The URL of the itunes-api API, eg. http://192.168.1.50 +- **port** *Optional*: The PORT that itunes-api is running on. From 390840faa13f80a65104b1eb8c9923c6cc05f9ba Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 11 Sep 2015 22:07:07 -0700 Subject: [PATCH 119/188] Update iTunes intro --- source/components/media_player.itunes.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/components/media_player.itunes.markdown b/source/components/media_player.itunes.markdown index 374d1c962b2..6b3d8107dfc 100644 --- a/source/components/media_player.itunes.markdown +++ b/source/components/media_player.itunes.markdown @@ -10,7 +10,9 @@ footer: true --- -The iTunes platform allows you to control [iTunes](http://apple.com/itunes/) via [itunes-api](https://github.com/maddox/itunes-api) from Home Assistant. + The iTunes platform allows you to control [iTunes](http://apple.com/itunes/) via + [itunes-api](https://github.com/maddox/itunes-api) from Home Assistant. Play, + pause, or skip songs remotely on iTunes running on your Mac.

    iTunes itself can not be remotely controlled. In order to control your iTunes, From 4c3d0200338e267dc6e77b5fc20ae431598002a6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Sep 2015 10:04:34 +0200 Subject: [PATCH 120/188] UPdate images --- source/images/blog/2015-09-mqtt/arduino.png | Bin 5757 -> 11530 bytes source/images/blog/2015-09-mqtt/lottery.png | Bin 4244 -> 9516 bytes source/images/blog/2015-09-mqtt/mood.png | Bin 2962 -> 6275 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/blog/2015-09-mqtt/arduino.png b/source/images/blog/2015-09-mqtt/arduino.png index 790aae09bf1b4d9314064a979f72bd54e2744d88..edbe5c2bed47864d8cc8edb567e56661266127ae 100644 GIT binary patch literal 11530 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 a5yEPyGYQIysJb6gmXS~t|0-(e|Nj9>3yfg^ literal 5757 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 SB&xUXg%xGhWXhz>L;eRPuzJD( diff --git a/source/images/blog/2015-09-mqtt/lottery.png b/source/images/blog/2015-09-mqtt/lottery.png index 5ae7c570db7fe3554ec2a9dcc07d33257c3fcb9d..3d165d6f5665c9388cd9065cd9bf45f8d9f48a9a 100644 GIT binary patch literal 9516 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 UWH(odTtBp=qNs_ekhci=f75~xH2?qr literal 4244 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 diff --git a/source/images/blog/2015-09-mqtt/mood.png b/source/images/blog/2015-09-mqtt/mood.png index a8de8cd9bee54c32f5a4cc0946cbbdb48b192830..c49ee432520c56f27c5603ca7ed50f60c118f7b2 100644 GIT binary patch literal 6275 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 pu0LT$7v$YAGx`kdY-9WK~#9!?VEd0lvNwR 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 Date: Sat, 12 Sep 2015 10:04:56 +0200 Subject: [PATCH 121/188] Update unit of measurement --- ...fferent-ways-to-use-mqtt-with-home-assistant.markdown | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown b/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown index cf01742ea26..d08787fcc20 100644 --- a/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown +++ b/source/_posts/2015-09-11-different-ways-to-use-mqtt-with-home-assistant.markdown @@ -30,7 +30,6 @@ sensor: - platform: mqtt name: "Fabian's Mood" state_topic: "home-assistant/fabian/mood" - unit_of_measurement: " " ``` After a restart of Home Assistant the "Mood" sensor will show up in the frontend. For more details about the configuration of MQTT itself and the sensor, please refer to the [MQTT component](https://home-assistant.io/components/mqtt.html) or the [MQTT sensor](https://home-assistant.io/components/sensor.mqtt.html) documentation. @@ -46,19 +45,21 @@ mosquitto_pub -h 127.0.0.1 -t "home-assistant/fabian/mood" -m "bad" The Mood sensor

    +This is a really bad example. Don't do this in the real world because you won't be able to create diagrams of historical data. Better use a numerical value. + ### {% linkable_title Python MQTT bindings %} The last section was pretty boring, I know. Nobody wants to send MQTT messages by hand if there is a computer on the desk. If you are playing the lottery this section is for you. If not, read it anyway because the lottery is just an example :-). This example is using the [Paho MQTT Python binding](https://eclipse.org/paho/clients/python/) because those binding should be available on the host where Home Assistant is running. If you want to use this example on another machine, please make sure that the bindings are installed (`pip3 install paho-mqtt`). -The first step is to add an additional MQTT sensor to the `configuration.yaml` file. The sensor will be called "Lottery". +The first step is to add an additional MQTT sensor to the `configuration.yaml` file. The sensor will be called "Lottery" and the unit of measurement will be "No.". ```yaml - platform: mqtt name: "Lottery" state_topic: "home-assistant/lottery/number" - unit_of_measurement: " " + unit_of_measurement: "No." ``` Don't forget to restart Home Assistant to make the configuration active. @@ -187,7 +188,7 @@ The Arduino will send the value of the sensor every second. To use the data in H - platform: mqtt name: "Brightness" state_topic: "home-assistant/sensor01/brightness" - unit_of_measurement: " " + unit_of_measurement: "cd" ``` After a restart of Home Assistant the values of your Arduino will be available. From 8f1ad00f001b2420bbba4eddc072ebe85a6f3401 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Sep 2015 13:33:01 +0200 Subject: [PATCH 122/188] Add sonos logo --- source/images/supported_brands/sonos.png | Bin 0 -> 20378 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/sonos.png diff --git a/source/images/supported_brands/sonos.png b/source/images/supported_brands/sonos.png new file mode 100644 index 0000000000000000000000000000000000000000..47d1ebc0205f4a16b5dc32cff9c27ee7ca3a93e9 GIT binary patch literal 20378 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 F{{!3H8MFWZ literal 0 HcmV?d00001 From ea0470d885bbbc21bf796f6948415b67341785a4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Sep 2015 13:36:34 +0200 Subject: [PATCH 123/188] Add sonos page --- source/components/media_player.sonos.markdown | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 source/components/media_player.sonos.markdown diff --git a/source/components/media_player.sonos.markdown b/source/components/media_player.sonos.markdown new file mode 100644 index 00000000000..8ac2cac390b --- /dev/null +++ b/source/components/media_player.sonos.markdown @@ -0,0 +1,23 @@ +--- +layout: page +title: "Sonos support" +description: "Instructions how to integrateSonos devices into Home Assistant." +date: 2015-09-12 13:00 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The sonos platform allows you to control your [Sonos](http://www.sonos.com) HiFi wireless speakers and audio components from Home Assistant. + + +To add a Sonos devices to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +media_player: + platform: sonos +``` + From 4a3962885b64f3b90e7e53d33a2c9c8ccf0bb3cc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Sep 2015 13:37:52 +0200 Subject: [PATCH 124/188] Add sonos entry --- source/components/index.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/components/index.markdown b/source/components/index.markdown index 561e6aaf3c1..1f9c36595f8 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -241,6 +241,11 @@ Entities are things that you want to observe within Home Assistant. Support for Denon Network Receivers + + + Sonos devices + +

    From 4e5fe61330baab00a18996a2d42187254178a8c2 Mon Sep 17 00:00:00 2001 From: Roy Hooper Date: Sat, 12 Sep 2015 11:24:13 -0400 Subject: [PATCH 125/188] expand sonos text a little --- source/components/media_player.sonos.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/components/media_player.sonos.markdown b/source/components/media_player.sonos.markdown index 8ac2cac390b..617c6982d6a 100644 --- a/source/components/media_player.sonos.markdown +++ b/source/components/media_player.sonos.markdown @@ -12,8 +12,7 @@ footer: true The sonos platform allows you to control your [Sonos](http://www.sonos.com) HiFi wireless speakers and audio components from Home Assistant. - -To add a Sonos devices to your installation, add the following to your `configuration.yaml` file: +To add your Sonos components to your installation, add the following to your `configuration.yaml` file. It will perform auto-discovery of your connected speakers. ```yaml # Example configuration.yaml entry From 272886fef1c8799c1f770700bd0dbcc117feb5a8 Mon Sep 17 00:00:00 2001 From: Richard Evans Date: Sat, 12 Sep 2015 18:58:55 -0400 Subject: [PATCH 126/188] Fix links --- source/developers/index.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/developers/index.markdown b/source/developers/index.markdown index 30f31c7a3fa..aee7df26b2f 100644 --- a/source/developers/index.markdown +++ b/source/developers/index.markdown @@ -15,9 +15,9 @@ components. It uses [Python 3](https://www.python.org/) for the backend and Home Assistant is open-source and MIT licensed. The source can be found here: - - [home-assistant](https://github.com/home-assistant) - Python server-backend - - [home-assistant-js](https://github.com/home-assistant-js) - javascript-backend powering the client - - [home-assistant-polymer](https://github.com/home-assistant-polymer) - Polymer UI + - [home-assistant](https://github.com/balloob/home-assistant) - Python server-backend + - [home-assistant-js](https://github.com/balloob/home-assistant-js) - javascript-backend powering the client + - [home-assistant-polymer](https://github.com/balloob/home-assistant-polymer) - Polymer UI ### {% linkable_title Starting development %} From 11cc225098c723c3a5af750432e3f6e62f954186 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 12 Sep 2015 18:24:23 -0700 Subject: [PATCH 127/188] Update frontend development --- source/developers/frontend.markdown | 37 +++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/source/developers/frontend.markdown b/source/developers/frontend.markdown index d333429ab90..f4204239f67 100644 --- a/source/developers/frontend.markdown +++ b/source/developers/frontend.markdown @@ -28,13 +28,25 @@ http: development: 1 ``` -After turning on development mode, you will have to install the web components that the frontend depends on. Firing off a build of the frontend by running `scripts/build_frontend` will ensure all dependencies are installed. +Next step is to get the frontend code. When you clone the Home Assistant repository, the frontend +repository is not cloned by default. You will have to trigger this manually by running from the +command line: -Once this is done, you can start editting the webcomponents in the folder `homeassistant/components/frontend/www_static/home-assistant-polymer/src`. To see the changes you've made, simply refresh your browser. +```bash +git submodule update --init +``` + +After checking out the frontend code, you will have to install the frontend dependencies. Firing off +a build of the frontend by running `scripts/build_frontend` will ensure they get installed. + +Once this is done, you can start editting the webcomponents in the folder +`homeassistant/components/frontend/www_static/home-assistant-polymer/src`. To see the changes you've +made, simply refresh your browser. ## {% linkable_title Enabling JavaScript backend development %} -Polymer is only providing a UI toolkit for Home Assistant. All data management and interaction with the server is done by `home-assistant-js` leveraging NuclearJS. To enable JavaScript development: +Polymer is only providing a UI toolkit for Home Assistant. All data management and interaction with +the server is done by `home-assistant-js` leveraging NuclearJS. To enable JavaScript development: ```bash cd homeassistant/components/frontend/www_static/home-assistant-polymer/ @@ -42,9 +54,13 @@ npm run setup_js_dev npm run js_dev ``` -`npm run js_dev` will start the process that will ensure that your latest changes to the JavaScript files will be loaded when you refresh the page. This command has to be always running while working on home-assistant-js. +`npm run js_dev` will start the process that will ensure that your latest changes to the JavaScript +files will be loaded when you refresh the page. This command has to be always running while working +on home-assistant-js. -After your changes have been accepted into the `home-assistant-js` repository, we'll have to update Home Assistant Polymer to use the latest version. This can be done by updating `package.json`. Look for the line that contains `home-assistant-js` and update the SHA to the SHA of your commit. +After your changes have been accepted into the `home-assistant-js` repository, we'll have to update +Home Assistant Polymer to use the latest version. This can be done by updating `package.json`. Look +for the line that contains `home-assistant-js` and update the SHA to the SHA of your commit. # {% linkable_title Building the Polymer frontend %} @@ -72,15 +88,16 @@ The main interface of Home Assistant is a list of the current entities and their Some domains will be filtered out of the main view and are available through separate menu options. Examples are `group`, `script`, `scene`. -The different card types can be found [here](https://github.com/balloob/home-assistant-polymer/tree/master/src/cards). +The different card types can be found [here](https://github.com/balloob/home-assistant-polymer/tree/master/src/state-summary). -Adding a custom card type can be done with a few simple steps. For this example we will add a new state card for the domain `camera`: +Adding a custom card type can be done with a few simple steps. For this example we will add a new +state card for the domain `camera`: _(All files in this example link to their source-code)_ 1. Add `'camera'` to the array `DOMAINS_WITH_CARD` in the file [`/util/state-card-type.js`](https://github.com/balloob/home-assistant-polymer/blob/master/src/util/state-card-type.js#L3-L4). - 2. Create the files `state-card-camera.html` and `state-card-camera.js` in the folder [`/cards/`](https://github.com/balloob/home-assistant-polymer/tree/master/src/cards). - 3. Add `require('./state-card-camera')` to [`state-card-content.js`](https://github.com/balloob/home-assistant-polymer/blob/master/src/cards/state-card-content.js). - 4. Add `` to [`state-card-content.html`](https://github.com/balloob/home-assistant-polymer/blob/master/src/cards/state-card-content.html). + 2. Create the files `state-card-camera.html` and `state-card-camera.js` in the folder [`/state-summary/`](https://github.com/balloob/home-assistant-polymer/tree/master/src/state-summary). + 3. Add `require('./state-card-camera')` to [`state-card-content.js`](https://github.com/balloob/home-assistant-polymer/blob/master/src/state-summary/state-card-content.js). + 4. Add `` to [`state-card-content.html`](https://github.com/balloob/home-assistant-polymer/blob/master/src/state-summary/state-card-content.html). # {% linkable_title More info screens for custom types %} From 44d07e661281be7382c6a8f35f5f771883974b85 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 13 Sep 2015 00:11:48 -0700 Subject: [PATCH 128/188] New version site --- _deploy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_deploy b/_deploy index c16793d62c8..8c6ee3c712f 160000 --- a/_deploy +++ b/_deploy @@ -1 +1 @@ -Subproject commit c16793d62c8e54a260fae7cd6606c0ffbe376e40 +Subproject commit 8c6ee3c712fedd76d9d21cd41ea479443743bc49 From 2df1cc9c4f369bc7ad3a2ecef90ec8f01ab614e5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Sep 2015 13:53:40 +0200 Subject: [PATCH 129/188] Update URL --- source/developers/rest_api.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/developers/rest_api.markdown b/source/developers/rest_api.markdown index 8be90e0a52f..b34db9b29f0 100644 --- a/source/developers/rest_api.markdown +++ b/source/developers/rest_api.markdown @@ -11,7 +11,7 @@ footer: true Home Assistant runs a web server accessible on port 8123. - * http://127.0.0.1:8123/ is an interface to control Home Assistant. + * http://localhost:8123/ is an interface to control Home Assistant. * http://localhost:8123/api/ is a Rest API. The API accepts and returns only JSON encoded objects. All API calls have to be accompanied by the header `X-HA-Access: YOUR_PASSWORD` (YOUR_PASSWORD as specified in your `configuration.yaml` file). @@ -21,7 +21,7 @@ There are multiple ways to consume the Home Assistant Rest API. One is with `cur ```bash curl -X GET \ -H "x-ha-access: YOUR_PASSWORD" \ - http://localhost:8123/api + http://localhost:8123/api/ ``` Another option is to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module. From e833527cc2f49aaa75b9f2fae1b788ef0b13abd1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 13 Sep 2015 11:25:45 +0200 Subject: [PATCH 130/188] Add command_sensor page --- .../components/sensor.command_sensor.markdown | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 source/components/sensor.command_sensor.markdown diff --git a/source/components/sensor.command_sensor.markdown b/source/components/sensor.command_sensor.markdown new file mode 100644 index 00000000000..6590d738e6f --- /dev/null +++ b/source/components/sensor.command_sensor.markdown @@ -0,0 +1,103 @@ +--- +layout: page +title: "Command line sensors support" +description: "Instructions how to integrate commandline sensors into Home Assistant." +date: 2015-09-13 10:10 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +A sensor platform that issues specific commands git get data. This might very well become our most platform as it allows anyone to integrate any type of switch into Home Assistant that can be controlled from the command line, including calling other scripts! + +To enable it, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + platform: command_sensor + command: SENSOR_COMMAND + name: "Command sensor" + unit_of_measurement: "°C" + correction_factor: 0.4921 +``` + +Configuration variables: + +- **command** (*Required*): The action to take to get the value. +- **name** (*Optional*): Name of the command sensor. +- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. +- **correction_factor** (*Optional*): A float value to do some basic calculations. + +## {% linkable_title Examples %} + +In this section you find some real life examples of how to use this sensor. + +### {% linkable_title Hard drive temperature %} + +There are several days to get the temperature of your hard drive. A simple solution is to use [hddtemp](https://savannah.nongnu.org/projects/hddtemp/). + +```bash +hddtemp -n /dev/sda +``` + +To use those information, the entry for a sensor in the `configuration.yaml` file will look like this. + +```yaml +# Example configuration.yaml entry +sensor: + platform: command_sensor + name: HD Temperature + command: "hddtemp -n /dev/sda" + unit_of_measurement: "°C" +``` + +### {% linkable_title CPU temperature %} + +Thanks to the [`proc`](https://en.wikipedia.org/wiki/Procfs) file system various details about a system can be retrieved. Here the CPU temperature +is of interest. Add something similar to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry + - platform: command_sensor + name: CPU Temperature + command: "cat /sys/class/thermal/thermal_zone0/temp" + unit_of_measurement: "°C" + correction_factor: 0.001 +``` + +The `correction_factor` will make sure that the value is shown in a useful format in the frontend. + +### {% linkable_title Use an external script %} + +The example is doing the same as the [aREST sensor](/components/sensor.arest.html) but with an external Python script. It should give you an idea about interacting with devices which are exposing a REST API. + +The one-line script to retrieve a value is shown below. Of course would it be possible to use this directly in the `configuration.yaml` file but need extra care about the quotation marks. + +```python +python3 -c "import requests; print(requests.get('http://10.0.0.48/analog/2').json()['return_value'])" +``` + +The script (saved as `arest-value.py`) that is used looks like the example below. + +```python +#!/usr/bin/python3 +# +from requests import get +response = get('http://10.0.0.48/analog/2') +print(response.json()['return_value']) +``` + +To use the script you need to add something like the following to your `configuration.yaml` file. + +```yaml +# Example configuration.yaml entry +sensor: + platform: command_sensor + name: Brightness + command: "python3 /path/to/script/arest-value.py" + unit_of_measurement: "°C" +``` + From 161dcc0a7ba2be530ecb3e2b5f9b84a4e0e891ea Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 13 Sep 2015 10:54:52 -0700 Subject: [PATCH 131/188] Add IFTTT blogpost --- _deploy | 2 +- source/components/ifttt.markdown | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/_deploy b/_deploy index 8c6ee3c712f..9a3bd15c402 160000 --- a/_deploy +++ b/_deploy @@ -1 +1 @@ -Subproject commit 8c6ee3c712fedd76d9d21cd41ea479443743bc49 +Subproject commit 9a3bd15c4023fa258c30dff51e5bd971664c96b2 diff --git a/source/components/ifttt.markdown b/source/components/ifttt.markdown index 5376bded7b7..8cffcb173b9 100644 --- a/source/components/ifttt.markdown +++ b/source/components/ifttt.markdown @@ -9,7 +9,10 @@ sharing: true footer: true --- -[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so called "recipes". With the ifttt component you can trigger recipes through the "maker" channel. +[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional +statements, so called "recipes". With the ifttt component you can trigger recipes through the "maker" +channel. See the [announcement blog post](/blog/2015/09/13/home-assistant-meets-ifttt/) for examples +how to use it. ```yaml # Example configuration.yaml entry @@ -51,3 +54,12 @@ When your screen looks like this, click the 'call service' button. You need to setup a unique trigger for each event you sent to IFTTT.

    + +### {% linkable_title Sending events from IFTTT to Home Assistant %} + +To be able to receive events from IFTTT, your Home Assistant instance needs to be accessible from +the web. This can be achieved by forwarding port 8123 from your router to the device running Home +Assistant. If your ISP is giving you a new IP address from time to time, consider using +[DuckDNS][duck-dns]. + +[duck-dns]: https://duckdns.org From 33f9c0679bdcc051da280128a8bd45abacefaf3c Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Sun, 13 Sep 2015 21:14:14 -0400 Subject: [PATCH 132/188] Added note on track_new_devices Also updated csv to yaml. --- source/components/device_tracker.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/components/device_tracker.markdown b/source/components/device_tracker.markdown index 1422ad4a107..3dbae4228b5 100644 --- a/source/components/device_tracker.markdown +++ b/source/components/device_tracker.markdown @@ -32,6 +32,10 @@ device_tracker: host: 192.168.1.1 username: admin password: YOUR_PASSWORD + track_new_devices: yes ``` -Once tracking, the `device_tracker` component will maintain a file in your config dir called `known_devices.csv`. Edit this file to adjust which devices have to be tracked. Here you can also setup a url for each device to be used as the entity picture. +By default, the device tracker will add all found devices into the `known_devices.yaml`. It will default to displaying them in the UI as well. To disable displaying new devices in the UI, change the value of `track_new_devices:` to `no`. + + +Once tracking, the `device_tracker` component will maintain a file in your config dir called `known_devices.yaml`. Edit this file to adjust which devices have to be tracked. Here you can also setup a url for each device to be used as the entity picture and set whether the device will be show in the UI when in away state.. From dc3057b9922cb724f498f2d2b567352c8e214947 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Sep 2015 13:53:40 +0200 Subject: [PATCH 133/188] Update URL --- source/developers/rest_api.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/developers/rest_api.markdown b/source/developers/rest_api.markdown index 8be90e0a52f..b34db9b29f0 100644 --- a/source/developers/rest_api.markdown +++ b/source/developers/rest_api.markdown @@ -11,7 +11,7 @@ footer: true Home Assistant runs a web server accessible on port 8123. - * http://127.0.0.1:8123/ is an interface to control Home Assistant. + * http://localhost:8123/ is an interface to control Home Assistant. * http://localhost:8123/api/ is a Rest API. The API accepts and returns only JSON encoded objects. All API calls have to be accompanied by the header `X-HA-Access: YOUR_PASSWORD` (YOUR_PASSWORD as specified in your `configuration.yaml` file). @@ -21,7 +21,7 @@ There are multiple ways to consume the Home Assistant Rest API. One is with `cur ```bash curl -X GET \ -H "x-ha-access: YOUR_PASSWORD" \ - http://localhost:8123/api + http://localhost:8123/api/ ``` Another option is to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module. From ff0d0253e9303f3f7f730186461f64c51a28ccc8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 14 Sep 2015 19:27:28 +0200 Subject: [PATCH 134/188] Add arduino switch page --- source/components/switch.arduino.markdown | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 source/components/switch.arduino.markdown diff --git a/source/components/switch.arduino.markdown b/source/components/switch.arduino.markdown new file mode 100644 index 00000000000..9c012420267 --- /dev/null +++ b/source/components/switch.arduino.markdown @@ -0,0 +1,37 @@ +--- +layout: page +title: "Arduino switch support" +description: "Instructions how to integrate Arduino boards within Home Assistant." +date: 2015-09-14 18:28 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The arduino switch platform allows you to control the digital pins of your [Arduino](https://www.arduino.cc/) board. Support for switching pins is limited to high/on and low/off of the digital pins. PWM (pin 3,5,6,9,10, and 11 on an Arduino Uno) is not supported yet. + +To enable the Arduino pins with Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +switch: + platform: arduino + pins: + 11: + name: Fan Office + type: digital + 12: + name: Light Desk + type: digital +``` + +Configuration variables: + +- **pins** (*Required*): Array of pins to use. The number corresponds with the pin numbering schema of your board. + - **name**: Name that will be used in the frontend for the pin. + - **type**: The type of the pin. At the moment only 'digital' is supported. + +The digital pins are numbered from 0 to 13. The available pins are 2 till 13. For testing purposes you can use pin 13 because with that pin you can control the internal LED. + From 2ea98fed332754d8bdcfa8b27b580c46aed412ea Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 14 Sep 2015 19:27:48 +0200 Subject: [PATCH 135/188] Add arduino sensor page --- source/components/sensor.arduino.markdown | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 source/components/sensor.arduino.markdown diff --git a/source/components/sensor.arduino.markdown b/source/components/sensor.arduino.markdown new file mode 100644 index 00000000000..1ff731d8452 --- /dev/null +++ b/source/components/sensor.arduino.markdown @@ -0,0 +1,37 @@ +--- +layout: page +title: "Arduino sensor support" +description: "Instructions how to integrate Arduino boards within Home Assistant." +date: 2015-09-14 18:28 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The arduino sensor platform allows allow you to get an numerical values from an analog input pin of an [Arduino](https://www.arduino.cc/) board. Usually the value is between 0 and 1024. + +To enable an Arduino sensor with Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + platform: arduino + pins: + 1: + name: Door switch + type: analog + 0: + name: Brightness + type: analog +``` + +Configuration variables: + +- **pins** (*Required*): Array of pins to use. The number corresponds with the pin numbering schema of your board. + - **name**: Name that will be used in the frontend for the pin. + - **type**: The type of the pin. At the moment only 'analog' is supported. + +The 6 analog pins of an Arduino UNO are numbered from A0 to A5. + From a7b570c5481c779613c157d90e0b9d6ada938315 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 14 Sep 2015 19:28:04 +0200 Subject: [PATCH 136/188] Split content to have single pages for sensor and switch --- source/components/arduino.markdown | 55 ++---------------------------- 1 file changed, 3 insertions(+), 52 deletions(-) diff --git a/source/components/arduino.markdown b/source/components/arduino.markdown index 67a6909e16b..651b0517184 100644 --- a/source/components/arduino.markdown +++ b/source/components/arduino.markdown @@ -43,57 +43,8 @@ If that is not working, check your `dmesg` or `journalctl -f` output. Keep in mi A word of caution: The Arduino boards are not storing states. This means that with every initialization the pins are set to off/low.

    -## Switch Configuration +## Building on top of the Arduino component -Support for switching pins is limited to high/on and low/off of the digital pins. PWM (pin 3,5,6,9,10, and 11 on a Arduino Uno) is not supported yet. - -To enable the Arduino switch pins with Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -switch: - platform: arduino - pins: - 11: - name: Fan Office - type: digital - 12: - name: Light Desk - type: digital -``` - -Configuration variables: - -- **pins** array (*Required*): Pins to use. - - **name**: Name that will be used in the frontend for the pin. - - **type**: The type of the pin. At the moment only 'digital' is supported. - -The digital pins are numbered from 0 to 13. The available pins are 2 till 13. For testing purposes you can use pin 13 because with that pin you can control the internal LED. - -## Sensor Configuration - -The sensor platform allow you to get an numerical values from an analog input pin. Usually between 0 and 1024. - -To enable an Arduino sensor with Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - platform: arduino - pins: - 1: - name: Door switch - type: analog - 0: - name: Brightness - type: analog -``` - -Configuration variables: - -- **pins** array (*Required*): Pins to use. - - **name**: Name that will be used in the frontend for the pin. - - **type**: The type of the pin. At the moment only 'analog' is supported. - -The 6 analog pins are numbered from A0 to A5. + - [Arduino Sensor](/components/sensor.arduino.html) + - [Arduino Switch](/components/switch.arduino.html) From 237b88b0a2c417760cdb79a8dd3b37439eb44cce Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 01:32:15 +0200 Subject: [PATCH 137/188] Add some examples to fix #56 --- source/developers/python_api.markdown | 86 +++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 4 deletions(-) diff --git a/source/developers/python_api.markdown b/source/developers/python_api.markdown index 8c91fb2c021..73cb480fe80 100644 --- a/source/developers/python_api.markdown +++ b/source/developers/python_api.markdown @@ -11,21 +11,99 @@ footer: true In the package [`homeassistant.remote`](https://github.com/balloob/home-assistant/blob/master/homeassistant/remote.py) a Python API on top of the [HTTP API](/developers/api.html) can be found. -The two snippets below shows how to use the `homeassistant.remote` package: +This page is not a full documentation it's more a collection of some example. A simple way to get all current entities is to visit the "Set State" page in the "Developer Tools". For the examples below just choose one from the available entries. Here the sensor `sensor.office_temperature` and the switch `switch.livingroom_pin_2` are used. + +First import the module and setup the basics. ```python import homeassistant.remote as remote -api = remote.API("host", "password") -living_room = remote.get_state(api, 'group.living_room') +api = remote.API('host', 'password') +print(remote.validate_api(api)) ``` +This snippets shows how to use the `homeassistant.remote` package in another way. + ```python import homeassistant.remote as remote -api = remote.API("host", "password") +api = remote.API('host', 'password') hass = remote.HomeAssistant(api) hass.start() living_room = hass.states.get('group.living_room') ``` +### {% linkable_title Get the state of an entity %} + +To get the details of a single entity the `get_state` method is used. + +```python +import homeassistant.remote as remote + +api = remote.API('host', 'password') +office_temperature = remote.get_state(api, 'sensor.office_temperature') +print('{} is {} {}.'.format(office_temperature.attributes['friendly_name'], + office_temperature.state, + office_temperature.attributes['unit_of_measurement'] + ) + ) +``` + +The output is composed out of the details which are stored for this entity. + +```bash +Office Temperature is 19 °C. +``` + +The exact same thing is working for a switch. The difference is that both entities have different attributes. + +```python +import homeassistant.remote as remote + +api = remote.API('host', 'password') +switch_livingroom = remote.get_state(api, 'switch.livingroom_pin_2') +print('{} is {}.'.format(switch_livingroom.attributes['friendly_name'], + switch_livingroom.state + ) + ) +``` + +### {% linkable_title Set the state of an entity %} + +Of course, it's possible to set the state. + +```python +import homeassistant.remote as remote +from homeassistant.const import STATE_ON + +remote.set_state(api, 'sensor.office_temperature', new_state=123) +remote.set_state(api, 'switch.livingroom_pin_2', new_state=STATE_ON) +``` + +The state will be set to those value until the next update occurs. + +### {% linkable_title Blinking all entites of a domain %} + +If you want to switch on all entities of a domain there is a bit more needed than in the examples before. Now will be services involved. + + +```python +import time +import homeassistant.remote as remote + +domain = 'switch' +services = remote.get_services(api) +turn_on = None +turn_off = None + +for service in services: + if service['domain'] == domain: + turn_on = service['services'][0] + turn_off = service['services'][1] + +remote.call_service(api, 'switch', turn_on) +time.sleep(10) +remote.call_service(api, 'switch', turn_off) +``` + +For more details please check the source of [homeassistant.remote](https://github.com/balloob/home-assistant/blob/master/homeassistant/remote.py). From 18bfc1735fcf4c9ab4a12d2f170bcdc1184f4a8f Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Mon, 14 Sep 2015 21:20:31 -0400 Subject: [PATCH 138/188] add docs on airplay --- source/components/media_player.itunes.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/components/media_player.itunes.markdown b/source/components/media_player.itunes.markdown index 6b3d8107dfc..cab36cf6b7d 100644 --- a/source/components/media_player.itunes.markdown +++ b/source/components/media_player.itunes.markdown @@ -14,9 +14,12 @@ footer: true [itunes-api](https://github.com/maddox/itunes-api) from Home Assistant. Play, pause, or skip songs remotely on iTunes running on your Mac. + Your AirPlay speakers will also be exposed as simple media players inside Home + Assistant. They will be available to be turned on or off or set their volume. +

    iTunes itself can not be remotely controlled. In order to control your iTunes, -you'll need to install middleware named `itunes-api`. `itunes-api` is a simple REST +you'll need to install middleware named itunes-api. itunes-api is a simple REST server that talks to a local instance of iTunes via Applescript. It's very easy to set up and run. You can find more about it on it's [GitHub repo](https://github.com/maddox/itunes-api).

    From 950df2720ca92e45f889b236d3ee2a08bc27399a Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Tue, 15 Sep 2015 02:04:30 -0400 Subject: [PATCH 139/188] Added multiple scene example Just added 2 more generic scenes to make it obvious how to add additional scenes. --- source/components/scene.markdown | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/components/scene.markdown b/source/components/scene.markdown index 5e58283eb39..3581d9233c5 100644 --- a/source/components/scene.markdown +++ b/source/components/scene.markdown @@ -21,4 +21,15 @@ scene: state: on color: [0.33, 0.66] brightness: 200 + + - name: all_lights_on + entities: + group.all_lights: + state: on + + - name: all_lights_off + entities: + group.all_lights: + state: off + ``` From a65d17380087cb87b5b638705c9029c71a24a606 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 14 Sep 2015 21:45:04 +0200 Subject: [PATCH 140/188] Add glances logo --- source/images/supported_brands/glances.png | Bin 0 -> 43588 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/glances.png diff --git a/source/images/supported_brands/glances.png b/source/images/supported_brands/glances.png new file mode 100644 index 0000000000000000000000000000000000000000..2a8e62ba908fdf0edf174f28c3825652743f857d GIT binary patch literal 43588 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%0AiM_!k2L_h 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%0AG41^@AxS@lY3`d{+)>Hk)XbL<9bBUMu|Xw z=hTrI?1;u6@DEEr77q`{ib&KQ)sck@7ZJ47Xvqs zx0_2%l1PdM^X3%=;dqWZ+&>*3Bsq$5ciXliQec?%Hfl~V3$`%jF(vqKKp2?(q)5RG z_P>;;oWBd3L&qLkPW?8;3ge1$@)P`C=?yy#JQ6;P1C4mMQ?uoD3ORK2EPb3D$>Pm3 zk7S~s3p|f0RctG*$RtLtOZ-U3B2Te=CZYDsbzLdA_~+7z$E-v;T=OhnIg2q#!c2Es zeG8SB3U&2|jJBv3^&i_u5sncndV2A}9{Nqt&8nkBAa8)bC3DX+ za_D#n2lPh4SGVA8<(PhNMudWJ-c;vXwAfx6_cC{F8esQrso%zJW=?;xM<%C6Xl8ih!DUUDR1Y%Sei_S^0y6auwpUaom;SQ~Yc^-SD zFc65HYgNw7Z{8?FSJC>wf7(Bep_Un-G&m1g?(3$!JF%ep`Q6~Tp@v%SssjJQq5|=c zG2!`qNJsOZc7W&U`w5kIg;h6RCAjYO>u;Pa7bgDclk{F>wA)~Tr(GHvS2l-E%S5QT zDtmg=VRX7G8qhLnkF#pNkukj51jX?fhvtOKa8HKkA*!<9AsNl~Tu3;%m* z%;P-LXN2^FDe+w}05%tW$Z9>la_%ZRTmdrBjx3u9Xw42qz;xyb^~0J>+aQ+3$bv@( zu=k!K=X+*Qx>7ob(ue=5nPS2}(ii&?5Tm{=u;}C*bs_&Z{%4~Ht{`~FGKWKx+Wg^) z2;xJDJd0#iGtTJE>e|&PHqcX4d2r=lP5C&-dU}mC`U%N(+=n-$OjP9m8)sSYrtxaR zKEXGi_o}7hFXT!qPvyxNzgNr4k$Kd2r7}ukeoj-~R{cYJJ53 literal 0 HcmV?d00001 From 3f065551a7100e6ca5930b6e0feb8f934ca8fe41 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 14 Sep 2015 21:45:33 +0200 Subject: [PATCH 141/188] Add glances sensor page --- source/components/index.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/components/index.markdown b/source/components/index.markdown index 1f9c36595f8..eaf52bb88f1 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -291,6 +291,11 @@ Entities are things that you want to observe within Home Assistant. Support for Command line issues command line commands. + + + Glances tracks system information on remote hosts. + +
    From 2f9e0ae9a609fde097afa399b1e64be9ec66eb30 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 14 Sep 2015 22:22:28 +0200 Subject: [PATCH 142/188] Add glances sensor page --- source/components/sensor.glances.markdown | 83 +++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 source/components/sensor.glances.markdown diff --git a/source/components/sensor.glances.markdown b/source/components/sensor.glances.markdown new file mode 100644 index 00000000000..bc00344fa87 --- /dev/null +++ b/source/components/sensor.glances.markdown @@ -0,0 +1,83 @@ +--- +layout: page +title: "Glances sensor support" +description: "Instructions how to integrate Glances sensors into Home Assistant." +date: 2015-09-14 19:10 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The glances sensor platform is consuming the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant. + +This sensors needs a running isntance of `glances` on the host: + +```bash +glances -w +Glances web server started on http://0.0.0.0:61208/ +``` + +To enable the glances sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + platform: glances + name: Glances sensor + host: IP_ADDRESS + port: 61208 + resources: + - 'disk_use_percent' + - 'disk_use' + - 'disk_free' + - 'memory_use_percent' + - 'memory_use' + - 'memory_free' + - 'swap_use_percent' + - 'swap_use' + - 'swap_free' + - 'processor_load' + - 'process_running' + - 'process_total' + - 'process_thread' + - 'process_sleeping' +``` + +Configuration variables: + +- **host** (*Required*): The IP address of your host, eg. 192.168.1.32. +- **port** (*Option*): The network port to connect to. Default is 61208. +- **name** (*Optional*): Name of the Glances sensor. +- **resources** (*Required*): Entries to monitor. + - **'disk_use_percent'**: Used disk space in percent + - **'disk_use'**: Used disk space + - **'disk_free'**: Free disk space + - **'memory_use_percent'**: Used memory in percent + - **'memory_use'**: Used memory + - **'memory_free'**: Free memory + - **'swap_use_percent'**: Used swap space in percent + - **'swap_use'**: Used swap space + - **'swap_free'**: Free swap space + - **'processor_load'**: Load + - **'process_running'**: Number of running processes + - **'process_total'**: Total number of processes + - **'process_thread'**: Number of threads + - **'process_sleeping'**: Number of sleeping processes + +

    +Make sure that the URL matches exactly your endpoint or resource. +

    + +`curl` could help you with the identification of the variable you want to display in your Home Assistant frontend. The example below show the JSON response of a device that is running with [aREST](http://arest.io/). + +```bash +$ curl -X GET http://192.168.1.31/temperature/ +{"temperature": 77, "id": "sensor02", "name": "livingroom", "connected": true} +``` + +resources +*Required +Resources to monitor on the host. See the configuration example above for a +list of all available conditions to monitor. From 0edb0317655faf9526d32910645e2cbbccfde2d2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 14 Sep 2015 22:30:06 +0200 Subject: [PATCH 143/188] Remove left over from copying --- source/components/sensor.glances.markdown | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/source/components/sensor.glances.markdown b/source/components/sensor.glances.markdown index bc00344fa87..205f179fcf3 100644 --- a/source/components/sensor.glances.markdown +++ b/source/components/sensor.glances.markdown @@ -66,18 +66,3 @@ Configuration variables: - **'process_thread'**: Number of threads - **'process_sleeping'**: Number of sleeping processes -

    -Make sure that the URL matches exactly your endpoint or resource. -

    - -`curl` could help you with the identification of the variable you want to display in your Home Assistant frontend. The example below show the JSON response of a device that is running with [aREST](http://arest.io/). - -```bash -$ curl -X GET http://192.168.1.31/temperature/ -{"temperature": 77, "id": "sensor02", "name": "livingroom", "connected": true} -``` - -resources -*Required -Resources to monitor on the host. See the configuration example above for a -list of all available conditions to monitor. From 49be0fd182c12eaf6c7d442e34fcb0d4bd885b4f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 08:57:42 +0200 Subject: [PATCH 144/188] Add command sensor --- source/components/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index eaf52bb88f1..075570ad7b9 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -288,7 +288,7 @@ Entities are things that you want to observe within Home Assistant. Support for - Command line issues command line commands. + Command line switches and sensors issues command line commands to do or the get something. From 3ee81e6e799a94e0370c76b22902b668d706ea7c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 09:07:51 +0200 Subject: [PATCH 145/188] Update glances logo --- source/images/supported_brands/glances.png | Bin 43588 -> 33625 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/supported_brands/glances.png b/source/images/supported_brands/glances.png index 2a8e62ba908fdf0edf174f28c3825652743f857d..1108619b3181d07bba3f645dd0af02cbebee67b1 100644 GIT binary patch literal 33625 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 z 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%0AiM_!k2L_h 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%0AG41^@AxS@lY3`d{+)>Hk)XbL<9bBUMu|Xw z=hTrI?1;u6@DEEr77q`{ib&KQ)sck@7ZJ47Xvqs zx0_2%l1PdM^X3%=;dqWZ+&>*3Bsq$5ciXliQec?%Hfl~V3$`%jF(vqKKp2?(q)5RG z_P>;;oWBd3L&qLkPW?8;3ge1$@)P`C=?yy#JQ6;P1C4mMQ?uoD3ORK2EPb3D$>Pm3 zk7S~s3p|f0RctG*$RtLtOZ-U3B2Te=CZYDsbzLdA_~+7z$E-v;T=OhnIg2q#!c2Es zeG8SB3U&2|jJBv3^&i_u5sncndV2A}9{Nqt&8nkBAa8)bC3DX+ za_D#n2lPh4SGVA8<(PhNMudWJ-c;vXwAfx6_cC{F8esQrso%zJW=?;xM<%C6Xl8ih!DUUDR1Y%Sei_S^0y6auwpUaom;SQ~Yc^-SD zFc65HYgNw7Z{8?FSJC>wf7(Bep_Un-G&m1g?(3$!JF%ep`Q6~Tp@v%SssjJQq5|=c zG2!`qNJsOZc7W&U`w5kIg;h6RCAjYO>u;Pa7bgDclk{F>wA)~Tr(GHvS2l-E%S5QT zDtmg=VRX7G8qhLnkF#pNkukj51jX?fhvtOKa8HKkA*!<9AsNl~Tu3;%m* z%;P-LXN2^FDe+w}05%tW$Z9>la_%ZRTmdrBjx3u9Xw42qz;xyb^~0J>+aQ+3$bv@( zu=k!K=X+*Qx>7ob(ue=5nPS2}(ii&?5Tm{=u;}C*bs_&Z{%4~Ht{`~FGKWKx+Wg^) z2;xJDJd0#iGtTJE>e|&PHqcX4d2r=lP5C&-dU}mC`U%N(+=n-$OjP9m8)sSYrtxaR zKEXGi_o}7hFXT!qPvyxNzgNr4k$Kd2r7}ukeoj-~R{cYJJ53 From b349ab00636222c600de3f6931f26754d65e91a2 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Tue, 15 Sep 2015 03:11:43 -0400 Subject: [PATCH 146/188] add launchd daemon instructions --- source/getting-started/advanced.markdown | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/source/getting-started/advanced.markdown b/source/getting-started/advanced.markdown index bf2cf5698d9..3aa06195547 100644 --- a/source/getting-started/advanced.markdown +++ b/source/getting-started/advanced.markdown @@ -14,8 +14,10 @@ Here are some general tutorials on how to setup some of the more advanced deploy
    + +
    @@ -96,4 +98,30 @@ sudo journalctl -f -u home-assistant ```
    +
    +OS X uses launchd to manage it's services. Setting up Home Assistant via launchd +will let OS X start it on boot and make sure it's always running. + +To get Home Assistant installed as a background service, run: + +```bash +$ hass --install-osx + +Home Assistant has been installed. Open it here: http://localhost:8123 + +``` + +Home Assistant will log to `~/Library/Logs/homeassistant.log` + +To uninstall the service, run: + +```bash +$ hass --uninstall-osx + +Home Assistant has been uninstalled. + +``` + +
    + ###[« Back to Getting Started](/getting-started/index.html) From 698ee259dcc92e90dc0be38ab5ee7c047f51bb6a Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Tue, 15 Sep 2015 03:16:22 -0400 Subject: [PATCH 147/188] launchd -> OS X --- source/getting-started/advanced.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/getting-started/advanced.markdown b/source/getting-started/advanced.markdown index 3aa06195547..074df8e4857 100644 --- a/source/getting-started/advanced.markdown +++ b/source/getting-started/advanced.markdown @@ -14,10 +14,10 @@ Here are some general tutorials on how to setup some of the more advanced deploy
    - + - +
    @@ -98,9 +98,9 @@ sudo journalctl -f -u home-assistant ```
    -
    -OS X uses launchd to manage it's services. Setting up Home Assistant via launchd -will let OS X start it on boot and make sure it's always running. +
    +Setting up Home Assistant to run as a background service is simple. OS X will +start it on boot and make sure it's always running. To get Home Assistant installed as a background service, run: @@ -122,6 +122,6 @@ Home Assistant has been uninstalled. ``` -
    +
    ###[« Back to Getting Started](/getting-started/index.html) From 0ec0b475e53ef1fb46e87611d7bcfeb7963310b8 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 15 Sep 2015 00:20:46 -0700 Subject: [PATCH 148/188] Fix CSS for advanced getting started page --- sass/custom/_paulus.scss | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index 1b49de73ec5..43eaa3bf8b1 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -220,7 +220,7 @@ p.note { .advanced-installs-container { - #upstart-install, #systemd-install, .advanced-installs { + #upstart-install, #systemd-install, #osx-install, .advanced-installs { display: none; } @@ -238,13 +238,15 @@ p.note { } #upstart-install:checked ~ .menu-selector.upstart, - #systemd-install:checked ~ .menu-selector.systemd + #systemd-install:checked ~ .menu-selector.systemd, + #osx-install:checked ~ .menu-selector.osx { border-bottom-color: $blue; } #upstart-install:checked ~ .advanced-installs.upstart, - #systemd-install:checked ~ .advanced-installs.systemd + #systemd-install:checked ~ .advanced-installs.systemd, + #osx-install:checked ~ .advanced-installs.osx { display: block; } From f03168bb7ac4258cf258b9e11d020b441a010b61 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 10:57:45 +0200 Subject: [PATCH 149/188] Add images for glances blog post --- source/images/blog/2015-09-glances/sensors.png | Bin 0 -> 13049 bytes .../images/blog/2015-09-glances/web-glances.png | Bin 0 -> 96686 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/blog/2015-09-glances/sensors.png create mode 100644 source/images/blog/2015-09-glances/web-glances.png diff --git a/source/images/blog/2015-09-glances/sensors.png b/source/images/blog/2015-09-glances/sensors.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9f1c8966e4cb1daaf64abfc9096f9d8dd91d53 GIT binary patch literal 13049 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 literal 0 HcmV?d00001 diff --git a/source/images/blog/2015-09-glances/web-glances.png b/source/images/blog/2015-09-glances/web-glances.png new file mode 100644 index 0000000000000000000000000000000000000000..b5999dfd100d7ed0404844e1482c8626a7237255 GIT binary patch literal 96686 zcmYIw1z1(j*EK37pj^6?Mmhu}q~uB?-62SKcZ+mMgMff^gEUBYTta~h(%sz+-|+MQ zKHm}b#yMx^%8K0RiEeq=bkf0sWbf)W_fxc^h2?@ZVEg z2@MAXgy)?Pe;>s&J|_VmqBu&*h@#9teUAAUvQ|pn0X}+ZrmXJx-p0zx$l4LSML>9O zZ=~mFWJvB}=4eVTE-52#$YO+ofIyBQDI%=wI<+(F;)=6MhH!Ask|;2hEpu+|3!Ow| zM?#EiirbV6%>O|t`VLFj$cD%$^ha-0L4`0@e_+DLD1~2}vf@*md@kqL%K;qD{qcqo zcgu9cJyry>gf1`6y{_?DzvErTEu^0F;b^6Z2fVaNgY)U>Ay=p zC%#aa&DDj^lK%I$am9IW=JKyhi)|LG>D4JEA}PEvc+3Ei7E<)Dh4peK7+ZKO2?s_8 z8-`kbmzQ!YIwa>W3f2%Jb6o78ik_$XB?G45GukUxz+L zQA=<)jB8)Te1YZwgOvU|+2pS!R}p;crn~O%(=6{MHVU-b&(lYst&&a{997x&;!m9@ ztjKQN&Q?)XH6bxE4{k2=Di&_eOz^)O$j9@!?8)P?HwIn zdPYmE?CtIC?lQ;r9dwCeTBtEJH7lzqpgo70Cf7__78Dfl^71|-;le;iUp~H!day?X zgwMynoOjVe4q^;6#!Wf#2?*vJ-9|e)sF;{Ag0i0Laz#bO_KuD}9lo=L#R?i# zh6R(Bb7#k5a&nk6OJTWY$$Hkazu?stYU_MLkN#c%`H5-~yrU!Q=g*&2RmvIi|S z3V)a13IDKP8rz(Av2<{8Sr0tRG@CN7jw1?x?2F(&@Z{gM+5wq#AtEs;DU9(_k};ir zjqydwmnM&2z6iJV+AvGbwQ}q^+oh2DUrTifA6_vsF?H&R=QyPE=PPU;Xf}vSC(06@ z7f9vk6Cz`tb^Wf2jO0dS_;+`N3B>|s_og}HN;{mjIE$;(A7ZP=Pt*GhD}?u-+Z>q} zt(8o(V;EFxY9#p5{WDdB1$#u{Z-d4~@KC-qHVh^2C)Y$9^}lc{CoS0shraWU7OAmH zi2U!tVY~A!EmqSt*dZcxxQe)4GAAMPG%zbGveJdc2S4&~w65BA3XgJ@D$}2{^mWm` z;4i1zn|Ry@yvM_l{}eM%M9=m|d)vMup3o<OC zIQqXY5b6*K9OH_l+epXq)l0_R&#chC&74?)i)^9 zwth?@3@-gla7xfpNVl5)&Irajy=P*ycV!edXq>|3)t%;bJ-;(TH1ZtbfOBr}zvb)&RrcJnn@Oif zfti`>PE+4<{swNpRS$X^7{R4mvM9k-e*Hk+SgQ>8^%Xdx(4R^fvR zG{Wv*-)FB5yoo1cSr`MYPN%{EpeFPf9!sgFOOQD;K(X)>YC8`$nwMTD~muY25 zh3rPAr!5XXKk}RNMvo~9G&C}~ce>$WaY*d=xf2+XLLQQa!&_fZ=0%)Z_U8s?WqoxW zjDrOyBp(6c&Ot${9?1ifRBml$#XrEG-2c^wJ9cVnYHn7tOk9N4(ToX_ZlAlZHQk!{ zFhz-&pFT;6iRsbNkNQ-yxUAxKwByCszF~@uO^s94X0weN9J*xb z?oLz`b_fXfv+6mSM_Jy?8f-0f>e~afj}R96UNi9-49zgAl?hw;9nMwqY z%nGmy32`u9_rr_CzmhW3)4$~1nf0-jDpoq@k!Ri{A}XhqYo5z^UvHsY{`(8p}GXUDutbN3L3wl3?+@FYmvLSRE1 z4Z*cdKOV(5w5-fVN>kHtcM3J5>V%WbhE;+cp;gKDqL<8MD76E2N=cO`ll0;RZfDc> z_VV)f@@S*RDCQhVlHGlCP!LMC`m+o=G`XYe(Ol-2Q?;}qK82OCX>TKnl)7o6%S985SJlQisOiBLWHjs?3>FzDH0K$*l*BHm6YlE)5 zt@A#cnMh{}{Vmoi)I``Xv}bQCnY0{`EQ$u#21YFcjZ)M3&xwX~;5nn)o`L}oDM=Xt zueIXa!~2V4zpc2m*@k*HqqGX*L5%0PxcEAao~uXjA|4sSz`p*WW~Xas1-rv#BSODF zy|)Uz*(3KGs|W~9s8;_T057JyCPe%6X%g%z=P~@~QqrO^Mki5v^P*co1o6IdMd+7r1{L zOd|Jenk6A3^}SnV%jG^V1g_3Yrj6X2L?{nW51$^KZ;zE5G}KsK;2QZzpge#1Rlsd) zJe3c4QRx!vOY^Y%XGA;O%Sz=hF1Kx3bn9GSGxG7Va!0NlDl-^K$lHP|uLQcj{?Rda zDkBx}o~|UIsIog=bGFi4b`Y{V65hv+SDY+!DHFIp6XI|4q2ZGm^?4b2yS$<6Gyf}x zn~*LP4FlD5v~abxc3zP_esyG~O>gJQ2wj%aTDm%KeV?zEuX#f*ji@kXl|g0mbx)UW zCnK#FzSs6yYF5uz2e0zL`~6g4dYhhslNDCiQ)J`Q>)l*0`RrI#q*j}CU3h(XOSK#D z1r8lN73XDd3#IdXNagoteLnpeF>-b5YrkaHaYM3JMffb`Rr_hK?kP^Jl46g{cM*t) zqJ3y&?YRs3T0O%T*MrLb_2ZUH^Zv0uUG);x*uLzEZHmoD2yY^`lPTjRG^;(~Dh;>J z-?tjEUX^r1)oLfBlStFi6@W0&mE_{BpY9*Q!+-9qIW>G*~ib zE}aYP`YM8ChS;wy>U&Jg_Za)5lO$i8rZ;=Bkq1{XBO|=%_-TATzSHciLO%OxT;re`Xy&YHo5b4Zn0Vhm6M92BjCq-zQN{dLP@J>Yo`nE z0I5`n%_@ZV24~lwLP1~47gHEhEiG_wv7u!zSPd#z_?hXo}xbk z%jAvL0CB`CKECy&o4J#%K9xdCGx!l4xcR*7Tnc}Feq}HBvz5|Bf$!|Vsv~sAOO*0- zW`A8GC8HB86?3J`eY)66*_688_9_L(u|G&VAEh{k4NY*4Lcf3Grt zFRh`W(RE50ov%Ia)H>Qh#m~<~#}<{l85gGF?ehcJ7reSvuuXZ4z|);~F=N2w z`)*-sUFIR&r4fZ)3JZwUM+aj;joiI*d_y^I1)QyBm$t9V@Kv>H_th)+Q2c*aZ$CZf z;P89=WOrVLK7N|(egFxx7NC098P^v@-y3W*Y|3;{Gv52$^oi2%V-Vf6^A>Uo4hh!fO4b8O69`PG}p1F&mS&_zr#r*TY$!82k zyJnzEJhiK9Q4>{hD^+CTUgxH;>S0GF}~_LCvTs(Wk z+WHrsg7?z}x)H?3(QtDCkGmT(@%yFYOP(kkv;cr_fTvjGLPD_p@iU*!eQDinbF)rY z%3VzCBzxE(f$2=Xeyso}9P${!)fg8INvC%Lx9+F7cKsK6=tgyoRo&{&_oH|`e$vP= zMF$EaEf#<2vv z>4jbf1)0|c`IJVD{^|%GX8V*KnGY`Z3&e9egwF=)a!H|Cao=ddz#~6@jwUtS`|V^^ zt#s<1${X(o2Z+*Zh$sTC-##iU$0aA=6JxhGIo~NwR6Sz*GxzeX|L}TZ3U|PCnl#bOahrEmLRrm1f|8=* zmbmDokAb=7)R9Wj;n9jDj%Q=j%k08qA-RW`l{12|dGlJ0yJNw|@n=U*-3y!3ZI?aI znH)y7eo|*StBG8hGSb-$0M=czJ3Y=R+dBw`)5B1<)bD09C3U@>Sn2z^QbCki*aRFK ztM+Dk&I>22r{1u(Wq-ET4mO?{BoI&b#FrEo&5R@hQZZ#YBeL){D6~SIDL1H^vSoMn z99$7^t)wphL$&B(X7ynBtlCwEM5G!p^J)NSE|*qe7C!3tZ5~u8C;RIQ4Qm76bZ`hn zcQ+>iZqPm7Ssj{a%kMm+U*1*me#~-R)j!l%jj23fd|X?(wlF8`<#F1%s4L@oH1PSE zhY1}wG!b2eyMyPkJo^ZtaYdGl&-{Mmea@BHtR}%8 z*<(C}R*vQM?dg2sC;VT>@BD(^w#=0)_#w;H4GUajGKIMP_7r8p=PuTrhe-pbeYP`g z3|&uXrD$Rbr`R=iU!COZmd$mOHMbm|&*u$) zk7#jxT3f?T9PzqH6=qaXYUAj3HL;pX;dlO$Cm7TI?|tCgjr>pP?AlmKS$}RuFX!fm zhwn<_Eyi3u7iu8q82F{l%M zgpkH-dWD4Gnh=OV3>-#sZp+oxbUlZO@{6&e8786&n%WUdu4$W}1`~TIIlFCszy*Cz zsl6^U=&9e#=-P(DZPk-5)HO zGu&Lkq2>_0)58r+hvOsFQVox-0S*7(={;YYCUYE~>H11xw~clfOs}Pv;4?ydr>D2m z-&f0(qtQE1u*@|pAwoBxp8PuGsFX~c{?o$+942QwLZ2bnXaQiIW|P8c|OI=%mlWXxv1^ySPC1cYIH z$6OQye(4ge=KeuWwZhSe6dtobF-9ThF*{*tK6g&VF?mdw=>qF3Ys46sX`Gc!1E%6TZHAdzA?~L1^=OJDC@rq{bNugn3N&WrXX=$XG=*N~P z*^<#tTZ9qaX1cOx=f|*tekf{*_VMk;xwu<_!13`L6IN|H&k7whfnQF1ju(-9At9(4 zyL>LGf*v)%`WbQn))P9^QS83G*7BZ$5JEmfh!0fnp9DSMeiq2*vi}u;zDVoYFOQ#e zQ7RP3s%dL~Pl(1+skP4g`trcKjCQ7#7O*S<0Rby6Eoa&11W47DB!OdY(qEW6* z4rvtt3au|->NGUb!30Aom4LB53Bq*1{2U=>Fy7*Ub>P}4Y}2B`&5qq-3Bg<4U5!sn zkA(b6aox9G65wCy{pk`o^sx?=BJO+4QJ0$1N2e&y&}1Qx@iCjcd#`IQC>o#%AG3RaSZSn+P)w&p(ciLjy zrF-|l_ET;MRI-nLrd0`*!iBq5W8NEw_~^&f%2*P|(|Zj2u2*x?47J=ZI+Sw?!|viZ z!1~t-wCh{t@m^Zd?J>ZDQVV~$Tyo%785(14alOxy0}H%qW#t>(;#EXspa(9{q=Aov zNmJu`3+j0ScMn#Y?b=Sgy{NMdYZ<^L=bP}3<|K%y!h>&awukRFgfMknTwhmPj3QHv zokp-=ble;)%grb`M9cqe(o)NK_p_wp>Gk(KMS3+Bt)q3_p06(i+_%qOR!%bEqIoqo zJ-NBn+5erqqEf3iSBCgrjU~MyW%{TqOg2sM7PMhKU$3R8$$%dQAmCJu^=z%0T+)Yb zD`5EP8w5q6VRt8BWO&o{v|V}8(9m17nqRPD5+67#&;D}dW#V)k3)Y)2yT_scLA6cn z8L@2y2Z(C)RCTgBOt2A7t7=Ukyy}!qY&x0@r@iE{CC|n}STM^p`}G5ej6ZuVxftX3 z7~-W^VpUvzDhKM>A0HjPA+8R}i;S#=UDN(#vZzt_f9$*bgd=INkDgxB>S?+heY})S zwdP@dlH6w)+|k&UqL&TfbK>AoD&KUK8C4=IN3lSH8lX0QQq0I*-%n$#2(8C~)RL^# zzh)e1;7tTrh>QP88%hqf>>2M4dIivtzPMvf7q-cqYPg{#wFM-hv11@0+$d3hrv9H$ z_wL6-?&0Bh0M`E< z@%zt?|2vhRz_%Y>cg!iH^}s(nOPJ{BK6C!BLH^2jIf?`<+W-Fp5CJAiKc*j`+d8lZ z>Z#+uW&+Z>FQkJl>ZJ8i47G;8L=5%Q7;=bY45Bau@e%!h`s_jb-v*ccWfTTE!pz^C zG92N5OqrPBiA3SXMP0@Qrh%^@aXh{q1AgkHeOYvhy#&3~`TRf%ZKFJ|8>-r zNd7BT1npA=OD?VGnyMf9f2AtTbF@BvE>owD3+@8Ic6j~$$P<)eRYsXn;wdf z)FvwjZvJ^v1@>z4xJZi+Ngae%^j5n%VR+~Hq@|;Rq-1k$l=#t>h(B&`YA`kf8+b^$C5~S zOm0&6fTdMI>0ptJp(4G^XjEsbQ+?R;gHva<-X&ID@gz(6&txY*{}Xy$73z#H>;EJ)#&&jB2hKgq3?Gbu)aywNx8+iGO>tEbx&W!m-noWySY zq|o48vuKI2Dznk<2$GI0yM@LntTx)A?rXQA3^jrO8V-Ar&*@f;N1C?1@<)i2O1_Vk z?o62;4=u@W5Cgfx_X!FH^7~JpKB=pJYiQtuN)*9!^YU~XoSA88ay-uW9^kcZPlY9* zWy+Mkm+CskX!SEnIb*oyPj38&P#C6Vvv+u+Lm|Xt6pj)>Y!YG*ZGK)Ckgq3pNy{}W zf}67^6*dqg>v1B9Vl7fUC-y35@;KR0AdQ@;v6|MbHn-DqcXuBzRAHp2-|UZP6ptj` zg%>6I*?niPtWfo7+1olrEKv=Epgl)RKI+N_K8QcIYBV9PGmU5RuG*O)2ityx18ZSD z_S^TR?JVbJV_Of)EfYVj-<&v=+t~k0Fbp#jaDLO%7}u|f+jwS<8Sgh}JyYikF`uck z6A?k=u1D);`{3&8T4_93tZD&;LRCEKoCOwBvG&c-(1h-puJWAb%R)5fiafZ5bm#Mu zbcF62&3g894=cp7H0lh^K%h3vqD}nvjpt%^F(f1;zPUJb>V3{=3X^fz@%w>E({A&u zds)^B;dT6fqw@{@Dj(!5v=z5xOFDAOK)n&wUrL5jIv$fKsHhS0nS&j#h=={6@zW4fuS2{hr^(qD8koI{Ol# zL(=y4rW8}lY7_l=3ZVx@r{_M6d%H z)yo7rWjk+WSoPF?0`mk3hVF+83<^W8l2pZf`DL0&xkN(Q903 zKiZ`{vp#)$CHwux2$<0N(04sfVvrNStRH+NCpX-O)4i;YMB$$m7kX&k^{z{XVsKzk zPhEVsuIA3|JVLb^(KGbH5!>Y8n^y&@kszZZ@dxU`FxF&Htp67Z51>d4026Sf$lA!) z!(Li;uOHKgR!mw(3X+EwR>k95?};kJ^K%K25u_)@SKCiwvsM#RD9fwYS$2g2Xy3hG zV=?-clbRa*w9X50a2&_y$}p6Mheb}rZ_aJZOnzeHwEW#_oK;3cEkPaAcylu-RGQd# zN7Vm;GNG=Xo^pFk75O|EmQ! z%5G?Y=5hb#B7v=|;XRoy9@kI3Jeqa%M~$Hd5ms_Z)BcgpCyj37>UaJBh1f<@-_W^F z*%DIJ*u17WR3LWpr^)7VBz=Hp{M7cvZZXtQ%^N**3!X_3H>skb%666qj*s7}W`U*P+pZS3Jj9?fzLc_ZB%as|J zUD(d}=+8&I(~~qbKpQjlJoD?Q&{u zjaOWB<>2P#PWqs#tZev@WL-UU)gJ5%Kqq)kCOEKsh>St_18#1_p5$Q^j|r4uAib}y zGiy!PSgTlPv+9!Bgmq=o)5&|dQ~Fm_RDywttX0!={}pSpn4uWr-|pw(L+~_UrXT43 zBoW;)G1#E3h978lgH11#=;Mtmd1<-N=_94j$f_6DWq72L`1Saqs3^=N-gBI8ONg{F zni6Fo3yaVzC|X*{&p<^jU1O{%N0>Fd6z1@RZvoP0+)6G@<17`lMi7J8DqZ zOziNIV|@Tt=cB76Z%e_VQv|PZ%}LT`NpHDmI0+BWTw1zL(mea5k>`RO}Sg=Zjk4LK!J-)y4nrTj*Cm= zp!!NISS-7%S%-#nu2!JbFb)VDX{w*3;^v-?y7H1CLLYm$GNogz^g<-r!=Nk#JX1cv zr3;wC)~(L-V>$Ykn3$+p!UAANe?NQ5AQ*iiq5Ixws%mri(cz&29WGixW_~^p9vTV- z5HGH6W-kmtjmR?V$Fw&#ZE`8KaR~{E{8Dtdr5AgAf?fAFu(E_Q?b)X7l=Se+pPICp zjxM@vCaUgYS5bOYSI=HFQX7i`=#Y{!4U(uaN{T_x$tGP|e~+dkdL9JmAk$I zdFrp{1yQg>7R{)XbnZ_Z_hJ!us6D)YlPcFiQceVQ^YjV_;Gfz@Uj^L$ePf`rRXAk3Wa6`Fst!B$H zx_#=ND(kW~kkssT{q}-QX7mzCbmC5SXS6ztqf-4hXKHM$!~LCCf)NdNhy?Z3<$C(z zBQ}hziS4YcEDJTR(g`J{+zBOIqj>}jifnj7a2Mrbi`v_={JOs~8Q*v=rCnTBPt0_M z(;Rq{bI(abtX`;0!<0^YJ?r%5tJBXuzDJGNnRUf=l=%m`ozHeAM{BIK>a|(or9>&Q z(uda%T@i&B7@~Uiv%Wk@8Tj6apld^G!m)Db`smRk`+9y_TJa)yLPA1~#f0^IvsYb* z`#SLTV+F^S4Jokfkx+mNX44GQ8FFIuCQrhzov5fN_{I@qsGoQ?RURJ+sPv0>!?MT) z|7-q&)iv{7mt{?Mwn-B_>zHcVYtq5NL5Tq@%1Qll!0=^L--0wJD=RA~nla?|yAQ1k zOZ12ON)_B#4bQb_W)79P_+zNypnl1JiFI||mKD87!B4tr_!kf?aOkwY3oz118Fb#( zv6uMKqRmod{RUNL6j#)a!x#|d<#<;0rS6Z7gdRuAdcwl;^1lacnxCUT3s?-X2yTGl zzgTfOwpNV2a=KKJ%l}81bXNYmV}$JRfaGBB%fESyxXndJo8kt7x271`9ZIbgmayDs zE<2a+SNBM85tPp8JJ_GI{mJlVx?(V zb;__0(#1v{)uUQ|>DG?gsmb=}s?i%V#HXZazrqR&fIbq2z>|@I5&;hW7GEh#OC}u% zS^#iYr(6E@4Gq%N*eQd^PV@`BoowMBDEHtwO>Likn^%Kml#8_qD2|aJdbsp60fRgd z;O1!uDSp@a@7jIW@nIFJMJnWw3vgUrVPi&9n^jJddp(?tkcOjGW9fGDuIm%qJG3wN zrge|wz5n~-{v+F)e|2F9tXb=gskr}Fz0(+;b{t(!N04TsAemJ9!KOxC8g^&KmK!DM z|F~KEl}ddds53G|{qH6S@p8?Q0wBMhv6^)#&=t(U^63GK!SzH-1hG}S5-@{6u*(XW72${U`1jj^kZCcU_K^k!B2|YC?B)XxY z#EZePfTsTpK``3rvNF8ms1!+7n~s%(z6EZ<^n9uaxq|e=ZCe$Y7%F^ zIYRS=Jo$~q+L3G%wdCDF2PSF;rXVO;5=~70TK2m|oY4KzV_2T;+xS=Z&%DZ%8A|Go z_Wen?QVJAC*YM^G3#~6jRc1fW)A-oINlqC##FhB?H=^fdAR-?=47B;7U_raOy50vp zFX0p_XOfOFoYl;5*~=M^49_>W;gli4Ko0BrBJQ3`Cq)jCpvKNWLqhm$lB1d9e{ym{ z!fm~>zE0)e*w{$SX$pDq0>kWLWG%?PO4CYDk3vVD4wvOdF@}1gOxI`QH-$Dk(HrwP z3j@3_jw_Abw-Ma%5|CUiyCj zrp(6iB=9!`Nf=Vk3v}=Bclku#E}kdsISs!pGdS2CwQ6KFs`cRu8Siz%g>+0}09krt zF}^cd+0!?Bwma=I@a?tS9f4W|F-UTthe~gW2MV!EY1G>rSz203NCXcWPdB<9M^U_g zfvCm6eOb~#58N7KiSp~D4>>tGK()!F%aE5Cyd29p?_3PfRQ zT3X=#{N)uDM`G0q{|cSV{?zOElO^u=_NAu+5zOl7cKXomYm-K%l#xDp({WI=RKVg35o;0||>#zoD#>oBA(9!c`QeNSr zS!6O4|M>A~u|2?Le=Z)js#t(Kk65g_4KmY9OG{fI@^%sEy1KjnV!Oaay+F-ag^86?Y|tS;3viv2+WWr`Kgs^ zyWL#a2?+@$eF%gQa~Ka$!B(YQ+{$aJM(9NIMuEEr<;GvgPu!dO3;}Sv*cS$|>_cv7 z`pEWak!ne3FsK$@Y7anPUCK0qC5VcN^{*a*3GeCYaj>zPtjN*p2-GkC3p|oWrSU|m z%3a>xr}c}eow=q4hxMVhwl*@Kn{uy3!MATU8RFetT`w*#t!96nzIGnswO^44!)HFo z5EBz474mNUW#T*g%gJIiR|b~A+~K43-X}dS&hUObno1m;RB5}|zTbSk2NbM>4vf}g`q!t; zZ5L%Jg?*OwvEL7=uRqAiwYZ-aDl_cPHk|*?cpvnPWW2$}Ch3Fo=@$It#IYw`Mpjm* z(e*H#h{Jd|t;zIH=HI{S6KQ3COlK-h-LE>`0H!B(Y z%B)&*;_NXcDkY#DHy4L)Zf+SF8FzPgq@<*v92p$o1$YZS1YiC6^9TIP;&yR;07TN@ zY6_MeeXIK$#&f_;veNs~F*fBRyiZ$wpV$fiS&D+2i=qNiaF|9{Gs5;~)c|B;efLLT zub>oGhzMAU6qZLp{OhZeXcwKsVyw0jwWqNh82|C)~yu0R1H%9c z;5b;e)fN-aNw|u=uFn9(9olcyCbb&N{}V^Al&!c4&bm6^Pft&e+qyp|$swJ9rU#n;GKzH6cZHXw1^~KWGT1|6V&+vS|$OA~$ zX-gT*qnD@WP`c1PjJ3t{pbe$Dxfw8ZwKAP%&&%D~`LnaLX2;Eu{g!)D;Po-ZAGyxW zNDc)H_{eO&+Mcbi7GY{v==U{Pe)jFe#oCVWo+gedFkl#fnx_XlR)fc@iDY0R|m-qwOZ?sdw*L;+v1r(LQPQ-TT}rU zz{RE^sOtvHtA6Xer*4B$wK%HJ5ZDGksT?`vH)n*;ka_}MhzPDIaO)L2p?Hj%wbr{a zid5EUMqDXGfs4lv!uocLFN~R55)JV&X`~v?s>B!Sr=*8+!VTS_h18P9#>TQq>_`+R zgWU7qg?va^nY8O{fes2>ERgYRRaTK<6+j0CmC_9Hq2#Fi?l`42K*iydK@Wi1*z9L! zKFn`dXJ_33rv?dSz7I3M>m?g4_87PsjDBb8=$Mx9>3FqG*qfNJG(=)loVJdXkZ-W)V zeBzOiZ13*_@&O7Lv}~Fl%Gm?;`jHw|&sr;r<*7Ld2Unf*C$Yug?MV-vr|0#=7k>e zGa@rQcedV-;GT0`j^M6SzB--I1suu_UK49#x7r`Sv$ONspj+AV*YYyhO|YK6eR>6U zVZ?hB0cjURsHJ{L%gvEA=qNDpE`45~JI|i4FSV-810YA|=Rk(v-5kxcTS-k!q)mj` z{lzCDa@(8X&H951QnPQaXDl}ESL`n%nmA-hJsL@Nv?{VEpFJQOmJnqniw0EO}q z!NKoP3xE?K`S#&ehP>(hb$dl|mwv&8DY6jLGO3wHiE4t;E=j?ZWereOfD}bYvPF+u zSy5See0+TB-lS7zqJgi=dV`Y?AFraR>Ap2a|ApN4O)wB2($jUT+W}TGWS=xi_X>n0 z1Fr$%6r(i!F+8K<6f=T*8TKYX|Ku}Q2ZNp5)%N7zAe|WA#VJz___RpQrusjU0k1 z7EV}h1jFB3Jy`4jF|Sy$z?@FC9N1^W#pnsS{KJloKEtU-y{3i+z;0DVIgeOcIcp%8bp$>u zsy+?{xg)TT#boIFWQ7r|wY60|t?TCU_{rnPcjqnl6#gtajT;~_O+pg3T@123MnZj6 z99C9`PZ(aTudJ>DoON}&y_*pj&lp!;>^)a@Oopf$-~JUUU;)cg@5XmHCq-Whl^|GBjg#A>3SKUnWQ{( z9^s5uU-jziZ@V_IOXfW}8=Yh3{5rlg{(tgHm6Y!bKzuwo^1MnF7SUs>6is%B(l3?mOlenxz)890d?`B70&bs2SqXf*8SO9^j+u)UahnMMXu4Bf5u& z%QUZhg!C>HN&z~q3gIcevQ^m#AiHd+uLoOSKy$1gf8lalV4$LY;ZlSY;TEt zE%HqXZJlO#rN2 z?^F)Ib=)}c&oTT$4uET%RL(ncVCEp|0LswbYX=-W;(tuJq{V*5~Dxy@*5x|om zZrV%!fKH?OlU5zE6JnrB)+OF&A9N%}7Hd*S9=W$i3^!lcZ?<1vbc5YkXOjfFuV`o| zN|yw8#)LcYGG~>Z`uwEu^hmeEb&NWWMlx;ZbZ-~Rv2*6 ztT8!dOpJ|HEqS{um_${u?-zcQj6jftNMfaOa7B5^rb9$B$4j)zbX%G&CQ8k#uYk(| zQ6Hf3RW1(V2#fJzx7*W+!zZNc$AhyCE;!iOZ=H7tiHV6xNUo2Eg=nd%7u0i9id3JV zJf8su5%`P*0tHs#b=05&#uoHE3=$d{SyopYYNF8KY^7a0RAC9YqV@Ua-dyR9pK;FE1}KMDs&<&EDTr%qVP<;L*CDyQRKk@ zzA0;3(s3K4+-lY3+yU?7_fW_t;C@0ku`ik-?;jAL!IVHt#t~|yp{+yV8d8KX&C$#8mFW3BFUoqJz{s-&0HOf#<%xI(>qS zfr^Q#+w57d&XfRKJKrNjR5@8JPiI@YWM3me zT|pKfruPkCvcf&4c<)rNG5?+x5Y#UI1c*>#p#{K8e6PTSxu5UtZg0bu4^5NtQ4zsR zF}P6gH=WM`81$06xiBBd{f6wffUHo7g|~{6;^9>TLIy8Vqw+T%Om^D&TfRG8>#{jw z)E!RL5rlbue7p^clyLAwxGd|yQY=&{`sKK3zdQA&^enfqa)A;N)P__}0+KLVXJ_E~ z5zLws5V?UL;<2MyO4Bgh4Bp_CZF*3k2zo_IBAc{(6&P z(t2%cpDF}|#8}wsSveXsI81Se#7{+&ZZR5BW*P$J#}>H6Py;c&cW6k^c}E=peB0uf z#6&<3Ui(A#$Tlu2v9PcJ(*uP`A1e&|iprX&T72$7nGEo}fN7=-u7MC2sHdo;l)`B? z0wj3P{b%UtfDAt;2x>g)XS{G51Ps4Qa~GhL?o%H+dU|10Q4x`aARfROT%)w*vkt?h za=>=EIWRmRRA?lWd~D!SLvFR|0`A~J22oH3Mbe4|#n#b@UW-U(J*`-kqon|qg5Cn%SR_CxFI4K9d+509I%Q( z+MOY;FbEB`5h;HQ^4S{(|CF~2MX(PV6ctHSvzyBf*Mf@^VDo5D+Yd8$5R?Q31s|*! zCXNbrz1C~XDvU)6-PHktQf|=mE8FDp#BM^a*^DTW+Rp{VTFnxm4j5N1{-`R{lOXf^ zBj3s_oqgY|4!5}yjiDwe`T)$BqEnQF9}BViEk!;d4tvf5-8U! ziNsKjg7J;IxR%T=8No7zF8>~Wt5GG9Q6*$cF`5L_{bB2DgNxj&*u^XpLS(i2sfm1L zO>tp}KU_?W--I+WXc+>C==w3pBI=Z_A79oz_XjLw=Uuh2Qb=%c9l+y&ErJLRy!dR6 zbfV^csaFaB*bmay{@lkhohI`fDpE&)(d>PGF>BRyHc2q!!+@j(0wlZXZ*u?NU}T5W z1RC6q*Jv@6fqw(;I|UTMfN%mhX(WfqkmC`P?Md&gax66w1oC;E+qN6TSAdUrZ5Q5^ z_VEmH)Da=;D5-vvBsK(~RcSx3uRE2E)71f^qP*(+3B%;o@=*>IkEvqJTE= z8bhh%j5U%DR=`02M96uRRlB993yiUvC_T00t5>hQL0|(B=54Aq2yAtg^0v0Nl9GL3 zc5OfH9JS22%zL>2`9XGwcx7qmcr`ge;3DY{$;|8u9&Ge&>T{u-){yq) zLtvSQ!*Y_6A@9i9QU>8xa=?@i7jCC(ZRBKSNd-N5&hbfOU4TEdX*yM{9*xcfQ%^uf z22c-Kqgd9T1-&xDz&4+`nQj2#m%eF6qC_%T-^bqcR+399mZ+K-8NmybP|84kiR>!_ zZS5I=5g!r*KqQ%(m-mP20UcqFp`*gm-k!brvs(2^V_(z)qEYfo$6Cx2XaVi|$5)|#SvbA~@-X~V!b3w6Rp68X z`|6yw#|LTJYQ3HTFA ze-PWUlo{$zS=uTrgPy+}Fa5}f9|m{{J5Y~iki$u&pAmdXWYTD73vc_h@jJt>NS1@= zcM!VJPSDL2t;=N7Ov^d9{}dllk>_hCVyNlj_equzz_Ao_KO`;f@0U$%gCfswDJgtF zgVNR2y-{Ss=OeW~FBgCfonV(=6tN1X^V>cC8guII)g=?)**s_Js3gH?)zHN@0O}PQ zK^*Sv6nUXptWlX;RaFIC_*Yg?tK{ydps2Sc2I@9cRgF1`1E3V8h^=^@szvd@uOoz$ z2ZstZfnR3;3JhHnB0;JTRK)`k%yxDVl$ii7alSLjVbC28v`ITZR3M1ZzkT})#2;qO zstZ8BAW#Jb1)dQ?E=zR)UhTq6Q26c_{4l|K0>yeoTvk&zK+OPDdL3{M+s-#YMg zW{D~pSvr;YS3tKOx2)a_?Q#PmAFo+r{U;O54>|$MKyUBHc*!)?@DdP&&JPY;cdI8L zP=G`Eyl-6Jy?ZAwFK_>FuyfM`lFrP)&@M*@co`FZSY94&saPWj06;aqxqUe5)2`T) z!h4p%4DMYVE<-bZ&(8x6*_@w`%8k)+I1PwDQDAhRp`@gwnVH%1R|rT5V%0|~Wz zuT0j>aqTzxZX1?q#rIG4o88WZWrP*lOFG8~Nrd|J{Qdpoio{P34}sVJ?59p6B;<2_ zwhJg6@G$O8AhPNJfEpA8_T7hOKB$-_THLG+@XH?BKGk_$JLmMs z7pXFrt2Y7<50q5k)MEQq3irkq4$-p2valk52S6C;=pNJ-^BI;7Q%*r=z2^ib>jO!C zkmT0}$anNiCMO$zSj?^hQcB^V8Bi%m8NJXv3-+=Bh=rQ*`7^=|PDoEy5uhU_n$_Bh zLk1c(R{q!BIy70&vo+%~5Oq&JAwxPV@UxT?e;qPw#J+Qr`OqHx1Uu_ba5^t>gxJh& zcL3E|Iny*CHo)5s3=Du}R-#>R58UNr-_J$Ppvq}`yrjWy8F|lo?5Ey)wfHo@_ZH8H z+4Oo!X(DHiQZv&1gCd=d93^73n>>l2y`R|l7ey&hmw@mK4D2Zy8rZ-C=6-C`@gd6q zl&-c<>UFjm+AL)mbVx3_LST$zr-3<+#;0zkW<*KuwZ@Rr9{i%4JZKy*rSdv>9(YBd z07WDoN^}Atm5}dD*xMWkea6PQk&(lI!392l+3$rG+3}K$Y&hZuAOd54vH!=|d&hI# z@BiZ}p;FmO38`d7$zG*GDrC>>nHd?GNdqC3vL(sPh>VgEkx@c6*_+Jl@w>mf&UKyh z`JVH~?{&`Yy2^$3`~7-8pO44mJ|2%(Gj_99uGR9F=wL?C1=NZ8jk|&?BSoE0w2T{p zsz9|6;OBSo(j|ni_H47ghpa1>qdRODa1?%Z7c;RXUp}UtWw>44VX%h_0IFv9gHFJ5 z2#FxodM|e;E3>8V(29WP*QL-2#I`;3{PicHTHLJZw+W&c2il{F-|P! zR^9{<6@7|z1||v|p)i5DBie#|tH{23bLuB!`YQTY_u1|0U0QM>cypCFLIGxuTx1}> z$JWMorBUI{DE*a2VDxJ_<{|QlAV6TKlh~Gj#QQ@FM7#nWiCgpL^v{?zpIPr8T5w=8 z9N16^a3f=(VD;4qII9$qJIH;(!^XHI+~EU3cIRC~0F@JBBt_oE=JiX@GAe3g+_Eyw9aJN~MvE7lWt_YwaqXL4nj9z5 zp{e(z+qd`1?ql&i&}08u;7OIrId$T)xd}fG6>b&d(+sG?Pu|MeHB|2Yy_fj@e$-_A z93s)bQ0FZeovug!Wp#H(o`tkZ*LpNF*`eS(r^)tLua0DC=qM>YhA#(zBgJMX@!3o= zMoH%c_2*8Z3+<=(k%RkzC-exFz3yEKsXv2Q`cFz9Ep}giTU=ZW&gsfSss~KFjvhM( z3P82JgH-VDty$YraUb)DboGpwewzzHUPquwek?51X`&1?(L@w^u|o*9+)R|Pa+j9N z^5_^JrdK?9050laYL0pR*1c0#vkHAWUaJ*4fHLen74u;e?yVdA(|bmK-@1KdWMn-Nb zKf6^+6puPOI$5L75$Vvd>*r^GvD}A~+7pN~QqZ<LFYAiO{5W^&6w-kj-*rE zoGkkFas5`jHieX|Rzz+=hMTV5#VhAgzy<0t`Zh6`8K zQs3q0Yh<+a7j4^m`^*ul9mGC>l)WSjClpknZ=`Uy<#~0lFi}z2qz^X>TF?Fzo%%7p zVydnu=@k*D7gpTe*{LJ;x{o#EOAwsqBA;Z#Yzs__2 z4)0!Vh&Mn_jg3zZIKI54usf1JwSIhZbkst!-tDuS|D~b}$trzXL2N7`vO1!hG-oN$ zV?X`!Mw0`bTmH2{1j$b0x3rhYRd2pwr+-92+&iFrU?hH43{-qRGipi#{c9k|&(AL@ z$&?|;5E#68XBLz!GWHHhZ`O+qU%$TTq^+EMK1~sQ;x;MgDy$TIr%nMzhlhnds1#B? zP6L_L4S5#M_F7YiE5v)bY6SK?wH>?ku*>bqdGjlq-XcFAN2Fe2=j1F4oVQz@mTSr9 zkOMD&SzbO!DcRA%VH~WDlT)r*>d}izaf%2ckj4c74_qEvJdZtgrBSKCYT(P_$^v(h zoy~X&%M`P((`0LNPTT3J&1~miGl~hD+q^2sZ?HeV@%;4wUBb;8Ie~X6T~f1+T?w61 z^>mgdS0BsivA+y?eDh*A4QGgBa95JAuJ)yi9C-pt>@DHlOo`&6dbKCx_aF24nQ={I zE()P>cuuTtc+NehBjouiICgV?B_WPs>{yfHK6p6nOpfj|v-UVzu!BDRXAGt-9r<#@ zna0YlqN__B^ew`)rsnQ^??ZE(Od=v)UK&Q5Ufq;khwmPSGjc;)g5Y*ZFN?ow4x#ug zedD(Hw?Y_u13ZC>d)JN~2A33?e*6Hwj}db{HIS_5DB=Mj``*2KcWh$YySl!n*q_Sr zj?2zgzIwI(=g&jq1(*HxN2zjIw&mVAb(@9xNmX6|XRX=zu3bBBHxar@ zym^REp3DN2GzgTp3LRW_{OQ|j z%Pnuc$BvkMA-pKj(v6b#=Jj|=cN!ldx%#GvogxQ6e;=LS%Ov6G^Lpp8rqM@OE zEW4@Bs^~KZX=1gccJeTvS#iqs{PwQH+P3|7P7}%Gvi`mEhp!%g>gJ`Qs-hNrcG4m_ z`4OQ-D3;RD(D42H_uC@YnTCRPiEqAK=FVX*W;U)=>bzX;`kv6)_4D={?%~BVgHHDL zo@ci>Wh`yYNg3l%)1#)P%+(bdR_g7l7*g-9jbP_EEH>h(WaSXN$Rxtk^}eI6$t2I^ zL^v1GAPigjKX`A7SriXye8*o(hCe+@l-Yg#g%lOV((e^j78VvC!N$egm+6*%9f+SL z4OWP$;%{yVPmkk}Wii^-|6P(tt2Eb~f`WoMM7B$Oeztn-r6_H-spY6;vQ!meIdFMX z`quVsXIZ073fosFa`3?LufiBtvs*Xcm3DU|q$Z@qODqpX`{zIQ-_h`xFELsE(c?#t zpHfi0V)lLi-c4ICZ@sHsZDF{-So>P4!d0gn-Q!%u8EyaSZ1bihaWi5sMuSkUO0&LrMeI~9AG>h2(&82?cS@mmnLwD+ijrI8Go4<44Yd+temG2TLZK@WsGndr8@dyimukO#Kci6|r{iEYSbb9{lS_(S*+EcgC zh0>Au?=N|6=LiZ4dcpel-&(ezAGD;?-lR6uI2HN z<}^)e8k+M7O4qMncb;qyjfkjr7dU?099{`B7An8;AThm@khQe6JD5C|Zs$MN(9oFf zKzGS#TWc#cSse70l@(OD6BAY<(cd_tn{GNfIzoO#5C(-G84&?nTTDm@EG?y@H%a)# z&wY=(cdr6C63&b-zd84A1KI{&2Xy#rNG2x42&Cyr<$9-a)a*$oX1XGIzFRWU3^6O?^v zb+zRg1F?RRoI`M4iMveq6gUivh>Dh;-AYta?V8p9ZK--N>&CSx5&j~n^XJO}ml4|K z#U6hk6@?3|-?Fb_2n>UlnFP};>Nt6fG zaB!f#YV@1_VohtSl-mni|kR^D7{V8g)Z;gfAdT(32o?B;E%_cop*1VtM4>d0ZdoS3bSFdQO zsQM-+uRQwZ4={kr#_N;s4w{`8yL3WyIxFj;y`f{Q!$4ZE^vX()qQc?K<)DG^i zy}g}yv>e{Z{&ku%Wt;o^;giDs*sb+bBO1FcQqoHzrxvstFa3nemZBT3X;Jht@`2rl z?BEoGl>x6pMMZ^qae%^2EiFu+cJJ*yOY)-w6_B7!=W$lnb8(8uf7loKUYnjlCn7OE z=WBV)I^~wLrAx))tE^#l4dyx3)zx_45bxfhYQA~%_rgNM=zOsC&52^?$;r50x3Bb` ziScGH#FcHo+=h3y8WJxyp@@ix=jx>3fddD)){(=}kEO2OQc~hws;{E1PF)i#?)I!y zzczw@7mKl#RjocREIRk2u_sefQ&W?Y^!Esm4eZz&iam%I7I#~)s(O4>L&WcVJA7!D z2v-f%vMf`IJEhPgfZ=X}k}@>x139LprG@RvyF5KTO%NQh%AY^``TM_(Pl)wgNmft} zdtueq)|QZ%2>Ehlbv59@gPz3#D2zBkIMJ~3_39-m9*0JSWycjMV14*WRjs6fnb~u6 z0fdKJSXn(xtcw(!!a*n~D1hjJ^K{T;5vz(lQRgYbS^oJmk52v>yJ#ODAN)R;O4nv< zc%b{D65e7~Of!FHoejLu(?^fKKMG_>UBzJ(w(mQSL6zX^pN58#7Vg=wM>JR}jHcyO z12dB8FqfX5uCZ3KG53}o0_U%(DM@4Mhr>p&@PlT(pU88qP>7fJ5wnNl(Zv>!o!Lf4 zMj)IpcLnTH`R^MwDMjQO#XEQI+`4TWA0Hp%!Gj?A@P{ma_yS+0r1)1|juzo(XHVYT z3(pkZ@PmK=>ZeS7mvu7rw`4JFA@V-6{ZeVP6{de8X#O(Z@sOL-Oz=g$QBzoN-yOSw z9~%5GHTEy(=jUVbjVe_*Xa(ExYLFnIQdHH{1Ox^~gX#Z%hz)yAON(Js$lw#PRl|2) zVvcQ|Gq5or$JYktz`LWcLnSPpW`b$;c6B8`$IHWqw`_PW4|}l}-RvIUI{K< z=s)lbcY;$;OVhZWU}U6$gNzqAe|ajz_-OFmgJ4AIH(I`YArrj`Zy@xSK9;X9W{GKN zX|eVwyJaq1FknYpZ#Q%(G@`loGez3=n+aVbqD+aX$ z+8o-aZEGfrkWd&ScXDd#=1e8iglt53_QxpFHN6FYQwlx+VdhG@%lUuH?lzK;?!r~PXwQ&gu2*?B-+&}NUd-v|I zU%#>*KJ3!l0s8av)qyGwCSahct`GMUyFa?AgM#_9zpC`GxzNJcUm4ud-cHbP5dHdZ z6&y|C+18u^>;&M3@Qc%R&(}9ir+|t@MMvl10Ysa4xF9wp2S!F*utlLB?T%a1S5Z^L zi9c6^1{SB1s5BgY2Ht)t;=gli*5~rr~6bef}KDN3630r=MPQ z4>>s(C#S=W8*g)Sg8~B?XVbDb8r@HyKKIm8~w^8;%NR|@Uq9P0>;dLg&xE)T+`boI3fMH49h~Ry?y&^ zERRz14|sxt_w(J$U!yQPoXF2W4TlwPbM2hrN#Wb8RIKcPVx<$8Kk~XLkKkC ziuU$1%8Bx5p7Z^VTsC7chg!&~o%{~cGb0VntE8mk$B)YDpbu=*O#kUuR(9zO3gvA?uVPq;Gf~MLW0JUqWpla zjW(~5*gSblOG^$;PG=`4cod^GVhSd|tj)j|jBLwb7xCSDRwJx*jO(X1JM*-?@s8`3 zrv(HIAJ=m46$>lfli7Aw(pAwt32HB&np{l1RiRg^-NKh~j^(M=6YPD{Y;RxcSloa%6KL~?6?9wp(UD@MNttIfZffTV9NG~Jgyo%V**wN zNf_xP7O5gi*x_MdAS#4F3M?tiDL~^9IEnCA|19=W-~x@6_UhGXlt$2NAZQq{Yj__x zc(7Ki%)eA0tEDzuRtB%j44dKo=H_NJp1|*FsCbd&j)8^6GCN;L81BL7lfL0$bzR-b zp`qsXcK=29Oyx2dE^xGim?Xc+i_CBn%r|0UQPT0fx2s>Y^wt*ruJ9pfIj zlJtMw8=VVSpUZmp?k4>2E?o!Vths)j^Q=gVcq7|0?Y@diWh^4lGMj8_uNGRu;e~!dyyoE+hvM7ugAvdo-@V1We|OUFe1^{ zbamHz%SgFSN=R%#?MLN@!}%^d`vXcDkrSCu^2?V9SVs`$#?ebF}Jil#>SSHlLInPAl48h6L1u2 z2E6xLaniJgw%g|q_kML$Ybi}Ex*Tyj8BV?{0iB7z6}(aGy?uL1pv|_`1=|=~Bg=@E zmUc)PTNtecm^cEejB#FsZgW?QXwr&0aiPHPW!=8n>FM5c7(b;Wt*5t%n?*btH4AAC zeHA!pd*X^Rfji2-5H7Mj6(Jlg)Mp+q=?zmwdlvQr9;m9Sem@1i0%jM%S_hZ&=gb`udgs^l5;fPkp9Vx}t}Y^iPU7y!a$1aqQT= zQhoHTptBi>6jsH)-{n!&*?lAR@nkGk9+Dd&OU{&1C<1YCksnr}U$!lWc6+{&HA?&2 z3$QvFX8Yq-J(^owth5R3 z5vi?1(`U`M420)z;e7YM#;^cUKrthCP$gtim;_)M#quHO&&(rOgEU-4nTn0@`t|GB zQwbFI66<-z?x1KhGI&DeP@N&qgTy;_O}&zX3Hm9h`uX3#@k@4-lN0L7$#0b$(T%H; zDEr~bhNJ1hg9ng@A&ezH?bs-;vG8Eoqe6}%jGTOhm;(z7)P;)Ca8n627|`U1-Zz3% z8szzIEmLrCXjpS|aY35X4|pYL)#@$yAUxVCR@LXAuyPOs-#G`R*gYtivO>_uGln-F zE_xc9@;b2n;lqbHI7Hw;gqLscWC3n>k_yMdClUn(1xChbH23(7;|5k@srZJLUTC54=O z1TOvpAgJ|7NE^t|{a|Wq%Y@1WZwD2WjEqd5bGIEwoj*03JoY0DlNgg`+g*geQq-^= zJ!+7>2s0>?m`f(iX-=MlkbJSe1Y@qmR1_`V1JEtnS8x**V#FX2mNlRd1bTvW)eL1I zA|fR|{!RkQP^4JH`1^?TjHj(|*IVD3U|U^saNrA+X7v;%ks@=e@r6Vh8_N`9Ze&yj zLM18z1f3i!FX+P!Jh znz@DZi4JkG_=LBHBvvQn=~MEZJCzg_&8@9Jf;k3+zON{cj}mlH_^o}vG$IP#7t(We zwOm@FWr?GF0fxMxL(9o2M$GjF;xZ(C=Nj(B-*>$MA|?hkJ>Gwa!cfo0kA)&eXsM~Q z(W!$TnxPx%urtQRWnFJMVIIDPsKn}o8cbbYn;WS92%85-!R13AR+W&d?n+hF)lKnb zyesA#{Lz+WS!-ACYX1lQJqQ%b^>es#Wp~UC^h-?8ZbeazNe{JwXRJ;d#AdOpLFC-N zn2Bl%$hzEC9oh2bojYZSH}5}uz`F%eS@;mBcn ze!46FCZ~u%`htb7nHk$1`MR2KD+{Zir(j^;$a$t+oMT+|7^O_3d5*$_-$6#0;N@gw z?vKAw&^PDO$ULL2{#?dwb!*8qH67goJRVUZH+QO_H&*n`X5Gx)UuCuEA2xyAU?_Dj zpcyb);m41w?eYL_otp}iA<-}uyiy|**= z=Z~73nGbAuv^VCAINrhzcXM+a8lA`Rkf4>Y9TbS5(w9!1I`txr)%V4gQgsb&Z6xb` z^F$9BUQmPn^bR1~u|rrygsS**R5%RVCqzV6Y91=(*HoUla8B2wZe#u4%8FJ*gfz*D z&SvE1j4FZ!9N$&2LMkdE@;I1HR!&ZT>S~o(^fe8Qkzc>|i2VI-^^LcNg6xeJ z4;4X$_v@F9;-67!gm=SQQ+!=zANlt`8VcbHYcxr<{E-gK9Ahw8lLQjJM7TgD(y2|+r=eMq{=UR6)bae%Czb0+^>nCx)l}gTU#hBhu#_*|2L(SiHU^>-alLnR$$8a%fD{Zf!cRk` zG5tKNsAy!*VX%wfL*$V=(U*)ak3!dMV7#m>dyE)EQ4KHXW< z!|O@a9-}s;ltRx!1t*yiGueO)hYV^SF)=YDcQ9VTOp+4#@xA~=Mq*-OkeleaBlO1t zE5I4k%UL72(_hES`SQf;-}CcQ=gxrytBaLXh_6R0IR`VdcNN&e-sgb<0sZf85O3cO zR&f&y2WmJ}NQf@l8X7t8-gOmw#cHO3UU>7yT9LHA*kk({w^2Szp54EMaqiKz=jc&} zA3@5&M^IH$gUwMsL%?%w33(l00ow@sQA1godhTTY9Yp%hJX&Y+D#Ogo{Jo*!lRhsNntGx&{3>;ln8ykY3n6t&Y}v6o%Nojx+~4-@`g7zH*t$dI z0O&G`iX=)e>^UTc1zZClf=dK@3$nxAd-rBT2bmae?-Vu6j|}qn*Mb)b`Sh;TRVAgJ zJ9f-0EL5c5ao%QOZjN9(qa_Tqjc%vPN*N#@Il1cQ=G>&D5dfTwj0`h6bbD%=m<+zy z^U`Z|r}shwSuWvCq=b`^?ff+tyo~P7R1}Pg~+M4uO)wjEkl*uvx_@yW@f*<>mt{CDN#LIp5+(G)#oe5&tPq}T@Xo=-O*@K;e!#)0 zt-b8!qcw?o=0J3_$W^!2trf9Bqzg4butwbyZ$-ID4YDU&m=))oKl&#B$VJ1Z} zee)(aCue^&_bGmUAb^~#EF|!*LRUU}i_)&!pCu{W{L%KAX1kpQ5e;-|tz=9e%!t61 zfP(;7U@#6AfEu?b)I=R?3o?(JTO1q*x;d|PJE07E@Icnij@LobR9Bbrt`z#Yt!-^l z<9&pB7Z%ovz}DtSQ9}Q1c!P6&k0J93f ztfB#c!b=wvDhJ2Tsn-ZNRCII|b*N5Zd`IK%B`{T-d0@M<`a!*;1DZ;*2GRyj^NQZ^ zU)*ME7Pw7;ySC@IhJrv$vvv75fhcI~`pYu1(R4RSGt<4@olmNaN$voG`$da543Xa{ zUFyBhw2!295U=zdLP`$@OSGmbr;Xw4H~#oh9`x?ryYSsExG$R|2kjY$bpwT5 zXOBe7!x4T=BVLLNXW+ky!Yft*VQ)j;E zBZPzf`}R%yC6evg)7;QNMMH!7^t7O$!lg^&bA`ke*AWgQ|b6w=vF%pMPG=_p|&dtqjO-7{`RH~1>nc2_0lJoc3us?tIRP9;HT;?U* zFg&bo-*%HvsO!YVJ-(}9=!dqO+lTCI2P30+l%MEmOHI8FF4@<&9H9f_G!PM2E?-)w zL4)-@#zK$PXD;##QnIS5?@;V}z4!N*gTG#Y=*r=cm7KjRi+Q`Zf#rxjT*qqd@EkTI zW?x8JXvoa!m(Umf6gwlvE0&p(4N9{0#vb4AXiFt@l-5arwvHG1CW@&A!y_XaT3UEw zTld%I+mJ2vi|Ju-R=LEt}M*FfU^%x3-Qe(f+kIF zS0WJdCc2}-&V>WXxVj3*y6kjc=z>}U42kqPG&<@RC`SFk0xYoZ2Peb;J-8*ysG+%0 z96AI)>4L#=c_^N5l9Hz9=3pgF2jYJ64iWTS-r@w5t>4 zJm<|nn1m|G(%k$wDragf5-X$K47Khj2G3j}T;SNP6fdI0fQ*U6&f*JqCj-PkCMG>R z7!VCy@blc?%LK?OBQ1^O4{r0+-m=|+(9P4&haz`C`C)})uDKb&3e>6*6T(tAaDH-O zax!~xjyN$u1>h@U>LOZW(PC}DPR4>aYGo>{=7F@0aIsSB63%O|RqBE5Hg4|^yo;lr zhLIVGiT4%8TpS%w57B@aab>9!h1QOKN?e)2C^)Q6kc^Cux`GpQaS=jtOiJpx%RM_c z2cnh0ms(rX0+-0B=hb_Pjw`}P*U^XO4SxjZDOaC@ewbQ=cKp6$wc`O*+Y3&L=0 z>3!h*J!XPBNOCqd=@Aj_AmKq)Fi=z9`5LXAsb3l`>WmU2>&*7Zl?xNhtrmJ);$!Mt zu1V>51@AOHxLO-{>_uGM78c*YD#L*3%%^o*5hkBLrRlsz-B|g6ci%%0Mi6U9p`DY( zf!Ml_SbzV%EeQFr*go7oSd>R%uc@owS76<*i6)OE+yk#4EiGQtJzElI-CtUhTip`O z{YbvBh&H8>Sm8?Ww@0W(A%ID5`zlpo%CA%G$;dVP+D4P=+e?H2 z8e#F3Te{{!W<%ey}kM&#Tpt-Z9pBU!cbP>!VGI9YHGdv`9a&(L8?NzXuVd3Bn{RW zggJ4p`R2wt3M*7#pr(-5V04CfITXSTV|5$qDOg;PjzM|xnp>2bTUkZ%ne8d6pL}uK z9}Wy`UWXT_`eFzP3vV4C02i!Jpqe38%6 zu6<-+na7k8>?5N)v7lf|MKZrjvT~H~*-9jB;3F1R4ez{rSi&BO}i4`^dl;V%@A1IKlvsS{?cXn7zI;ZQlkARd&V zkT^gGfEVXWx&v+T`!xm%s=3#kA3uK7cmq!x8ci@}jNk?{{@c1nH1P;!ZsF!N!yDag zs^b%zT?Yq2gyBA+Jq_g90gRJ^u8cVuA+j3Ip+x4?e{)4^vH-z`D+p{yN zhn2;S?O#7q!c+3#AM)X!dH6&`XZ{(IPlUmL#U*P#21K(oMA9CUC0jVRH19~+rb4Rk zNE9$i+S|e2eXnk>pyFxf$s@ldMK2mE`Ca!*3!CsZ^UKIS@3F&r$D8{<`(ye&XX-B~ z@^1kJi3EkZ1dD`DU^HtUOPoci3@DGsw4#mdJsO@ey9#hB|9HdRBWVw?@+$EgmfSdw z!;PH?5%lQMrtjY$p|KG|S9&d^>{S?BpH`Z9 z!0)t#ZzU?b=oOibZH5P=FflP<^aUEc@aMEv>edq*$$K`blSaJ6R~uJJNY;{Gyr7_= zaRjRjE&}tjP`dS;0$4>L4G#~;`vlov+YKd-;Fqech1hY3efw8&;l*2%zqcq%h8GV{ zEqXB(df0twiQ^j~FQ;H$kKA>`@P^K4+$tj~~OIlhqHTf9&Yd-DC5v zW~QM}pF%B0!n{MV0{oG#Q!ooY0`Ff>+T^Wu{z3^{P}fQ?Uk^9E*`nRI&4P}nP2Z#TD9RE%tFY(utK z!tKPwLc+q_Xuv8N6ZheYcyFHYO)ilukwvdmymEbFHhc5kYR2_kU{Tqs<8G?Cp(OMS zJ2glfyc1Va9pRWm{siNJQw0o`#x+U?lacGxPw};WWUY5OIYObBdA<|)nw%VZEb}pH zn3zya&qaEG=7;Ae@8d@g{3HYoaCLrjKdP%aczNxXX9o!rePDel9%L-p%kM)A+5%`X z5z|bj=fBMuK3sG#8pRPoHxynSB_gCbB(U;XG8P@cVWk1gb@^aWROl(o=7#rGmNOK-EQ4FBTb*ONU{$Ug`6 z?>DGKy$x|;LdfHgCbx`CCEN~0Zi_*}A$TzI@#FdL-(xV+-%Ipli?#e8D^NVPHPCQK zh`pWNaW1YSxw>UKjIFy>eyyvO$H#^X*&Cv8{KFx&ppTA{hQ>DmYCHOckVFZ&1wt)S zLT$H*`;r}WZ3Gk4o69K&j|Zt<&XLz~vzbiYn{m%QBr4@#g6z>j*})WbRrVUC=5HF~ zYXNgv4Mt)g=QcRje|?zh>+i>~j5g>-j~|hjgR@wf1zI*1pdSwg;w95-{XrF=_hv7hiO_x4$@pI?pVwah|I?2tngald) zMOq6#wKHW~$^Fc?!r*-18U@BiR6#6LR#%sF9HGdf?|Cxjeb4%&2XK0zG(gEU7$Z;} zT3E2tl_e)7!Rcn0Z7+L7DYoPn1hll2nJ;vAf0!iOJNMg2d|dWx31=4RWy_8|_CTJj z=+IiyU_EcAt5+xoJG;2Y%F`yzA}tz9M#gpaSzsxof{;g#K!l}aWDF~CHa0bVc1K^| zWv)$h^-lC)X;8AdM>-Qp{&*nq-TX8TGLUE>ljO$d0D3SpdLF-<9*8{v*^x~PmlWGG zLg%!zb4ydx;PJOB^9-eOMrjRRf7x-2boZ_o*!4=mmdNW^w%h!u#wZL7!0tYr9w!KH zn*|31yoy9qN>Pt%8r&!@3Cw&@kc8y$Crk&05oa6Rn!&uR8R% z_;Lm=R8jptDi~!m|J_Ze?!z^y=Pu5}?x{*!wY0Sf*tfIuq4Pc;vYWsD_5x6lE^e!a zb@+r%J}*E2Z=gREB{-cZ)bP(*WpfD`pvuzIUKVy*tQw$%!XG{I4vx3HejUwP9&`*q z`~L}QtE;N^$8?(zb}Z_2T)0C^v|)Kx?{RdePt%d+P!%>C{1@uo7~$LzEz$Cq4F)vg zf$s+(i~Qr#$u#-rmZHD>!~6G!=VlaQB{0D4L2z)epC8M@R(B=Fe6g3a;6=cGfsddY z7c!7g{bQ@SLm_wNia6LDx}+aXO<*x^By5@rjZ!}$XOTNgMk{tgXtC#@)5A%kV`r#j zb)SjsxWe$wEIA`179&$I3x-lkg(GzDyY)Ywk&glNlD~S=GBP%S(d7qmF0%HA!+1f; zOXWA;A1s-!nN4!}z_e>AjyyH~t2@h1CylZ!-QC22aI);K|YX`HOIIRpgJr5nPoT1eXL=nWTxaC3%TRm*>7I) zjX07-yOL)1vheWKeg2I3tGFt#C-$m>5g&v*7S0R~4oiLgOxVLw&{B5xde2UE7jH6I zH;#hxSNOzBGMTpBt z@O_2Me;Yl*w$U0U*6F4uK*UK)b02NkysQMRrx-vVPHGI{03%ckscBZA7K1ysEImYy z>U@7Q6^QS}i=J{n>O8Bq8&HVqK0DdFo44E2)HJ?;>i<R>Qg>e85NfCN{+p$o4i`*$;^{lKOi)KAt_SaU zKZ7z20Ulfiqi7$S>yBHxbr;>M#=*)pdF;5LK9n-f%r9J zv(q2I;e{OvV|z0FX*By(Hk?$*?H(0gXyF0B07pGWD6h zJbi+&h3?QECOkHKg)A*wFMtWZ4K0n1Fx0~Q4s8x!=nosg6V`+la_-XE>VG zMx8td2&1FpKJ;)up#f*}1C2z6?OK6$da{3VVqD^9nq8DJAz$aK#o-QZnjC-Vq+WLVtvD6L@&oxA8@$MkY9i9gA! z=p$lRb!5eUh&hHgpAxn&h-i+;j5J6tPBi@VGrMp&sh0A{E(sggD8&d0H@4j8^)+Os zowkJ;GL2Ojc9_ zhGx)_q4%K$>o|=Z4mutd;N&C_Ezg4-J3kVFIc5uQuxkM(d_I#DX$V<6XHlox(ZsqR zy1lcTN#`b1ti6|ixlU7~TL#jN;SjF70S=8g4^m6v804pz-+b(F;)osJ-qBD*3r z;^zB}WuBac*4K*SR)8X-J-5^dm6W_y;x?|ou=0l?mq6i}o=<`4Y+r7TE`G)Qcm<6cr0>_0)u0qBiyMjZ+>A7R8eZYfyLyEo;_ zD=Ic%U?yYX2nBN?kF&VdwUCoRvLwF(;+=0dG3)+s3^LQQJEbw6?PoDO+j{6d zikFJVfvKQzo+HyOxPic%o0o?Y1T9v1ptb3hRa815*<*?Zr4+u&!OjlFI3m0lCi#Hl zD*e6V?F98q%;3lMStqM~N2ab`D+wi<()>w$yV`rUuu*`X<#&`o7S1~gheJBMy6CyJ ze!vFz?3qARFz@0(=Z0T%L^EHX>FJ{D=gHRV*DBwq-ISqYDwtntn4r$K4>aictGk}{2jn||cAek!aid<$6!-l}mPrFOy zFKDiV`WDqc%40J#v!p#G&#Ou%(k%9WJSdB_I42g0lExd>>my4{Vc}j z=CIo88oDCrPPFzhNszdr>Ezx$FoNK>P&LZSZ!QoI4G*KQqXVQXK=zR%#-OWef5*yX z3$Sl}%C4lmpgHkjWq>2g7%Tp*&e^yer42kk1E_Dl5q z)--8LG%Mvw(A>_y=_$B*wJ7WD$wb1EpM;|Y0}(G>yoli~u(BLbiBUayNO72qg_AQC zBnr5MP1t7no{=^x9%!&9l%`VWpBEO6Lq>bUu1y>&G!>+MX0!*#MFb>c#K6Z3EFd;3j~ z){3kSx9O>E7``!xRt}A)Nq%)OS?6~Ohlyr&`~K_EUiK1dw;swkUpFv-TDJ*@ItZV? zKrY2D6?`TNDX6h?aO)Cm1!!^5*MqaA1)@0667~$1MncI%MP4U;!&+SG_|WP;U&Zx~ zTdwx5@`Lv^JNAJ$NBIbr3UQ?nc35~Su3WzSp!k!;Ny6NffAIH8c~nW#1@gE&G8W$= z88Vi6I+mHb)!Q1vTh&N5F}SNTO%t~PkU@HFqfSD|&3J}Vm0i`~ZD#I6fv=B`u^wxb zkycSWUCLpw__eFG67jetMo08R-$WCedSrV6U-|*eHS6qL!w1Bt+s%+&lv!b=IAsg&}3Hs9Vb$ zgK-z`doGVZ-|>>#^VF(^&xmi&cxkZKp_$W(=opEWSZ@tq9H^p32;fpIJ^T!=Cv@B$ z_Qf({7&fKUKUy*%yUva$66=Q#I0$>ypvL(dyBRSuaqh||c6P%mfm_uqZjOV)jUb1cIgTb&u*BL>#r zH7R<(esl}}u1xmo_jjA2Z@H!u_V$r>-tF;Mxw&d!n?BUZ_PCSQZZ{m3Aa^CevltA6 zk7fSO^q(sB`iH&|i~z>cxa4ogY5LTg)Af5lF$cVcxyyFeOQ+#?oyf4Ce(VgJfbQdpO}E>A7-JD$B%E#^lg{= zg89ks-?wA>$-8%|va-k7*vwu%?VL})XrE@N+fgaJ=?A}IAL2R5pnsnYx@F?q$u9w z-6s0ChfJ-DXC=ROuT?Iu3u^Y#If_JU3`a>t(SuZ-5G1)rik*eail2*QE`s91h0hqJ z1+@?46ra~Pus3VNTc#^bTlQ_YYyZ{9-su$#%U-vwT+oC@rCi7s~L^FlVcGOLWT#7$fX5tYf+{aG=7B?pFnCtiz&Bkln- zTcaJyDWZ68J1~)OZP1sW&gI2ZLg0;rtO&yiWoO&OuH-!>!(@q*>9B*g{TCoNy*BFy z2nJ)OyE{6RX3oV?qk}sp>zS zFDRdNirn{KBG8+tJTw7=z-#`?(iCJv$m}5*xF<{&T%sao2}4 zH%swCyHx4#ecdbSxJq$5m-H!bSkpQtkQR6F-BadyZmATq9jvEm<6OyT z`J#9Cc0Ye9296iy4|W)UFGR^ZB80GwF$vJhQOY3h;18_VX8F{OEo;no?Icq=ntY#* zF@n$H8)PVr^2d1sb&HRudi%=C><-k@NeBu)$9DddJa^RT7pr+R{04t1)94jO*e#)G z*DWJQ)P>Mu^Vy%kPyA)5hx>6<+29$swwkhX*=w=?0L>bDvj49-Y{^y>-Qv9Rb>Y(6 zi!aF(Ew!#wO|eNoKTrLIsn|=**ycfcp^c1!jETeGvo&t|6dvAPF1pjzIw5T}BcB&u zt&|U0Y#PBw2R<1qI>gWD^K! z`cvpQ^pEb26^k92ddYU_O1j0Hwy+N&`nHBn0|iOehW|t01(WY^QlT`=Gw#P>N6NS< z%E#xEXyZCd7mi6^j=S{b4AW}j+&w&J1~U-QzlTZ$kJ>>~1+^#^LK08u)6`r>*A=1z zMleD-EPL%%s7)+dGGvpW@+wN#-pT*RQ{+tgloR{d_HC|j*!n6?^lA7izPxGp@^|s- zt&5XS`szRa^=y-;myZn(59{UI-Tr5dbf%sfNHFKZ&-0Uv1u7mcvHFS%)1~nlP^=~9 zcN?AP6_)c4?ds44r;!KE85WR_AJ;()qdpkJ{e-~u7z=fAkce7a;Afb z$hU;>-00sS*F`Yog26FTIqH9Q7=)icY@jVeM&7XvmRUF>4KsZHcC!;P>o08$g`Nb4 z6X{A((%j8bo7%yV<=NiT^?UMAHXo6ia2K&TM}~PegM_ky(r%7XKY* zx36t|`1fLSF3Ojzj)&r8 z%AEV*`ap*SESa^IQyCu>s%Uz487F+JepJBn1mp5^nu&FHiOda$vwY$6+3!*Q^XA6` z2Tna}5u6$vMB5i0p;4{RE5Y+FdzOrh1*R|XXRvz!TYz_mk>E+_U}EDa+NaUBf)2it z69?$&1woYaZtdI|xMHp(FMk4a0;MKX`z@4~(@EU$bX?Uu5oOzBtrNfozw_`K8?y0|-K&QpI0+n57Mq`*mb+P>&` z?XmC+Ui8+n7MtVQdYFtIUC33iVeL_$eOP|*qUgn1L$)-9AH{E&?yX{FHZMn-q=|ik z0~KytAUzCONrvAEY#f|%@VisF?8Hn9j6OgLgia36*zqQ@Q{Kj>T=A?Gh|}ofDpArf zX_hsq9@b_gDoXImGBf!Ag8*1Ej2VRz2Jt4}pzI!=_y&?VIKzr&aT{%++nqKixJ59d z7*kV0y8w7(IWVF~N2!W7ZuG`+qhkg%d07S{H}@NaPT+D@Up#6ERN%#lA?REWYtVS~ z7xWBeR@|>x^zmb~d?Fsi^GJ46fd191S16|>2V?%4wt&JPF?|DbKHyov;K%@By%jSG zPE`#5s4Fc!3)>$EPYBeg16Y-1%~%|lV+|fz`ld6V4&cS_KE&cHymcryTu5rl#cc`# z%Aj2IdpxJ8sK^r|G2sY&{n`{Gg<%iYP|X9Z#_Sz18(?K2j-aVQ%xmMI)nZbq+q1=m znhqX`_YWwl-Ja6h9W8NtCV2M6r=Y@!oQQLVP1K6S%Iehpn z^g-~E)Y^%Z_7rJiK7oN>!Q*G$p23Mjiyhno7`;H{;t%Hl1S%Bt+?XK(Djn?@jkdP% zT49U8oCT5wl0LHTk=%i_0pJ=;_1QM&PWH`1NE0pCpl+d|&(Ix6t?j$|`e7fO8r<< zBK-fEr13lXXBppb!p!{o`l}e<1CIX77a<`b^dc_MgWecQq71HrD;N4BW{MvYbD>~? zTaWNdpjUYHiQ|iqe&J=;gz8jL(dT-5IN-A+d5YzKNYP5B!I!LD3u5`J$;3@pmiDoj zd>gD|&DqK#>idn=mqJO(oK}i~)l^14Rss)uK)V5Kzpq{kxQz2+OaS^S!8QPMBS*s+ zbtK8=zd<{zk_XYX3%}&DcUo?IEnSmYuBfhvJzm`CK3v*Cs^?rdG#Z`#Rw|!+C!Pp( z^p)ca_b69*>82=L+77#+70uLSciygGwYdpUTPiaC`3i8)c(i(;C4QFRb_oYm9 z?V(Ko2l-OhW99PUj$4mLqux7AMK|9|6OI8|K;EyO7X<)8 z+yz+=WQu>{&%m+${;X_l!;_O9u%B!(p_&1bEdWgc;U8NSkGic3JK2xr2Rkug8X@y= zAHhr~5ZTq;MOz0JID2|*l} z7O*9Z-hF&JPyxb@NtPQuW(}9Bv6w?-!pQ`z_MTkgu?T7Bhv8bykGzKxuHpBqruUvT%mTimRyA~G_5 zK^+@CY}LATm2JZ*3fp&+gW9qIm(Y{^%JKF)dUwRrX)5(wUVVA9BsKc&-EXhI)VcR{ zI%j3SS!~GP9{h)tc$-yDHi`Z~S8;Yp{2`K8ofkyB%~BAImQ8L6gn+RB`D&mQQ^f#$35GUjB4@-VFp?Fo_7pK>@ z{){>FV(B?u_t?DpM_P{_PIx41CG%^tJPQ0!DSqmJ#Y5aQ0Qi zr6uGbbQJ7T5*xOaC37*ohK$US@m%$}nDay#P*({5^+W4rnrw@c8v{vev+{f-3nIRG zg!uU$R(CK0U-a~BMS#-%TFQ<|9WZx%uu*^VWL`iK4pLla81M)}-nMJuCZIwgs-SR( z<9qjR;F(?+3=cAX4rWPG_HA#S5a@7Y*C>yWv%R)%57WOFmn7yX@7=aiSW%uU*jP67 zR>#ylJB3Aq0R8kcl7&9)dgHlu&4~{4iaD?6UY=zCW}r@ontglP=bH0}LI?GJINIj( zvt6>?%Z4Rfy!hYd=+Ipq5jW3xYQdeQ0Mk#TwI zTthEQ2`&sr1usr6n1?zcev5^t~piGfeykBonGCn)dtAOz^mZ>H6p0NqxWUm_pRFp?r#2T z#97h6Au?Vr<{BGkz0hr1(97_}2&%+uSFgg=(3BFTnMI&>RA=Lf{G&!USZSNG_(}mb zCX^qhrYpHL&;ILT?|flW^6|jg)RA&CHG9R&8NP65T@*VOA+eLNpp8gKM3lrCT!qZ5fB{QyUGe-4Hj|?IT9Z`Uv0qeaRTB+W+_-69E^I*MrKIv!q{~tLU{TXDE+m&^U6!`oEb?@}{{3m3a7KkivJ%hib#fc_ zHw~8*UOqyre?o%r1cd`Lw@$h+yk1j$QEQo;@0YD9ehuBupTSTG5+cVK=or9*w)^o% z^}L6Dr7O2TiYx52jk~13di}E*mHP{&5p;iKPK&qU5xIjet0e3F zERE_Zd0Izttjc}UCl9-PG7Y=51d$0PQqi+#Ok9E555Ym~=yQ2MZdTR#x}gtf`k{*J z`?PT>1lY8tW$KDY(xa9N3AOg!9^ch+IDKqUBpv9ct+AsGSpj+JQWMf+ihWGjN5Ux` zH*R*)+;VCUC8twjr!E7rj?tQz4w&MI;FWnM^`7Zt!n(Izd!4z z|DkMgmV2l4_&O28d|km$=r%+&TU~UA_h$S4QoX{5_xjYs zBveK~r;Li~y}USoodqUZ)Br5k{3IddSGsY2-H);OE}hZI4q#$eO^p`g7_xgegqylT zs19VDb*omfAG$tV(d?>cBMGR9DhtBO`~CW%LOHx(XF-?(-a03-JWe*ot(xD)^8w zVPnCX^AkMu>hB)NpDUhv5dRv7&6_8z3?Ko}sRR_^9!`&pW*NpA|K%wW;K!p4=gu8J za%A`HRI;Z_;6ADGi42ACio%by+oe&#ElV0hEM(g{>_usFHp}ii%jseGEyI z?iM~dc|fH1%!qDv-zy{S9i>cEPR>~R645F#aPIW!%UP^Wu`Cq`0JdSN_88#=>~)q( ztys0H_X2UDo>FLk=JW{6b%a?>#-6C9mHP4vml*`BpupnBs+#@h?716)&A2V~Tzk-T zH;XkmH`1xf3l_yYYaz9?rdNQ-hy;^JP?b*7hAt+Y0F7UK`;MM{NnD`9O?7pQF68Q( zlE_sTFKVHKVL6$RFogT;$B)H3Ycgsx*(Ca5w}Dfh7^+>GII-NpVqz|oq7?Tmf|_x5 zjdFQQV)9+#1m=6sU%bGIR##IqVq-(M^@kwfj$+01h7DDX4Fc~OR8+hs&F4mwkFri- zxpEp#d34yA6EjB~msb>Ek_3>%PXPTY=GTqcS{`j7g8jfEzG3`eD1Z!WkgBb4Y@)Na zp5BN6x;RBQn}~xuuRaj$b!Udow=)j!)32Y>6P2~HN$aP1JRN;@UHHvN-7MH(#=@@B zN<@dwQv>VIC);MYkJHf^5_~<;?cJ>|qS+jvmur8(CdLsl(1Dulw=~*8YT~9(mfj`1 z90Wq*Ya`j*<{oq|#{+hpIcaWiD!FMjcCxqN9FRI)ptH%3m( zUwkiM-L!yn5l*$o3sMki1v+%L6#B-G>3U0O+Mcmvrc@*|?Z7*^%ND7;f@I5!;rz~b z)F0ly-KBpVyHElhn!UH;-NyR7dGmzjp{*a?dBrBhqj%g zE?Rc{{*~N!V^97H70Kn$?lXSXb3}X$0brRF3X5a$@qP|W4z4+SId&jbIXc|aCu6jY))?W+<$tDvl`lQ4+LP4N!C&80X>aQehY zn23HkvOhL<8*mpVCf)k%-Mc1^;%M*p-iIgqke}u@#SuS0#ynV7DSUvWsxoLSrmaL_ z%EmpWX1Spw1y?cp@L@F37&Y~jQ++o!AO^`tKy5t8S6{g?y|snk@7`xW0!DE|MQ$I% zky27p!vkO~yH2R^b&s;JLl-Y*M33nt-u=J`6{p&-^E&`9&{rz@lJ7m{El}!Ds9ojL$E-b6MWMcxKv9 zqa{6r;xig^c8eJCaQ3!ukaYN546Hd`6g99mBPGQ2+;Vl%=qX+kE3P#4k?S{L0CFAd z*eIyj6d5egWMPvjn$1|fr^{S7Rc-aChfIVj!uWkEXszIj)9hV4O6OWJB|kYOg@A~$ zs$fe4O5T}WHAl4w0%-HBT&^X9{A*(ja-S*LbT=$;dl&a|?ZiNbO}a}UWrl6uK~?B- z_udt&dB-C51P1o>o_NLV_23Uw;1@hkv>GtYw0RhW|Nx zA@$+=8_(GbCxBu$9Cep0n#-NNJq@3Rzzw0wgW}1TL1spo%@ut_vjyi(wKpV>9Ceiu zBX(%o&Yu01qMGLivdloIUHtq&y;J-U6noK-)Sw$4TZS_$e)%S}FjojgYa zJ}1v`%N%vOo=EE2%kRF^j}uA$dS*;45ZyYyY*maOQ#a0hIeGkfWIsp9OU&kC>$7;_dP_g)LSWYk0@b3)mlX~+hgC!hC{NO1%coC z0prO5*{N_c3=bLR)ktj~dS_Cs(MzT2Z%^c<;HwwtKm%ea*+od^pxxWno%==uzmI;E z&ht%E->fYFIXs4E+VrrOs&8t7#oka~U;X6^1UG}?_vF52RMnZBIE2mO+eu8ECI|xx zKJS;`+R?fC9;XcWZ9D)xq;cHkApI6R5~5utr&rau;lM+!#d#PadKavsv*Xu>`w!!P z2c}L^s4%vCW(Du7Z%##UXygp#isDRiq<)7)FZ`8lZg`BZKPfCQ*A`AlO;x8DpylLo zcUKmtY-+uMV6NwKs6j#ebz(TgP6zhnxILTw)e~3oF=h4Vv zkSaoz#)`lb9{7zbt7gvVsc2yD^xT6g4qH499@?bTys={jPMrP&0JQ}n*V>6gvyNWP zckS;p#T8hRX+hcN;2sNexwry9CIX$EU4fUE)P@zKzm+z(eohha^2^Q`_H6PR-MCK- z)*f;0BYEfg!=zLPr6o`G0?b>GT_Q9fx&`szjd|ZGX^H=#~)m?f6lnk_}Ew9yN;j ziTErrp^;A$74I2&HF;Lx@?(>}qPNsbrr6X`RNH7lD5El1Sp011<1h@nezRu@MC4Rv z)2tmHu+SAR51bf|A3OE|slm3x^Qo9odNFWudm({S1VXvTPoB83vr&M`B7q_xqUjlF zV9$Vul0<9#`2G9$lc5W6E}S!`_RE)J$)(;CZhdy#yvo$OGGdi^$pCrFg$wtEh7Q9- zI1!8F#LQ57hp4JvY?OCP~SaGuyE*pH7)@3B#fo> zvE@fDny{U(#~TC`2Ir)6%nTRmc#O^2Vzjq*q4DAeKW{cK1SVna1H>)%PKr55y@+n5 zNCR>y%+D9>pj^Co=my+!n!P(D1XU246gg>W!Nzjrh?9>nTL6X2 z$}+I=)@Zj15QIS_lpc9Z7J%Hxr3JPu(z2<2nRIBZ&7j>5Qh^TW^Ta< zTQ`Qn$!8|n_Z5zI(`a#$mbh#z+{CgzCfJ5yAL%-j<>G$}@^E)z+?+5f?A7t{y!jU1_QIOD|XK%LWV? za*ZW~`@JIUUd(}!&=K*-zyDxY$kV(DT=D5P^=Jv9axqgG5kP6b4LuK0!h6vji zy@^3{e(3J5Xr}MSyH(r>WR<@5?PK+n=@CswZ!Wv`_CgUntCL-`9WPLz(6H0Cm#lRs z3z`Bru2lY(5L7moJXR0J$x&dZLD0f}jNXUefiI5N9%h`^$o)H}?66LM2H&{K_PmG5s_g=lf^1iVjiLVpazbT20 z>Q^IeF*~xF=@f(M$y&qxa=zoX1+81e@z|E!Iv+)&ziLx0*bgJy6dH$Kfqd% ztET1uWwu}ev1P%YP?48j;znB1;}jKhOG>mA6?cBB4fr~nlS4<(+=CC+qR^(F>b2o* zaUn)|s{ToCNJk4!=LTnG3AnrBMpTI;%_VmSznJT~X;V(|RGd1=G_Pb$cNQn!A5f%s z=(TJg$)qHOkD6oX(3nY9&}tJmN*_Ni|MF$eu0pns*k3%-WFI6j8s&Oj#yV86p5?0Y zUNMb{6A=!pil4-Y0CP{S^4%=e(Y?5{&AotWe0@843SB3}k||(;!4JS^gtoW#b)$WT z`#PvvIlFhGi6d?MJ}lT|GY3Tq(|I*&Pky3u0&{Ki@`u z2vN%%{?~_=%lS9P>Dy1StO`kyscEGCS+jaIExtZAjI`KP$MITP_bsV~?+_Xc}c;t}p&yx2(a!S7(u><<4P zeGZ$SpkIcOZMs*w2@<4b|I+KH8M*MHf?V-bhXAQ`0=aF~QM&zKo2_k8f`m%Wur z3Qx&{2N$@yjxQd8dju6Glg8cq_SJ4QRn*V`4p8T=P=2r@s;J0?f~j5Ao-_bW3s(@a z1W$;B-FxuZ;AJVrWo;P9Nkyb zyV*|d?-plG+)x@57pG>Viy0iZ7mzyra=K@sYKZcUkH(F zCwhUS;JC(n7q~&4KTikMKFXdetGDGFweI_x#O`NHb4*Uq*FodFhCt%&TLJjBL_bfF zhrmd%7?0+F80Ky@PD{FPSvX_!DV!Z9mx8JC49(iD#u|bLVqw3{tt%fLQDjS!lLpq@ zu`w}NISQ>4E~QY=Ttc$+I{^Zg_ zGb#^#khVM@n)CFH0YN_LEcrxndh2#HYvfJasLgrd>u#01ovR-f7D7|#pvTy|XV1sN zI5kB@#)X)SYqq_HM*|b(-7B$?`ZmQ=e>_Jl&r*+|ZOgZ1Ujb|h6y*($#`A$N9T2zt!A3mf2uTR6_OTC`~O ziWMeptJbgYXs%!O=}?aUA4a|QH2fqNQqH0&kdQZ5lIV;-dD8Tz?Q7+T1>Os5MrzvA z=c7xbY8AK-?EkXKQI6rnAb#w2p;Y}re(P+Plsx)DJE=; z_{C}$s5;fg;?>Db?A?QF&G>76_ZI4000ZM*3?g1{Y%Tu)5)q@foyT?Ot5vqv*2yPM zyx3Up^(gVz3%66_F7}r>cwyNdaie8>_8y7uTry+pkF&Pct`OYVqk*_yoN5W|ueg$t z*d?nI=Heex(R3WaCmo(Vbz^F(H9LySIxG8KdBnh=ULalJnnv(-Fw=s- z7qmdIs02Wl53IfjqnWdPsW^ykL-s5Y!{gMj6@c?LC?xli=HikXmQwv| z?rTxqC+%-805f23l*qOt-DOIsFoyj}0#z6ZXdn^WuIqJjSzUr7~- zSL6p$oNse^FVX?8!UK?L@S4I0os<@zJnECOb7w9nXpl1+Ch@O_*^Q&RGHbM3#He^5 z;q`B?SK=qbpwm7v-TmvLn(C9RCjsw1MI}IO4xq-g`B_HN&b?&|2aQ{+re>0VP^M3N zr{ky9bCB$DTDc*(q<2^6k`tX-*o zG<1kRu9+Hdwu`@ zOndt*0vI*l#EFNl-&cxI3%c8Vw7BcRFI*qCXwMp1O@YDlo+M^;q8H6tBxzO6Ce4XE zL9s_s2&hS?ROBZ#zzjYWZ5?ot;g@9b%b!PvsHy4*%dcEn1<+W!O^+goDvYEeBefj# zmD25|WA1L)fCBi@z&UTy3d&*7#Xce;0qd5u+*S7CK24uGRp?}rQB1u=&ENnkY|KjP z_Fkffw~bgoB|$C*9u49r0!ewh51n4IM|cQ?1>g#tCg?wCgbYYR#}BEk^&a^|O>IkA z;{69V2dgY}Q)w(~_;x}f>#FbPyWR6=PD-)65HneE?3Azc3i>`n(>2Rib{911QwLC_ z()7M$@pzUQ*S3fP%vevSuh7!R1J)-{M?5QzaKjN~<+^q3N?Z!f*l1~9 zydy?FKWD#j?aJ+c=Ck25J7qupG_4X5(w7Z6#JMS+yVd2FQlP_@4T5DX8J?pDXVr!@ zFWLGZfZ)^EJd2?}LOu`j`=jFTml}TzTclZbfT5 zm&Xs1n{Ot>D36&P$(@RTW{?K3es z0l%4ojs63GCn)~>`C+oMQ&;jPt4ayY4Gq0pD)vh7J3~c0+yIvu84UoLTZTP|?U4^cylAKCrgsv@D!5 z7>CBf%u$)9?%cIYATT(ypba+^!lfJ4%AaR9 z-(_6|s^n+`-%S2B(1F1N6B9UuReEP*@tuz9@Ot%Rw2E1BX_Vsu1;hUtV+hD~3|5km zIjHZzK#@@itiOo;`yan}ft^(2_wNds#1~A$vUcp~Hdhyc4wVTbX|yu@mp}6_1FXH< zC)qoV24M8&*#%o2A~2Y#1Vb9X{*89qe&9{me{PBkN)ANahsIKRZR1IP=~#=E8c{$U z6cNu7n@{XAZ@BYdh=$V)M@PXrBN(ETle8_QBx7f5EO&Ij3^%!}{f21duv8VM z@xUi}jb%>{S*)}1|5@iCew zk=SfA6ByQ!-QNKC$<)Pk=LT;o4urcRM|-5*wxbm}cralnaYMtMBgxm7S zn|`NH3${6^nwVDd-7yO;nyqqbtzBhy^0JD!=gLgMg-w={J!q$Eo`tE4Qbcu4&2^Tc z%uO=c*6?Uj(a5GdjpmpMcWh+~&culm!Tn;yIc}F7b4460Z{NRvDn4GQ^8vY@E`(`SG9D&#TLCR0%3*y}v2W~tu`%tP3lh2^c_k~%s&H?!=@aBbYfLBESj zWyTb!t__YvM+b+&1EIYcW$F)DS8?VxaheKVI02J>vE38Y)v-}Uf3}UN06V&67SoN9 z-iHl3nsIq5B#PX+(y({K^5xUlYJUE>w6L_)hg;A1g#mWQ4z(SY>a5T*?D=xuJjY=< zX)o7mycOwsvcu~cG31QiP0gz2S#By9BV`VPHFG6ydN!SAPXM=l8AHZ%EY92Ab&*mj0`dxvQDlp8DL=VWB<8F^W4?P7UV zo$lsJc#j`glXlJQLYy>@DnDYHVDc9#HQwJOY1@yNEBVLlEKDP@@yThQifO_5mDQWB z!@6M$6p5%l43t^GNd$Gcm7rPH%=ncD*>T91+`D(N9f5qQ56V$eay7p+0dV2E*@TG` znR9G}wJjC$4kjBQMt@=9)GJr2zFWI(jep_0Z;@`)^35l=e8hk5z|IGa1#5VR2#-U3 zRn^pr0brC)Rk3ZDvGz(En<4AfF=r^q%kzNAzVIU5clygOK>P4rc+{>ld#3<1H60NU zbcfc2y%GN2!ILVx3mDUrE!H|=jsJ*u0oD(IN&+jb++q9OM&$*V9b`31#P9qG5&%pA z+kh{Et4$G`*>oAp0>bj|R^M~N{uQMo{C-#R0`Lo<&J4-NeJ6Sia<;6ti_npQ@nyHK ztV_`T%k0IVV6)Kl^ah~Q^3@`%0UW?|6VIP7Eh?It^cX{yyJ!^F-b+hO#i!+t>_Ngd zNbvh|NL0JCC$MoALzJq^?{x}X}zE`fe#vTaQ2!&9B^m((|F;J zw(nUjfbj$`Wh(qAO0!pgm=rvH>XRn1LU-b@CoGz2a&@Y_PJaI|u{Tp{q*_(=I{kIr^(ZHP@UIkC?tC(FZjoNZRA!z514W=L- z0uH!m`Je8Xzk1k+TnZN!E(qu?As~HIfEGx)@7DWuRcTz%-VSr621HT9@^HRuDi`KO z3XfJBH*NykdS4p`gb5_#W4b&pE>`YY;XQPCm&(^KU!npt3vl(byfSrOU1PP??Uj#{ zo2DL0`F4yR|Mn$0zmW|fPjGHr``Q2BboqYnt-&r7O-!>Z&Ws`$=D6MF7sSbY#v6TB zDXdt%+VlP0z6C4Cjv0f6>%_GsE=&#;)R|+TnBqB;Q14<}&pa8M!baXw7rDX3OKXAD zFhId6nW7X8=-26H7Rx`yX)(3;t`^L0Z=}sK&Zl;|6JJlr(G*r1* z{As`D7%;{3OP4Aqe>e~w4Pr=@#z##>g@2iFzo5Z?H|vV;j!O_*`K9T{=x0Zm?5Sh# zozh(GK4UdCCB7?`9ys~mF|GrREL>btaS|3-g-S82Bkl?8#{?1i52UcA_79|BnP0u? z$TAX?uIAm~u6~{@QQ%(N)$Bv%-N- zQj&*q_R+~v!jK#$yMHM`sG_#C>(z=lb`g-n;UDlEA^u!anx%05b}7LJY`>K%1ozXt z2M>6DtjY?#=({IPngp`eHXxRgWZs;G`*Q`r8DG1*EEn6?ua%XGd8%tf+JA-}w^}@C zdbNva)qs%G2z8M3~Gx=q=KSU1`e>WDw zyB^r2VmJoj3u;<4HKqiGsb$Jg&2vn-6;zsZYji4*lXe6WT`-JcRfC>mjHtESu04hcSPUa1#VqtpKt&3})UBzS`4^@dz^kilU%Bdt`Jsjq2F3?^$-i zzk7e5qoyUz{IX0w+2nX=|9%8JzL+1(y0P$j6_KgVl;w9u_5iaAF3=_RKqSF((`5H132 zS#B4cRi+>GO(z~ZH?McmHt#QJk9hn*8dq)4t($*jzFVYo`tf{ zk)K+P_8q>{b64Ih{(kUGKiSEtrT2PmnV+_?eE8@;2tiSy&@QK?b)ADZ?v-7(M@)Lz z+GlUtYKE8x+Q_FP5^j}|QEd2JSYhU?IO;56Zj-)@`;s5u~{-pU|wEBPH4F3zU;lBqW z{{AI|{zc6H@A(q{k6-XV5GwxPzwW<&^VU8Z&At*U%27T)qK&yPT@*1XpruAW}Z2*>TDvCQVvcVv0Ce zMpibVdv2n)e@AqW8ScJ?;x^-^Q;;N@KFx1*;tdh&}$Hqlq z+3hIhj+C;kkkmz7zI^c_N-+I@;PyI^235iHgE|&t;~%rsnHQYZg+Q(#E2|LJ4D!bALG{IzvZ!-tR!${o4w-<wqGjc4s9b@RN>(?R+vL( zaSIe3qA^lO2QJ-vUycuiz!?2)V3MB^^9!aQW*W4BOvQ7DkcqP=IDLsd5cJnLvU&X_ zQ_*ZjX45r$r8UD^aAE-mlpCMOD5AssOWzWSSQ-=}-qx|NjA2S&CP8(k8g z%Ox~Ug;M9Hy!bu~=l+Xnf@)!ox%=5A851ey6&08Bqy3*<$E2hN`Xlfspaw|Uk{6RQ zs}qW*9(S6S3-!+t%qT`r63_ zrNGRF;=$>H1XX24C>MBO*6NM9QJo;A9bRcRD(}G(>vpTfVr6c@K|yR^v0AVI8|%X~ zvd-0W*!X8szq&o}y+1yk(6X#StGGf{~(~4KC6+K#Z+xEZavSo{MKP}b8 zmmfkKXnpS8l+MCLB!>mg)U}8$x|&WGHa(6k8{8DN?4uQvw6xxZiiG6W6dX1uzhtLU z;?3Jr!u_hh1(U(p)KoLdyx_35|CU0h(A@_PJfrOgtVDJeyz8Cj%jQEvy{{~$Y}b}I znjitU-QM0nTl=tcQoT+VrhL* zYqMz2_tac58`~&^aLr3Tcdk;VAkF$L`4}y9Bl)r7)e`K^FD}m?1eF3QgY@1L80ynh zGS_JInPuFqOjSVeW7nqR=b+S&Q)S~K|0mQ9-cq-Hb&PFbT3|JMEhB?8zU0d_>?;4D zcQ3)-#Et#|@Em?BN__o~?SW2KxYn7$W2S)k$fUUq{;N~LTI|9+o>Rli9ZK2){Lc7k zQPJ?y#ddb8d5r;~x^Y`unc5c*$VCisw?u^i2J*JDyj$kovR$)k z6@UvA*}d9VK!*5uu<8|oGf~z&C)y|T;*~2A6D*lL-n4IZs=i%5xnydr+HLut!Wu&$^9>N{wNH+o30!2nMJyOoMtK-ysO2O(k8mZap&Gst~nH*?XHRY=rS zRWGNe!ZQQw2S`x(RK>aEO;bsby@-P(5aLK(X@kVcUcOPo?6ok2-#vUk4`B`5OtFf_ zZJZoD8Ja+9*>Jc0IJOJ zP)RNh=KVYoyT-mEAk&c4AGUq1m644qgog*`(1^4&4X`X8(gF5OZnFYR}Aw=SlYNLPpKEltW@>y7_A~)>vyd}VzD9a*Vkh%DkS~!d1!u$ zPb3EF8x{Td+@r41Eq!zWklMB6ih16 zwZPu8cv5L2l*F{3B4;|Y(9EP4>P!5kU*L%_$bl5nC!k)b3*-UcTAG_Txx2#(ms`C<7#I)Kt$fngS1(`28u%Vv^Mzp!=G^Q~ zC|s(3VoqEKC|tY)VL#QsUqp3}_CLOvS_i*%o(Okv*VQV(MJ!xt|Oow0>1z~Sa& ziLLF`euspQc2Lj|d8l7l>+Ilg!L9NE#)Xz^0vm1;N(OFdm;W7SQwslg9+r>tP@_@s zYjSgY7(Dw{QSs#X2l_0wd$FDZ5vE9)oZ5_S?`Q8zZBg(_No{4Xt=*ONvOb3wo0{&@ z7M(dRZo`yg!YB`-$1m$ydv=h$c2ihX)aWC>i|!ENuicmqG|ej6Br#v$95E`0~4cN9NQ+$32UncO!KAz2!x;8f}ui`Pv|Vxw^j%aT~1g$$V* z#(&2SvJO}8FZ_r%c5>-GW=|7-T-|7A5$qiLfLwY_M$+MtVOVnvCW9*WnaE&f@C-9b zL$p3UJSCU9f~Lz?l9-K$#07wmZVDNC~v&eq?yj|v}2`^*BT7Y+N{XQR(v z6N#3tUKGFNgwp7;y1jY+h3yTGQc`8KU2Z`DM%%`7K@K5AEYVk(uX~@`J9*qFU0qMk zAU`~&(v6NBn~fnu;GM`6oEvO(oZ*tTlG5GmY-YExiIv8TInAO`1)tTcPgCgoq}xJR ziu8KZ-a73>ubQ7Cc5&>-1u%!7FbEbiqBH8j$scJqnT65N((TWQ(ROfjG#aNfdGZ_n zie+bJ=Fwb7@oq{rt#_k`IW$cFVW-hz`*YxXxfPF&Y-YXFs#VpD0Qbu1q+PgBPe13M zSGBnR=sWfK-a0AD$A7dyj-%BCU`CZt_=@CL*@pg2_9IaQ+OkAo>X>e8c61NeU3aPVCp-RARbDH_mT#j zC~z2c?1L4;+x@R5gj<7%1r1f!Y55qvLGZ#&5>p1u$eN*?YrM+$v8MXF7I<61udo05 z%VJJhNRO{lMbV9U=j`Kr>no)r7u*X~u35dtv_m>jO!wCA+S(&`eD`+H`CG2?Ovv3I z_H|=;M0l4u%%u%x>r~B2->3o05C1v+H-knEZ&!@%Hlh92EkBEsDb^SKJ(V3cJZO35 z=Po1`(D|~piICoK%J<9O)}Mpo$KMT{{!`@F<{#R=*4;k!h!dOFwQ-Hd6^&`S^6j^# zR+6Kb2WP-M3dj?eNn0+le@nKJo={_d)8)q-M6RDbTNv1cQcvD#t#fw~fi;J5yzky9 zzd2%Di~IXW9Jpy|+%uzFPpQt0@3(i|al7T@i4#3X{gIRj3Hj-}|CejYzjR~qo92Hj zyWXYdZwzv3+W!K4CcpD)vQzElpYu0(8y~0ebl;O%w%3&pEM}CD4vBsC>_;%Y0kf7c zfuD6Va(|41--G}BywKgo>MRGuBjIc5%?!5V=HxhWylHkIr&!j-Eft@-{Lhy*Z<0NT z{tUo`OgMSMgw04TsCmdZH(biQ+Gra&gIf_5rbOKLZg1TTOO~Y?s;hx0@(+!RIC$_; zK|$!=y}9bjX%NBxpw{ANa zD)jlj8U`DG_4W0AV`eBkWa!Ycn_iJYmaIfy@la}1Q>n4rZlN*1#{fc8eck4-T~P>~ z?GZ#l4&m|RP0u9H*bdY84Dh`&R@=CHFz26uYb*=_@EvD}DrR6gg9U`Sq&&g4CqkRC zad&xTRn_wln+R+e=J{)nfskB6n}TBq{un`1(H7EW1caSDsce)CcY@DZ*4zyKFtE$~ zKmMbecJJQQf(P_l!f^QTetS;7_i6pXTzaK3NzMHwXIvHs86by8?aA$ z!fCvdQesf+zLx|4z%K8)cP#`|2Kn?`_kO-c6+Y@q=JbEPT?3c-gT|$r3cpoVvHjlO zKVsdAv-NdtU~?nK9fX*-pW$8w&mxFqAY!6?)A)CL&_l^5sp>7us_j`%9@$#Uo+<`~yY_V#_j( zQ?<#(Y&Yfu>lJu8hg$D z{f^58>Xa`Bo2*QiKi+4tt@%69GGlM(YIcYe939i>g9x@zu=?#{4=7WQFK@0%j5VDT z6~AGP0{b4}clrGKdWGH@;wQXSN~{svYN;`>M1UdH1Wrg}rSM^$Z6iI(dFu;Zg;>QP z(x*>G>&rUmV#tskx1bk7Nx%?OWk(OFSFMmmw$dhZA83;Bsqw731Z+J6<}${NK}%$1 zW1&7~T)ld6pQG4xQxO`IW?*IyjKl22@oAig4B0q_zO&Iiy>A`$E(HJHk>k%==vmSw8;9T~&-J zJMfQvHCQ~~vC90)^F#gCi0?X4Y?AkM$#lQ#`>(;M)z#6V3%r4LSzf-J0!`-C=#BjV zc^H$EG9=a}T(H_>lz?T>+PBv)Ju2tX9;>2)l<~$=Nd%)js%S{}+_=#Oz5k--kMr^4Q|HdjhWhj1fkGOJ z$rrpnHwyq443=|0Nrckc6>CPodfuhbyHB4yFw{xhFyGSB1$+zJQmDUp3Q%jS*9&6l5-3>(Fo!e* z#X?@bv*m0JCLq{GnP~NOkFp$f0N3wtbEL(@#NLLIS$PK6_bYt(aHMoRiIarmTitu- z=z$_p=5}^RYaLZoR6vYBsO~j+|NYTCY!+z27|$q~A1)ekFwCq6K3_L@F6p!&qX^hn z1_r*U!QRG~a2>OLeaq-40hY)`0M+f_%zltP+P^vT;jk;qsu)7LZrms_|8-J|OQU4cHJ_*>=+Rw&uD7!AARuFK*x79xbATr^Wj9KGjbY9T(!EG-}i*dIj)O zAOrZ#5?39mR6Hnv2uM*8kRnkUp2sIPbvNf22~RCm8oUQ4Y-9)?&2Bq@_E$99<+Z&^nnV!$Eb}AR;Td-IW)itL-Di`6Lk`5PN8tx%9R_14eF)Aax>X0fc_2 ztfYiqfxKD_gz-ju40I>!3y!&92XM0v>rDf<5PDZt)k}y!(8zpkFf~2?`Q1`~pXB>I zhJAzt9DQ>o0%<=!D=PZtrq?7P43<=F(gLQ*7GO*EDwJ@qab;jZLNAI;)E}_NVyAc= z+SkZ8m0nzBMPCfFSa@GOS6vpJdzqr8t?lorM{sZ#KNg@16yVOIA}?OPtdU{YG-4ErCtf6!O&D+GrZIxaOW+4-S8W+gK7^bH%d9(Gf4_2lYiH)6Wes8XEJV7M8akDDglm2XS;))muD@gM#w7 zR@NP_d_06wT1Lbgdzd&k#w$^!1?sZ%|3;mXl2lI*>#YL@PM!_1j zlbuS(NrnFM{LHvQ6)~PsmS4{n0$+I4c}?Se(?; zY1cE<9W$l|TvsUUzyV|ZXs*-cm4(B;-!NX<&(L)GjPe!n`CORIn>G<8ea zisymDibgJ6*`r5K5r8-h@_}7ko^E%JvqOyzxr}WK`uaybhHoCA@PHsQTYB#crK@@2 zQ2gM{3PFC?MYCXRY&>abWNcTJ5Nh%(ETN|3Z=wuHU;-JN4;X}KbHLbz4id;a*7$`CwEfbIMLrtk3$E7kH zvDQ%RCfKs7bZ1@n$vsXG6&V}TyP!&Y731%Hvy;mLyT%cXbZpCwl4v8-<13Lg4Q0hP zrOvN7UNa~-5O8e$`$~MDiEk0(wnIC9M-0=FUdM0uA^iuf8%5%W?%U|UEbN>L?1xWL z4p5XaFX}&GYf}yUvqQLgQBToL)sE?E-&jFX0lxVlgJaq?D$Y&Tw-F1@iPg=GnS(((hYe#v z@&nN+B0Ab^&w9zTj@0dR;G0}ruEMgXa)s@=e7R!z?B0J};F(7t<*GCCaR0wj>;&C7 zvm`WZL&Z4Y@mGf8UjB?q8*aAbPn) z9rbVw=AIg!VxZ52ql3klP+$Cf{}Ou5!9wj=bvAU^lv!)*T6K>%2>ky9{#;vXhqa}5 zwPq3UE|D#t-08Goz!=-uMCC=9adQU@8uStWYpbV2n=Rv0Q^RERmOrj>P`McrkJ~34#U)tUikE6Ozm?EbQ#?8kBzv6t^$_s*Pob?cde~ zASDC+BPXH>V`av!YWo`=hDWzxSYo~5@!aYmFf*kwaM@J-gtp{c$%XfX@DFoPb~0rk zR}<6-77qFlsPEu{#9X}H1NPf1=4j^_o!;{6A_U(|uq6WyC>|kq?%h+y5!N=8BFTV< z6Qt$FjhL6|g$$h16eooh+`8Sp-7Z(i}J5XE*Wqq8IJ!>KDWK65acVIA5dPeoikx~ zKgkl*ZN$F+i?H*K%dvm^_<1!H(oiY0VI-^U5G5%yMK%>8BT1-eT}HAMqG+Hfv$Cla ziXyTi4T_AYv?NJA?~D8Xjpz4!UeEQ%{c_W|uJb&<-|umJ)hYOVr)*Bya%OXlk1zE2eP_b?{%@dPS)0H8FwI!8Q<=cc z5AWYE#wmqMkO@{GTSHcL%bOWbw}Tu1-`H|Uy z;An~ESn&?r6M&D+xQaMhf#j$MP%G#(m}PC8|6%XdO6ak4lD{PZ%j?z=0yKP5B$K!? zL-V5;C=lDdI`DPIp=0)kYN~H{{cf_p;cP-e(38Bwp$G5VyJu-t1 zdwuZy)Sui^^v8?W+c_LwKFPJ}?bw4|#YFP)GMXo)+cP)xsMc~!j$g^hrh6i)g4j^+ z%Ahd~TryaEa-G)DbpbX2^sjvJNUz;3KXD?;d>ihcvMi3hs*R$e3m(i8 z&6aPAlf8db4|#WU+_^mO-WPppA_qEI0nks$kuejwr+b#=_NT%jj-yv_1NVclywEix zOIzgzJ93o#*3jgzZCz{JHo@FHjhY%J`B-f1EWDAt4jhmXI8PqrzBx-7Dr7X|swXjT*ubAuOzBLweuqG0%RSQNT}0dkS3#lz?nA>sgQ4q#C2&2HgC~o{7)kgU94?DQ_Rl+;a1X zk-qc2y10P$SINC1>;Ogu?2E;B+vHL3*F?SH-Nu=iV~}%l)REuhnjJlUKfD`Ze>VMP ziucvmdsbLp|5#FjmeB`{hu&AZg@Q6|x4QZX>z-*DI}OI9D6~%KGT1B?_k8uU5%eWu1-J6aCM%RnfKd zuh(?cN~Q66`O*W84V@JtHTI5k_-Xp~U3}%9t z($3@I;}QXhuy#2)=FI8Px%0z-n$DV<<6@q{hIUz)w((@R{;ywF)}E2Qk=U-o6PH^Etk)=+(;rFNV-9ApS^`flE{ z_H1D$D|Cf2Q9Gfhl(p!9C``0=*hzaS!%n8{Ow}B;#hp`cTYV{Nb@WcuAzi7W7KU5% zqujr~9*O6Y58W%6xvMG+ie`L$V=by~TJEaaGWc{>qa>CsQ*zazWEVO(2m(h6v_XMW z#^{Z8dT+l;$)49tRITdub&`|B1UqkQYQxGy8Dw0b1;u;ICd;`%$0&(_T<>a|CJYj_ zlb-Zt#^Br&A0PY9ZmX;uPfx)9!!`maNQ@TRXCar}kA2aE)IHuEWh7Hb7_(Zp(CeF3 zI%ut@E?9%kOZ0OH$WbqG@#$9){vrRPg>BpAzJ}%E`f)qcO5U7vzS;c9-EH}tIZmB| z(H1>fdI`J~BA<*FY6!PLWYWWl6SRmToDjJHK9#^9NPj35iG#xMgtRNXqh&hLei;7Y z?GNa6@6JCC3>d~8%Kx~^$?0A-ft+h;#^P_UYvJDGQ}$tbagHz`tKZ;MZ#%_9GRg<` z-rXOy@aNvmYFXK*^5hgfH@M?cQvKC&iREGt9WXZ4C*$${jfzuRbg(o(a@)(+WxDCZ z6>hEV`7!R|zCy+77=$B4WXhLM{1(-D_C)yplzuvGP^-^0c+4xwsZ?drPpS?=sBKJMix)T*(35+@5v_2l{U zZqF_%Op;FJ#3R(GbZrALBr!)Vj{)3)+(Ig`)Oic{c6SWue7dPLwsAygQ(^v9r>RrU z&#SmhDf=yB>rJ<|_|B>ykzS-Ojup1O=oCZS(!K{a9^4FWl!Oinbl< zy+hvPUgMzS%L)pbf3~2Gfq*M<`2*f%U%w<}eZzWp-IrIcr`!X|zfY_^&=Lmz1A;jl zS~f~3uFuUy2FGliX<)!FQTbCKfN&IqZJYn|^3|(K3JPI#_bBF(nzStbZ-8PTl@#pS zav)KZhv0nY&!697%%t;c*K%`m*3p`<(HM<6`KCH9s`}k+S?aSPZ+yOAsGjcR=1h6L ze7WvW3N51yRBIC_%u+h<*HEjUP=#;@si9(a;(|LZR8)dMkP;dPQ`W{bqAzAElT>t+ zQD?hL9ZPO$t=e>5+OUmjapW=kXQJq9M!ht(!%EKvCsT3W^W^b?q!07A65&!3zY!wy7?M!^(R+c1VH-@-UeW+`R#V&ZE4C>!Wq&ExRj|@~iP;mcA=QV;SBWoCG{Kbh6fkOs!*(_@{5TlD7ZALydi$e#n_IBeaY#2=SVGX{n0-0z2Vqe7v>w z=2k|MEn4m9!muf6XTnNQVBoSxnTnARm}Y~gCyyQdHP^JJbL{7@3&I~depGQ7CGMAc zr()XXH5)2O|68;OwdOE`S~g3UfwpDfBpgJ@{kQMg)2@Z(*rl88y?ft%=5450e)WWZ z!1Rxr3U_z4ADCDBNzm@m;{(q>br`q?lY20QU=Y!$JJp~wvhmhE=p@u}ZTFY5&CncJ zHI-CUoTttqYxl#4gF#i1f(=S|YLUF87CNV?>GBE9+Lq%cXb&Eo^E>5}mK3dy8-^@2 zr_PanOFkUxm(MT1;!;Rmv)gXRQ3*DEW_wY4*-G)D+5;}D8g4cJl6FZxfWCf9KmgWV z7IsxQDTboVd=xZ#SKZ{#5N>F?UM^ zP%hgets!+#2_xW`g?{xaFfY_+>k!dG z#qvYl%cLauG)=~JIzHkHpbs)G$B=@$gh&$J8yFPO8!Fi{>u*zTD#&%4k-rq%3u$@m zP^=L`=#Lya^s%(`m7YPz6z^TNE?Y&Dgg`k@rApAg}k` z3MqWu4(jh*bt8E6KbSOD-hnzobcYRlUszby0J0|LORykXR(v{yi$X0l!DNnKiSO=f zNl7;bGNK+wx79RoNFj%GdivPu({W%8p!_7`r%11#gMvd#*P|1kJG{C%>!hTj{V>p_ z;2Mu6$O`3+L~yxo|qGrD9>3X7aM zY64MvAwyS1FnEWOgTflT65PM4_|4pHd-s0yJ;jvgPP_{?N`?cAq+4u*_202$YR>}( z0}uT}3n7oE;}WO_IZ7%!rAk*@j+L3H`nwyAj=acoNV!1|Ls|}4i^E3k+rni(yCFBN z{`9Ll`hEHkW_)7mDXiK%_wKzXHToYvctZr6UF%FUS$VTfV^aQZbybGnOtNXepnslo zedVpZIaen%4QRil>|LoypgEXj`giNR)};BS&Ft$1&Cg3~Q`fC9Xu7y-{){0vMdp9~ zoM_9=!3zNF9h@EOn|>YA(0~7aZ-V&mUs5{Wax4mv`YFD1cIujy>R+Da+jGZ{6;%b% zmVbZ$q1(%H3<`C|ba|cJ)%eD~6|HJY4kEK>5Ds?~S0V67J*{-7w&WJVKk+n895)Wr z73upt_3x3T%(59SJ*CGdy~Dp%B9&sT+ZG!lqXsPAw{phaP&=RXkU2D`kY$pXi2nU& zllaSnflxWImd$ALlqq|+Z%5~~n_Yxw2Dr1H!)wvl(jgMbhs@@dsh+}mR>V$Wp4~lD z!9!RkE_xL1(=+v|uvug-d=^}Ud2&k^N7{9CP!snP)Q@&48j>0*Om2*PLzpg9wuGXZ zGJ{Q?kVT#X4g(+qo*Wczu7O|(;941cFeC3jnvMeF(=g3w)WN%BZ9j9Oavrj=k{S6b z^VNIISXVu(7BUo%(g}X&BrE}|jE#iz>safj7G@uMz|F${Q5hdST8XBYwKo5{+X0OFZpE6fOMy9i3DAO0XL`_Zo_;D73De->=7V#UNPRu0rkb% z?SiI)VVk0Ern2H8;;yM9#7><%cbBS^HtmvH^2nrx$VG4zlH@ey4OJYJg@E|G=8Oe! z7Pk<`33sI$g}}7tA1r@~jsn(Gb>9$Nh$8!x#^4%@bGx~;>ByUW+R3rdK1rGPx}rX_cA93Ef^w@ zRd7vQmEyVm730hD@oH@i2mm5QOj1qg738WNK2QqQyl%|i!_U_yV4vj%!w_a*k~-dr z(aEIz@{lp$5ZrIgyV&^FS*w>C7+Bi#>ITgm9hs3(9BShK*en2eAy8q($yXd-+Edl(tD%F3o6RNJ+aWPLb8MrzoyLoEygj@SvQX2Pf1F9+(ziJXhNCwDVFDp=)zm;onv9H_WLvBRKG zhwOcewL$sq;vGaP5%i}abn|`}3&B@NxOtcyR>D3FN>p-w*RDx?N`X@;yIW;#ZMQ~U zMM6JVerWDo_v^^XN(dzw(U@ms3jXSDWpSe6=TCIGyvX}gsp&Q><6{1kdld(1QSqC1 z_b8X(LL*!x2_nlEb#4j_3PR(r5Kwn}#o%{Q`zpJAJyF+oPP*jc_3cXzbVx+RO?Xyz zoPP%uY{_F*##6zw-Py#~m^D6NfE(0L*!yuQ{~y}2qsXM5l+b?_LripUGy6UxqvC0e zkk+u$foXtMf_`x6@qjFj+j{WZ?ke;U2{&(uSgOPu-W z8LAv@{X(sq%knHqaG9c;z?7o1be)?v-G)VqE2LK5yAs!fjKD-++*%0msa; zCG9^Y3}NpP$C*18)@e257CuGk^CNxiZ>(T-faPGc7Nw=@KEQoHDlAM!EW5@_r!f7| z^WmeO)*Rkzm_IQ@9ih^{Ap+yCW3*?AG}{uYJlfmQ@~Dpq+ohA1C~VrdAAiNt-A$%g z>2&HEn*D{Z+3Je4S>7Z9EC|i!pxVBh`X1)f!}B#!?0BCfY2NSSsACI0u3E8T;)$uS z@7Q2q0B~a@9A6tz*TZyjy=4b+Z0R#$fbd%6x+m6Gwn%X8R5V7TXV(@EN~sT(KNa~6 zIV~u*v~mI31@< zXc*AqJVG_ZMw_PY3QbB%YW|th>_u)pVhqycYsk!^$)<%x9L7`xHfmN9SP=$wDqHBg zAY*HacShn4+mbevQpTscq@}Anhp%7#7$B!u?W_KxrIOOe0U;M8 z+Pnzb%s2QR;17+%57Z7voH0pZdC_A#nWW?z>Z*8 zys{#a&YW4{=61n!#whQ`YvmIMaS{%2s3j+xKRj|%_!3`}joOcXb`dws$w^OFmx*9g z85s1wxLkToSbpp8A~*NTdtTNieb{`<;HG+4xoF9w*=Y)i|7E46%a$y8ao1i_DDBxp z^t>ebO(In&xHfuia&D%|78COgb+w%1&>&7f_V3xFn9!etkTBd2k%&fVP4lA-diFH( zZSRu(|VtDN#=%r>R@Lgl$Bn~= z3qyok&5awyCr|Yhu8EB0GTt@>wi8bfs|t5y?Ry~tpyURRL%6rb!y}G6YGIeKUzIZn zrob(tcUD`_HKsKH?p@lxIDY@tdw1{l=+lSe*NI)3+Mpj_B*f{PfSoEIv~#g2`7E;x$tKSbBXjRv#$ z11}IhAU__*(UBt^cUy1_cNpeY!cf!<9hs~jPD^}SmebkXL7@zY%4UO4^Wovae4u-C zp0+m%Ir?U~t`H%uusAPA*7H$+pGv=GnYXbDB3J32LPm?C!FCpF7xmqLvqYOnjJ-ffTEZ)Dh&jJDEld$zUPep z>x#A#dPsee8Yg_B@xJ!rQQy+379t~2*w3%)hxIIya*)w(X)0?i?JCn#C21-YF?$tE zCO88E*0eN9@X6++f&Ct{eNm&8t{pzqZByOFz?$l6Ku(0reS7q<=;H;8m#_YTxtWr5 z90tko%6j;4=D9gz50C?u$2d%iXbJ-GvR}V`Wxi@8qU$mywS;Zn8c4bxb~4nBGAk>Q zkz6na@%%KMp3>$E@^vzW=1`@h=SOz<=1t^-1vX_;zc-HkrLS^^yZ?xvm_1BO;m*3t z3#lm}*@6NCALrzJBT)D~QUw%Nh|Ui19Fj6d^q|wQO_g%~@9^cWcG~HM{(QWF~$Ry`Rsoqb&^q19CG7QX-)7l)`B<-Zrdvd@)irUgr>hpitR#A7V|AKhB@1*etW7- zc$2srb0qLB3jqq^?!9}>41?+1#VqPcM)s~IDj<+Vmy5bm`E$4ZHzWfB^!E8=!sl)Q|)clUhOW3BB! z8vZ4g?@d-^pJ@L1YtiMVt1nvp&CcHzk84hH_72~4sKri&zqJ5=88tq|{`Cj60q)H`5Rp5nDOY*T{F{b8+VKq zYbUo=6;}z>!a6}iG-1R96Ez22@o-aDCH>SD4KBApn_j(|J$dpu^7|3vaQ)l0t#RMG zkXz5L0QhU$>l^zobQQQ7n^0Lvnhx**LA;+%#n~)&a{6AZw4iE%2WRxkyg`UMIY(M- zhLAOjdB#w+%&Xr-rgnDF_vsRo_vm6eU9@?OD`}N~aOJ{ zv5@4qZxfcRD%mCsL$2nlN&Ldt@geX}*`D6I)q-?L1W$6qghnRp(2bAOY*T(`)t&}rjkuK!Dp#OBmF)wo73bbgdoT# z3MqCG6kWO_1Lmad>x@cy?v+X7$8Vo-0!0+%k2A78?~=_!m5)t7duJ>5kEoV5DA^mPkrT6xh-Fx-8LYQ&ikvnP5s?r&=-UpjBc@K8F{6&hzaV4%w|4Y+K!JZZ zk4*!*@0;*%%_A6}+d-$RQF{lkXe#q1&Wa{MG>07HH5|9zAK|%R6WUj-(8wfO45deC z4Zf*&UA2-nR>sWYcQOY#+zJ>0eiRqZmh4ok-{utpDY7y$kOhVeSlmh{+PWvw3ABz> z1U#sYBM{?2Y;N%;0jxYfjsh-W(LIo6e+VQOciX1$e`hAub=Eh%9d>Z=Ci$+1g~gK+ z7Ym1PpEKRtJF68K4$y`h49sJEKAKti({||h>lseq-mrF`IY_Z6}eyh8uVe2n;E6`1pJ>lrXi4oNMxC8 zWzmg!nvz&%3TWn*T)sRw^au9|SeIa9>{+4jyKyYh58-2ITm5$IjZnYN>cAy}GROYD zW0CTk;>UI<>MRJ8qy@2uFyOC?09Xe=B2?DYNQ?Oc&H4hvReO8((9uy*Rt^ja$v6=< zlgU{>Srb%-cxZ$6SpGqO*>(ZKI5o0nzy4U9T>*0b24etbspRC5Z@RR;7))`_I^v7y z{84}2aLjBA9i_O2J?qi^`|u9i0F>z*v@S2DLjy(R?XvywU;Yd^T6#Qh+fe0$1^+Gp zpfOt$h@a7c7KkGo7UZHtyR*g1uA#qk5Ba@P`mKRw$@tI5Z#(Yl0;bUfDA zF8W@lVEh+L9Yi|YtoJ|3SIbboI~5E|!>Y#p$U+1Th_3k{DKt1k-9~v5Z`E--f*qRM zOnZLbum?Ytj9-l$I+V8e^3kIXVExFd5gc@8Dx}ldDaWjPScP4~gurY^BqxkhX24hA z_E*UdE?mAGK78Hjt5?5sp-}MD$Bw17VGm`Gz0Am+HETF^_Vcu8 z&Vh=(CSE^(-i3?ua}tV_kbDDuU{)u6JuvydRNWhFs&o;DP5R-ask=%0_E_oEnUfOj zMM)YivK!_tm_aS1->cWYM0QAMc^0|L3<9x68XGqvhlj8#$oTON06o_=F{1*MmA#B> zkBFFJh*9e+oz6laq&Q_qaH|o-phI*+jRm;!?rGW|hLL0_U9HO*|Gnw>eGeDhdHuQx zS3~lzUV;7A+U{t5e&6v28aEY8rUxFnCuOF*pk$b^Cd*c%=(=m~$M0HQeEXYtZGKe6 zR0x<}^%gbmF$*!d$SWx!+y#?ZWT@HszU(-NBxv02D_NWaLhf5x5&vyw758OO=p`q>xN|ZRBQFU6<&m=rb#c357E7_FZ=%tt8*OVEc8 z;KP)p#BE*28bNo}YV-QU$qC3>@%IfT_=gzit{Q#NeWJJJ^x=i#gT~}zA3aY}Zm8|d z%^QmD>@-Pa2Hm+Pj508{!v3Sx(j48kTQDZWtCOhNp2`dxxar<&r_!)1L4dfLPJaWD3{(4 zr@5~b-MjpC2>l~R<{mli379yfU+m*{22USaZ#z7?kLU%bF0nCe@F>-ZLL5Rm%Cl#x z59CL0QJF?LB0by3q<=`MUq_w9LKkcCn1+Zu|H*qP|E@&(99o6$$?;WJYIwK;pCeBPEEt2A_X+th#2T{Hr0vpCdlUai#7a_4a=`L4_%`&A-z z@6iKUYW2!rtY~f}wlaEcDkpW45x~I*;5i2!Kxj zOaf%W??$MAH(mwwxw`#zA_pyd$}LCig`rRWI)PH&-bpbrAAzX6CRXWoZu|e1s_MOm z_xi(MjXPvM#z;<$Ogf3hutSF(i~aYsnrJB-;ETdlQgn_?MTlgbZVJPC zD!J1GYgM;ev`9N&WzzA_Pn7(k53zk#&+mpmygD*Hez!uKe<8^hSdN`DVaNKJlc%e< zmjA1Y4Xlux`OB<6`cC>2|H*URI)1GC^N!_Br0l-!yw&QU+lShMk9QQo-5{mOOpr{G zy>dlTn}B;_F_qhVtFo#}=PAP(259bL7fqP>CSc?a#qMUuoxJL=4L_LMBzKGaQ zo+9pAY-Va|YHO?JZ`M*?UJ#SlQmyWGH?=g7f)_)RcCpw?dYGtTm+FAQr zfLhUDpQ{eEB4uTgW^MND^}tFzmaVt1_n($fH#GAPS>S1X$j$V7U{}c z{47t*d{5V`Jnq&#VbI{@k~#GPYJau*ttazfMS$nQ z%1ef@5jar4jIb-d{9s_9gh0G==ME<8amI>BW@9FWRzu3L^;MjSvOUe@2+3kCg2Uo` z*e)sMZp)BPfkBr&0~s35if@D8wP_L3!nN&DDbtRrDn*@B2kr@&B^@U1 zTCO8oZ+-0xiEf-p+PE+>*!aN&X* z-2%rMxI6qJqY>YPf9Z{Lt-Qh)%HLK> zi#-iD1*pZYKv&6`@Tb)P4{dUL*EI9dn3QWKt8mC|zLk4v*?#clBZ*ybmiO#=4N7A3 ztq@MfkF`E+-I0Np=R2*Eu(W;q^>e{U4=HQVdCrP2Gyv>k@HJ=WU4IHw8kil@zbmno z9QtF&F2>L||GU)b$&b(*NUyfz@}U}IHp9-E9FZyI7Vm4zmNZ7E0_qN*^yX(sYllad zCQ66gDcpE#WVG<6l}Gn~qjseIZzY+X(HuzQKuJx>GjGUe7#?()WE25T@9!_~=hqDE zjRA-=2L$Mm+o-Ku>-yDS{E2Y*+9k6?r;95pnh+Y9>9y#%CiJhCA=fI=tpCAsH3=Wu zktc^+9~fx3_`ce~y3dcjIZk;OJWUvf$;o4E&$wrR!LBPP3b!?El5k0+U zrL_>K49I9}*2@3w`}e{8+rE7RR=nubsq3?gY4`4#lpJP88jlh8f`8+_a22>mNYQU= zeA;L5Y|XF)bFoBrD>8L;t)#)kPsg#6v7-s+(Hztj-sE|h(J0gao zgkRzcNg-Puf^pEAKm0 z;#1w?>CJFz@w|KYKB72eHAD6OLTpq2tk?gNc{=`lADEJyEJ?sZH9$GSp)ql}5t-4T z1hoHGFI}QNYFo{DfP?=U695|;XhEaSJa(#oD{(6HO`W7aY3-Cz5`669#l*FxNMyn| z$Dt51EBf@;_g}wxO+(X|KaNDyz&ydERL{-;)CM@y`TyP#_iYnCWY)+px-`(HB)AHJ0L8w$TwYaAKX|?}s9V}nF z=AotfXPXoExR(Wu^diP?#yq=j;>ZmrRFCQC_QaNb)RfUm*nU&w=PqG0@RGvSVb_y= zn^1XrD?$p8MwT0@qx{esyiBrkawJz7%)P=!`5o?-sm9LxEzHbxwY9bT_gBeZrlJ4h zW;i9tzjZCzZ z5NN;cPdVPbEo$C9M{0fc)~)EKypL*-T@MWj#2*7r^hjlopQ z9t~Z7w>|%dMK#*ur^aj)L3~p!P)bhbv!GjPlF7PBo(VT^zQ)96ViGw?yKC2rYXvoMNoj<<(q^A-f;wp#-_Rip6M9zri*xo1_kg{RDy2AdrV z?CP?i*TEe}qi%QPi?MY1pll(YV`lW%-ISj*AhzJ?a)S>X==RPI+&ZnM4*(5wAYE-E zMtTwM{=Dffl+#X3TyGLRlmxU-Pggd;RRn#+V1&ZMiYcE?T*8XeyY4^Axg^6H~r9PIZowwu=Qc16(JZ)p7291fh2Y!M60Dhmq_Q57VVC0+2xrDv49wL_&$CXlFzWE z=9Lfx2;0eUHoWI>a#AR6=3{5hJVyz{6i$DIsB6dKih8}4i zagV7rk}IH@#onmG9)t22Q&a11Ek-*Jyr-R;8M;W-r`oQsav~ACpaC8+9j-LX%GBBv zLdNV{WAm?c&CAT|ah}q}!SpZ1cLJ^+Vl6kFiMy$L1=jw0Ccal=4r4SREZ)0!x2|a_ z(_VP0{JnXf;M|HwvwA)C*>gYf>Z&B4hc?(5e!(T=8uSY4coE3 zmNW+7FE)K6G<%4)GZNN7!SU=$80Vm%!s|Upgj-4SUZJw)%_{(l$XD12RcUu)?Xnp& z+6_w?IB3vX;CLEzcrm!xrS=`@53@?Wy368(S}W=%)CxU>d5anb&vHHE)pCO9QK{Fq z|Frjp8LyxE`=X0dK`b$3y;{=koWr8u%U_}Kl@A0nhZ8y)1Va=L%#O^ub3*3))}t@x zu87R$qmV|7WR2Hi7nhsFM3s~{3a|oq|8P3%53Bl1S|*Z)|Fz{D?|u-y^Hs`hHgQfp zm)AuJJ9l4r5ZU>5yNP3O95%S~Gt0u~h@ZaYym?6p2~Vm=9N9Ik78)fl`|x!4=1~V# zfc8!b??f#wH25wweAYa~%ssL2s1Q&)G63onu;5RafVX!e%0r!QlC}8{Lc_B>_{!c3 z(@p_5+rL#EPj~_P<*r-96q~ZHaICu%wNyr!*7$ zd;JON=>UrXph(rlc`Y)XIB^AI%Q+D_?%1_>YCaTn;rT>`<>c(lYnZ*DuzkU46QAonPM-QE9annd z)Q)KfW_HZX9XCzAHGDgUt1misW@_O)`|^!54U~3 z8}PHsh?_qf8+xC9T0h#(>aa@xDecDXxWC~`bV01i^|*qn!jH?piF&+~Ti@!jO%Ovk zm6Woxv+b|Dy?^7^48cRUw@`5pdpenMO9*>jx$+#^EoBz0(1`SbZGwwEjcp6!^Obec9L*cIz#%oXr4^Z@}9q}#oG~&(t@OF zIH{y|Ha*;XaGpVCbJaUbFE1}UpP2(T{?mqekD2pz=u%MDZ?^}piHnK3_i+DHm|RY& z|FliMZ894tJIhY{&5o+cNA@k4xv#8Ww86I>8?Ib+{LhBl!&CnM2>mLVD@PUsMAh6` zvlKcRRia%10H^o_Zu)q6SY_TMqf7Rqc8pzGo|CQqrDM5T=?sZM^A;|H&ZC~by;|sn z$Y!XFEVjx6Os%%R7C$ij5epjtVNuKPYWt46%?%h?()CyKRga3*{ZBSG`%M}6Y-zV% zonxk!YFDqkD&JSdZO68~cPe~`I}bi#>%4DW{fV+(_lNthjW_SEWi#QV`Rw%bTjDcU zzt7#+ZO5ZuP1nkk7cD;-y3DcUm$#>9)~}myUam`t`*I_$;^#X4SeO!0@Oe!6y~Q)@ zUq!14OJdI*KGCJNN~*55mV=?}k^Z5eAd$c}%hMa}!=nn=EfkS$!^3X(^u}gEN~9oY z3R{JZ!tnXsSBoA8hfPrFDhPohS2@kDOEi(S(}Qjn0&rDM4j)bz6l@WdFzaklkpqpQ zn?dk|Lbw=WZ88$esr9Ah6d4#Q5`*%4dmE?31y{vGAi!j`>0}gW5e21#ucV3UU01)~ zEm^e@hE<*wWS!ow%1T!)EiK43LhY&2;pnJpEj*MjAE_MiCGAYRQ!C>PhQ+^rGDT$p z%Jr1qgRly5UIE1*v;#E-3|x+wjC@A5`*LGa=FJaVTw41c%uma^(?aJy?%U`A8BoCN z=i4tnuXpTuNwjwIk&Umvf6m@n-2C#(S^ZuQ{NnbUU$MU5lxgkb%6`23(nrwDTQ%XW z>esy*b+I;4Q~_yLbTqbPX)j+@F&`{ca3E6<=~?Z*Azfr$I}~*hgaTP3X~R}UL8;w- znyeE9!GsbM4vow+8FqJ$Dx=E-X4| zHc5Yk&A#$Vz4j*^DPH|)t%1pi6r=8Y2&Z75!Ido|fYvhynbI4(J?rcH3OzHIzZ^8O$uo#;4=Ese*^9Hz;<5wGqlxKs0T@omVgl=()kG$qw4U7$@+R zPoFnEvSDii~_sM7D0+X@PfqO4}K1AvjbjgP7$;D1%9kxF@ePr|1H<3+O z&b^qi__}73`|>kyE+@bCUiJ3#k*z7Ok37$vu`1@uVOJNIRV6cwqBDZz)mkkko0l3o z1c(Hx6``rIvGJDij1$so*N*96UJAamkW{hY$DiZtGHh8bLZ~c~s51l*Sc4#N+KoF%ktjD`|hY$buYv&LmL6BH16jEum z)zxZ!(@Fuw$2Y?(cNy_Ya&!K;L8;>YBa1R0Et#g_ul+Nt;VX;1QAH(okc@>tcR zMx?l~-Y>_`{r8g-mN`4`+PQPh+O=Wi!ykEg{`6_xE)O_jPOVAqR@S|y z(#p4oC`?!WqqWhqSx~WFQpe@QDkY5@r=Njdb5rv$N)%O8fTuNs^JrR8xqs>FjWH zlT8f(kho?o$xKLG2~z?#!>CR2=#V21eeygS?(MhtP`>%+Y&sYb{ZeM@FSVfM$K1ZX z)oPn*gT@@PQ?t`{Z?m4-V@^CytI=zIt9)t92%%uZniprA&+gT5z1P2+@q)D_^t3xL z0-#{sx$|Ao$^s-Br zdNR*Q=hukkGigH5_=fq3mF{Ws5D{RCHgxu`u#ewNTfR>OQMTVo?BJP3d|7bHfHh#QZ)BPyyXf5Do7St~h78y;xz3|1Uc@ye<< z6{V%2n4TW4ehI#U>SaCW7D080&bsRA5^8$mS!eUlJvwI(PdGDndHxv>nY#44X(jtx zs*mr_&(F%5!nhEWvw+#RV`K2uD|1VT%I8`lF?xmrE88apP8>D8lN(S6b0S+9y}zO`dY`^SznNk zZNDHws#49|Rw6%d)1lTb^Ydr7z3m`0Q=UD029^XEKK6BY6R)~m`H^dh7XR|{YqHCW zCn|N55!kPYIrrj8KW(c_HzvKJC~$jr`}Xlmmu#O;qOjklGNRDj?)PQGdF)Oe zS-auI_~<#&SCXSm49jB1#kK9l{ozjV5oTQ+ImIgHMbM6&Guqq9cX3;(v*N+Sp~LR= z-jrTxVyDu0w)o^3tHurckGKq%yWerbz+PrT(YlE_5f^^UacjQn>{@q2Cw~reL&`FdQP_kymt@{<}ZLy!+s^>N% zzYA_|xz1O(Uc8v^Jv)GjvFscNh<+XrN?xcWiEY70S0f<#EhgVTOW~kxVEO|y&3IwZ z4zvWc)Ew#(#&SI5?z?(I82uc|Az-y0`-c%siF#wf5@{53tgbneC-1h3xj3s2)V|C4 z2E70A5b*GM!^6)LeMo-FqlE&p^HkbfM{;V8>Z|tlm~6svZu$!D z^q;Uy$?zp>YwgBNa|!K29!W)?0Xwy~Su4ne2!=;5e(l?0&9Cf5C0Acbi^N6~dg$tI zx>Jmi)qTScnNbgByS*zaO1(Hk^ZL9=_tq`i(zq>`0ujfJA-?%u!E>|HP=&p%mXJ=H31lrR0L@$p_Nr8KdN^XHTCWsIE`nC9z%?TmK*5uV0i z6Tot-`fqJV_}_9c8a|xk-;R-$6i^&U$j=VEA_*UT_u-bh|=E*&qDJSXN12Mou%r%GA*a}unHfw=utsq z&DW2`IY}G*)g{FHI31%1K!ZqK`#|gUH4W>QX)b_5F7M{s^#)mo8skko-6PqN{FpqU)SK?f&_b zo_4oAIXP7K)Sa~rqqY7H6c4mo-;CM)w#jw_6RFhe1Bc;2krld+O|Njo3Sai+%a?cW zx>g;n`Z-#6L9R#H(EH~%Oq$rse@0<#e0+}|dk;&mEI(I#r%RRRkSjUODN|KNbun$a z=YO4|w`-!@npr+uWe}yhg88g^5T0ZzwZ^{Fi_-aqROQBmS04p4fP!{ z?hkl0wXf}{7SuDKrL)o_!}L!-FnG~vLhok3RdY_OmChOXe8#B(3R54vtX#TF_UyyU z4}*o&Y(>Fsz^_XsOOEPLy_C$UoT zbiHfW65&JzDxr|zvgAREujB6}71%?u@X7h`B^i5}gV$VnM+xeZ2mmBN(>buQ_HabX zZYz&a$vJ-7r~jOiMQH^)BMmA?Y?L)UW(}XSfR1iq0#;YjZXymJrjXBxP}m%qGVTWg zdD0tExISHa36f~FQ5b2E3!k3V%+bAE{>@+JZd~Ns%}dPZY}o;!ML7f|J^lei8@bCP zhKEP|@p!zIRorb+Q&$%ObuAG6u>=Ylz(}gB z6KC~#!Jp8=ZJVqZK$GghIC&~0#ejDoKGa!cg{GQN7`jcQJB#At`4fESB=OFDW zi`}(zsvyo3q(uYLU&e+HAmNd8O6R;wr=p|Noo*@DEqNl^qqg>(#ew+*c;e|IN)0pZ^&H{?ipak0c!L`&BCibPyG(>mWT zwTD`;@1WqrA7YH}>Yr}YK2&lFM=Mv#%?$jXsW;RIh3@5*x?pwM2|XnXF)@tw@dwT8Kw?`o&RiVHRI z^PM_%s$@dilc+Z)dQndr8yg|^c@a~D^2@=?%1W_nTd$8=8(wKSiS*)ylUCs*{CvPM z4J`zH-GI)7%z(1Y-}fXNXc*x#eLKgDL^F#T^KDxLyUXKNdW~P>0MA~)awJKZ8k7A- zzN^0(Vn?!NJW+%5uwVOG2((H6hW-Tu%c)^kW^D(DBit$S2e25k56VW z1G%qW5p?0&anZtsv}*(>cInu0Vk>n#6cDng3m_KL@7}cnEQ{}4+GB0|>p#v`4$Ss& z?U>X4ZiCM~HQVO9?+TtYoqYe}S3~PPc~3x+US3Z66dD4h#E@0OM(k3WOf7Mh%KWC7 z|3vHrY}rCe;p!2z^30uP!oj|S|GNi`Ts>yFsNiE>lG4%cHY}Xf&BmrHuMS!sL&mCP zL|Vxb8=D|v8j8A&jGE7V`ie}6$iAp27&yT0U_NDbmUmH=Y(PPCwshpYr*k6a966bs zmhJe@GA+dPGz^~U(mE;%&!mCf>T!trsaq2x_g=buXpr0xh#oYs2&m^>cU#PuvMsAI z-g4k0WniD}f~v@4Zx@VPq~THW;MUFzYTekNZ!#j_j?UI>Wj{Mgu*w;d3r$#BHFpeL zui!2ZcUu#>37WMxZ(5x>v%ii90Yba=m9B-O_vF3td3@{M*YoNxyL`Md#b&;5U3$gI zD_4!1!tDsLQ&lfF-``t7mV(n;LhmDno4I2a=MJSY&RAxCj!TGlk27wMA zJGL=DBs6pwCK)K&?8Lr*K?GYi$pjvXO-YlkH|-~#D=pvO@o=QY`v4T>{mnA}YP=z# zW%NqhmrIhGP@5C|q!@sjo(aw73Om)cuXyz^w8^;{+xPZEXaYVGyS`sTsh+oW_fx8x z0xoB&VGT7kM>In!>AK4`8ynMmD~iy)eg95maM_YkQ*-T}cFLtHB7o#+ZZ6yYgq!a} z*suZ0poO@~tl5dfCFXln7(7xuy|AqBUl{5JaZr$#L)5Z-Fygu5!Vb3|T82j9)9^#| zEK;nWoEc#`d&bLkkDK4 zPdt0&iORpvd4pz6TEGq+Tyo<#-aE(2nK^RX$R9z!x1chAiC z5-Pg>dt-kbjMx%A)~ta=r`@Wou3mWY6`n=~qP088ClCYqrM%pS-MUNbNv=ZYoSV6Q z&5YgNCKPS%wLL5qOa-1o3*rUVltPvAn|AdL5nMsHl`FsRx6jp8mlF`)^HqMo;h?07 zlCI(9-7jxEb^0`v8w=^%*Eh|ZkBHjsEK8!Kjh=65DG{5hwUQO+_piI1jRh1SfaM`i zBM=ky=53`@V{aNAtNs?-Kcd3rr&5nk@w4)McMIaeCkYEn7Yv<2W$P`UbDb_nS(&_80&u^_a-7 zOP8%``}B29rGOl_SR?0)eDlA;fUOZ9X?$vR5Ak-=??fmZXH^QD>Xe(|Wyge&4D2 zc2C>qf_&h4{Zd>^FV7TUFTe#ijbj#`OINLm9K534cU#A*NRM#iVW`YGiOAw&?1Eym zns$M=VeJ{<#)02rtCYJgd{z>vrTeGP&)SoB_~8;B3tk9~BxyTI8LRW5Kl|odS=-q3 zcPTJJBjaqcKr^c3(~wW8+jrOxKYd{Iq}J-QlaJ4|+;VB6I`;wrxdUBa56N&ZbU6^S zxr3c^4g2;z2g3a=&%#IQX!bdCs>|p0Z$SaOh)0;}m@0~0_r7*Ek-0JF{a2PF+eFDp znu;n{^A1JVpL#UZ23b0PH=cjm$7Zg%VVbml_4sz#n@{g?uaKLbd|~dy5*ZA|Q>RZa z|9v>wgfYmx7m_=!VZVNR%DPU?kMo-CKsCvE{OS`E-$Y)%d-wPfJ(}G`i^dqgEG8Po zfwq~&0G+1iBp-e9qy%d2CwWzHl9h~G>g&DV$hk3!_c zT`l+YAs7}5(2N=Gz=tNyjTa4n9f-u_;Xx?6(P-JylKxs%kB=uO|LXnV$ykk6EIPz6 zXup24^8#(#*dx9fkPaTTOLl>>jLPm}K~-q6wk|o{;e4}y)z^)}rV$SobT!?)^!sJw z$Q4@@r_@rZamccrFl>r)f?dkP#i?!e#jR$FeaZ%f>}g-!de?t#R8cgb!D#-G?T5UG zUgE+1`y^{J=sEXcs`(~+L1Op0RqRT#yZ2r~HNPM8Om8nTM2?PywmY9+ zIrO{*ILF7YU*k~9O`opL?r{S!fWZf_|BUji)YjME zJ}=AK)a1Pr`STp^b1p3n%3U*G`4o8|5l+k6i2x%w31^HRy)o0Vj$ALR7^E4k{HuLi z9B}l%4{|_Bv6|ci=Wf6I(m=aAh!_b8t9#SjH1q8+JfJUmJjk1vmD$tQbIXn`Zz2q4 zUyzyp$4fcxYZ0j|Ptk0`^SikXXUtMs%^?m&clRbfLc-~wJ&nC>&)YRhpOOC4nd@Mj zVZv5!il0gFgkPHWdzdht#s7;NHHK^f(y1VFgiyL$TC0mInn+uNnp*{_fK!jzt?g zI|jBkF$HK{=oYhM486F+^rG~I{3bB0k!ZdlQbx9KVdB?+$FnNuvNtKs7?mBCEdv@5 zQ>Ll6YsbD9M=LoHLf6<(MkN#&fEOQza z+#^+y`0jO*p$s1$zI&a2iZs7wHj&wV4sya`O`#x#UD#k3Tl>OgByBAfHLM_q7WPuk z0mY6(&OWf^?SVo|bhE?fj~;!Cx)E0T_tmPBTrJ#e->a&)k;k4aMXdEFNHB7h*SEu| zmAhN%idmkCX1Grv)~h*5_@rDcE*Tf@%9SBz$BtT$4$Kae6+X;6(oU%9{@I{PxMtHr zUglHRCiN%Jo((iKv@Xk~A>kO?<_v3_kE|-_nyfvGIq;>ejkNNBxwr}`mMdglyjK}< z`Qj_*soE{;ri>qtSy*={`>tl&|LN??!>L-^_d?20QO3hgW(`6i88VYhInqQTLlj3d znRiMVlIft5VV6RuWT=pgB{V4-Oc^&t$P~x4efQGoeBb$1Hqf2#Nti9H|-uJnO z=YE!pJ88hK3i;O9%#3W8*^iM?m=uD-17GNJge@_9b2>}$Z5#Np$;9LqM1|U*9W5af z+?^bz%&|XiCqai=as(DV!ce*grNIN?b8h{`9q)` z>xqtE`1UZte3>U?P?#S`g7?>7LD5{Z(4p0t(SnX!anlv`IomZq^!O9&LZ?hL2oGsu zhUv8^qa69a2CJ3~V@?BPK*<0EoB_HZu>z)5Id%2vF4iNz5A8>x9~H%o+TGQ)IuCiK zhg@B=8~f3cKDa=7ATIXSRKazCA%9bG4f45DC-D0Jgv)q@TJSFX1ke_V%O@<1LM z^>B1)_>Q}md*T;4$VLrljpcf5hBlAGGBy!9Gcc9yO?XyR(5s!Jpk}Nez;NJAug@C> zkVRom7v@8268N6l{Nl8Y*}!B_D@iB^LoApbr@2m-MFfmT_zyUg+hH~{iI)|-fEQP3 z!v@sg_*>3{2Tz|X*O^&lh*rB8*-=$sN?;*~R-)R3ES91&ko>T>|9v^mRWP+^`Gk`i z^R9G2b}u|5=48F_Oa}&MUAkoCUg9^IiXtgw-CB4Cd*5X)7&_s%pw{+yV&$Dk+(o#u529 zAYS|dvh;3S+a&}R8ew5;`*M~MMvei;d&|kek(-~N5aO^*871zup2uI^(SM3uPpsYL z=N}`|8_T{4NB^g0R2P@PPa~glSYsLq)z~|hyDy@m%?1yv9}5i9Dw!vGLGi!~(W%2v z-1=w)A(*;VU&jic%-vmfU)D0-HEbiS$44ZlO*Hg`siTD1M>XmBIWHsUmIz}B_b&%@I3FC0Rv2}8`A8+~S1`%{DtP=`G&37JJF@e^n+JeEL=QfmAQ+{ZV(f-6 zi%yJ;KmCeZUoqf8 zj4z%jYjY_Dc}>Aym<$Gg9FiE{*4NwQI2d3k6Xw2Faq5*7$p-A_+(QX)xqklq7JvU@ zoHW2-=w{W^V@Z6;@M|_X#6r4WQ8U8nkGv~4vfgM4N?AdWF-S8QkhDaVfwcSBqPfl; zLOQe{Q9F@u#B9OFX{NVZ$tA|^O1Lufp3EPEa~EA2q^fi15E-V4f}whUJ@f0gZ}GX{ zJ?ep*v~U1#1wMU?gp{TwAxVN#{_tj?e6n>Fjk72My<`-AUJt?8)3YaeMC_EdHx?~2 zUy*(V<7b1rCn_7&kSr5$NZDN+*c}Zqm!`!EcH0qWYdD0UW`jCKC5ep`{@upd{X?Sy z$}4dLA|hU560OK)ACOC9P*4!~DlD8>`>;4oF&j$}nAedze{mJKR(<0S0-zwH2lfZZQ)zqPXA z$?Q~N*o@7;e#Hbn)uWGGvS+z}clqcfh9Lm&E5kdvx-dqLqU6dwY_n@uJ{X?tq(>@! z9oBv8fj^x+7+=M4nDXNeT{~cDWtE1hh<|((CKriqbA15<@yX*cx5^lhAfetNo8XkU z_tD>U0>;g~k?q|Wh|vK<$0EoxLq1X$oa`AUL1H1nqjmM$vX+h_si0Y3QG$5A&|=}L zc{)a+K0x6dx|r3g5Gp7*5Bpj6+Z0Qh-QYtBDzmNnF;~`;6MRrEfyiKB4}B? zdUY{@$_}mx)D;jaL2M$kfNc5b8I{|#3BLP;-KLEIP?)K=D&!PK;$%0vqYlCs$kyEc znf?X%7L-qHbZ@Z0-M^`FA4o^;jT?rwtW7w3ItASRyJ2DvXhYGqHzI#7%rlTwQQVlB`n**tkcCCVlm# z-fQ({M3b{g>vtKI35OhR8&qdhV9lk0rBu_9yEjQ2Iwqy2y(ur(>8}eH(%!i<9&{$A z6+tN6v!@Zeeu%&_kY;OO6 z^|p^DW@gxFVbEZq!j5TaIFiSMVF@sDB1z{84AQy5rAV?Y!3hHY9pb3)jG#2d#AKDe z@Ig2?%zE>4mB-O}fvPXs&0x%Qp3XAgf@!kdpFbBM8XmL=iV>J*VfgneA(xw<~t3%__YAd$wCMKK_hSx1Ki%(J%eh6!p z<}$j$7ORzn?(AC1Z1_j;3VoDk&A`BblF*VrTWCpzjU&@Ad%mLJ1<;syg2-1v8|%<$!uKJz0Ql&T z0l>gK6fCR|TcAX=kKq2aRPmuO{)r=-CnGa+074X2^^<+5ln<2`?#Xo`3vXDk>snhc zeoR;iZvy%nu;M|};?lLywwhCMAL18Y0||PH z?1J8){})=&7G-H)s$jS(j`^CFF6Td0*<=IF1N2A&C}2tPhx1_w3QP|4!2g32LTvIq zlF$YY^muX|lPzm&YYRjixGcX3_BrG`VY|Za{3MHPszTr7rvisXPv!NP zJc(4xO!R{xlv$)O!7d`y`iKWKk6=HOxk^p76-YFImH|QNvMJb>ZgdwQK;*si8dx}C z)y1I&djaSnXXpC|>u=5rhk}*8W3qgANi#@ERGDOJ_;AFtPX=h2u%$sGfcL^1q%ar& z1dZVC!gF9_BTTcHuLi4`iQ`#joYcwhC)NX^jj60^`I_%Vxs(bX6?T2~hlp0evBf<} z=A$4&qSRG3c9&1#oVK*vGI;=(Szq! zBo0hSm^(`z(swtlsMX6Ejea#A(^Q5i2syw8L}G;qAD=QT51sjFO+%NC zeIV1UKNKuzRd6ih$U$IH+8ny2a3g@Rq0qqRhz4k80v<#(4FJF3eqoa{pp8^=@Le^H z6ipGcCMF6uer0i;FJ%BhVgJ11T7}tX3aBX&fx^MDK}m_X-w!$Iz!M`8VUV9l1fwD) zbpttronD@vWXn=aOdSlJc+v)U79v%YMk_y%2QM&dL2;n$lVEUt?N^I_x-@iwqFRSu zP;qfxDwkJ8sMXNK)Z6#*f(sm`x#(FiGJr_IfZPsnxhO!o9$*)T>mQUB?w7yVM<0Zm zKuwZX2@eZ{j_}ZQhn?MFd;8ap`-fV5IEHWoV{XAnEuXo>9Z8z7Zh%q5D-SELO5-+F z$}7Yv)o2Nz01KL({N@GW2nbdV4BMMGIrs0sLr~9j?MKYsKu8(%3Ly&R5sXs=M2nly z#S>rd%XJDxxXr%t(%t_8HpW;ku^d_4eur%l))d?PL=WKIn%Y_}cJ`dy+~w`1f0JA8 z`A>U_to(NnvMh5co+^q8^x4@vIAHRibeW=-R@;XUnCl#Co(=+E&gQ{wP!>UoU(M|+ zkdFRe|7U=vhO)F}d65%dT)-aq7%?ziDy4~;91jom7&sTTWhsS*M4-Q-4)Kfsh&n*5 zTax-Q4nUOSXmVR#n>PoFA~jXCBKfbf4g2^f(r=Gl5&;9437ZewFdlGB5y_QxJzYYO zgzvg_z+|jcq>z9KA%}}2Z+_!Oe)(xT*-aQnujyhQ;1sykc@r0c^7Y<~NLOvakoGl* zLjal5+&m3+b!G-A6t?S+EiGUa@Y2AH(cnG~^YPY2!1~y8p_BZ8CFg>JXUFQdUE}`< zrp@p=M!Na<`l_p{4zw00rnq3{2Wo6Ma3M>;ynY2UKM;`bb-A?RG2Lycw1Gqv`G5I@#zJ0cs|I>i;a$E z=j5D*TTaVTkokboD5p(Yr_rr>kK4vgEJ)o61OY}*S zEXfJ9+PN3VmRG#85+i4shM)Bv&tYv4OJDU9i^ZmU*way{-dr-+==?{r#ra1t0o4 zb~#oE>{Y`f4Y!Nl)uOJc)k+YzCUi$pp<$e}3;@^&AI*KbBq6 zX~_3iHT|1_V9LtuvG?H%Czk)5MjyQf{)GJd_tBs^ftzSMfFmauvT&Sil6JmyIpn$hKAsgt12tE`g!j~H0lk@;0fqM zz$^kcIy7=;x!ZmA$(fQzn+VM2$8h7ZDPelgsHt`x%pC!Xg_JTLJ(}U{eGd!X29-Il zXoPEqBlGiTMX^7yu$?a-zHr3l{^v(22Xv z++tZj7Xg!tMj!>)O$oVf9VWx@RU@u#St$u}awBzbgn!u_Bx21h;yf<=zn~R(?GbTQ68}C^$ZT8pQGGq!QV(StwU7*JYRmd|Qx)?a>sfnhDBwZ;25K+>C|f%j@^-3>H3RN_E#a$*$M zXkbPxlzhM$yrbwzXzG5}gFOj8No*M?i15v+#;+gQxK}6zw9+Rqb1+)%8IemIz>UO^ z680e@QoPib#V!m!`cHKO2w&oNgD2R}C@WT|xHqKUzKsTTfBZANw1j90Q!WX1*6xgY z1&zXCktfy((kmA%Txgm379a$5;XNgt=a-W(z-ZMfBgjKHZ}tF$fNR8)pbrR5L=HxN z>r9{-E$ZCmc#VIr0^U*xPq1DuC1U@i6=?BCf7zvGdT-6f1ElyNqlJP+CGq%eXn zXjd=22NgJiu+1Pe0zjkLEy+CHGBeF5y4UJGw?t%NTjL*oLOUTmCvb~_j7gcDtRw45 z>t@{6s)RKwAN`C&3*0Jl=s?tiRrhaRd7u?Jc44AZHua|w#c+nOOji=wmE& z6nf^30r7Cr&DTjz1t2iV95TlfhsB^B1P2X1^X%JEn{~eEkyWVK=Z^FyYfqB2!c9n5f*SRD2?Biy}bY{%mHh;Bh-&}<)Ovorcd5CxQ z$e<)SOeD=B!)WOHwT2uVqJNgx%{t+CU6+x1(sUaKe)6MKvDO>h@?_PdJJRz~ICJ@$ zJ=5`i6?8s%q2SDj+x{ju^Cm`4dH%ysl(xdBH@c&fvDgEbI~9J{;&fn%S_{I|((AXz zF>e~=Ty_PN=lGWo+r;-MZ`{by1&TxyJxU#m^B&9G&0O`(woAE2-;R%XI_JgJG2~m} zP@bGrx855^knCOmi+L}36tgU;xu-f-sSEQEn@%!b9o`bY@6ql0_k!6oi`=$LoE)U| z^UH8wzIQ)=%af$yBi$W|UJOJT@@buCnb!YjpdvQB+ ze;L~y#{BFep8k=?_6lk94`0HnJ>`uJT~MJ<>%=;%YS|FyifY**TMls%6ovTMaYj4O zp5iyIyJsQjPd_&9o1V;Yo1mHas=Qc4HL03mDmxY+8C%2K-?%zSI1fiwEC%Y5)A=EwFP!PUkLtx<7`%yXl{%JY1@sgD?;mybE~7gYX6es) z0u?ToK+tacba%rBeYt_X_TA#*I;OFGXjafWo~&+6lXr|xs!V=t(86Tln5{am{<@d-wck|M=4Ty?`l6Sj=K1+;j$SCeGXIub zYjr?irSt0|S@PQPT8(U#%ViT^eWz~qP=`#P_xXTj*1=b8w)OE?tqu|7?pi7pv%}5p zw;|);#`8Mq^@-L^&Wy{y7z}nc(!bQmxFpj#W-k%ipPIUJULWewuh+`bykNHaVL*D_ z@ebF3nq7uY>%4>yyEz-tEM9!_;NeXtB)B&4I%KEcc6Y0CEzr`P^d z)r{lCviZj3Y+aFQVZ{Ybjr3iar5o@s*=fj$l&B=lO42r7IuY^)O6(``qz9HGs?rS4bDu+ zM(|0O656k}YJJz0=X=A0o^y$F?K6rz#zb&#PntcLARtdkvOO~0kQu|$!O5Di0{Zi^ ouCVux0(%xro;?=a28k;$KR%4jy7U6(856`-19SZ>UHhQ_0E}{Xv;Y7A literal 0 HcmV?d00001 From c97b13dc0dc72f6d83a56ebf947abff351a524e5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 11:03:21 +0200 Subject: [PATCH 150/188] Add glances blog post --- ...g-with-glances-and-home-assistant.markdown | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown diff --git a/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown b/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown new file mode 100644 index 00000000000..d8e146a00c2 --- /dev/null +++ b/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown @@ -0,0 +1,78 @@ +--- +layout: post +title: "Monitoring with Glances and Home Assistant" +description: "This post describes the setup for monitoring remote hosts with Home Assistant." +date: 2015-09-18 11:00:00 +0200 +date_formatted: "September 18, 2015" +author: Fabian Affolter +comments: true +categories: how-to +og_image: /images/supported_brands/glances.png +--- + + +Inspried by a [feature requests](https://github.com/balloob/home-assistant/issues/310) I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the [systemmonitor](/components/sensor.systemmonitor.html) sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present. + + + +The basic problem is to get the data from the remote host. Starting with [psutil](https://pypi.python.org/pypi/psutil) that is used by the systemmonitor sensor, a possible solution is only a click away and named [Glances](https://github.com/nicolargo/glances). Glances has a nice curses-based interface and a [RESTful API](https://github.com/nicolargo/glances/wiki/The-Glances-RESTFULL-JSON-API). + +The [Glances sensor](/components/sensor.glances.html) sensor uses that API to get all needed data. + +In this post a default Fedora 22 Workstation installation is used on the host that should be monitored. In fact, it doesn't matter if the system is the local one or a remote one as long as Glances is available. With some adjustments it should work on your own system too. The difference will be the package and the firewall management tools. + +First some extra packages are needed beside Glances, especially the [bootle](http://bottlepy.org/docs/dev/index.html) webserver. I guess that Glances is available for your distribution as well. Otherwise follow those [instructions](https://github.com/nicolargo/glances#installation). + +``` +sudo dnf -y install glances python-bottle +``` + +On Fedora the Firewall settings are strict. Let's open port 61208 to allow other hosts to connect to that port. This is not needed if you just want to observe your local machine. + +```bash +sudo firewall-cmd --permanent --add-port=61208/tcp +sudo firewall-cmd --reload +``` + +Launch `glances` and keep an eye on the output. + +```bash +glances -w +Glances web server started on http://0.0.0.0:61208/ +``` + +Now browse to http://IP_ADRRESS:61208/. You should see the webified view of Glances. + +

    + + Glances web interface +

    + +Another check is to access the API located at http://IP_ADRRESS:61208/api/2/mem/used and to confirm that a detail about your memory usage is provided as a JSON response. If so, you are good to proceed. + +```bash +curl -X GET http://IP_ADDRESS:61208/api/2/mem/used +{"used": 203943936} +``` + +Add the [glances sensor](/components/sensor.glances.html) entry to your `configuration.yaml` file and restart Home Assistant then. + +```yaml +# Example configuration.yaml entry + - platform: glances + name: NAS + host: IP_ADDRESS + resources: + - 'disk_use_percent' + - 'disk_use' + - 'disk_free' +``` + +If there are no error in the log file then you should see your new sensors. + +

    + + The Glances sensors +

    + +[Glances](https://github.com/nicolargo/glances) has a couple of optional dependencies which are extenting the range of provided information. This means that it would be possible to get details about the RAID system, HDD temperature, IP addresses, sensors, etc., please create a [Pull request](https://github.com/balloob/home-assistant/pulls) with your additions or a [Feature request](https://github.com/balloob/home-assistant/issues/new) if you want see more details in your Home Assistant frontend. From 76cee7a52f26ca3b35ba345c463db5fd243ef7ef Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 11:07:43 +0200 Subject: [PATCH 151/188] Update image --- .../images/blog/2015-09-glances/sensors.png | Bin 13049 -> 14089 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/blog/2015-09-glances/sensors.png b/source/images/blog/2015-09-glances/sensors.png index 6b9f1c8966e4cb1daaf64abfc9096f9d8dd91d53..bd51461e5796e2e7f5c6c79481b0d9df111d2ed9 100644 GIT binary patch literal 14089 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 literal 13049 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 From dff2ea282adde3f4d89b39cfcdba4d419b21e57f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 11:10:36 +0200 Subject: [PATCH 152/188] Update title --- ...15-09-18-monitoring-with-glances-and-home-assistant.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown b/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown index d8e146a00c2..a993e8abd02 100644 --- a/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown +++ b/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "Monitoring with Glances and Home Assistant" +title: "Remote Monitoring with Glances" description: "This post describes the setup for monitoring remote hosts with Home Assistant." date: 2015-09-18 11:00:00 +0200 date_formatted: "September 18, 2015" From 3e7fa84d2a9189e03d246ad565e710168d919dff Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 11:12:32 +0200 Subject: [PATCH 153/188] Fix typos --- ...-09-18-monitoring-with-glances-and-home-assistant.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown b/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown index a993e8abd02..52853449ad8 100644 --- a/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown +++ b/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown @@ -19,9 +19,9 @@ The basic problem is to get the data from the remote host. Starting with [psutil The [Glances sensor](/components/sensor.glances.html) sensor uses that API to get all needed data. -In this post a default Fedora 22 Workstation installation is used on the host that should be monitored. In fact, it doesn't matter if the system is the local one or a remote one as long as Glances is available. With some adjustments it should work on your own system too. The difference will be the package and the firewall management tools. +In this post a default Fedora 22 Workstation installation is used on the host that should be monitored. In fact, it doesn't matter if the system is the local one or a remote one as long as Glances is available. With some adjustments it should work on your own systems too. The difference will be the package and the firewall management tools. -First some extra packages are needed beside Glances, especially the [bootle](http://bottlepy.org/docs/dev/index.html) webserver. I guess that Glances is available for your distribution as well. Otherwise follow those [instructions](https://github.com/nicolargo/glances#installation). +First some extra packages are needed beside Glances, especially the [bottle](http://bottlepy.org/docs/dev/index.html) webserver. I guess that Glances is available for your distribution as well. Otherwise follow those [instructions](https://github.com/nicolargo/glances#installation). ``` sudo dnf -y install glances python-bottle From 81695dbbfcdec1d6f549c3e7074405c2b135de62 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 11:44:50 +0200 Subject: [PATCH 154/188] Add Jeff --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 64c42a7bfee..98e850de01e 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -37,6 +37,7 @@ This page contains a list of people who have contributed in one way or another t - [Issac Kelly](https://github.com/issackelly) - [James Cole](https://github.com/jamespcole) - [Jeffrey Tang](https://github.com/Qrtn) +- [Jeff Schroeder](https://github.com/SEJeff) - [John McLaughlin](https://github.com/loghound) - [John Williams](https://github.com/Jaidan) - [Joseph Piron](https://github.com/eagleamon) From e8e10583011106e563bdeb4055eb85c78bb9289d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 11:45:47 +0200 Subject: [PATCH 155/188] Add Michael --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 98e850de01e..e47dbfc09a3 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -46,6 +46,7 @@ This page contains a list of people who have contributed in one way or another t - [MakeMeASandwich](https://github.com/MakeMeASandwich) - [Markus Stenberg](https://github.com/fingon) - [Michael Arnauts](https://github.com/michaelarnauts) +- [Michael Gilbert](https://github.com/Zyell) - [miniconfig](https://github.com/miniconfig) - [Per Sandström](https://github.com/persandstrom) - [Piratonym](https://github.com/Piratonym) From fa29eb2aebf65a3151cd70511a5f86a1dbaabc3f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 11:46:40 +0200 Subject: [PATCH 156/188] Add rhooper --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index e47dbfc09a3..0bbc13e21ff 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -51,6 +51,7 @@ This page contains a list of people who have contributed in one way or another t - [Per Sandström](https://github.com/persandstrom) - [Piratonym](https://github.com/Piratonym) - [Rev Michael Greb](https://github.com/mikegrb) +- [rhooper](https://github.com/rhooper) - [rkabadi](https://github.com/rkabadi) - [Ryan Kraus](https://github.com/rmkraus) - [sfam](https://github.com/sfam) From abf346b16e7f2849884e73bd5bc0364c9618deaa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 11:47:44 +0200 Subject: [PATCH 157/188] Add Nolan --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 0bbc13e21ff..534f0995483 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -47,6 +47,7 @@ This page contains a list of people who have contributed in one way or another t - [Markus Stenberg](https://github.com/fingon) - [Michael Arnauts](https://github.com/michaelarnauts) - [Michael Gilbert](https://github.com/Zyell) +- [Nolan Gilley](https://github.com/nkgilley) - [miniconfig](https://github.com/miniconfig) - [Per Sandström](https://github.com/persandstrom) - [Piratonym](https://github.com/Piratonym) From b89d4a5ed1a7447c68471931074a14d3272ecb36 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 15 Sep 2015 23:21:01 +0200 Subject: [PATCH 158/188] Add a little more content --- source/developers/python_api.markdown | 50 +++++++++++++++++++++------ 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/source/developers/python_api.markdown b/source/developers/python_api.markdown index 73cb480fe80..091aa17aedb 100644 --- a/source/developers/python_api.markdown +++ b/source/developers/python_api.markdown @@ -33,6 +33,26 @@ hass.start() living_room = hass.states.get('group.living_room') ``` +### {% linkable_title Get details about servies and events %} + +Similar to the output in the "Developer Tools" of the frontend + +```python +import homeassistant.remote as remote + +api = remote.API('host', 'password') + +print('-- Available services:') +services = remote.get_services(api) +for service in services: + print(service['services']) + +print('\n-- Available event') +events = remote.get_event_listeners(api) +for event in events: + print(event) +``` + ### {% linkable_title Get the state of an entity %} To get the details of a single entity the `get_state` method is used. @@ -84,7 +104,7 @@ The state will be set to those value until the next update occurs. ### {% linkable_title Blinking all entites of a domain %} -If you want to switch on all entities of a domain there is a bit more needed than in the examples before. Now will be services involved. +If you want to turn on all entities of a domain, just a service which was retrieved by `get_services`. ```python @@ -92,18 +112,26 @@ import time import homeassistant.remote as remote domain = 'switch' -services = remote.get_services(api) -turn_on = None -turn_off = None -for service in services: - if service['domain'] == domain: - turn_on = service['services'][0] - turn_off = service['services'][1] - -remote.call_service(api, 'switch', turn_on) +remote.call_service(api, domain, 'turn_on') time.sleep(10) -remote.call_service(api, 'switch', turn_off) +remote.call_service(api, domain, 'turn_off') +``` + +### {% linkable_title Control a single entity %} + +To turn on or off a single switch, the ID of the entity is needed as attribute. + +```python +import time +import homeassistant.remote as remote + +domain = 'switch' +switch_name = 'switch.livingroom_pin_2' + +remote.call_service(api, domain, 'turn_on', {'entity_id': '{}'.format(switch_name)}) +time.sleep(5) +remote.call_service(api, domain, 'turn_off', {'entity_id': '{}'.format(switch_name)}) ``` For more details please check the source of [homeassistant.remote](https://github.com/balloob/home-assistant/blob/master/homeassistant/remote.py). From 9dca8039d4ef44b826330f640c22e2d69892299f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 16 Sep 2015 10:30:32 +0200 Subject: [PATCH 159/188] Update arest entry --- source/components/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/index.markdown b/source/components/index.markdown index 075570ad7b9..26011a7ad4a 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -124,7 +124,7 @@ Entities are things that you want to observe within Home Assistant. Support for - aREST sensors monitors values from aREST enabled devices and switch toggles those pin. + aREST sensors observe and switches controls the pins of aREST enabled devices. From 1eecb6c85dc72146ee8a3fd6197d10c56e7a2055 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 17 Sep 2015 08:17:21 +0200 Subject: [PATCH 160/188] Add Heathbar --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 534f0995483..dc15bfd3761 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -34,6 +34,7 @@ This page contains a list of people who have contributed in one way or another t - [Greg Dowling](https://github.com/pavoni) - [Guillem Barba](https://github.com/gbarba) - [Gustav Ahlberg](https://github.com/Gyran) +- [Heathbar](https://github.com/heathbar) - [Issac Kelly](https://github.com/issackelly) - [James Cole](https://github.com/jamespcole) - [Jeffrey Tang](https://github.com/Qrtn) From 28680217309f0f473ef96dcf566810b980809209 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 17 Sep 2015 08:18:22 +0200 Subject: [PATCH 161/188] Add Stefan --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index dc15bfd3761..d39e61b5846 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -57,6 +57,7 @@ This page contains a list of people who have contributed in one way or another t - [rkabadi](https://github.com/rkabadi) - [Ryan Kraus](https://github.com/rmkraus) - [sfam](https://github.com/sfam) +- [Stefan Jonasson](https://github.com/stefan-jonasson) - [Theodor Lindquist](https://github.com/theolind) - [vitorespindola](https://github.com/vitorespindola) - [wind-rider](https://github.com/wind-rider) From 0a0110a32b4e5af8270a64b5c749eac67d38fabe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 17 Sep 2015 08:25:52 +0200 Subject: [PATCH 162/188] Add foscam page --- source/components/camera.foscam.markdown | 35 ++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 source/components/camera.foscam.markdown diff --git a/source/components/camera.foscam.markdown b/source/components/camera.foscam.markdown new file mode 100644 index 00000000000..846adb3947e --- /dev/null +++ b/source/components/camera.foscam.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: "Foscam IP camera support" +description: "Instructions how to integrate Foscam IP cameras within Home Assistant." +date: 2015-09-17 08:01 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +The foscam platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant. + +To enable your Foscam IP camera in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +camera: + platform: foscam + ip: 192.168.0.123 + name: Door Camera + port: 88 + username: USERNAME + password: PASSWORD +``` + +Configuration variables: + +- **ip** *Required*: The IP address your camera. +- **port** *Optional*: The port that the camera is running on. The default is 88. +- **name** *Optional*: This parameter allows you to override the name of your camera. +- **username** *Required*: The username for accessing your camera. +- **password** *Required*: The password for accessing your camera. + From bdfbf0285c441ac9a04a596ba0709b73ff72ab4a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 17 Sep 2015 08:26:06 +0200 Subject: [PATCH 163/188] Add foscam logo --- source/images/supported_brands/foscam.png | Bin 0 -> 33414 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/foscam.png diff --git a/source/images/supported_brands/foscam.png b/source/images/supported_brands/foscam.png new file mode 100644 index 0000000000000000000000000000000000000000..af91c29cba7089a4faadc52f1145979ef58900b2 GIT binary patch literal 33414 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 Eg2=g)^Z)<= literal 0 HcmV?d00001 From 7507106508fe72cb1a765ad0e6e777c2fbc14b89 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 17 Sep 2015 08:27:37 +0200 Subject: [PATCH 164/188] Add foscam entry --- source/components/index.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/components/index.markdown b/source/components/index.markdown index 26011a7ad4a..357fb750adb 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -269,6 +269,10 @@ Entities are things that you want to observe within Home Assistant. Support for IP camera integrates a generic IP camera or image url. + + Foscam let you see your live stream. + + SABnzbd clients monitors queue and download speeds. From b83de8b021264573b4d7e4ab5da51d4d23840263 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 17 Sep 2015 08:46:49 +0200 Subject: [PATCH 165/188] Add mqtt device tracker page --- .../components/device_tracker.mqtt.markdown | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 source/components/device_tracker.mqtt.markdown diff --git a/source/components/device_tracker.mqtt.markdown b/source/components/device_tracker.mqtt.markdown new file mode 100644 index 00000000000..e4731d1fbdc --- /dev/null +++ b/source/components/device_tracker.mqtt.markdown @@ -0,0 +1,31 @@ +--- +layout: page +title: "MQTT device tracker support" +description: "Instructions how to integrate MQTT based trackers into Home Assistant." +date: 2015-09-17 09:00 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +Before this tracker allows the detection of devices which are able to send MQTT messages. + +```yaml +# Example configuration.yaml entry +device_tracker: + platform: mqtt + qos: 1 + devices: + paulus_oneplus: /location/paulus + annetherese_n4: /location/annetherese +``` + +Configuration variables: + +- **qos** (*Required*): Quality of service, default to 0. +- **devices** (*Required*): Array of devices to track. + - **'device_name'** (*Required*): Name to use followed by the topic. + +See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From b487610b0d5f6ae8d463e3a806b9ac2975af9f45 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 17 Sep 2015 08:47:40 +0200 Subject: [PATCH 166/188] Add missing ) --- source/components/device_tracker.luci.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/device_tracker.luci.markdown b/source/components/device_tracker.luci.markdown index c8452ee09e1..c56fdadcdce 100644 --- a/source/components/device_tracker.luci.markdown +++ b/source/components/device_tracker.luci.markdown @@ -24,7 +24,7 @@ device_tracker: Configuration variables: - **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. -- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. +- **username** (*Required*): The username of an user with administrative privileges, usually *admin*. - **password** (*Required*): The password for your given admin account. See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From 3fdd8c290e26b3a6a7a14ba0f28355f803f94c74 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 17 Sep 2015 08:57:54 +0200 Subject: [PATCH 167/188] Add mqtt tracker --- source/components/index.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/components/index.markdown b/source/components/index.markdown index 357fb750adb..caa5cdc8457 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -171,6 +171,11 @@ Entities are things that you want to observe within Home Assistant. Support for OpenWRT routers + + + MQTT devices + + Netgear routers From d4886112d4b245c139c54e3e78b12b36450cdb68 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 17 Sep 2015 23:41:11 -0700 Subject: [PATCH 168/188] Add @maddox to credits --- source/developers/credits.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index d39e61b5846..e751a2bb43e 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -41,6 +41,7 @@ This page contains a list of people who have contributed in one way or another t - [Jeff Schroeder](https://github.com/SEJeff) - [John McLaughlin](https://github.com/loghound) - [John Williams](https://github.com/Jaidan) +- [Jon Maddox](https://github.com/maddox) - [Joseph Piron](https://github.com/eagleamon) - [Julien Danjou](https://github.com/jd) - [kixam](https://github.com/kixam) From 53d08f7ab95ac4de92c814773c31e2cc860abe9f Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 17 Sep 2015 23:42:04 -0700 Subject: [PATCH 169/188] Publish blog post --- _deploy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_deploy b/_deploy index 9a3bd15c402..5ccad30d255 160000 --- a/_deploy +++ b/_deploy @@ -1 +1 @@ -Subproject commit 9a3bd15c4023fa258c30dff51e5bd971664c96b2 +Subproject commit 5ccad30d2553723abb012558620ab31ef8d5fb2a From ecf9f0d4a2d4104a95522a6c8877b82e6fbf223b Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 19 Sep 2015 21:35:28 -0700 Subject: [PATCH 170/188] Fix broken webcam demo --- source/components/scheduler.markdown | 58 ------------------ source/demo/frontend.html | 4 +- source/demo/webcam.jpg | Bin 0 -> 85138 bytes .../{advanced.markdown => autostart.markdown} | 0 4 files changed, 2 insertions(+), 60 deletions(-) delete mode 100644 source/components/scheduler.markdown create mode 100644 source/demo/webcam.jpg rename source/getting-started/{advanced.markdown => autostart.markdown} (100%) diff --git a/source/components/scheduler.markdown b/source/components/scheduler.markdown deleted file mode 100644 index a9691e79df7..00000000000 --- a/source/components/scheduler.markdown +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: page -title: "Scheduler" -description: "Instructions how to setup the scheduler within Home Assistant." -date: 2015-03-23 19:59 -sidebar: false -comments: false -sharing: true -footer: true ---- - -A component that will act as a scheduler and performe actions based -on the events in the schedule. - -Load the component by enabling it in `configuration.yaml` -``` -scheduler: -``` - -It will read a json object from the file `schedule.json` in the config dir (`~/.homeassistant`) and create a schedule based on it. - -Each schedule is a JSON with the keys `id`, `name`, `description`, `entity_ids`, `events`. - -- days is an array with the weekday number (monday=0) that the schdule - is active -- entity_ids an array with entity ids that the events in the schedule should - effect (can also be groups) -- events is an array of objects that describe the different events that is - supported. Read in the events descriptions for more information - -Example `schedule.json` file - -```json -[ - { - "id": "window_lamps", - "name": "Window lamps", - "description": "Turn on window lamps on sunset and turn off at 22:30", - "days": [0, 1, 2, 3, 4], - "entity_ids": [ - "group.window_lamps" - ], - "events": [ - { - "type": "time", - "service": "switch.turn_off", - "time": "22:30:00" - }, - { - "type": "sun", - "service": "switch.turn_on", - "event": "sunset", - "offset": "-00:45:00" - } - ] - } -] -``` diff --git a/source/demo/frontend.html b/source/demo/frontend.html index d12500c2873..9f0ffe78e3d 100644 --- a/source/demo/frontend.html +++ b/source/demo/frontend.html @@ -5087,7 +5087,7 @@ paper-ripple { console.group&&(console.groupCollapsed("Dispatch: %s",t),console.group("payload"),console.debug(e),console.groupEnd())},e.dispatchError=function(t){console.group&&(console.debug("Dispatch error: "+t),console.groupEnd())},e.storeHandled=function(t,e,n){console.group&&e!==n&&console.debug("Store "+t+" handled action")},e.dispatchEnd=function(t){console.group&&(console.debug("Dispatch done, new state: ",t.toJS()),console.groupEnd())}},function(t,e,n){function r(t,e){this.__prevState=t,this.__evaluator=e,this.__prevValues=i.Map(),this.__observers=[]}var i=n(2),o=n(7),a=n(8);Object.defineProperty(r.prototype,"notifyObservers",{writable:!0,configurable:!0,value:function(t){if(this.__observers.length>0){var e=i.Map();this.__observers.forEach(function(n){var r,i=n.getter,u=o(i),s=this.__prevState;this.__prevValues.has(u)?r=this.__prevValues.get(u):(r=this.__evaluator.evaluate(s,i),this.__prevValues=this.__prevValues.set(u,r));var c=this.__evaluator.evaluate(t,i);a(r,c)||(n.handler.call(null,c),e=e.set(u,c))}.bind(this)),this.__prevValues=e}this.__prevState=t}}),Object.defineProperty(r.prototype,"onChange",{writable:!0,configurable:!0,value:function(t,e){var n={getter:t,handler:e};return this.__observers.push(n),function(){var t=this.__observers.indexOf(n);t>-1&&this.__observers.splice(t,1)}.bind(this)}}),Object.defineProperty(r.prototype,"reset",{writable:!0,configurable:!0,value:function(t){this.__prevState=t,this.__prevValues=i.Map(),this.__observers=[]}}),t.exports=r},function(t,e,n){var r=n(2);t.exports=function(t,e){if(t.hasOwnProperty("__hashCode"))return t.__hashCode;var n=r.fromJS(t).hashCode();return e||(Object.defineProperty(t,"__hashCode",{enumerable:!1,configurable:!1,writable:!1,value:n}),Object.freeze(t)),n}},function(t,e,n){var r=n(2);t.exports=function(t,e){return r.is(t,e)}},function(t,e,n){function r(t){return s(t)&&u(t[t.length-1])}function i(t){return t[t.length-1]}function o(t){return t.slice(0,t.length-1)}function a(t){if(!c(t))throw new Error("Cannot create Getter from KeyPath: "+t);return[t,l]}var u=n(3).isFunction,s=n(3).isArray,c=n(10).isKeyPath,l=function(t){return t};t.exports={isGetter:r,getComputeFn:i,getDeps:o,fromKeyPath:a}},function(t,e,n){var r=n(3).isArray,i=n(3).isFunction;e.isKeyPath=function(t){return r(t)&&!i(t[t.length-1])}},function(t,e,n){function r(){this.__cachedGetters=i.Map({})}var i=n(2),o=n(1).toImmutable,a=n(7),u=n(8),s=n(9).getComputeFn,c=n(9).getDeps,l=n(10).isKeyPath,f=n(9).isGetter,d=!1;Object.defineProperty(r.prototype,"evaluate",{writable:!0,configurable:!0,value:function(t,e){if(l(e))return t.getIn(e);if(!f(e))throw new Error("evaluate must be passed a keyPath or Getter");var n=a(e);if(this.__isCached(t,e))return this.__cachedGetters.getIn([n,"value"]);var r=c(e).map(function(e){return this.evaluate(t,e)}.bind(this));if(this.__hasStaleValue(t,e)){var i=this.__cachedGetters.getIn([n,"args"]);if(u(i,o(r))){var h=this.__cachedGetters.getIn([n,"value"]);return this.__cacheValue(t,e,i,h),h}}if(d===!0)throw d=!1,new Error("Evaluate may not be called within a Getters computeFn");var p;d=!0;try{p=s(e).apply(null,r),d=!1}catch(_){throw d=!1,_}return this.__cacheValue(t,e,r,p),p}}),Object.defineProperty(r.prototype,"__hasStaleValue",{writable:!0,configurable:!0,value:function(t,e){var n=a(e),r=this.__cachedGetters;return r.has(n)&&r.getIn([n,"stateHashCode"])!==t.hashCode()}}),Object.defineProperty(r.prototype,"__cacheValue",{writable:!0,configurable:!0,value:function(t,e,n,r){var u=a(e);this.__cachedGetters=this.__cachedGetters.set(u,i.Map({value:r,args:o(n),stateHashCode:t.hashCode()}))}}),Object.defineProperty(r.prototype,"__isCached",{writable:!0,configurable:!0,value:function(t,e){var n=a(e);return this.__cachedGetters.hasIn([n,"value"])&&this.__cachedGetters.getIn([n,"stateHashCode"])===t.hashCode()}}),Object.defineProperty(r.prototype,"untrack",{writable:!0,configurable:!0,value:function(t){}}),Object.defineProperty(r.prototype,"reset",{writable:!0,configurable:!0,value:function(){this.__cachedGetters=i.Map({})}}),t.exports=r},function(t,e,n){function r(t,e){var n={};return i(e,function(e,r){n[r]=t.evaluate(e)}),n}var i=n(3).each;t.exports=function(t){return{getInitialState:function(){return r(t,this.getDataBindings())},componentDidMount:function(){var e=this;e.__unwatchFns=[],i(this.getDataBindings(),function(n,r){var i=t.observe(n,function(t){var n={};n[r]=t,e.setState(n)});e.__unwatchFns.push(i)})},componentWillUnmount:function(){for(;this.__unwatchFns.length;)this.__unwatchFns.shift()()}}}},function(t,e,n){function r(t){return this instanceof r?(this.__handlers=o({}),t&&a(this,t),void this.initialize()):new r(t)}function i(t){return t instanceof r}var o=n(2).Map,a=n(3).extend,u=n(1).toJS,s=n(1).toImmutable;Object.defineProperty(r.prototype,"initialize",{writable:!0,configurable:!0,value:function(){}}),Object.defineProperty(r.prototype,"getInitialState",{writable:!0,configurable:!0,value:function(){return o()}}),Object.defineProperty(r.prototype,"handle",{writable:!0,configurable:!0,value:function(t,e,n){var r=this.__handlers.get(e);return"function"==typeof r?r.call(this,t,n,e):t}}),Object.defineProperty(r.prototype,"handleReset",{writable:!0,configurable:!0,value:function(t){return this.getInitialState()}}),Object.defineProperty(r.prototype,"on",{writable:!0,configurable:!0,value:function(t,e){this.__handlers=this.__handlers.set(t,e)}}),Object.defineProperty(r.prototype,"serialize",{writable:!0,configurable:!0,value:function(t){return u(t)}}),Object.defineProperty(r.prototype,"deserialize",{writable:!0,configurable:!0,value:function(t){return s(t)}}),t.exports=r,t.exports.isStore=i}])})},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(175),a=r(o);e["default"]=a["default"](i.reactor),t.exports=e["default"]},function(t,e){"use strict";var n=function(t){var e,n={};if(!(t instanceof Object)||Array.isArray(t))throw new Error("keyMirror(...): Argument must be an object.");for(e in t)t.hasOwnProperty(e)&&(n[e]=e);return n};t.exports=n},function(t,e){"use strict";function n(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}t.exports=n},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(184),o=r(i);e.callApi=o["default"]},function(t,e,n){"use strict";function r(t){return i(t)?t:Object(t)}var i=n(6);t.exports=r},function(t,e,n){"use strict";var r=n(20),i=n(12),o=n(13),a="[object Array]",u=Object.prototype,s=u.toString,c=r(Array,"isArray"),l=c||function(t){return o(t)&&i(t.length)&&s.call(t)==a};t.exports=l},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(207),a=i(o),u=n(208),s=r(u),c=a["default"];e.actions=c;var l=s;e.getters=l},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){t.registerStores({restApiCache:l["default"]})}function o(t){return[["restApiCache",t.entity],function(t){return!!t}]}function a(t){return[["restApiCache",t.entity],function(t){return t||s.toImmutable({})}]}function u(t){return function(e){return["restApiCache",t.entity,e]}}Object.defineProperty(e,"__esModule",{value:!0}),e.register=i,e.createHasDataGetter=o,e.createEntityMapGetter=a,e.createByIdGetter=u;var s=n(3),c=n(231),l=r(c),f=n(230),d=r(f);e.createApiActions=d["default"]},function(t,e){"use strict";function n(t){return"number"==typeof t&&t>-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e){"use strict";function n(t){return!!t&&"object"==typeof t}t.exports=n},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);e["default"]=new o["default"]({is:"partial-base",properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1}},computeMenuButtonClass:function(t,e){return!t&&e?"invisible":""},toggleMenu:function(){this.fire("open-menu")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(5),o=r(i);e["default"]=o["default"]({ENTITY_HISTORY_DATE_SELECTED:null,ENTITY_HISTORY_FETCH_START:null,ENTITY_HISTORY_FETCH_ERROR:null,ENTITY_HISTORY_FETCH_SUCCESS:null,RECENT_ENTITY_HISTORY_FETCH_START:null,RECENT_ENTITY_HISTORY_FETCH_ERROR:null,RECENT_ENTITY_HISTORY_FETCH_SUCCESS:null,LOG_OUT:null}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return null!=t&&o(i(t))}var i=n(49),o=n(12);t.exports=r},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(137),n(58),e["default"]=new o["default"]({is:"state-info",properties:{stateObj:{type:Object}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(5),o=r(i);e["default"]=o["default"]({LOGBOOK_DATE_SELECTED:null,LOGBOOK_ENTRIES_FETCH_START:null,LOGBOOK_ENTRIES_FETCH_ERROR:null,LOGBOOK_ENTRIES_FETCH_SUCCESS:null}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(232),a=i(o),u=n(79),s=r(u),c=a["default"];e.actions=c;var l=s;e.getters=l},function(t,e,n){"use strict";function r(t,e){var n=null==t?void 0:t[e];return i(n)?n:void 0}var i=n(126);t.exports=r},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(5),o=r(i);e["default"]=o["default"]({VALIDATING_AUTH_TOKEN:null,VALID_AUTH_TOKEN:null,INVALID_AUTH_TOKEN:null,LOG_OUT:null}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}function o(t){t.registerStores({authAttempt:u["default"],authCurrent:c["default"],rememberAuth:f["default"]})}Object.defineProperty(e,"__esModule",{value:!0}),e.register=o;var a=n(187),u=i(a),s=n(188),c=i(s),l=n(189),f=i(l),d=n(185),h=r(d),p=n(186),_=r(p),v=h;e.actions=v;var y=_;e.getters=y},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=t[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(s){i=!0,o=s}finally{try{!r&&u["return"]&&u["return"]()}finally{if(i)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),u=function(){function t(t,e){for(var n=0;n-1&&t%1==0&&e>t}var r=/^\d+$/,i=9007199254740991;t.exports=n},function(t,e,n){"use strict";function r(t,e,n){if(!a(n))return!1;var r=typeof e;if("number"==r?i(n)&&o(e,n.length):"string"==r&&e in n){var u=n[e];return t===t?t===u:u!==u}return!1}var i=n(16),o=n(25),a=n(6);t.exports=r},function(t,e,n){"use strict";function r(t){return o(t)&&i(t)&&u.call(t,"callee")&&!s.call(t,"callee")}var i=n(16),o=n(13),a=Object.prototype,u=a.hasOwnProperty,s=a.propertyIsEnumerable;t.exports=r},function(t,e,n){"use strict";var r=n(20),i=n(16),o=n(6),a=n(123),u=r(Object,"keys"),s=u?function(t){var e=null==t?void 0:t.constructor;return"function"==typeof e&&e.prototype===t||"function"!=typeof t&&i(t)?a(t):o(t)?u(t):[]}:a;t.exports=s},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=n(62),u=r(a);e["default"]=new o["default"]({is:"domain-icon",properties:{domain:{type:String,value:""},state:{type:String,value:""}},computeIcon:function(t,e){return u["default"](t,e)}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);e["default"]=new o["default"]({is:"loading-box"}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=n(176),u=r(a);n(32),n(60),n(174),n(171),n(173),n(172),e["default"]=new o["default"]({is:"state-card-content",properties:{stateObj:{type:Object,observer:"stateObjChanged"}},stateObjChanged:function(t,e){var n=o["default"].dom(this);if(!t)return void(n.lastChild&&n.removeChild(n.lastChild));var r=u["default"](t);if(e&&u["default"](e)===r)n.lastChild.stateObj=t;else{n.lastChild&&n.removeChild(n.lastChild);var i=document.createElement("state-card-"+r);i.stateObj=t,n.appendChild(i)}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(17),e["default"]=new o["default"]({is:"state-card-display",properties:{stateObj:{type:Object}}}),t.exports=e["default"]},function(t,e){"use strict";function n(t,e){return t?e.map(function(e){return e in t.attributes?"has-"+e:""}).join(" "):""}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t,e,n){function r(){y&&clearTimeout(y),h&&clearTimeout(h),m=0,h=y=g=void 0}function s(e,n){n&&clearTimeout(n),h=y=g=void 0,e&&(m=o(),p=t.apply(v,d),y||h||(d=v=void 0))}function c(){var t=e-(o()-_);0>=t||t>e?s(g,h):y=setTimeout(c,t)}function l(){s(O,y)}function f(){if(d=arguments,_=o(),v=this,g=O&&(y||!w),b===!1)var n=w&&!y;else{h||w||(m=_);var r=b-(_-m),i=0>=r||r>b;i?(h&&(h=clearTimeout(h)),m=_,p=t.apply(v,d)):h||(h=setTimeout(l,r))}return i&&y?y=clearTimeout(y):y||e===b||(y=setTimeout(c,e)),n&&(i=!0,p=t.apply(v,d)),!i||y||h||(d=v=void 0),p}var d,h,p,_,v,y,g,m=0,b=!1,O=!0;if("function"!=typeof t)throw new TypeError(a);if(e=0>e?0:+e||0,n===!0){var w=!0;O=!1}else i(n)&&(w=!!n.leading,b="maxWait"in n&&u(+n.maxWait||0,e),O="trailing"in n?!!n.trailing:O);return f.cancel=r,f}var i=n(68),o=n(180),a="Expected a function",u=Math.max;t.exports=r},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(5),o=r(i);e["default"]=o["default"]({SERVER_CONFIG_LOADED:null,COMPONENT_LOADED:null,LOG_OUT:null}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}function o(t){t.registerStores({serverComponent:u["default"],serverConfig:c["default"]})}Object.defineProperty(e,"__esModule",{value:!0}),e.register=o;var a=n(192),u=i(a),s=n(193),c=i(s),l=n(190),f=r(l),d=n(191),h=r(d),p=f;e.actions=p;var _=h;e.getters=_},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(209),a=i(o),u=n(210),s=r(u),c=a["default"];e.actions=c;var l=s;e.getters=l},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(5),o=r(i);e["default"]=o["default"]({NAVIGATE:null,SHOW_SIDEBAR:null,LOG_OUT:null}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}function o(t){t.registerStores({notifications:u["default"]})}Object.defineProperty(e,"__esModule",{value:!0}),e.register=o;var a=n(227),u=i(a),s=n(225),c=r(s),l=n(226),f=r(l),d=c;e.actions=d;var h=f;e.getters=h},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}function o(t){t.registerStores({streamStatus:u["default"]})}Object.defineProperty(e,"__esModule",{value:!0}),e.register=o;var a=n(239),u=i(a),s=n(235),c=r(s),l=n(236),f=r(l),d=c;e.actions=d;var h=f;e.getters=h},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(5),o=r(i);e["default"]=o["default"]({API_FETCH_ALL_START:null,API_FETCH_ALL_SUCCESS:null,API_FETCH_ALL_FAIL:null,SYNC_SCHEDULED:null,SYNC_SCHEDULE_CANCELLED:null}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}function o(t){t.registerStores({isFetchingData:u["default"],isSyncScheduled:c["default"]})}Object.defineProperty(e,"__esModule",{value:!0}),e.register=o;var a=n(241),u=i(a),s=n(242),c=i(s),l=n(240),f=r(l),d=n(82),h=r(d),p=f;e.actions=p;var _=h;e.getters=_},function(t,e){"use strict";function n(t){return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e["default"]},function(t,e){"use strict";function n(t){var e=t.split(" "),n=r(e,2),i=n[0],o=n[1],a=i.split(":"),u=r(a,3),s=u[0],c=u[1],l=u[2],f=o.split("-"),d=r(f,3),h=d[0],p=d[1],_=d[2];return new Date(Date.UTC(_,parseInt(p,10)-1,h,s,c,l))}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=t[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(s){i=!0,o=s}finally{try{!r&&u["return"]&&u["return"]()}finally{if(i)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t,e,n){if(null!=t){void 0!==n&&n in i(t)&&(e=[n]);for(var r=0,o=e.length;null!=t&&o>r;)t=t[e[r++]];return r&&r==o?t:void 0}}var i=n(8);t.exports=r},function(t,e,n){"use strict";function r(t,e,n,u,s,c){return t===e?!0:null==t||null==e||!o(t)&&!a(e)?t!==t&&e!==e:i(t,e,r,n,u,s,c)}var i=n(102),o=n(6),a=n(13);t.exports=r},function(t,e,n){"use strict";function r(t,e){var n=-1,r=o(t)?Array(t.length):[];return i(t,function(t,i,o){r[++n]=e(t,i,o)}),r}var i=n(97),o=n(16);t.exports=r},function(t,e){"use strict";function n(t){return function(e){return null==e?void 0:e[t]}}t.exports=n},function(t,e,n){"use strict";var r=n(48),i=r("length");t.exports=i},function(t,e,n){"use strict";function r(t,e){var n=typeof t;if("string"==n&&u.test(t)||"number"==n)return!0;if(i(t))return!1;var r=!a.test(t);return r||null!=e&&t in o(e)}var i=n(9),o=n(8),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,u=/^\w*$/;t.exports=r},function(t,e,n){"use strict";function r(t){return t===t&&!i(t)}var i=n(6);t.exports=r},function(t,e,n){"use strict";function r(t){if(o(t))return t;var e=[];return i(t).replace(a,function(t,n,r,i){e.push(r?i.replace(u,"$1"):n||t)}),e}var i=n(109),o=n(9),a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,u=/\\(\\)?/g;t.exports=r},function(t,e){"use strict";function n(t){return t}t.exports=n},function(t,e,n){"use strict";function r(t){return a(t)?i(t):o(t)}var i=n(48),o=n(106),a=n(50);t.exports=r},function(t,e,n){(function(t){"use strict";!function(e,n){t.exports=n()}(void 0,function(){function e(){return Ln.apply(null,arguments)}function n(t){Ln=t}function r(t){return"[object Array]"===Object.prototype.toString.call(t)}function i(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function o(t,e){var n,r=[];for(n=0;n0)for(n in Rn)r=Rn[n],i=e[r],"undefined"!=typeof i&&(t[r]=i);return t}function p(t){h(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),zn===!1&&(zn=!0,e.updateOffset(this),zn=!1)}function _(t){return t instanceof p||null!=t&&null!=t._isAMomentObject}function v(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=v(e)),n}function g(t,e,n){var r,i=Math.min(t.length,e.length),o=Math.abs(t.length-e.length),a=0;for(r=0;i>r;r++)(n&&t[r]!==e[r]||!n&&y(t[r])!==y(e[r]))&&a++;return a+o}function m(){}function b(t){return t?t.toLowerCase().replace("_","-"):t}function O(t){for(var e,n,r,i,o=0;o0;){if(r=w(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&g(i,n,!0)>=e-1)break;e--}o++}return null}function w(e){var n=null;if(!Hn[e]&&"undefined"!=typeof t&&t&&t.exports)try{n=Nn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),S(n)}catch(r){}return Hn[e]}function S(t,e){var n;return t&&(n="undefined"==typeof e?M(t):T(t,e),n&&(Nn=n)),Nn._abbr}function T(t,e){return null!==e?(e.abbr=t,Hn[t]=Hn[t]||new m,Hn[t].set(e),S(t),Hn[t]):(delete Hn[t],null)}function M(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Nn;if(!r(t)){if(e=w(t))return e;t=[t]}return O(t)}function j(t,e){var n=t.toLowerCase();Yn[n]=Yn[n+"s"]=Yn[e]=t}function E(t){return"string"==typeof t?Yn[t]||Yn[t.toLowerCase()]:void 0}function P(t){var e,n,r={};for(n in t)a(t,n)&&(e=E(n),e&&(r[e]=t[n]));return r}function I(t,n){return function(r){return null!=r?(C(this,t,r),e.updateOffset(this,n),this):D(this,t)}}function D(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function C(t,e,n){return t._d["set"+(t._isUTC?"UTC":"")+e](n)}function A(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=E(t),"function"==typeof this[t])return this[t](e);return this}function x(t,e,n){var r=""+Math.abs(t),i=e-r.length,o=t>=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function k(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(Bn[t]=i),e&&(Bn[e[0]]=function(){return x(i.apply(this,arguments),e[1],e[2])}),n&&(Bn[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function L(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function N(t){var e,n,r=t.match(Gn);for(e=0,n=r.length;n>e;e++)Bn[r[e]]?r[e]=Bn[r[e]]:r[e]=L(r[e]);return function(i){var o="";for(e=0;n>e;e++)o+=r[e]instanceof Function?r[e].call(i,t):r[e];return o}}function R(t,e){return t.isValid()?(e=z(e,t.localeData()),Fn[e]=Fn[e]||N(e),Fn[e](t)):t.localeData().invalidDate()}function z(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(Un.lastIndex=0;r>=0&&Un.test(t);)t=t.replace(Un,n),Un.lastIndex=0,r-=1;return t}function H(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function Y(t,e,n){or[t]=H(e)?e:function(t){return t&&n?n:e}}function G(t,e){return a(or,t)?or[t](e._strict,e._locale):new RegExp(U(t))}function U(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function F(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(r=function(t,n){n[e]=y(t)}),n=0;nr;r++){if(i=s([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(o="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}}function $(t,e){var n;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(n=Math.min(t.date(),q(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t)}function Z(t){return null!=t?($(this,t),e.updateOffset(this,!0),this):D(this,"Month")}function X(){return q(this.year(),this.month())}function Q(t){var e,n=t._a;return n&&-2===l(t).overflow&&(e=n[sr]<0||n[sr]>11?sr:n[cr]<1||n[cr]>q(n[ur],n[sr])?cr:n[lr]<0||n[lr]>24||24===n[lr]&&(0!==n[fr]||0!==n[dr]||0!==n[hr])?lr:n[fr]<0||n[fr]>59?fr:n[dr]<0||n[dr]>59?dr:n[hr]<0||n[hr]>999?hr:-1,l(t)._overflowDayOfYear&&(ur>e||e>cr)&&(e=cr),l(t).overflow=e),t}function tt(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function et(t,e){var n=!0;return u(function(){return n&&(tt(t+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function nt(t,e){vr[t]||(tt(e),vr[t]=!0)}function rt(t){var e,n,r=t._i,i=yr.exec(r);if(i){for(l(t).iso=!0,e=0,n=gr.length;n>e;e++)if(gr[e][1].exec(r)){t._f=gr[e][0];break}for(e=0,n=mr.length;n>e;e++)if(mr[e][1].exec(r)){t._f+=(i[6]||" ")+mr[e][0];break}r.match(nr)&&(t._f+="Z"),wt(t)}else t._isValid=!1}function it(t){var n=br.exec(t._i);return null!==n?void(t._d=new Date(+n[1])):(rt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function ot(t,e,n,r,i,o,a){var u=new Date(t,e,n,r,i,o,a);return 1970>t&&u.setFullYear(t),u}function at(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ut(t){return st(t)?366:365}function st(t){return t%4===0&&t%100!==0||t%400===0}function ct(){return st(this.year())}function lt(t,e,n){var r,i=n-e,o=n-t.day();return o>i&&(o-=7),i-7>o&&(o+=7),r=Dt(t).add(o,"d"),{week:Math.ceil(r.dayOfYear()/7),year:r.year()}}function ft(t){return lt(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function ht(){return this._week.doy}function pt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function _t(t){var e=lt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function vt(t,e,n,r,i){var o,a=6+i-r,u=at(t,0,1+a),s=u.getUTCDay();return i>s&&(s+=7),n=null!=n?1*n:i,o=1+a+7*(e-1)-s+n,{year:o>0?t:t-1,dayOfYear:o>0?o:ut(t-1)+o}}function yt(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function gt(t,e,n){return null!=t?t:null!=e?e:n}function mt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function bt(t){var e,n,r,i,o=[];if(!t._d){for(r=mt(t),t._w&&null==t._a[cr]&&null==t._a[sr]&&Ot(t),t._dayOfYear&&(i=gt(t._a[ur],r[ur]),t._dayOfYear>ut(i)&&(l(t)._overflowDayOfYear=!0),n=at(i,0,t._dayOfYear),t._a[sr]=n.getUTCMonth(),t._a[cr]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=o[e]=r[e];for(;7>e;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[lr]&&0===t._a[fr]&&0===t._a[dr]&&0===t._a[hr]&&(t._nextDay=!0,t._a[lr]=0),t._d=(t._useUTC?at:ot).apply(null,o),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm), t._nextDay&&(t._a[lr]=24)}}function Ot(t){var e,n,r,i,o,a,u;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(o=1,a=4,n=gt(e.GG,t._a[ur],lt(Dt(),1,4).year),r=gt(e.W,1),i=gt(e.E,1)):(o=t._locale._week.dow,a=t._locale._week.doy,n=gt(e.gg,t._a[ur],lt(Dt(),o,a).year),r=gt(e.w,1),null!=e.d?(i=e.d,o>i&&++r):i=null!=e.e?e.e+o:o),u=vt(n,r,i,a,o),t._a[ur]=u.year,t._dayOfYear=u.dayOfYear}function wt(t){if(t._f===e.ISO_8601)return void rt(t);t._a=[],l(t).empty=!0;var n,r,i,o,a,u=""+t._i,s=u.length,c=0;for(i=z(t._f,t._locale).match(Gn)||[],n=0;n0&&l(t).unusedInput.push(a),u=u.slice(u.indexOf(r)+r.length),c+=r.length),Bn[o]?(r?l(t).empty=!1:l(t).unusedTokens.push(o),V(o,r,t)):t._strict&&!r&&l(t).unusedTokens.push(o);l(t).charsLeftOver=s-c,u.length>0&&l(t).unusedInput.push(u),l(t).bigHour===!0&&t._a[lr]<=12&&t._a[lr]>0&&(l(t).bigHour=void 0),t._a[lr]=St(t._locale,t._a[lr],t._meridiem),bt(t),Q(t)}function St(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&12>e&&(e+=12),r||12!==e||(e=0),e):e}function Tt(t){var e,n,r,i,o;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;io)&&(r=o,n=e));u(t,n||e)}function Mt(t){if(!t._d){var e=P(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],bt(t)}}function jt(t){var e=new p(Q(Et(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Et(t){var e=t._i,n=t._f;return t._locale=t._locale||M(t._l),null===e||void 0===n&&""===e?d({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),_(e)?new p(Q(e)):(r(n)?Tt(t):n?wt(t):i(e)?t._d=e:Pt(t),t))}function Pt(t){var n=t._i;void 0===n?t._d=new Date:i(n)?t._d=new Date(+n):"string"==typeof n?it(t):r(n)?(t._a=o(n.slice(0),function(t){return parseInt(t,10)}),bt(t)):"object"==typeof n?Mt(t):"number"==typeof n?t._d=new Date(n):e.createFromInputFallback(t)}function It(t,e,n,r,i){var o={};return"boolean"==typeof n&&(r=n,n=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=i,o._l=n,o._i=t,o._f=e,o._strict=r,jt(o)}function Dt(t,e,n,r){return It(t,e,n,r,!1)}function Ct(t,e){var n,i;if(1===e.length&&r(e[0])&&(e=e[0]),!e.length)return Dt();for(n=e[0],i=1;it&&(t=-t,n="-"),n+x(~~(t/60),2)+e+x(~~t%60,2)})}function Rt(t){var e=(t||"").match(nr)||[],n=e[e.length-1]||[],r=(n+"").match(Mr)||["-",0,0],i=+(60*r[1])+y(r[2]);return"+"===r[0]?i:-i}function zt(t,n){var r,o;return n._isUTC?(r=n.clone(),o=(_(t)||i(t)?+t:+Dt(t))-+r,r._d.setTime(+r._d+o),e.updateOffset(r,!1),r):Dt(t).local()}function Ht(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Yt(t,n){var r,i=this._offset||0;return null!=t?("string"==typeof t&&(t=Rt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&n&&(r=Ht(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==t&&(!n||this._changeInProgress?ne(this,Zt(t-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:Ht(this)}function Gt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Ut(t){return this.utcOffset(0,t)}function Ft(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ht(this),"m")),this}function Bt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Rt(this._i)),this}function Vt(t){return t=t?Dt(t).utcOffset():0,(this.utcOffset()-t)%60===0}function qt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(h(t,this),t=Et(t),t._a){var e=t._isUTC?s(t._a):Dt(t._a);this._isDSTShifted=this.isValid()&&g(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Kt(){return!this._isUTC}function Jt(){return this._isUTC}function $t(){return this._isUTC&&0===this._offset}function Zt(t,e){var n,r,i,o=t,u=null;return Lt(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(o={},e?o[e]=t:o.milliseconds=t):(u=jr.exec(t))?(n="-"===u[1]?-1:1,o={y:0,d:y(u[cr])*n,h:y(u[lr])*n,m:y(u[fr])*n,s:y(u[dr])*n,ms:y(u[hr])*n}):(u=Er.exec(t))?(n="-"===u[1]?-1:1,o={y:Xt(u[2],n),M:Xt(u[3],n),d:Xt(u[4],n),h:Xt(u[5],n),m:Xt(u[6],n),s:Xt(u[7],n),w:Xt(u[8],n)}):null==o?o={}:"object"==typeof o&&("from"in o||"to"in o)&&(i=te(Dt(o.from),Dt(o.to)),o={},o.ms=i.milliseconds,o.M=i.months),r=new kt(o),Lt(t)&&a(t,"_locale")&&(r._locale=t._locale),r}function Xt(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Qt(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function te(t,e){var n;return e=zt(e,t),t.isBefore(e)?n=Qt(t,e):(n=Qt(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function ee(t,e){return function(n,r){var i,o;return null===r||isNaN(+r)||(nt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),o=n,n=r,r=o),n="string"==typeof n?+n:n,i=Zt(n,r),ne(this,i,t),this}}function ne(t,n,r,i){var o=n._milliseconds,a=n._days,u=n._months;i=null==i?!0:i,o&&t._d.setTime(+t._d+o*r),a&&C(t,"Date",D(t,"Date")+a*r),u&&$(t,D(t,"Month")+u*r),i&&e.updateOffset(t,a||u)}function re(t,e){var n=t||Dt(),r=zt(n,this).startOf("day"),i=this.diff(r,"days",!0),o=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(e&&e[o]||this.localeData().calendar(o,this,Dt(n)))}function ie(){return new p(this)}function oe(t,e){var n;return e=E("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=_(t)?t:Dt(t),+this>+t):(n=_(t)?+t:+Dt(t),n<+this.clone().startOf(e))}function ae(t,e){var n;return e=E("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=_(t)?t:Dt(t),+t>+this):(n=_(t)?+t:+Dt(t),+this.clone().endOf(e)e-o?(n=t.clone().add(i-1,"months"),r=(e-o)/(o-n)):(n=t.clone().add(i+1,"months"),r=(e-o)/(n-o)),-(i+r)}function fe(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(n=Dt([2e3,1]).day(e),r="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(r.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Ue(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Re(t,this.localeData()),this.add(t-e,"d")):e}function Fe(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Be(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Ve(t,e){k(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qe(t,e){return e._meridiemParse}function We(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ke(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function Je(t,e){e[hr]=y(1e3*("0."+t))}function $e(){return this._isUTC?"UTC":""}function Ze(){return this._isUTC?"Coordinated Universal Time":""}function Xe(t){return Dt(1e3*t)}function Qe(){return Dt.apply(null,arguments).parseZone()}function tn(t,e,n){var r=this._calendar[t];return"function"==typeof r?r.call(e,n):r}function en(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function nn(){return this._invalidDate}function rn(t){return this._ordinal.replace("%d",t)}function on(t){return t}function an(t,e,n,r){var i=this._relativeTime[n];return"function"==typeof i?i(t,e,n,r):i.replace(/%d/i,t)}function un(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)}function sn(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function cn(t,e,n,r){var i=M(),o=s().set(r,e);return i[n](o,t)}function ln(t,e,n,r,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return cn(t,e,n,i);var o,a=[];for(o=0;r>o;o++)a[o]=cn(t,o,n,i);return a}function fn(t,e){return ln(t,e,"months",12,"month")}function dn(t,e){return ln(t,e,"monthsShort",12,"month")}function hn(t,e){return ln(t,e,"weekdays",7,"day")}function pn(t,e){return ln(t,e,"weekdaysShort",7,"day")}function _n(t,e){return ln(t,e,"weekdaysMin",7,"day")}function vn(){var t=this._data;return this._milliseconds=$r(this._milliseconds),this._days=$r(this._days),this._months=$r(this._months),t.milliseconds=$r(t.milliseconds),t.seconds=$r(t.seconds),t.minutes=$r(t.minutes),t.hours=$r(t.hours),t.months=$r(t.months),t.years=$r(t.years),this}function yn(t,e,n,r){var i=Zt(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function gn(t,e){return yn(this,t,e,1)}function mn(t,e){return yn(this,t,e,-1)}function bn(t){return 0>t?Math.floor(t):Math.ceil(t)}function On(){var t,e,n,r,i,o=this._milliseconds,a=this._days,u=this._months,s=this._data;return o>=0&&a>=0&&u>=0||0>=o&&0>=a&&0>=u||(o+=864e5*bn(Sn(u)+a),a=0,u=0),s.milliseconds=o%1e3,t=v(o/1e3),s.seconds=t%60,e=v(t/60),s.minutes=e%60,n=v(e/60),s.hours=n%24,a+=v(n/24),i=v(wn(a)),u+=i,a-=bn(Sn(i)),r=v(u/12),u%=12,s.days=a,s.months=u,s.years=r,this}function wn(t){return 4800*t/146097}function Sn(t){return 146097*t/4800}function Tn(t){var e,n,r=this._milliseconds;if(t=E(t),"month"===t||"year"===t)return e=this._days+r/864e5,n=this._months+wn(e),"month"===t?n:n/12;switch(e=this._days+Math.round(Sn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}}function Mn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function jn(t){return function(){return this.as(t)}}function En(t){return t=E(t),this[t+"s"]()}function Pn(t){return function(){return this._data[t]}}function In(){return v(this.days()/7)}function Dn(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function Cn(t,e,n){var r=Zt(t).abs(),i=di(r.as("s")),o=di(r.as("m")),a=di(r.as("h")),u=di(r.as("d")),s=di(r.as("M")),c=di(r.as("y")),l=i0,l[4]=n,Dn.apply(null,l)}function An(t,e){return void 0===hi[t]?!1:void 0===e?hi[t]:(hi[t]=e,!0)}function xn(t){var e=this.localeData(),n=Cn(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function kn(){var t,e,n,r=pi(this._milliseconds)/1e3,i=pi(this._days),o=pi(this._months);t=v(r/60),e=v(t/60),r%=60,t%=60,n=v(o/12),o%=12;var a=n,u=o,s=i,c=e,l=t,f=r,d=this.asSeconds();return d?(0>d?"-":"")+"P"+(a?a+"Y":"")+(u?u+"M":"")+(s?s+"D":"")+(c||l||f?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(f?f+"S":""):"P0D"}var Ln,Nn,Rn=e.momentProperties=[],zn=!1,Hn={},Yn={},Gn=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Un=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Fn={},Bn={},Vn=/\d/,qn=/\d\d/,Wn=/\d{3}/,Kn=/\d{4}/,Jn=/[+-]?\d{6}/,$n=/\d\d?/,Zn=/\d{1,3}/,Xn=/\d{1,4}/,Qn=/[+-]?\d{1,6}/,tr=/\d+/,er=/[+-]?\d+/,nr=/Z|[+-]\d\d:?\d\d/gi,rr=/[+-]?\d+(\.\d{1,3})?/,ir=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,or={},ar={},ur=0,sr=1,cr=2,lr=3,fr=4,dr=5,hr=6;k("M",["MM",2],"Mo",function(){return this.month()+1}),k("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),k("MMMM",0,0,function(t){return this.localeData().months(this,t)}),j("month","M"),Y("M",$n),Y("MM",$n,qn),Y("MMM",ir),Y("MMMM",ir),F(["M","MM"],function(t,e){e[sr]=y(t)-1}),F(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[sr]=i:l(n).invalidMonth=t});var pr="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),_r="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),vr={};e.suppressDeprecationWarnings=!1;var yr=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,gr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],mr=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],br=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=et("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),k(0,["YY",2],0,function(){return this.year()%100}),k(0,["YYYY",4],0,"year"),k(0,["YYYYY",5],0,"year"),k(0,["YYYYYY",6,!0],0,"year"),j("year","y"),Y("Y",er),Y("YY",$n,qn),Y("YYYY",Xn,Kn),Y("YYYYY",Qn,Jn),Y("YYYYYY",Qn,Jn),F(["YYYYY","YYYYYY"],ur),F("YYYY",function(t,n){n[ur]=2===t.length?e.parseTwoDigitYear(t):y(t)}),F("YY",function(t,n){n[ur]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var Or=I("FullYear",!1);k("w",["ww",2],"wo","week"),k("W",["WW",2],"Wo","isoWeek"),j("week","w"),j("isoWeek","W"),Y("w",$n),Y("ww",$n,qn),Y("W",$n),Y("WW",$n,qn),B(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=y(t)});var wr={dow:0,doy:6};k("DDD",["DDDD",3],"DDDo","dayOfYear"),j("dayOfYear","DDD"),Y("DDD",Zn),Y("DDDD",Wn),F(["DDD","DDDD"],function(t,e,n){n._dayOfYear=y(t)}),e.ISO_8601=function(){};var Sr=et("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Dt.apply(null,arguments);return this>t?this:t}),Tr=et("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Dt.apply(null,arguments);return t>this?this:t});Nt("Z",":"),Nt("ZZ",""),Y("Z",nr),Y("ZZ",nr),F(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Rt(t)});var Mr=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var jr=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Er=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Zt.fn=kt.prototype;var Pr=ee(1,"add"),Ir=ee(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Dr=et("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});k(0,["gg",2],0,function(){return this.weekYear()%100}),k(0,["GG",2],0,function(){return this.isoWeekYear()%100}),De("gggg","weekYear"),De("ggggg","weekYear"),De("GGGG","isoWeekYear"),De("GGGGG","isoWeekYear"),j("weekYear","gg"),j("isoWeekYear","GG"),Y("G",er),Y("g",er),Y("GG",$n,qn),Y("gg",$n,qn),Y("GGGG",Xn,Kn),Y("gggg",Xn,Kn),Y("GGGGG",Qn,Jn),Y("ggggg",Qn,Jn),B(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=y(t)}),B(["gg","GG"],function(t,n,r,i){n[i]=e.parseTwoDigitYear(t)}),k("Q",0,0,"quarter"),j("quarter","Q"),Y("Q",Vn),F("Q",function(t,e){e[sr]=3*(y(t)-1)}),k("D",["DD",2],"Do","date"),j("date","D"),Y("D",$n),Y("DD",$n,qn),Y("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),F(["D","DD"],cr),F("Do",function(t,e){e[cr]=y(t.match($n)[0],10)});var Cr=I("Date",!0);k("d",0,"do","day"),k("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),k("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),k("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),k("e",0,0,"weekday"),k("E",0,0,"isoWeekday"),j("day","d"),j("weekday","e"),j("isoWeekday","E"),Y("d",$n),Y("e",$n),Y("E",$n),Y("dd",ir),Y("ddd",ir),Y("dddd",ir),B(["dd","ddd","dddd"],function(t,e,n){var r=n._locale.weekdaysParse(t);null!=r?e.d=r:l(n).invalidWeekday=t}),B(["d","e","E"],function(t,e,n,r){e[r]=y(t)});var Ar="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),xr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),kr="Su_Mo_Tu_We_Th_Fr_Sa".split("_");k("H",["HH",2],0,"hour"),k("h",["hh",2],0,function(){return this.hours()%12||12}),Ve("a",!0),Ve("A",!1),j("hour","h"),Y("a",qe),Y("A",qe),Y("H",$n),Y("h",$n),Y("HH",$n,qn),Y("hh",$n,qn),F(["H","HH"],lr),F(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),F(["h","hh"],function(t,e,n){e[lr]=y(t),l(n).bigHour=!0});var Lr=/[ap]\.?m?\.?/i,Nr=I("Hours",!0);k("m",["mm",2],0,"minute"),j("minute","m"),Y("m",$n),Y("mm",$n,qn),F(["m","mm"],fr);var Rr=I("Minutes",!1);k("s",["ss",2],0,"second"),j("second","s"),Y("s",$n),Y("ss",$n,qn),F(["s","ss"],dr);var zr=I("Seconds",!1);k("S",0,0,function(){return~~(this.millisecond()/100)}),k(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),k(0,["SSS",3],0,"millisecond"),k(0,["SSSS",4],0,function(){return 10*this.millisecond()}),k(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),k(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),k(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),k(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),k(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),j("millisecond","ms"),Y("S",Zn,Vn),Y("SS",Zn,qn),Y("SSS",Zn,Wn);var Hr;for(Hr="SSSS";Hr.length<=9;Hr+="S")Y(Hr,tr);for(Hr="S";Hr.length<=9;Hr+="S")F(Hr,Je);var Yr=I("Milliseconds",!1);k("z",0,0,"zoneAbbr"),k("zz",0,0,"zoneName");var Gr=p.prototype;Gr.add=Pr,Gr.calendar=re,Gr.clone=ie,Gr.diff=ce,Gr.endOf=Oe,Gr.format=he,Gr.from=pe,Gr.fromNow=_e,Gr.to=ve,Gr.toNow=ye,Gr.get=A,Gr.invalidAt=Ie,Gr.isAfter=oe,Gr.isBefore=ae,Gr.isBetween=ue,Gr.isSame=se,Gr.isValid=Ee,Gr.lang=Dr,Gr.locale=ge,Gr.localeData=me,Gr.max=Tr,Gr.min=Sr,Gr.parsingFlags=Pe,Gr.set=A,Gr.startOf=be,Gr.subtract=Ir,Gr.toArray=Me,Gr.toObject=je,Gr.toDate=Te,Gr.toISOString=de,Gr.toJSON=de,Gr.toString=fe,Gr.unix=Se,Gr.valueOf=we,Gr.year=Or,Gr.isLeapYear=ct,Gr.weekYear=Ae,Gr.isoWeekYear=xe,Gr.quarter=Gr.quarters=Ne,Gr.month=Z,Gr.daysInMonth=X,Gr.week=Gr.weeks=pt,Gr.isoWeek=Gr.isoWeeks=_t,Gr.weeksInYear=Le,Gr.isoWeeksInYear=ke,Gr.date=Cr,Gr.day=Gr.days=Ue,Gr.weekday=Fe,Gr.isoWeekday=Be,Gr.dayOfYear=yt,Gr.hour=Gr.hours=Nr,Gr.minute=Gr.minutes=Rr,Gr.second=Gr.seconds=zr,Gr.millisecond=Gr.milliseconds=Yr,Gr.utcOffset=Yt,Gr.utc=Ut,Gr.local=Ft,Gr.parseZone=Bt,Gr.hasAlignedHourOffset=Vt,Gr.isDST=qt,Gr.isDSTShifted=Wt,Gr.isLocal=Kt,Gr.isUtcOffset=Jt,Gr.isUtc=$t,Gr.isUTC=$t,Gr.zoneAbbr=$e,Gr.zoneName=Ze,Gr.dates=et("dates accessor is deprecated. Use date instead.",Cr),Gr.months=et("months accessor is deprecated. Use month instead",Z),Gr.years=et("years accessor is deprecated. Use year instead",Or),Gr.zone=et("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Gt);var Ur=Gr,Fr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Br={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Vr="Invalid date",qr="%d",Wr=/\d{1,2}/,Kr={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Jr=m.prototype;Jr._calendar=Fr,Jr.calendar=tn,Jr._longDateFormat=Br,Jr.longDateFormat=en,Jr._invalidDate=Vr,Jr.invalidDate=nn,Jr._ordinal=qr,Jr.ordinal=rn,Jr._ordinalParse=Wr,Jr.preparse=on,Jr.postformat=on,Jr._relativeTime=Kr,Jr.relativeTime=an,Jr.pastFuture=un,Jr.set=sn,Jr.months=W,Jr._months=pr,Jr.monthsShort=K,Jr._monthsShort=_r,Jr.monthsParse=J,Jr.week=ft,Jr._week=wr,Jr.firstDayOfYear=ht,Jr.firstDayOfWeek=dt,Jr.weekdays=ze,Jr._weekdays=Ar,Jr.weekdaysMin=Ye,Jr._weekdaysMin=kr,Jr.weekdaysShort=He,Jr._weekdaysShort=xr,Jr.weekdaysParse=Ge,Jr.isPM=We,Jr._meridiemParse=Lr,Jr.meridiem=Ke,S("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),e.lang=et("moment.lang is deprecated. Use moment.locale instead.",S),e.langData=et("moment.langData is deprecated. Use moment.localeData instead.",M);var $r=Math.abs,Zr=jn("ms"),Xr=jn("s"),Qr=jn("m"),ti=jn("h"),ei=jn("d"),ni=jn("w"),ri=jn("M"),ii=jn("y"),oi=Pn("milliseconds"),ai=Pn("seconds"),ui=Pn("minutes"),si=Pn("hours"),ci=Pn("days"),li=Pn("months"),fi=Pn("years"),di=Math.round,hi={s:45,m:45,h:22,d:26,M:11},pi=Math.abs,_i=kt.prototype;_i.abs=vn,_i.add=gn,_i.subtract=mn,_i.as=Tn,_i.asMilliseconds=Zr,_i.asSeconds=Xr,_i.asMinutes=Qr,_i.asHours=ti,_i.asDays=ei,_i.asWeeks=ni,_i.asMonths=ri,_i.asYears=ii,_i.valueOf=Mn,_i._bubble=On,_i.get=En,_i.milliseconds=oi,_i.seconds=ai,_i.minutes=ui,_i.hours=si,_i.days=ci,_i.weeks=In,_i.months=li,_i.years=fi,_i.humanize=xn,_i.toISOString=kn,_i.toString=kn,_i.toJSON=kn,_i.locale=ge,_i.localeData=me,_i.toIsoString=et("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",kn),_i.lang=Dr,k("X",0,0,"unix"),k("x",0,0,"valueOf"),Y("x",er),Y("X",rr),F("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),F("x",function(t,e,n){n._d=new Date(y(t))}),e.version="2.10.6",n(Dt),e.fn=Ur,e.min=At,e.max=xt,e.utc=s,e.unix=Xe,e.months=fn,e.isDate=i,e.locale=S,e.invalid=d,e.duration=Zt,e.isMoment=_,e.weekdays=hn,e.parseZone=Qe,e.localeData=M,e.isDuration=Lt,e.monthsShort=dn,e.weekdaysMin=_n,e.defineLocale=T,e.weekdaysShort=pn,e.normalizeUnits=E,e.relativeTimeThreshold=An;var vi=e;return vi})}).call(e,n(130)(t))},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);e["default"]=new o["default"]({is:"ha-card",properties:{title:{type:String},header:{type:String}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);e["default"]=new o["default"]({is:"ha-label-badge",properties:{value:{type:String},icon:{type:String},label:{type:String},description:{type:String},image:{type:String,observe:"imageChanged"}},computeClasses:function(t){return t&&t.length>5?"value big":"value"}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(55),o=r(i),a=n(2),u=n(1),s=r(u),c=6e4,l=a.util.parseDateTime;e["default"]=new s["default"]({is:"relative-ha-datetime",properties:{datetime:{type:String,observer:"datetimeChanged"},datetimeObj:{type:Object,observer:"datetimeObjChanged"},parsedDateTime:{type:Object},relativeTime:{type:String,value:"not set"}},created:function(){this.updateRelative=this.updateRelative.bind(this)},attached:function(){this._interval=setInterval(this.updateRelative,c)},detached:function(){clearInterval(this._interval)},datetimeChanged:function(t){this.parsedDateTime=t?l(t):null,this.updateRelative()},datetimeObjChanged:function(t){this.parsedDateTime=t,this.updateRelative()},updateRelative:function(){this.relativeTime=this.parsedDateTime?o["default"](this.parsedDateTime).fromNow():""}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(30),n(148),n(147),e["default"]=new o["default"]({is:"state-history-charts",properties:{stateHistory:{type:Object},isLoadingData:{type:Boolean,value:!1},apiLoaded:{type:Boolean,value:!1},isLoading:{type:Boolean,computed:"computeIsLoading(isLoadingData, apiLoaded)"},groupedStateHistory:{type:Object,computed:"computeGroupedStateHistory(isLoading, stateHistory)"},isSingleDevice:{type:Boolean,computed:"computeIsSingleDevice(stateHistory)"}},computeIsSingleDevice:function(t){return t&&1===t.size},computeGroupedStateHistory:function(t,e){if(t||!e)return{line:[],timeline:[]};var n={},r=[];e.forEach(function(t){if(t&&0!==t.size){var e=t.find(function(t){return"unit_of_measurement"in t.attributes}),i=e?e.attributes.unit_of_measurement:!1;i?i in n?n[i].push(t.toArray()):n[i]=[t.toArray()]:r.push(t.toArray())}}),r=r.length>0&&r;var i=Object.keys(n).map(function(t){return[t,n[t]]});return{line:i,timeline:r}},googleApiLoaded:function(){var t=this;google.load("visualization","1",{packages:["timeline","corechart"],callback:function(){return t.apiLoaded=!0}})},computeContentClasses:function(t){return t?"loading":""},computeIsLoading:function(t,e){return t||!e},computeIsEmpty:function(t){return t&&0===t.size},extractUnit:function(t){return t[0]},extractData:function(t){return t[1]}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o);n(17),e["default"]=new a["default"]({is:"state-card-toggle",properties:{stateObj:{type:Object,observer:"stateObjChanged"},toggleChecked:{type:Boolean,value:!1}},ready:function(){this.forceStateChange()},toggleChanged:function(t){var e=t.target.checked;e&&"off"===this.stateObj.state?this.turn_on():e||"on"!==this.stateObj.state||this.turn_off()},stateObjChanged:function(t){t&&this.updateToggle(t)},updateToggle:function(t){this.toggleChecked=t&&"on"===t.state},forceStateChange:function(){this.updateToggle(this.stateObj)},turn_on:function(){var t=this;i.serviceActions.callTurnOn(this.stateObj.entityId).then(function(){return t.forceStateChange()})},turn_off:function(){var t=this;i.serviceActions.callTurnOff(this.stateObj.entityId).then(function(){return t.forceStateChange()})}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return i.reactor.evaluate(i.serviceGetters.canToggleEntity(t))}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r;var i=n(2);t.exports=e["default"]},function(t,e){"use strict";function n(t,e){switch(t){case"homeassistant":return"home";case"group":return"homeassistant-24:group";case"device_tracker":return"social:person";case"switch":return"image:flash-on";case"media_player":var n="hardware:cast";return e&&"off"!==e&&"idle"!==e&&(n+="-connected"),n;case"sun":return"image:wb-sunny";case"light":return"image:wb-incandescent";case"simple_alarm":return"social:notifications";case"notify":return"announcement";case"thermostat":return"homeassistant-100:thermostat";case"sensor":return"visibility";case"configurator":return"settings";case"conversation":return"av:hearing";case"script":return"description";case"scene":return"social:pages";case"updater":return"update_available"===e?"icons:cloud-download":"icons:cloud-done";default:return"bookmark"}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return a["default"](t).format("LT")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i;var o=n(55),a=r(o);t.exports=e["default"]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2);e["default"]=function(t,e){r.authActions.validate(t,{rememberAuth:e,useStreaming:r.localStoragePreferences.useStreaming})},t.exports=e["default"]},function(t,e,n){"use strict";function r(t,e){var n=null==t?void 0:t[e];return i(n)?n:void 0}var i=n(183);t.exports=r},function(t,e){"use strict";function n(t){return!!t&&"object"==typeof t}t.exports=n},function(t,e,n){"use strict";function r(t){return i(t)&&u.call(t)==o}var i=n(68),o="[object Function]",a=Object.prototype,u=a.toString;t.exports=r},function(t,e){ "use strict";function n(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}t.exports=n},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),i=["isLoadingEntityHistory"];e.isLoadingEntityHistory=i;var o=["currentEntityHistoryDate"];e.currentDate=o;var a=["entityHistory"];e.entityHistoryMap=a;var u=[o,a,function(t,e){return e.get(t)||r.toImmutable({})}];e.entityHistoryForCurrentDate=u;var s=[o,a,function(t,e){return!!e.get(t)}];e.hasDataForCurrentDate=s;var c=["recentEntityHistory"];e.recentEntityHistoryMap=c;var l=["recentEntityHistory"];e.recentEntityHistoryUpdatedMap=l},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}function o(t){t.registerStores({currentEntityHistoryDate:u["default"],entityHistory:c["default"],isLoadingEntityHistory:f["default"],recentEntityHistory:h["default"],recentEntityHistoryUpdated:_["default"]})}Object.defineProperty(e,"__esModule",{value:!0}),e.register=o;var a=n(202),u=i(a),s=n(203),c=i(s),l=n(204),f=i(l),d=n(205),h=i(d),p=n(206),_=i(p),v=n(201),y=r(v),g=n(69),m=r(g),b=y;e.actions=b;var O=m;e.getters=O},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n6e4}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var a=n(228),u=n(248),s=i(u),c=n(250),l=i(c),f=n(252),d=i(f),h=n(22),p=r(h),_=n(36),v=r(_),y=n(10),g=r(y),m=n(70),b=r(m),O=n(37),w=r(O),S=n(213),T=r(S),M=n(73),j=r(M),E=n(76),P=r(E),I=n(39),D=r(I),C=n(19),A=r(C),x=n(40),k=r(x),L=n(42),N=r(L),R=n(245),z=r(R),H=n(11),Y=r(H),G=function U(){o(this,U);var t=s["default"]();Object.defineProperties(this,{demo:{value:1,enumerable:!0},localStoragePreferences:{value:a.localStoragePreferences,enumerable:!0},reactor:{value:t,enumerable:!0},util:{value:d["default"],enumerable:!0},startLocalStoragePreferencesSync:{value:a.localStoragePreferences.startSync.bind(a.localStoragePreferences,t)},startUrlSync:{value:P.urlSync.startSync.bind(null,t)},stopUrlSync:{value:P.urlSync.stopSync.bind(null,t)}}),l["default"](this,t,{auth:p,config:v,entity:g,entityHistory:b,event:w,logbook:T,moreInfo:j,navigation:P,notification:D,service:A,stream:k,sync:N,voice:z,restApi:Y})};e["default"]=G,t.exports=e["default"]},function(t,e,n){"use strict";function r(t,e,n){var r=t?t.length:0;return n&&o(t,e,n)&&(e=!1),r?i(t,e):[]}var i=n(98),o=n(26);t.exports=r},function(t,e){"use strict";function n(t){var e=t?t.length:0;return e?t[e-1]:void 0}t.exports=n},function(t,e,n){"use strict";function r(t,e,n,r){var s=t?t.length:0;return s?(null!=e&&"boolean"!=typeof e&&(r=n,n=a(t,e,r)?void 0:e,e=!1),n=null==n?n:i(n,r,3),e?u(t,n):o(t,n)):[]}var i=n(24),o=n(110),a=n(26),u=n(124);t.exports=r},function(t,e,n){"use strict";function r(t,e,n){var r=u(t)?i:a;return e=o(e,n,3),r(t,e)}var i=n(93),o=n(24),a=n(47),u=n(9);t.exports=r},function(t,e,n){"use strict";function r(t,e){return i(t,o(e))}var i=n(89),o=n(54);t.exports=r},function(t,e,n){"use strict";function r(t,e,n){if(null==t)return[];n&&s(t,e,n)&&(e=void 0);var r=-1;e=i(e,n,3);var c=o(t,function(t,n,i){return{criteria:e(t,n,i),index:++r,value:t}});return a(c,u)}var i=n(24),o=n(47),a=n(108),u=n(114),s=n(26);t.exports=r},function(t,e,n){(function(e){"use strict";function r(t){var e=t?t.length:0;for(this.data={hash:u(null),set:new a};e--;)this.push(t[e])}var i=n(113),o=n(20),a=o(e,"Set"),u=o(Object,"create");r.prototype.push=i,t.exports=r}).call(e,function(){return this}())},function(t,e){"use strict";function n(t,e){for(var n=-1,r=t.length,i=Array(r);++ne&&!o||!i||n&&!a&&u||r&&u)return 1;if(e>t&&!n||!u||o&&!r&&i||a&&i)return-1}return 0}t.exports=n},function(t,e,n){"use strict";var r=n(100),i=n(115),o=i(r);t.exports=o},function(t,e,n){"use strict";function r(t,e,n,c){c||(c=[]);for(var l=-1,f=t.length;++le&&(e=-e>i?0:i+e),n=void 0===n||n>i?i:+n||0,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r=u,f=l?a():null,d=[];f?(r=o,c=!1):(l=!1,f=e?[]:d);t:for(;++nc))return!1;for(;++s0;++rd;d++)f._columns[d]=[];var h=0;return n&&a(),c.keySeq().sortBy(function(t){return i(t)}).forEach(function(t){if("a"===t)return void(f._demo=!0);var n=i(t);n>=0&&10>n?f._badges.push.apply(f._badges,r(c.get(t)).sortBy(o).toArray()):"group"===t?c.get(t).filter(function(t){return!t.attributes.auto}).sortBy(o).forEach(function(t){var n=s.util.expandGroup(t,e);n.forEach(function(t){return l[t.entityId]=!0}),u(t.entityDisplay,n.toArray())}):u(t,r(c.get(t)).sortBy(o).toArray())}),f},computeShouldRenderColumn:function(t,e){return 0===t||e.length},computeShowIntroduction:function(t,e,n){return 0===t&&(e||n._demo)},computeShowHideInstruction:function(t,e){return t.size>0&&!1&&!e._demo},computeStatesOfCard:function(t,e){return t[e]}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{ -"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o);n(29),n(134),n(58),e["default"]=new a["default"]({is:"logbook-entry",entityClicked:function(t){t.preventDefault(),i.moreInfoActions.selectEntity(this.entryObj.entityId)}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(29),e["default"]=new a["default"]({is:"services-list",behaviors:[s["default"]],properties:{serviceDomains:{type:Array,bindNuclear:[i.serviceGetters.entityMap,function(t){return t.valueSeq().sortBy(function(t){return t.domain}).toJS()}]}},computeServices:function(t){return this.services.get(t).toArray()},serviceClicked:function(t){t.preventDefault(),this.fire("service-selected",{domain:t.model.domain.domain,service:t.model.service})}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(90),o=r(i),a=n(86),u=r(a),s=n(88),c=r(s),l=n(91),f=r(l),d=n(1),h=r(d);e["default"]=new h["default"]({is:"state-history-chart-line",properties:{data:{type:Object,observer:"dataChanged"},unit:{type:String},isSingleDevice:{type:Boolean,value:!1},isAttached:{type:Boolean,value:!1,observer:"dataChanged"}},created:function(){this.style.display="block"},attached:function(){this.isAttached=!0},dataChanged:function(){this.drawChart()},drawChart:function(){if(this.isAttached){for(var t=h["default"].dom(this),e=this.unit,n=this.data;t.lastChild;)t.removeChild(t.lastChild);if(0!==n.length){var r=new google.visualization.LineChart(this),i=new google.visualization.DataTable;i.addColumn({type:"datetime",id:"Time"});var a={legend:{position:"top"},titlePosition:"none",vAxes:{0:{title:e}},hAxis:{format:"H:mm"},lineWidth:1,chartArea:{left:"60",width:"95%"},explorer:{actions:["dragToZoom","rightClickToReset","dragToPan"],keepInBounds:!0,axis:"horizontal",maxZoomIn:.1}};this.isSingleDevice&&(a.legend.position="none",a.vAxes[0].title=null,a.chartArea.left=40,a.chartArea.height="80%",a.chartArea.top=5,a.enableInteractivity=!1);var s=o["default"](u["default"](n),"lastChangedAsDate");s=f["default"](c["default"](s,function(t){return t.getTime()}));for(var l=[],d=new Array(n.length),p=0;pnew Date&&(u=new Date);var s=0;n.forEach(function(e){if(0!==e.length){var n=e[0].entityDisplay,r=void 0,i=null,o=null;e.forEach(function(e){null!==i&&e.state!==i?(r=e.lastChangedAsDate,t(n,i,o,r),i=e.state,o=r):null===i&&(i=e.state,o=e.lastChangedAsDate)}),t(n,i,o,u),s++}}),r.draw(i,{height:55+42*s,timeline:{showRowLabels:n.length>1},hAxis:{format:"H:mm"}})}}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);e["default"]=new a["default"]({is:"stream-status",behaviors:[s["default"]],properties:{isStreaming:{type:Boolean,bindNuclear:i.streamGetters.isStreamingEvents},hasError:{type:Boolean,bindNuclear:i.streamGetters.hasStreamingEventsError}},toggleChanged:function(){this.isStreaming?i.streamActions.stop():i.streamActions.start()}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(31),n(59),n(162);var c=["camera","configurator"];e["default"]=new a["default"]({is:"more-info-dialog",behaviors:[s["default"]],properties:{stateObj:{type:Object,bindNuclear:i.moreInfoGetters.currentEntity,observer:"stateObjChanged"},stateHistory:{type:Object,bindNuclear:[i.moreInfoGetters.currentEntityHistory,function(t){return t?[t]:!1}]},isLoadingHistoryData:{type:Boolean,computed:"computeIsLoadingHistoryData(_delayedDialogOpen, _isLoadingHistoryData)"},_isLoadingHistoryData:{type:Boolean,bindNuclear:i.entityHistoryGetters.isLoadingEntityHistory},hasHistoryComponent:{type:Boolean,bindNuclear:i.configGetters.isComponentLoaded("history"),observer:"fetchHistoryData"},shouldFetchHistory:{type:Boolean,bindNuclear:i.moreInfoGetters.isCurrentEntityHistoryStale,observer:"fetchHistoryData"},showHistoryComponent:{type:Boolean,value:!1},dialogOpen:{type:Boolean,value:!1,observer:"dialogOpenChanged"},_delayedDialogOpen:{type:Boolean,value:!1},_boundOnBackdropTap:{type:Function,value:function(){return this._onBackdropTap.bind(this)}}},computeIsLoadingHistoryData:function(t,e){return!t||e},fetchHistoryData:function(){this.stateObj&&this.hasHistoryComponent&&this.shouldFetchHistory&&i.entityHistoryActions.fetchRecent(this.stateObj.entityId)},stateObjChanged:function(t){var e=this;return t?(this.showHistoryComponent=this.hasHistoryComponent&&-1===c.indexOf(this.stateObj.domain),void this.async(function(){e.fetchHistoryData(),e.dialogOpen=!0},10)):void(this.dialogOpen=!1)},dialogOpenChanged:function(t){var e=this;t?(this.$.dialog.backdropElement.addEventListener("click",this._boundOnBackdropTap),this.async(function(){return e._delayedDialogOpen=!0},10)):!t&&this.stateObj&&(i.moreInfoActions.deselectEntity(),this._delayedDialogOpen=!1)},_onBackdropTap:function(){this.$.dialog.backdropElement.removeEventListener("click",this._boundOnBackdropTap),this.dialogOpen=!1}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(4),a=r(o);n(142),n(158),n(157),n(156),n(153),n(154),n(155),n(159),n(150),e["default"]=new Polymer({is:"home-assistant-main",behaviors:[a["default"]],properties:{narrow:{type:Boolean,value:!1},activePane:{type:String,bindNuclear:i.navigationGetters.activePane,observer:"activePaneChanged"},isSelectedStates:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("states")},isSelectedHistory:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("history")},isSelectedLogbook:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("logbook")},isSelectedDevEvent:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("devEvent")},isSelectedDevState:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("devState")},isSelectedDevService:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("devService")},showSidebar:{type:Boolean,bindNuclear:i.navigationGetters.showSidebar}},listeners:{"open-menu":"openMenu","close-menu":"closeMenu"},openMenu:function(){this.narrow?this.$.drawer.openDrawer():i.navigationActions.showSidebar(!0)},closeMenu:function(){this.$.drawer.closeDrawer(),this.showSidebar&&i.navigationActions.showSidebar(!1)},activePaneChanged:function(){this.narrow&&this.$.drawer.closeDrawer()},attached:function(){i.startUrlSync()},computeForceNarrow:function(t,e){return t||!e},detached:function(){i.stopUrlSync()}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=n(2),u=n(4),s=r(u),c=n(64),l=r(c);e["default"]=new o["default"]({is:"login-form",behaviors:[s["default"]],properties:{isValidating:{type:Boolean,observer:"isValidatingChanged",bindNuclear:a.authGetters.isValidating},isInvalid:{type:Boolean,bindNuclear:a.authGetters.isInvalidAttempt},errorMessage:{type:String,bindNuclear:a.authGetters.attemptErrorMessage}},listeners:{keydown:"passwordKeyDown","loginButton.click":"validatePassword"},observers:["validatingChanged(isValidating, isInvalid)"],validatingChanged:function(t,e){t||e||(this.$.passwordInput.value="")},isValidatingChanged:function(t){var e=this;t||this.async(function(){return e.$.passwordInput.focus()},10)},passwordKeyDown:function(t){13===t.keyCode?(this.validatePassword(),t.preventDefault()):this.isInvalid&&(this.isInvalid=!1)},validatePassword:function(){this.$.hideKeyboardOnFocus.focus(),l["default"](this.$.passwordInput.value,this.$.rememberLogin.checked)}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o);n(14),n(146),e["default"]=new a["default"]({is:"partial-dev-call-service",properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},domain:{type:String,value:""},service:{type:String,value:""},serviceData:{type:String,value:""}},serviceSelected:function(t){this.domain=t.detail.domain,this.service=t.detail.service},callService:function(){var t=void 0;try{t=this.serviceData?JSON.parse(this.serviceData):{}}catch(e){return void alert("Error parsing JSON: "+e)}i.serviceActions.callService(this.domain,this.service,t)},computeFormClasses:function(t){return"layout "+(t?"vertical":"horizontal")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o);n(14),n(138),e["default"]=new a["default"]({is:"partial-dev-fire-event",properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},eventType:{type:String,value:""},eventData:{type:String,value:""}},eventSelected:function(t){this.eventType=t.detail.eventType},fireEvent:function(){var t=void 0;try{t=this.eventData?JSON.parse(this.eventData):{}}catch(e){return void alert("Error parsing JSON: "+e)}i.eventActions.fireEvent(this.eventType,t)},computeFormClasses:function(t){return"layout "+(t?"vertical":"horizontal")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o);n(14),n(135),e["default"]=new a["default"]({is:"partial-dev-set-state",properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},entityId:{type:String,value:""},state:{type:String,value:""},stateAttributes:{type:String,value:""}},setStateData:function(t){var e=t?JSON.stringify(t,null," "):"";this.$.inputData.value=e,this.$.inputDataWrapper.update(this.$.inputData)},entitySelected:function(t){var e=i.reactor.evaluate(i.entityGetters.byId(t.detail.entityId));this.entityId=e.entityId,this.state=e.state,this.stateAttributes=JSON.stringify(e.attributes,null," ")},handleSetState:function(){var t=void 0;try{t=this.stateAttributes?JSON.parse(this.stateAttributes):{}}catch(e){return void alert("Error parsing JSON: "+e)}i.entityActions.save({entityId:this.entityId,state:this.state,attributes:t})},computeFormClasses:function(t){return"layout "+(t?"vertical":"horizontal")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(14),n(59),e["default"]=new a["default"]({is:"partial-history",behaviors:[s["default"]],properties:{narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},isDataLoaded:{type:Boolean,bindNuclear:i.entityHistoryGetters.hasDataForCurrentDate,observer:"isDataLoadedChanged"},stateHistory:{type:Object,bindNuclear:i.entityHistoryGetters.entityHistoryForCurrentDate},isLoadingData:{type:Boolean,bindNuclear:i.entityHistoryGetters.isLoadingEntityHistory},selectedDate:{type:String,value:null,bindNuclear:i.entityHistoryGetters.currentDate}},isDataLoadedChanged:function(t){t||this.async(function(){return i.entityHistoryActions.fetchSelectedDate()},1)},handleRefreshClick:function(){i.entityHistoryActions.fetchSelectedDate()},datepickerFocus:function(){this.datePicker.adjustPosition()},attached:function(){this.datePicker=new Pikaday({field:this.$.datePicker.inputElement,onSelect:i.entityHistoryActions.changeCurrentDate})},detached:function(){this.datePicker.destroy()},computeContentClasses:function(t){return"flex content "+(t?"narrow":"wide")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(14),n(141),n(30),e["default"]=new a["default"]({is:"partial-logbook",behaviors:[s["default"]],properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},selectedDate:{type:String,bindNuclear:i.logbookGetters.currentDate},isLoading:{type:Boolean,bindNuclear:i.logbookGetters.isLoadingEntries},isStale:{type:Boolean,bindNuclear:i.logbookGetters.isCurrentStale,observer:"isStaleChanged"},entries:{type:Array,bindNuclear:[i.logbookGetters.currentEntries,function(t){return t.toArray()}]},datePicker:{type:Object}},isStaleChanged:function(t){var e=this;t&&this.async(function(){return i.logbookActions.fetchDate(e.selectedDate)},1)},handleRefresh:function(){i.logbookActions.fetchDate(this.selectedDate)},datepickerFocus:function(){this.datePicker.adjustPosition()},attached:function(){this.datePicker=new Pikaday({field:this.$.datePicker.inputElement,onSelect:i.logbookActions.changeCurrentDate})},detached:function(){this.datePicker.destroy()}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(14),n(143),n(144),e["default"]=new a["default"]({is:"partial-zone",behaviors:[s["default"]],properties:{narrow:{type:Boolean,value:!1},isFetching:{type:Boolean,bindNuclear:i.syncGetters.isFetching},isStreaming:{type:Boolean,bindNuclear:i.streamGetters.isStreamingEvents},canListen:{type:Boolean,bindNuclear:[i.voiceGetters.isVoiceSupported,i.configGetters.isComponentLoaded("conversation"),function(t,e){return t&&e}]},isListening:{type:Boolean,bindNuclear:i.voiceGetters.isListening},showListenInterface:{type:Boolean,bindNuclear:[i.voiceGetters.isListening,i.voiceGetters.isTransmitting,function(t,e){return t||e}]},introductionLoaded:{type:Boolean,bindNuclear:i.configGetters.isComponentLoaded("introduction")},locationName:{type:String,bindNuclear:i.configGetters.locationName},showMenu:{type:Boolean,value:!1,observer:"windowChange"},states:{type:Object,bindNuclear:i.entityGetters.visibleEntityMap},columns:{type:Number}},created:function(){var t=this;this.windowChange=this.windowChange.bind(this);for(var e=[],n=0;5>n;n++)e.push(278+278*n);this.mqls=e.map(function(e){var n=window.matchMedia("(min-width: "+e+"px)");return n.addListener(t.windowChange),n})},detached:function(){var t=this;this.mqls.forEach(function(e){return e.removeListener(t.windowChange)})},windowChange:function(){var t=this.mqls.reduce(function(t,e){return t+e.matches},0);this.columns=Math.max(1,t-this.showMenu)},handleRefresh:function(){i.syncActions.fetchAll()},handleListenClick:function(){this.isListening?i.voiceActions.stop():i.voiceActions.listen()},computeDomains:function(t){return t.keySeq().toArray()},computeMenuButtonClass:function(t,e){return!t&&e?"invisible":""},computeStatesOfDomain:function(t,e){return t.get(e).toArray()},computeListenButtonIcon:function(t){return t?"av:mic-off":"av:mic"},computeRefreshButtonClass:function(t){return t?"ha-spin":void 0},computeShowIntroduction:function(t,e){return t||0===e.size},toggleMenu:function(){this.fire("open-menu")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);e["default"]=new a["default"]({is:"notification-manager",behaviors:[s["default"]],properties:{text:{type:String,bindNuclear:i.notificationGetters.lastNotificationMessage,observer:"showNotification"}},showNotification:function(t){t&&this.$.toast.show()}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);e["default"]=new o["default"]({is:"more-info-camera",properties:{stateObj:{type:Object},dialogOpen:{type:Boolean}},imageLoaded:function(){this.fire("iron-resize")},computeCameraImageUrl:function(t){return"http://194.218.96.92/jpg/image.jpg"}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(30),e["default"]=new a["default"]({is:"more-info-configurator",behaviors:[s["default"]],properties:{stateObj:{type:Object},action:{type:String,value:"display"},isStreaming:{type:Boolean,bindNuclear:i.streamGetters.isStreamingEvents},isConfigurable:{type:Boolean,computed:"computeIsConfigurable(stateObj)"},isConfiguring:{type:Boolean,value:!1},submitCaption:{type:String,computed:"computeSubmitCaption(stateObj)"}},computeIsConfigurable:function(t){return"configure"===t.state},computeSubmitCaption:function(t){return t.attributes.submit_caption||"Set configuration"},submitClicked:function(){var t=this;this.isConfiguring=!0;var e={configure_id:this.stateObj.attributes.configure_id};i.serviceActions.callService("configurator","configure",e).then(function(){t.isConfiguring=!1,t.isStreaming||i.syncActions.fetchAll()},function(){t.isConfiguring=!1})}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=n(177),u=r(a);n(163),n(164),n(168),n(161),n(169),n(167),n(165),n(166),n(160),n(170),e["default"]=new o["default"]({is:"more-info-content",properties:{stateObj:{type:Object,observer:"stateObjChanged"},dialogOpen:{type:Boolean,value:!1,observer:"dialogOpenChanged"}},dialogOpenChanged:function(t){var e=o["default"].dom(this);e.lastChild&&(e.lastChild.dialogOpen=t)},stateObjChanged:function(t,e){var n=o["default"].dom(this);if(!t)return void(n.lastChild&&n.removeChild(n.lastChild));var r=u["default"](t);if(e&&u["default"](e)===r)n.lastChild.dialogOpen=this.dialogOpen,n.lastChild.stateObj=t;else{n.lastChild&&n.removeChild(n.lastChild);var i=document.createElement("more-info-"+r);i.stateObj=t,i.dialogOpen=this.dialogOpen,n.appendChild(i)}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=["entity_picture","friendly_name","unit_of_measurement"];e["default"]=new o["default"]({is:"more-info-default",properties:{stateObj:{type:Object}},computeDisplayAttributes:function(t){return t?Object.keys(t.attributes).filter(function(t){return-1===a.indexOf(t)}):[]},getAttributeValue:function(t,e){return t.attributes[e]}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(31),e["default"]=new a["default"]({is:"more-info-group",behaviors:[s["default"]],properties:{stateObj:{type:Object},states:{type:Array,bindNuclear:[i.moreInfoGetters.currentEntity,i.entityGetters.entityMap,function(t,e){return t?t.attributes.entity_id.map(e.get.bind(e)):[]}]}},updateStates:function(){this.states=this.stateObj&&this.stateObj.attributes.entity_id?stateStore.gets(this.stateObj.attributes.entity_id).toArray():[]}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(33),s=r(u);n(139);var c=["brightness","xy_color"];e["default"]=new a["default"]({is:"more-info-light",properties:{stateObj:{type:Object,observer:"stateObjChanged"},brightnessSliderValue:{type:Number,value:0}},stateObjChanged:function(t){var e=this;t&&"on"===t.state&&(this.brightnessSliderValue=t.attributes.brightness),this.async(function(){return e.fire("iron-resize")},500)},computeClassNames:function(t){return s["default"](t,c)},brightnessSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||(0===e?i.serviceActions.callTurnOff(this.stateObj.entityId):i.serviceActions.callService("light","turn_on",{entity_id:this.stateObj.entityId,brightness:e}))},colorPicked:function(t){var e=t.detail.rgb;i.serviceActions.callService("light","turn_on",{entity_id:this.stateObj.entityId,rgb_color:[e.r,e.g,e.b]})}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(33),s=r(u),c=["volume_level"];e["default"]=new a["default"]({is:"more-info-media_player",properties:{stateObj:{type:Object,observer:"stateObjChanged"},isOff:{type:Boolean,value:!1},isPlaying:{type:Boolean,value:!1},isMuted:{type:Boolean,value:!1},volumeSliderValue:{type:Number,value:0},supportsPause:{type:Boolean,value:!1},supportsVolumeSet:{type:Boolean,value:!1},supportsVolumeMute:{type:Boolean,value:!1},supportsPreviousTrack:{type:Boolean,value:!1},supportsNextTrack:{type:Boolean,value:!1},supportsTurnOn:{type:Boolean,value:!1},supportsTurnOff:{type:Boolean,value:!1}},stateObjChanged:function(t){var e=this;t&&(this.isOff="off"===t.state,this.isPlaying="playing"===t.state,this.volumeSliderValue=100*t.attributes.volume_level,this.isMuted=t.attributes.is_volume_muted,this.supportsPause=0!==(1&t.attributes.supported_media_commands),this.supportsVolumeSet=0!==(4&t.attributes.supported_media_commands),this.supportsVolumeMute=0!==(8&t.attributes.supported_media_commands),this.supportsPreviousTrack=0!==(16&t.attributes.supported_media_commands),this.supportsNextTrack=0!==(32&t.attributes.supported_media_commands),this.supportsTurnOn=0!==(128&t.attributes.supported_media_commands),this.supportsTurnOff=0!==(256&t.attributes.supported_media_commands)),this.async(function(){return e.fire("iron-resize")},500)},computeClassNames:function(t){return s["default"](t,c)},computeIsOff:function(t){return"off"===t.state},computeMuteVolumeIcon:function(t){return t?"av:volume-off":"av:volume-up"},computePlaybackControlIcon:function(){return this.isPlaying?this.supportsPause?"av:pause":"av:stop":"av:play-arrow"},computeHidePowerButton:function(t,e,n){return t?!e:!n},handleTogglePower:function(){this.callService(this.isOff?"turn_on":"turn_off")},handlePrevious:function(){this.callService("media_previous_track")},handlePlaybackControl:function(){this.callService("media_play_pause")},handleNext:function(){this.callService("media_next_track")},handleVolumeTap:function(){this.supportsVolumeMute&&this.callService("volume_mute",{is_volume_muted:!this.isMuted})},volumeSliderChanged:function(t){var e=parseFloat(t.target.value),n=e>0?e/100:0;this.callService("volume_set",{volume_level:n})},callService:function(t,e){var n=e||{};n.entity_id=this.stateObj.entityId,i.serviceActions.callService("media_player",t,n)}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);e["default"]=new o["default"]({is:"more-info-script",properties:{stateObj:{type:Object}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(63),a=r(o),u=i.util.parseDateTime;e["default"]=new Polymer({is:"more-info-sun",properties:{stateObj:{type:Object},risingDate:{type:Object,computed:"computeRising(stateObj)"},settingDate:{type:Object,computed:"computeSetting(stateObj)"}},computeRising:function(t){return u(t.attributes.next_rising)},computeSetting:function(t){return u(t.attributes.next_setting)},computeOrder:function(t,e){return t>e?["set","ris"]:["ris","set"]},itemCaption:function(t){return"ris"===t?"Rising ":"Setting "},itemDate:function(t){return"ris"===t?this.risingDate:this.settingDate},itemValue:function(t){return a["default"](this.itemDate(t))}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(33),s=r(u),c=["away_mode"];e["default"]=new a["default"]({is:"more-info-thermostat",properties:{stateObj:{type:Object,observer:"stateObjChanged"},tempMin:{type:Number},tempMax:{type:Number},targetTemperatureSliderValue:{type:Number},awayToggleChecked:{type:Boolean}},stateObjChanged:function(t){this.targetTemperatureSliderValue=t.state,this.awayToggleChecked="on"===t.attributes.away_mode,this.tempMin=t.attributes.min_temp,this.tempMax=t.attributes.max_temp},computeClassNames:function(t){return s["default"](t,c)},targetTemperatureSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||i.serviceActions.callService("thermostat","set_temperature",{entity_id:this.stateObj.entityId,temperature:e})},toggleChanged:function(t){var e=t.target.checked;e&&"off"===this.stateObj.attributes.away_mode?this.service_set_away(!0):e||"on"!==this.stateObj.attributes.away_mode||this.service_set_away(!1)},service_set_away:function(t){var e=this;i.serviceActions.callService("thermostat","set_away_mode",{away_mode:t,entity_id:this.stateObj.entityId}).then(function(){return e.stateObjChanged(e.stateObj)})}}),t.exports=e["default"]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2);e["default"]=new Polymer({is:"more-info-updater",properties:{stateObj:{type:Object}},updateTapped:function(){r.serviceActions.callService("updater","update",{})},linkTapped:function(){window.open(this.stateObj.attributes.link,"_blank")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(17),n(32),e["default"]=new o["default"]({is:"state-card-configurator",properties:{stateObj:{type:Object}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(17);var a=["playing","paused"];e["default"]=new o["default"]({is:"state-card-media_player",properties:{stateObj:{type:Object},isPlaying:{type:Boolean,computed:"computeIsPlaying(stateObj)"}},computeIsPlaying:function(t){return-1!==a.indexOf(t.state)},computePrimaryText:function(t,e){return e?t.attributes.media_title:t.stateDisplay},computeSecondaryText:function(t){var e=void 0;return"music"===t.attributes.media_content_type?t.attributes.media_artist:"tvshow"===t.attributes.media_content_type?(e=t.attributes.media_series_title,t.attributes.media_season&&t.attributes.media_episode&&(e+=" S"+t.attributes.media_season+"E"+t.attributes.media_episode),e):t.attributes.app_name?t.attributes.app_name:""}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(32),n(60),e["default"]=new o["default"]({is:"state-card-scene",properties:{stateObj:{type:Object},allowToggle:{type:Boolean,value:!1,computed:"computeAllowToggle(stateObj)"}},computeAllowToggle:function(t){return"off"===t.state||t.attributes.active_requested}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(17),e["default"]=new o["default"]({is:"state-card-thermostat",properties:{stateObj:{type:Object}}}),t.exports=e["default"]},function(t,e){"use strict";function n(t){return{attached:function(){var e=this;this.__unwatchFns=Object.keys(this.properties).reduce(function(n,r){if(!("bindNuclear"in e.properties[r]))return n;var i=e.properties[r].bindNuclear;if(!i)throw new Error("Undefined getter specified for key "+r);return e[r]=t.evaluate(i),n.concat(t.observe(i,function(t){e[r]=t}))},[])},detached:function(){for(;this.__unwatchFns.length;)this.__unwatchFns.shift()()}}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return-1!==u.indexOf(t.domain)?t.domain:a["default"](t.entityId)?"toggle":"display"}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i;var o=n(61),a=r(o),u=["thermostat","configurator","scene","media_player"];t.exports=e["default"]},function(t,e){"use strict";function n(t){return-1!==r.indexOf(t.domain)?t.domain:"default"}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n;var r=["light","group","sun","configurator","thermostat","script","media_player","camera","updater"];t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){var r=1-t-e,i=n/255,o=i/e*t,a=i/e*r,u=1.612*o-.203*i-.302*a,s=.509*-o+1.412*i+.066*a,c=.026*o-.072*i+.962*a;u=.0031308>=u?12.92*u:1.055*Math.pow(u,1/2.4)-.055,s=.0031308>=s?12.92*s:1.055*Math.pow(s,1/2.4)-.055,c=.0031308>=c?12.92*c:1.055*Math.pow(c,1/2.4)-.055;var l=Math.max(u,s,c);return u/=l,s/=l,c/=l,u=255*u,0>u&&(u=255),s=255*s,0>s&&(s=255),c=255*c,0>c&&(c=255),[u,s,c]}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e["default"]},function(t,e,n){var r;(function(t,i,o){"use strict";(function(){function a(t){return"function"==typeof t||"object"==typeof t&&null!==t}function u(t){return"function"==typeof t}function s(t){return"object"==typeof t&&null!==t}function c(t){W=t}function l(t){Z=t}function f(){return function(){t.nextTick(v)}}function d(){return function(){q(v)}}function h(){var t=0,e=new tt(v),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function p(){var t=new MessageChannel;return t.port1.onmessage=v,function(){t.port2.postMessage(0)}}function _(){return function(){setTimeout(v,1)}}function v(){for(var t=0;$>t;t+=2){var e=rt[t],n=rt[t+1];e(n),rt[t]=void 0,rt[t+1]=void 0}$=0}function y(){try{var t=n(257);return q=t.runOnLoop||t.runOnContext,d()}catch(e){return _()}}function g(){}function m(){return new TypeError("You cannot resolve a promise with itself")}function b(){return new TypeError("A promises callback cannot return that same promise.")}function O(t){try{return t.then}catch(e){return ut.error=e,ut}}function w(t,e,n,r){try{t.call(e,n,r)}catch(i){return i}}function S(t,e,n){Z(function(t){var r=!1,i=w(n,e,function(n){r||(r=!0,e!==n?j(t,n):P(t,n))},function(e){r||(r=!0,I(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&i&&(r=!0,I(t,i))},t)}function T(t,e){e._state===ot?P(t,e._result):e._state===at?I(t,e._result):D(e,void 0,function(e){j(t,e)},function(e){I(t,e)})}function M(t,e){if(e.constructor===t.constructor)T(t,e);else{var n=O(e); -n===ut?I(t,ut.error):void 0===n?P(t,e):u(n)?S(t,e,n):P(t,e)}}function j(t,e){t===e?I(t,m()):a(e)?M(t,e):P(t,e)}function E(t){t._onerror&&t._onerror(t._result),C(t)}function P(t,e){t._state===it&&(t._result=e,t._state=ot,0!==t._subscribers.length&&Z(C,t))}function I(t,e){t._state===it&&(t._state=at,t._result=e,Z(E,t))}function D(t,e,n,r){var i=t._subscribers,o=i.length;t._onerror=null,i[o]=e,i[o+ot]=n,i[o+at]=r,0===o&&t._state&&Z(C,t)}function C(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r,i,o=t._result,a=0;aa;a++)D(r.resolve(t[a]),void 0,e,n);return i}function H(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(g);return j(n,t),n}function Y(t){var e=this,n=new e(g);return I(n,t),n}function G(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function U(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function F(t){this._id=pt++,this._state=void 0,this._result=void 0,this._subscribers=[],g!==t&&(u(t)||G(),this instanceof F||U(),L(this,t))}function B(){var t;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;(!n||"[object Promise]"!==Object.prototype.toString.call(n.resolve())||n.cast)&&(t.Promise=_t)}var V;V=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var q,W,K,J=V,$=0,Z=({}.toString,function(t,e){rt[$]=t,rt[$+1]=e,$+=2,2===$&&(W?W(v):K())}),X="undefined"!=typeof window?window:void 0,Q=X||{},tt=Q.MutationObserver||Q.WebKitMutationObserver,et="undefined"!=typeof t&&"[object process]"==={}.toString.call(t),nt="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,rt=new Array(1e3);K=et?f():tt?h():nt?p():void 0===X?y():_();var it=void 0,ot=1,at=2,ut=new A,st=new A;N.prototype._validateInput=function(t){return J(t)},N.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},N.prototype._init=function(){this._result=new Array(this.length)};var ct=N;N.prototype._enumerate=function(){for(var t=this,e=t.length,n=t.promise,r=t._input,i=0;n._state===it&&e>i;i++)t._eachEntry(r[i],i)},N.prototype._eachEntry=function(t,e){var n=this,r=n._instanceConstructor;s(t)?t.constructor===r&&t._state!==it?(t._onerror=null,n._settledAt(t._state,e,t._result)):n._willSettleAt(r.resolve(t),e):(n._remaining--,n._result[e]=t)},N.prototype._settledAt=function(t,e,n){var r=this,i=r.promise;i._state===it&&(r._remaining--,t===at?I(i,n):r._result[e]=n),0===r._remaining&&P(i,r._result)},N.prototype._willSettleAt=function(t,e){var n=this;D(t,void 0,function(t){n._settledAt(ot,e,t)},function(t){n._settledAt(at,e,t)})};var lt=R,ft=z,dt=H,ht=Y,pt=0,_t=F;F.all=lt,F.race=ft,F.resolve=dt,F.reject=ht,F._setScheduler=c,F._setAsap=l,F._asap=Z,F.prototype={constructor:F,then:function(t,e){var n=this,r=n._state;if(r===ot&&!t||r===at&&!e)return this;var i=new this.constructor(g),o=n._result;if(r){var a=arguments[r-1];Z(function(){k(r,i,a,o)})}else D(n,i,t,e);return i},"catch":function(t){return this.then(null,t)}};var vt=B,yt={Promise:_t,polyfill:vt};n(256).amd?(r=function(){return yt}.call(e,n,e,o),!(void 0!==r&&(o.exports=r))):"undefined"!=typeof o&&o.exports?o.exports=yt:"undefined"!=typeof this&&(this.ES6Promise=yt),vt()}).call(void 0)}).call(e,n(253),function(){return this}(),n(254)(t))},function(t,e,n){"use strict";var r=n(65),i=r(Date,"now"),o=i||function(){return(new Date).getTime()};t.exports=o},function(t,e){"use strict";function n(t){return"number"==typeof t&&t>-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){"use strict";var r=n(65),i=n(181),o=n(66),a="[object Array]",u=Object.prototype,s=u.toString,c=r(Array,"isArray"),l=c||function(t){return o(t)&&i(t.length)&&s.call(t)==a};t.exports=l},function(t,e,n){"use strict";function r(t){return null==t?!1:i(t)?l.test(s.call(t)):o(t)&&a.test(t)}var i=n(67),o=n(66),a=/^\[object .+?Constructor\]$/,u=Object.prototype,s=Function.prototype.toString,c=u.hasOwnProperty,l=RegExp("^"+s.call(c).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(179),i=n(22),o=function(t,e,n){var o=arguments.length<=3||void 0===arguments[3]?null:arguments[3],a=t.evaluate(i.getters.authInfo),u=a.host+"/api/"+n;return new r.Promise(function(t,n){var r=new XMLHttpRequest;r.open(e,u,!0),r.setRequestHeader("X-HA-access",a.authToken),r.onload=function(){if(r.status>199&&r.status<300)t(JSON.parse(r.responseText));else try{n(JSON.parse(r.responseText))}catch(e){n({})}},r.onerror=function(){return n({})},o?r.send(JSON.stringify(o)):r.send()})};o=function(t,e,i){return new r.Promise(function(t){if("GET"!==e)throw new Error("Method "+e+" not allowed in demo mode.");var r=i.split("/",1)[0];switch(r){case"bootstrap":t(n(194));break;case"logbook":t(n(197));break;case"history":t(n(200));break;default:throw new Error("URL not implemented in demo mode /api/"+i)}})},e["default"]=o,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){var n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],r=n.useStreaming,i=(void 0===r?t.evaluate(s.getters.isSupported):r,n.rememberAuth),o=void 0===i?!1:i,a=n.host,f=void 0===a?"":a;t.dispatch(u["default"].VALIDATING_AUTH_TOKEN,{authToken:e,host:f}),c.actions.fetchAll(t).then(function(){return t.dispatch(u["default"].VALID_AUTH_TOKEN,{authToken:e,host:f,rememberAuth:o}),void t.dispatch("STREAM_START")},function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.message,r=void 0===n?l:n;t.dispatch(u["default"].INVALID_AUTH_TOKEN,{errorMessage:r})})}function o(t){t.dispatch(u["default"].LOG_OUT,{})}Object.defineProperty(e,"__esModule",{value:!0}),e.validate=i,e.logOut=o;var a=n(21),u=r(a),s=n(40),c=n(42),l="Unexpected result from API"},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=[["authAttempt","isValidating"],function(t){return!!t}];e.isValidating=n;var r=[["authAttempt","isInvalid"],function(t){return!!t}];e.isInvalidAttempt=r;var i=["authAttempt","errorMessage"];e.attemptErrorMessage=i;var o=["rememberAuth"];e.rememberAuth=o;var a=[["authAttempt","authToken"],["authAttempt","host"],function(t,e){return{authToken:t,host:e}}];e.attemptAuthInfo=a;var u=["authCurrent","authToken"];e.currentAuthToken=u;var s=[u,["authCurrent","host"],function(t,e){return{authToken:t,host:e}}];e.currentAuthInfo=s;var c=[n,["authAttempt","authToken"],["authCurrent","authToken"],function(t,e,n){return t?e:n}];e.authToken=c;var l=[n,a,s,function(t,e,n){return t?e:n}];e.authInfo=l},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){if(null==t)throw new TypeError("Cannot destructure undefined")}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function u(t,e){var n=e.authToken,r=e.host;return d.toImmutable({authToken:n,host:r,isValidating:"true",isInvalid:!1,errorMessage:""})}function s(t,e){return i(e),v.getInitialState()}function c(t,e){var n=e.errorMessage;return t.withMutations(function(t){return t.set("isValidating",!1).set("isInvalid","true").set("errorMessage",n)})}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var n=0;nnew Date&&(u=new Date);var s=0;n.forEach(function(e){if(0!==e.length){var n=e[0].entityDisplay,r=void 0,i=null,o=null;e.forEach(function(e){null!==i&&e.state!==i?(r=e.lastChangedAsDate,t(n,i,o,r),i=e.state,o=r):null===i&&(i=e.state,o=e.lastChangedAsDate)}),t(n,i,o,u),s++}}),r.draw(i,{height:55+42*s,timeline:{showRowLabels:n.length>1},hAxis:{format:"H:mm"}})}}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);e["default"]=new a["default"]({is:"stream-status",behaviors:[s["default"]],properties:{isStreaming:{type:Boolean,bindNuclear:i.streamGetters.isStreamingEvents},hasError:{type:Boolean,bindNuclear:i.streamGetters.hasStreamingEventsError}},toggleChanged:function(){this.isStreaming?i.streamActions.stop():i.streamActions.start()}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(31),n(59),n(162);var c=["camera","configurator"];e["default"]=new a["default"]({is:"more-info-dialog",behaviors:[s["default"]],properties:{stateObj:{type:Object,bindNuclear:i.moreInfoGetters.currentEntity,observer:"stateObjChanged"},stateHistory:{type:Object,bindNuclear:[i.moreInfoGetters.currentEntityHistory,function(t){return t?[t]:!1}]},isLoadingHistoryData:{type:Boolean,computed:"computeIsLoadingHistoryData(_delayedDialogOpen, _isLoadingHistoryData)"},_isLoadingHistoryData:{type:Boolean,bindNuclear:i.entityHistoryGetters.isLoadingEntityHistory},hasHistoryComponent:{type:Boolean,bindNuclear:i.configGetters.isComponentLoaded("history"),observer:"fetchHistoryData"},shouldFetchHistory:{type:Boolean,bindNuclear:i.moreInfoGetters.isCurrentEntityHistoryStale,observer:"fetchHistoryData"},showHistoryComponent:{type:Boolean,value:!1},dialogOpen:{type:Boolean,value:!1,observer:"dialogOpenChanged"},_delayedDialogOpen:{type:Boolean,value:!1},_boundOnBackdropTap:{type:Function,value:function(){return this._onBackdropTap.bind(this)}}},computeIsLoadingHistoryData:function(t,e){return!t||e},fetchHistoryData:function(){this.stateObj&&this.hasHistoryComponent&&this.shouldFetchHistory&&i.entityHistoryActions.fetchRecent(this.stateObj.entityId)},stateObjChanged:function(t){var e=this;return t?(this.showHistoryComponent=this.hasHistoryComponent&&-1===c.indexOf(this.stateObj.domain),void this.async(function(){e.fetchHistoryData(),e.dialogOpen=!0},10)):void(this.dialogOpen=!1)},dialogOpenChanged:function(t){var e=this;t?(this.$.dialog.backdropElement.addEventListener("click",this._boundOnBackdropTap),this.async(function(){return e._delayedDialogOpen=!0},10)):!t&&this.stateObj&&(i.moreInfoActions.deselectEntity(),this._delayedDialogOpen=!1)},_onBackdropTap:function(){this.$.dialog.backdropElement.removeEventListener("click",this._boundOnBackdropTap),this.dialogOpen=!1}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(4),a=r(o);n(142),n(158),n(157),n(156),n(153),n(154),n(155),n(159),n(150),e["default"]=new Polymer({is:"home-assistant-main",behaviors:[a["default"]],properties:{narrow:{type:Boolean,value:!1},activePane:{type:String,bindNuclear:i.navigationGetters.activePane,observer:"activePaneChanged"},isSelectedStates:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("states")},isSelectedHistory:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("history")},isSelectedLogbook:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("logbook")},isSelectedDevEvent:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("devEvent")},isSelectedDevState:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("devState")},isSelectedDevService:{type:Boolean,bindNuclear:i.navigationGetters.isActivePane("devService")},showSidebar:{type:Boolean,bindNuclear:i.navigationGetters.showSidebar}},listeners:{"open-menu":"openMenu","close-menu":"closeMenu"},openMenu:function(){this.narrow?this.$.drawer.openDrawer():i.navigationActions.showSidebar(!0)},closeMenu:function(){this.$.drawer.closeDrawer(),this.showSidebar&&i.navigationActions.showSidebar(!1)},activePaneChanged:function(){this.narrow&&this.$.drawer.closeDrawer()},attached:function(){i.startUrlSync()},computeForceNarrow:function(t,e){return t||!e},detached:function(){i.stopUrlSync()}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=n(2),u=n(4),s=r(u),c=n(64),l=r(c);e["default"]=new o["default"]({is:"login-form",behaviors:[s["default"]],properties:{isValidating:{type:Boolean,observer:"isValidatingChanged",bindNuclear:a.authGetters.isValidating},isInvalid:{type:Boolean,bindNuclear:a.authGetters.isInvalidAttempt},errorMessage:{type:String,bindNuclear:a.authGetters.attemptErrorMessage}},listeners:{keydown:"passwordKeyDown","loginButton.click":"validatePassword"},observers:["validatingChanged(isValidating, isInvalid)"],validatingChanged:function(t,e){t||e||(this.$.passwordInput.value="")},isValidatingChanged:function(t){var e=this;t||this.async(function(){return e.$.passwordInput.focus()},10)},passwordKeyDown:function(t){13===t.keyCode?(this.validatePassword(),t.preventDefault()):this.isInvalid&&(this.isInvalid=!1)},validatePassword:function(){this.$.hideKeyboardOnFocus.focus(),l["default"](this.$.passwordInput.value,this.$.rememberLogin.checked)}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o);n(14),n(146),e["default"]=new a["default"]({is:"partial-dev-call-service",properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},domain:{type:String,value:""},service:{type:String,value:""},serviceData:{type:String,value:""}},serviceSelected:function(t){this.domain=t.detail.domain,this.service=t.detail.service},callService:function(){var t=void 0;try{t=this.serviceData?JSON.parse(this.serviceData):{}}catch(e){return void alert("Error parsing JSON: "+e)}i.serviceActions.callService(this.domain,this.service,t)},computeFormClasses:function(t){return"layout "+(t?"vertical":"horizontal")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o);n(14),n(138),e["default"]=new a["default"]({is:"partial-dev-fire-event",properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},eventType:{type:String,value:""},eventData:{type:String,value:""}},eventSelected:function(t){this.eventType=t.detail.eventType},fireEvent:function(){var t=void 0;try{t=this.eventData?JSON.parse(this.eventData):{}}catch(e){return void alert("Error parsing JSON: "+e)}i.eventActions.fireEvent(this.eventType,t)},computeFormClasses:function(t){return"layout "+(t?"vertical":"horizontal")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o);n(14),n(135),e["default"]=new a["default"]({is:"partial-dev-set-state",properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},entityId:{type:String,value:""},state:{type:String,value:""},stateAttributes:{type:String,value:""}},setStateData:function(t){var e=t?JSON.stringify(t,null," "):"";this.$.inputData.value=e,this.$.inputDataWrapper.update(this.$.inputData)},entitySelected:function(t){var e=i.reactor.evaluate(i.entityGetters.byId(t.detail.entityId));this.entityId=e.entityId,this.state=e.state,this.stateAttributes=JSON.stringify(e.attributes,null," ")},handleSetState:function(){var t=void 0;try{t=this.stateAttributes?JSON.parse(this.stateAttributes):{}}catch(e){return void alert("Error parsing JSON: "+e)}i.entityActions.save({entityId:this.entityId,state:this.state,attributes:t})},computeFormClasses:function(t){return"layout "+(t?"vertical":"horizontal")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(14),n(59),e["default"]=new a["default"]({is:"partial-history",behaviors:[s["default"]],properties:{narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},isDataLoaded:{type:Boolean,bindNuclear:i.entityHistoryGetters.hasDataForCurrentDate,observer:"isDataLoadedChanged"},stateHistory:{type:Object,bindNuclear:i.entityHistoryGetters.entityHistoryForCurrentDate},isLoadingData:{type:Boolean,bindNuclear:i.entityHistoryGetters.isLoadingEntityHistory},selectedDate:{type:String,value:null,bindNuclear:i.entityHistoryGetters.currentDate}},isDataLoadedChanged:function(t){t||this.async(function(){return i.entityHistoryActions.fetchSelectedDate()},1)},handleRefreshClick:function(){i.entityHistoryActions.fetchSelectedDate()},datepickerFocus:function(){this.datePicker.adjustPosition()},attached:function(){this.datePicker=new Pikaday({field:this.$.datePicker.inputElement,onSelect:i.entityHistoryActions.changeCurrentDate})},detached:function(){this.datePicker.destroy()},computeContentClasses:function(t){return"flex content "+(t?"narrow":"wide")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(14),n(141),n(30),e["default"]=new a["default"]({is:"partial-logbook",behaviors:[s["default"]],properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},selectedDate:{type:String,bindNuclear:i.logbookGetters.currentDate},isLoading:{type:Boolean,bindNuclear:i.logbookGetters.isLoadingEntries},isStale:{type:Boolean,bindNuclear:i.logbookGetters.isCurrentStale,observer:"isStaleChanged"},entries:{type:Array,bindNuclear:[i.logbookGetters.currentEntries,function(t){return t.toArray()}]},datePicker:{type:Object}},isStaleChanged:function(t){var e=this;t&&this.async(function(){return i.logbookActions.fetchDate(e.selectedDate)},1)},handleRefresh:function(){i.logbookActions.fetchDate(this.selectedDate)},datepickerFocus:function(){this.datePicker.adjustPosition()},attached:function(){this.datePicker=new Pikaday({field:this.$.datePicker.inputElement,onSelect:i.logbookActions.changeCurrentDate})},detached:function(){this.datePicker.destroy()}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(14),n(143),n(144),e["default"]=new a["default"]({is:"partial-zone",behaviors:[s["default"]],properties:{narrow:{type:Boolean,value:!1},isFetching:{type:Boolean,bindNuclear:i.syncGetters.isFetching},isStreaming:{type:Boolean,bindNuclear:i.streamGetters.isStreamingEvents},canListen:{type:Boolean,bindNuclear:[i.voiceGetters.isVoiceSupported,i.configGetters.isComponentLoaded("conversation"),function(t,e){return t&&e}]},isListening:{type:Boolean,bindNuclear:i.voiceGetters.isListening},showListenInterface:{type:Boolean,bindNuclear:[i.voiceGetters.isListening,i.voiceGetters.isTransmitting,function(t,e){return t||e}]},introductionLoaded:{type:Boolean,bindNuclear:i.configGetters.isComponentLoaded("introduction")},locationName:{type:String,bindNuclear:i.configGetters.locationName},showMenu:{type:Boolean,value:!1,observer:"windowChange"},states:{type:Object,bindNuclear:i.entityGetters.visibleEntityMap},columns:{type:Number}},created:function(){var t=this;this.windowChange=this.windowChange.bind(this);for(var e=[],n=0;5>n;n++)e.push(278+278*n);this.mqls=e.map(function(e){var n=window.matchMedia("(min-width: "+e+"px)");return n.addListener(t.windowChange),n})},detached:function(){var t=this;this.mqls.forEach(function(e){return e.removeListener(t.windowChange)})},windowChange:function(){var t=this.mqls.reduce(function(t,e){return t+e.matches},0);this.columns=Math.max(1,t-this.showMenu)},handleRefresh:function(){i.syncActions.fetchAll()},handleListenClick:function(){this.isListening?i.voiceActions.stop():i.voiceActions.listen()},computeDomains:function(t){return t.keySeq().toArray()},computeMenuButtonClass:function(t,e){return!t&&e?"invisible":""},computeStatesOfDomain:function(t,e){return t.get(e).toArray()},computeListenButtonIcon:function(t){return t?"av:mic-off":"av:mic"},computeRefreshButtonClass:function(t){return t?"ha-spin":void 0},computeShowIntroduction:function(t,e){return t||0===e.size},toggleMenu:function(){this.fire("open-menu")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);e["default"]=new a["default"]({is:"notification-manager",behaviors:[s["default"]],properties:{text:{type:String,bindNuclear:i.notificationGetters.lastNotificationMessage,observer:"showNotification"}},showNotification:function(t){t&&this.$.toast.show()}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);e["default"]=new o["default"]({is:"more-info-camera",properties:{stateObj:{type:Object},dialogOpen:{type:Boolean}},imageLoaded:function(){this.fire("iron-resize")},computeCameraImageUrl:function(t){return"/demo/webcam.jpg"}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(30),e["default"]=new a["default"]({is:"more-info-configurator",behaviors:[s["default"]],properties:{stateObj:{type:Object},action:{type:String,value:"display"},isStreaming:{type:Boolean,bindNuclear:i.streamGetters.isStreamingEvents},isConfigurable:{type:Boolean,computed:"computeIsConfigurable(stateObj)"},isConfiguring:{type:Boolean,value:!1},submitCaption:{type:String,computed:"computeSubmitCaption(stateObj)"}},computeIsConfigurable:function(t){return"configure"===t.state},computeSubmitCaption:function(t){return t.attributes.submit_caption||"Set configuration"},submitClicked:function(){var t=this;this.isConfiguring=!0;var e={configure_id:this.stateObj.attributes.configure_id};i.serviceActions.callService("configurator","configure",e).then(function(){t.isConfiguring=!1,t.isStreaming||i.syncActions.fetchAll()},function(){t.isConfiguring=!1})}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=n(177),u=r(a);n(163),n(164),n(168),n(161),n(169),n(167),n(165),n(166),n(160),n(170),e["default"]=new o["default"]({is:"more-info-content",properties:{stateObj:{type:Object,observer:"stateObjChanged"},dialogOpen:{type:Boolean,value:!1,observer:"dialogOpenChanged"}},dialogOpenChanged:function(t){var e=o["default"].dom(this);e.lastChild&&(e.lastChild.dialogOpen=t)},stateObjChanged:function(t,e){var n=o["default"].dom(this);if(!t)return void(n.lastChild&&n.removeChild(n.lastChild));var r=u["default"](t);if(e&&u["default"](e)===r)n.lastChild.dialogOpen=this.dialogOpen,n.lastChild.stateObj=t;else{n.lastChild&&n.removeChild(n.lastChild);var i=document.createElement("more-info-"+r);i.stateObj=t,i.dialogOpen=this.dialogOpen,n.appendChild(i)}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=["entity_picture","friendly_name","unit_of_measurement"];e["default"]=new o["default"]({is:"more-info-default",properties:{stateObj:{type:Object}},computeDisplayAttributes:function(t){return t?Object.keys(t.attributes).filter(function(t){return-1===a.indexOf(t)}):[]},getAttributeValue:function(t,e){return t.attributes[e]}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(4),s=r(u);n(31),e["default"]=new a["default"]({is:"more-info-group",behaviors:[s["default"]],properties:{stateObj:{type:Object},states:{type:Array,bindNuclear:[i.moreInfoGetters.currentEntity,i.entityGetters.entityMap,function(t,e){return t?t.attributes.entity_id.map(e.get.bind(e)):[]}]}},updateStates:function(){this.states=this.stateObj&&this.stateObj.attributes.entity_id?stateStore.gets(this.stateObj.attributes.entity_id).toArray():[]}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(33),s=r(u);n(139);var c=["brightness","xy_color"];e["default"]=new a["default"]({is:"more-info-light",properties:{stateObj:{type:Object,observer:"stateObjChanged"},brightnessSliderValue:{type:Number,value:0}},stateObjChanged:function(t){var e=this;t&&"on"===t.state&&(this.brightnessSliderValue=t.attributes.brightness),this.async(function(){return e.fire("iron-resize")},500)},computeClassNames:function(t){return s["default"](t,c)},brightnessSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||(0===e?i.serviceActions.callTurnOff(this.stateObj.entityId):i.serviceActions.callService("light","turn_on",{entity_id:this.stateObj.entityId,brightness:e}))},colorPicked:function(t){var e=t.detail.rgb;i.serviceActions.callService("light","turn_on",{entity_id:this.stateObj.entityId,rgb_color:[e.r,e.g,e.b]})}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(33),s=r(u),c=["volume_level"];e["default"]=new a["default"]({is:"more-info-media_player",properties:{stateObj:{type:Object,observer:"stateObjChanged"},isOff:{type:Boolean,value:!1},isPlaying:{type:Boolean,value:!1},isMuted:{type:Boolean,value:!1},volumeSliderValue:{type:Number,value:0},supportsPause:{type:Boolean,value:!1},supportsVolumeSet:{type:Boolean,value:!1},supportsVolumeMute:{type:Boolean,value:!1},supportsPreviousTrack:{type:Boolean,value:!1},supportsNextTrack:{type:Boolean,value:!1},supportsTurnOn:{type:Boolean,value:!1},supportsTurnOff:{type:Boolean,value:!1}},stateObjChanged:function(t){var e=this;t&&(this.isOff="off"===t.state,this.isPlaying="playing"===t.state,this.volumeSliderValue=100*t.attributes.volume_level,this.isMuted=t.attributes.is_volume_muted,this.supportsPause=0!==(1&t.attributes.supported_media_commands),this.supportsVolumeSet=0!==(4&t.attributes.supported_media_commands),this.supportsVolumeMute=0!==(8&t.attributes.supported_media_commands),this.supportsPreviousTrack=0!==(16&t.attributes.supported_media_commands),this.supportsNextTrack=0!==(32&t.attributes.supported_media_commands),this.supportsTurnOn=0!==(128&t.attributes.supported_media_commands),this.supportsTurnOff=0!==(256&t.attributes.supported_media_commands)),this.async(function(){return e.fire("iron-resize")},500)},computeClassNames:function(t){return s["default"](t,c)},computeIsOff:function(t){return"off"===t.state},computeMuteVolumeIcon:function(t){return t?"av:volume-off":"av:volume-up"},computePlaybackControlIcon:function(){return this.isPlaying?this.supportsPause?"av:pause":"av:stop":"av:play-arrow"},computeHidePowerButton:function(t,e,n){return t?!e:!n},handleTogglePower:function(){this.callService(this.isOff?"turn_on":"turn_off")},handlePrevious:function(){this.callService("media_previous_track")},handlePlaybackControl:function(){this.callService("media_play_pause")},handleNext:function(){this.callService("media_next_track")},handleVolumeTap:function(){this.supportsVolumeMute&&this.callService("volume_mute",{is_volume_muted:!this.isMuted})},volumeSliderChanged:function(t){var e=parseFloat(t.target.value),n=e>0?e/100:0;this.callService("volume_set",{volume_level:n})},callService:function(t,e){var n=e||{};n.entity_id=this.stateObj.entityId,i.serviceActions.callService("media_player",t,n)}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);e["default"]=new o["default"]({is:"more-info-script",properties:{stateObj:{type:Object}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(63),a=r(o),u=i.util.parseDateTime;e["default"]=new Polymer({is:"more-info-sun",properties:{stateObj:{type:Object},risingDate:{type:Object,computed:"computeRising(stateObj)"},settingDate:{type:Object,computed:"computeSetting(stateObj)"}},computeRising:function(t){return u(t.attributes.next_rising)},computeSetting:function(t){return u(t.attributes.next_setting)},computeOrder:function(t,e){return t>e?["set","ris"]:["ris","set"]},itemCaption:function(t){return"ris"===t?"Rising ":"Setting "},itemDate:function(t){return"ris"===t?this.risingDate:this.settingDate},itemValue:function(t){return a["default"](this.itemDate(t))}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=n(1),a=r(o),u=n(33),s=r(u),c=["away_mode"];e["default"]=new a["default"]({is:"more-info-thermostat",properties:{stateObj:{type:Object,observer:"stateObjChanged"},tempMin:{type:Number},tempMax:{type:Number},targetTemperatureSliderValue:{type:Number},awayToggleChecked:{type:Boolean}},stateObjChanged:function(t){this.targetTemperatureSliderValue=t.state,this.awayToggleChecked="on"===t.attributes.away_mode,this.tempMin=t.attributes.min_temp,this.tempMax=t.attributes.max_temp},computeClassNames:function(t){return s["default"](t,c)},targetTemperatureSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||i.serviceActions.callService("thermostat","set_temperature",{entity_id:this.stateObj.entityId,temperature:e})},toggleChanged:function(t){var e=t.target.checked;e&&"off"===this.stateObj.attributes.away_mode?this.service_set_away(!0):e||"on"!==this.stateObj.attributes.away_mode||this.service_set_away(!1)},service_set_away:function(t){var e=this;i.serviceActions.callService("thermostat","set_away_mode",{away_mode:t,entity_id:this.stateObj.entityId}).then(function(){return e.stateObjChanged(e.stateObj)})}}),t.exports=e["default"]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2);e["default"]=new Polymer({is:"more-info-updater",properties:{stateObj:{type:Object}},updateTapped:function(){r.serviceActions.callService("updater","update",{})},linkTapped:function(){window.open(this.stateObj.attributes.link,"_blank")}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(17),n(32),e["default"]=new o["default"]({is:"state-card-configurator",properties:{stateObj:{type:Object}}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(17);var a=["playing","paused"];e["default"]=new o["default"]({is:"state-card-media_player",properties:{stateObj:{type:Object},isPlaying:{type:Boolean,computed:"computeIsPlaying(stateObj)"}},computeIsPlaying:function(t){return-1!==a.indexOf(t.state)},computePrimaryText:function(t,e){return e?t.attributes.media_title:t.stateDisplay},computeSecondaryText:function(t){var e=void 0;return"music"===t.attributes.media_content_type?t.attributes.media_artist:"tvshow"===t.attributes.media_content_type?(e=t.attributes.media_series_title,t.attributes.media_season&&t.attributes.media_episode&&(e+=" S"+t.attributes.media_season+"E"+t.attributes.media_episode),e):t.attributes.app_name?t.attributes.app_name:""}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(32),n(60),e["default"]=new o["default"]({is:"state-card-scene",properties:{stateObj:{type:Object},allowToggle:{type:Boolean,value:!1,computed:"computeAllowToggle(stateObj)"}},computeAllowToggle:function(t){return"off"===t.state||t.attributes.active_requested}}),t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i);n(17),e["default"]=new o["default"]({is:"state-card-thermostat",properties:{stateObj:{type:Object}}}),t.exports=e["default"]},function(t,e){"use strict";function n(t){return{attached:function(){var e=this;this.__unwatchFns=Object.keys(this.properties).reduce(function(n,r){if(!("bindNuclear"in e.properties[r]))return n;var i=e.properties[r].bindNuclear;if(!i)throw new Error("Undefined getter specified for key "+r);return e[r]=t.evaluate(i),n.concat(t.observe(i,function(t){e[r]=t}))},[])},detached:function(){for(;this.__unwatchFns.length;)this.__unwatchFns.shift()()}}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return-1!==u.indexOf(t.domain)?t.domain:a["default"](t.entityId)?"toggle":"display"}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i;var o=n(61),a=r(o),u=["thermostat","configurator","scene","media_player"];t.exports=e["default"]},function(t,e){"use strict";function n(t){return-1!==r.indexOf(t.domain)?t.domain:"default"}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n;var r=["light","group","sun","configurator","thermostat","script","media_player","camera","updater"];t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){var r=1-t-e,i=n/255,o=i/e*t,a=i/e*r,u=1.612*o-.203*i-.302*a,s=.509*-o+1.412*i+.066*a,c=.026*o-.072*i+.962*a;u=.0031308>=u?12.92*u:1.055*Math.pow(u,1/2.4)-.055,s=.0031308>=s?12.92*s:1.055*Math.pow(s,1/2.4)-.055,c=.0031308>=c?12.92*c:1.055*Math.pow(c,1/2.4)-.055;var l=Math.max(u,s,c);return u/=l,s/=l,c/=l,u=255*u,0>u&&(u=255),s=255*s,0>s&&(s=255),c=255*c,0>c&&(c=255),[u,s,c]}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e["default"]},function(t,e,n){var r;(function(t,i,o){"use strict";(function(){function a(t){return"function"==typeof t||"object"==typeof t&&null!==t}function u(t){return"function"==typeof t}function s(t){return"object"==typeof t&&null!==t}function c(t){W=t}function l(t){Z=t}function f(){return function(){t.nextTick(v)}}function d(){return function(){q(v)}}function h(){var t=0,e=new tt(v),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function p(){var t=new MessageChannel;return t.port1.onmessage=v,function(){t.port2.postMessage(0)}}function _(){return function(){setTimeout(v,1)}}function v(){for(var t=0;$>t;t+=2){var e=rt[t],n=rt[t+1];e(n),rt[t]=void 0,rt[t+1]=void 0}$=0}function y(){try{var t=n(257);return q=t.runOnLoop||t.runOnContext,d()}catch(e){return _()}}function g(){}function m(){return new TypeError("You cannot resolve a promise with itself")}function b(){return new TypeError("A promises callback cannot return that same promise.")}function O(t){try{return t.then}catch(e){return ut.error=e,ut}}function w(t,e,n,r){try{t.call(e,n,r)}catch(i){return i}}function S(t,e,n){Z(function(t){var r=!1,i=w(n,e,function(n){r||(r=!0,e!==n?j(t,n):P(t,n))},function(e){r||(r=!0,I(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&i&&(r=!0,I(t,i))},t)}function T(t,e){e._state===ot?P(t,e._result):e._state===at?I(t,e._result):D(e,void 0,function(e){j(t,e)},function(e){I(t,e)})}function M(t,e){if(e.constructor===t.constructor)T(t,e);else{var n=O(e); +n===ut?I(t,ut.error):void 0===n?P(t,e):u(n)?S(t,e,n):P(t,e)}}function j(t,e){t===e?I(t,m()):a(e)?M(t,e):P(t,e)}function E(t){t._onerror&&t._onerror(t._result),C(t)}function P(t,e){t._state===it&&(t._result=e,t._state=ot,0!==t._subscribers.length&&Z(C,t))}function I(t,e){t._state===it&&(t._state=at,t._result=e,Z(E,t))}function D(t,e,n,r){var i=t._subscribers,o=i.length;t._onerror=null,i[o]=e,i[o+ot]=n,i[o+at]=r,0===o&&t._state&&Z(C,t)}function C(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r,i,o=t._result,a=0;aa;a++)D(r.resolve(t[a]),void 0,e,n);return i}function H(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(g);return j(n,t),n}function Y(t){var e=this,n=new e(g);return I(n,t),n}function G(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function U(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function F(t){this._id=pt++,this._state=void 0,this._result=void 0,this._subscribers=[],g!==t&&(u(t)||G(),this instanceof F||U(),L(this,t))}function B(){var t;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;(!n||"[object Promise]"!==Object.prototype.toString.call(n.resolve())||n.cast)&&(t.Promise=_t)}var V;V=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var q,W,K,J=V,$=0,Z=({}.toString,function(t,e){rt[$]=t,rt[$+1]=e,$+=2,2===$&&(W?W(v):K())}),X="undefined"!=typeof window?window:void 0,Q=X||{},tt=Q.MutationObserver||Q.WebKitMutationObserver,et="undefined"!=typeof t&&"[object process]"==={}.toString.call(t),nt="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,rt=new Array(1e3);K=et?f():tt?h():nt?p():void 0===X?y():_();var it=void 0,ot=1,at=2,ut=new A,st=new A;N.prototype._validateInput=function(t){return J(t)},N.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},N.prototype._init=function(){this._result=new Array(this.length)};var ct=N;N.prototype._enumerate=function(){for(var t=this,e=t.length,n=t.promise,r=t._input,i=0;n._state===it&&e>i;i++)t._eachEntry(r[i],i)},N.prototype._eachEntry=function(t,e){var n=this,r=n._instanceConstructor;s(t)?t.constructor===r&&t._state!==it?(t._onerror=null,n._settledAt(t._state,e,t._result)):n._willSettleAt(r.resolve(t),e):(n._remaining--,n._result[e]=t)},N.prototype._settledAt=function(t,e,n){var r=this,i=r.promise;i._state===it&&(r._remaining--,t===at?I(i,n):r._result[e]=n),0===r._remaining&&P(i,r._result)},N.prototype._willSettleAt=function(t,e){var n=this;D(t,void 0,function(t){n._settledAt(ot,e,t)},function(t){n._settledAt(at,e,t)})};var lt=R,ft=z,dt=H,ht=Y,pt=0,_t=F;F.all=lt,F.race=ft,F.resolve=dt,F.reject=ht,F._setScheduler=c,F._setAsap=l,F._asap=Z,F.prototype={constructor:F,then:function(t,e){var n=this,r=n._state;if(r===ot&&!t||r===at&&!e)return this;var i=new this.constructor(g),o=n._result;if(r){var a=arguments[r-1];Z(function(){k(r,i,a,o)})}else D(n,i,t,e);return i},"catch":function(t){return this.then(null,t)}};var vt=B,yt={Promise:_t,polyfill:vt};n(256).amd?(r=function(){return yt}.call(e,n,e,o),!(void 0!==r&&(o.exports=r))):"undefined"!=typeof o&&o.exports?o.exports=yt:"undefined"!=typeof this&&(this.ES6Promise=yt),vt()}).call(void 0)}).call(e,n(253),function(){return this}(),n(254)(t))},function(t,e,n){"use strict";var r=n(65),i=r(Date,"now"),o=i||function(){return(new Date).getTime()};t.exports=o},function(t,e){"use strict";function n(t){return"number"==typeof t&&t>-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){"use strict";var r=n(65),i=n(181),o=n(66),a="[object Array]",u=Object.prototype,s=u.toString,c=r(Array,"isArray"),l=c||function(t){return o(t)&&i(t.length)&&s.call(t)==a};t.exports=l},function(t,e,n){"use strict";function r(t){return null==t?!1:i(t)?l.test(s.call(t)):o(t)&&a.test(t)}var i=n(67),o=n(66),a=/^\[object .+?Constructor\]$/,u=Object.prototype,s=Function.prototype.toString,c=u.hasOwnProperty,l=RegExp("^"+s.call(c).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(179),i=n(22),o=function(t,e,n){var o=arguments.length<=3||void 0===arguments[3]?null:arguments[3],a=t.evaluate(i.getters.authInfo),u=a.host+"/api/"+n;return new r.Promise(function(t,n){var r=new XMLHttpRequest;r.open(e,u,!0),r.setRequestHeader("X-HA-access",a.authToken),r.onload=function(){if(r.status>199&&r.status<300)t(JSON.parse(r.responseText));else try{n(JSON.parse(r.responseText))}catch(e){n({})}},r.onerror=function(){return n({})},o?r.send(JSON.stringify(o)):r.send()})};o=function(t,e,i){return new r.Promise(function(t){if("GET"!==e)throw new Error("Method "+e+" not allowed in demo mode.");var r=i.split("/",1)[0];switch(r){case"bootstrap":t(n(194));break;case"logbook":t(n(197));break;case"history":t(n(200));break;default:throw new Error("URL not implemented in demo mode /api/"+i)}})},e["default"]=o,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){var n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],r=n.useStreaming,i=(void 0===r?t.evaluate(s.getters.isSupported):r,n.rememberAuth),o=void 0===i?!1:i,a=n.host,f=void 0===a?"":a;t.dispatch(u["default"].VALIDATING_AUTH_TOKEN,{authToken:e,host:f}),c.actions.fetchAll(t).then(function(){return t.dispatch(u["default"].VALID_AUTH_TOKEN,{authToken:e,host:f,rememberAuth:o}),void t.dispatch("STREAM_START")},function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.message,r=void 0===n?l:n;t.dispatch(u["default"].INVALID_AUTH_TOKEN,{errorMessage:r})})}function o(t){t.dispatch(u["default"].LOG_OUT,{})}Object.defineProperty(e,"__esModule",{value:!0}),e.validate=i,e.logOut=o;var a=n(21),u=r(a),s=n(40),c=n(42),l="Unexpected result from API"},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=[["authAttempt","isValidating"],function(t){return!!t}];e.isValidating=n;var r=[["authAttempt","isInvalid"],function(t){return!!t}];e.isInvalidAttempt=r;var i=["authAttempt","errorMessage"];e.attemptErrorMessage=i;var o=["rememberAuth"];e.rememberAuth=o;var a=[["authAttempt","authToken"],["authAttempt","host"],function(t,e){return{authToken:t,host:e}}];e.attemptAuthInfo=a;var u=["authCurrent","authToken"];e.currentAuthToken=u;var s=[u,["authCurrent","host"],function(t,e){return{authToken:t,host:e}}];e.currentAuthInfo=s;var c=[n,["authAttempt","authToken"],["authCurrent","authToken"],function(t,e,n){return t?e:n}];e.authToken=c;var l=[n,a,s,function(t,e,n){return t?e:n}];e.authInfo=l},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){if(null==t)throw new TypeError("Cannot destructure undefined")}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function u(t,e){var n=e.authToken,r=e.host;return d.toImmutable({authToken:n,host:r,isValidating:"true",isInvalid:!1,errorMessage:""})}function s(t,e){return i(e),v.getInitialState()}function c(t,e){var n=e.errorMessage;return t.withMutations(function(t){return t.set("isValidating",!1).set("isInvalid","true").set("errorMessage",n)})}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var n=0;n1&&t.set(h,r)})}function u(){return _.getInitialState()}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var n=0;no}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=6e4,a=["currentLogbookDate"];e.currentDate=a;var u=[a,["logbookEntriesUpdated"],function(t,e){return r(e.get(t))}];e.isCurrentStale=u;var s=[a,["logbookEntries"],function(t,e){return e.get(t)||i.toImmutable([])}];e.currentEntries=s;var c=["isLoadingLogbookEntries"];e.isLoadingEntries=c},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function i(t){return t&&t.__esModule?t:{"default":t}}function o(t){t.registerStores({currentLogbookDate:u["default"],isLoadingLogbookEntries:c["default"],logbookEntries:f["default"],logbookEntriesUpdated:h["default"]})}Object.defineProperty(e,"__esModule",{value:!0}),e.register=o;var a=n(215),u=i(a),s=n(216),c=i(s),l=n(217),f=i(l),d=n(218),h=i(d),p=n(211),_=r(p),v=n(212),y=r(v),g=_;e.actions=g;var m=y;e.getters=m},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n1)for(var n=1;n \ No newline at end of file diff --git a/source/demo/webcam.jpg b/source/demo/webcam.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4ea945c6e13de08bfbadad4b866900c97f56e9e3 GIT binary patch literal 85138 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 b))ZxYUfYs|e$g?0f&&4W8dV literal 0 HcmV?d00001 diff --git a/source/getting-started/advanced.markdown b/source/getting-started/autostart.markdown similarity index 100% rename from source/getting-started/advanced.markdown rename to source/getting-started/autostart.markdown From 278dd1a61fcf3f2976cb83e95d68d57e30f9f475 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 19 Sep 2015 21:35:49 -0700 Subject: [PATCH 171/188] Big push for automation docs --- source/components/automation.markdown | 305 +++++++++++------- source/components/device_tracker.markdown | 18 +- .../components/device_tracker.mqtt.markdown | 17 +- source/components/index.markdown | 24 +- source/components/logbook.markdown | 23 +- source/components/mqtt.markdown | 1 + source/components/script.markdown | 10 +- source/getting-started/android.markdown | 2 - source/getting-started/autostart.markdown | 8 +- source/getting-started/configuration.markdown | 99 ++---- source/getting-started/index.markdown | 38 +-- 11 files changed, 299 insertions(+), 246 deletions(-) diff --git a/source/components/automation.markdown b/source/components/automation.markdown index 8ac0028c5b0..07e4a00af6c 100644 --- a/source/components/automation.markdown +++ b/source/components/automation.markdown @@ -9,143 +9,232 @@ sharing: true footer: true --- -This page will talk about automating Home Assistant using the `automation` component. For more advanced ways of automation, see the [create a component]({{site_root}}/developers/creating_components.html) page. +This page will go into more detail about the various options the `automation` component offers. If +you haven't yet, read the [getting started page on automation](/getting-started/automation.html). -Each part of automation consists of two parts: the trigger part and the action part. The final result will look something like this: +A configuration section of an automation requires a `trigger` and an `action` section. `condition` and +`condition_type` are optional. To keep this page compact, all following sections will not show the +full configuration but only the relevant part. -``` +```yaml +# Example of a full entry in configuration.yaml automation: - # Optional alias that the logs will use to refer to the entry - alias: Sunset notification - - # Type of trigger and information for the trigger - platform: state - state_entity_id: sun.sun - state_from: 'above_horizon' - state_to: 'below_horizon' - - # Action to be done when trigger activated - execute_service: notify.NOTIFIER_NAME - service_data: {"message":"The sun has set"} + alias: Light on in the evening + trigger: + - platform: sun + event: sunset + offset: "-01:00:00" + - platform: state + entity_id: group.all_devices + state: home + condition: + - platform: state + entity_id: group.all_devices + state: home + - platform: time + after: 16:00:00 + before: 23:00:00 + action: + service: homeassistant.turn_on + entity_id: group.living_room ``` -## {% linkable_title Setting up triggers %} +

    +All configuration entries have to be sequential. If you have automation:, automation 2: and automation 4: then the last one will not be processed. +

    -#### {% linkable_title Time-based automation %} -This allows you to trigger actions whenever the time matches your filter. You can setup filters to match on hours, minutes and seconds. Any filter that you omit will match all values. + - [Jump to conditions](#conditions) + - [Jump to actions](#actions) -Here are some example values: +### {% linkable_title Triggers %} -``` - # Match at the start of every hour - platform: time - time_minutes: 0 - time_seconds: 0 +Triggers are what starts the processing of an automation rule. It is possible to specify multiple +triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, +and call the action. - # Match at 4pm - platform: time - time_hours: 16 - time_minutes: 0 - time_seconds: 0 +#### {% linkable_title Event trigger %} +Triggers when an event is being processed. Events are the raw building blocks of Home Assistant. +You can match events on just the event name or also require specific event data to be present. + +```yaml +automation: + trigger: + platform: event + event_type: MY_CUSTOM_EVENT + # optional + event_data: + mood: happy ``` -#### {% linkable_title State-based automation %} -This allows you to trigger actions based on state changes of any entity within Home Assistant. You can omit the `state_from` and `state_to` to match all. +#### {% linkable_title MQTT trigger %} +Triggers when a specific message is received on given topic. Optionally can match on the payload +being sent over the topic. +```yaml +automation: + trigger: + platform: mqtt + topic: living_room/switch/ac + # Optional + payload: 'on' ``` - # Match when the sun sets - platform: state - state_entity_id: sun.sun - state_from: 'above_horizon' - state_to: 'below_horizon' - # Match when a person comes home - platform: state - state_entity_id: device_tracker.Paulus_OnePlus_One - state_from: 'not_home' - state_to: 'home' +#### {% linkable_title Numeric state trigger %} +On state change of a specified entity, attempts to parse the state as a number and triggers if value is above and/or below a threshold. - # Match when a light turns on - platform: state - state_entity_id: light.Ceiling - state_from: 'off' - state_to: 'on' +```yaml +automation: + trigger: + platform: numeric_state + entity_id: sensor.temperature + # At least one of the following required + above: 17 + below: 25 +``` + +#### {% linkable_title State trigger %} +Triggers when the state of an entity changes. If only entity_id given will match all state changes. + +```yaml +automation: + trigger: + platform: state + entity_id: device_tracker.paulus + # Optional + from: not_home + to: home ```

    Use quotes around your values for state_from and state_to to avoid the YAML parser interpreting some values as booleans.

    -#### {% linkable_title MQTT-based automation %} -This allows you to trigger actions based on messages on an MQTT topic. You can specify an optional payload to match as well. +#### {% linkable_title Sun trigger %} +Triggers based on sunrise and sunset, both with an optional offset. -``` - # Match any changes to bathroom light - platform: mqtt - mqtt_topic: home/bathroom/light - - # Match only if bathroom light is turned on - platform: mqtt - mqtt_topic: home/bathroom/light - mqtt_payload: 'on' +```yaml +automation: + trigger: + platform: sun + # Possible values: sunset, sunrise + event: sunset + # Optional time offset + offset: -00:45:00 ``` -## {% linkable_title Setting up the action %} +#### {% linkable_title Time trigger %} +Time can be triggered in many ways. The most common is to specify `after` and trigger at a specific +point in time each day. Alternatively, you can also match if the hour, minute or second of the current +time has a specifc value. For example, by only setting minutes in the config to 5 it will trigger every +hour when it is 5 minutes past whole. -Currently the only supported action is calling a service. Services are what devices expose to be controlled, so this will allow us to control anything that Home Assistant can control. - -``` - # Turn the lights Ceiling and Wall on. - execute_service: light.turn_on - service_entity_id: light.Ceiling,light.Wall - - # Turn the lights Ceiling and Wall on and turn them red. - execute_service: light.turn_on - service_entity_id: light.Ceiling,light.Wall - service_data: {"rgb_color": [255, 0, 0]} - - # Notify the user - execute_service: notify.NOTIFIER_NAME - service_data: {"message":"YAY"} +```yaml +automation: + trigger: + platform: time + # All following are optional. + # When 'after' is used, you cannot also match on hour, minute, seconds. + # Military time format. + after: 15:32:00 + hours: 10 + minutes: 5 + seconds: 0 ``` -## {% linkable_title Putting it all together %} -For every combination of a trigger and an action we will have to combine the configuration lines and add it to an `automation` component entry in `configuration.yaml`. You can add an optional `alias` key to the configuration to make the logs more understandable. To setup multiple entries, append 2, 3 etc to the section name. An example of a `configuration.yaml` file: +### {% linkable_title Conditions %} + +Conditions are an optional part of an automation rule and be used to prevent an action from happening +when triggered. Conditions look very familiar to triggers but are very different. A trigger will look +at events happening at the system while a condition only looks at how the system looks right now. +A trigger can observe that a switch is being turned on. A condition can only see if a switch is on +or off. + +An automation rule can have mulitiple triggers. By default the action will only fire if all conditions +pass. An optional key `condition_type: 'or'` can be set on the automation rule to fire action if any +condition matches. + +```yaml +automation: + condition_type: or +``` + +If your triggers and conditions are exactly the same, you can use a shortcut to specify conditions. +In this case, triggers that are not valid conditions will be ignored. +```yaml +automation: + condition: use_trigger_values +``` + +#### {% linkable_title Numeric state condition %} +Attempts to parse the state of specified entity as a number and triggers if value is above and/or +below a threshold. + +```yaml +automation: + condition: + platform: numeric_state + entity_id: sensor.temperature + # At least one of the following required + above: 17 + below: 25 +``` + +#### {% linkable_title State condition %} +Tests if an entity is a specified state. + +```yaml +automation: + condition: + platform: state + entity_id: device_tracker.paulus + state: not_home +``` + +#### {% linkable_title Time condition %} +The time condition can test if it is after a specified time, before a specified time or if it is a +certain day of the week. + +```yaml +automation: + condition: + platform: time + # At least one of the following is required. + after: 15:00:00 + before: 23:00:00 + weekday: + - mon + - wed + - fri +``` + + +### {% linkable_title Actions %} + +When an automation rule fires, it calls a service. For this service you can specify an entity id it +should apply to and optional service parameters (to specify for example the brightness). ``` automation: - alias: Sunset notification - - platform: state - state_entity_id: sun.sun - state_from: 'above_horizon' - state_to: 'below_horizon' - - execute_service: notify.NOTIFIER_NAME - service_data: {"message":"The sun has set"} - -automation 2: - alias: Turn lights off at 8am in the morning - - platform: time - time_hours: 8 - time_minutes: 0 - time_seconds: 0 - - execute_service: light.turn_off - -automation 3: - alias: Turn lights in study room on when Paulus comes home - - platform: state - state_entity_id: device_tracker.Paulus_OnePlus - state_from: 'not_home' - state_to: 'home' - - execute_service: homeassistant.turn_on - service_entity_id: group.Study_Room + # Change the light in the kitchen and living room to 150 brightness and color red. + action: + service: homeassistant.turn_on + entity_id: + - light.kitchen + - light.living_room + data: + brightness: 150 + rgb_color: [255, 0, 0] ``` -

    -All configuration entries have to be sequential. If you have automation:, automation 2: and automation 4: then the last one will not be processed. -

    +``` +automation: + # Notify me on my mobile phone of an event + action: + service: notify.notify + data: + message: Something just happened, better take a look! +``` + +If you want to specify multiple services to be called or include a delay, have a look at the +[script component](/components/script.html). If you want to describe how certain entities should look, +check out the [scene component](/components/scene.html). diff --git a/source/components/device_tracker.markdown b/source/components/device_tracker.markdown index 3dbae4228b5..510ab297929 100644 --- a/source/components/device_tracker.markdown +++ b/source/components/device_tracker.markdown @@ -21,7 +21,10 @@ Home Assistant can get information from your wireless router to track which devi - [TP-Link](/components/device_tracker.tplink.html) - [Thomsom](/components/device_tracker.thomson.html) -You can also decide to directly scan the network for devices by using the [nmap scanner](/components/device_tracker.nmap_scanner.html). +Alternative trackers: + +- [MQTT](/components/device_tracker.mqtt.html) +- [nmap scanner](/components/device_tracker.nmap_scanner.html) to scan the network for devices To get started add the following lines to your `configuration.yaml` (example for Netgear): @@ -32,10 +35,15 @@ device_tracker: host: 192.168.1.1 username: admin password: YOUR_PASSWORD + + # Optional configuration + + # If new devices have to be added to the UI and tracked by default (default: yes) track_new_devices: yes + # How often to scan for new devices (default: 12) + interval_seconds: 12 + # Seconds to wait till marking someone as not home after not being seen (default: 180) + consider_home: 180 ``` -By default, the device tracker will add all found devices into the `known_devices.yaml`. It will default to displaying them in the UI as well. To disable displaying new devices in the UI, change the value of `track_new_devices:` to `no`. - - -Once tracking, the `device_tracker` component will maintain a file in your config dir called `known_devices.yaml`. Edit this file to adjust which devices have to be tracked. Here you can also setup a url for each device to be used as the entity picture and set whether the device will be show in the UI when in away state.. +Once tracking, a file will be created in your config dir called `known_devices.yaml`. Edit this file to adjust which devices have to be tracked. Here you can also setup a url for each device to be used as the entity picture and set whether the device will be show in the UI when in away state. diff --git a/source/components/device_tracker.mqtt.markdown b/source/components/device_tracker.mqtt.markdown index e4731d1fbdc..a75bcbf6845 100644 --- a/source/components/device_tracker.mqtt.markdown +++ b/source/components/device_tracker.mqtt.markdown @@ -1,8 +1,8 @@ --- layout: page -title: "MQTT device tracker support" -description: "Instructions how to integrate MQTT based trackers into Home Assistant." -date: 2015-09-17 09:00 +title: "MQTT device tracker" +description: "Instructions how to use MQTT to track devices in Home Assistant." +date: 2015-09-19 20:41 sidebar: false comments: false sharing: true @@ -10,7 +10,8 @@ footer: true --- -Before this tracker allows the detection of devices which are able to send MQTT messages. +This platform allows you to detect presence by monitoring a MQTT topic for new locations. To use this +platform, you specify a unique topic for each device. ```yaml # Example configuration.yaml entry @@ -21,11 +22,3 @@ device_tracker: paulus_oneplus: /location/paulus annetherese_n4: /location/annetherese ``` - -Configuration variables: - -- **qos** (*Required*): Quality of service, default to 0. -- **devices** (*Required*): Array of devices to track. - - **'device_name'** (*Required*): Name to use followed by the topic. - -See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. diff --git a/source/components/index.markdown b/source/components/index.markdown index caa5cdc8457..30aeb780aba 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -24,7 +24,7 @@ Entities are things that you want to observe within Home Assistant. Support for
    -

    Light and environment

    +

    Light and environment

    @@ -83,7 +83,7 @@ Entities are things that you want to observe within Home Assistant. Support for
    -

    Devices and protocols

    +

    Devices and protocols

    @@ -143,7 +143,7 @@ Entities are things that you want to observe within Home Assistant. Support for
    -

    Presence detection

    +

    Presence detection

    Offers presence detection by looking at connected devices or by scanning the network.

    @@ -211,7 +211,7 @@ Entities are things that you want to observe within Home Assistant. Support for
    -

    Media player

    +

    Media player

    Controls your media player (Playback and Volume) and get details about the played track.

    @@ -260,7 +260,7 @@ Entities are things that you want to observe within Home Assistant. Support for
    @@ -350,7 +350,7 @@ the manufacturers of these devices.
    -

    Internals

    +

    Internals

    Those services offers you a wide range of possibilities out-of-box.

    @@ -404,7 +404,7 @@ the manufacturers of these devices.
    -

    Notifications

    +

    Notifications

    Allows you to send customized messages to the given service.

    @@ -463,7 +463,7 @@ the manufacturers of these devices.
    @@ -512,7 +512,6 @@ the service providers. | Type | Description | ---- | ----------- | [Automation](/components/automation.html) | Allow for automating service calls when a specific state is met -| [Scheduler](/components/scheduler.html) | Allows for scheduling service calls when sun sets or it is specific time | [Script](/components/script.html) | Allow user to define scripts to run from within Home Assistant | [Device sun light trigger](/components/device_sun_light_trigger.html) | Slowly fade in the lights to compensate the setting sun. Also turns on lights when you get home after dark. | [Simple alarm](/components/simple_alarm.html) | Let the lights blink red when the lights turn on while no one is home. @@ -522,10 +521,3 @@ the service providers. | Type | Description | ---- | ----------- | [Configurator](/components/configurator.html) | Component used by other components to get configuration from the user. - - -{% comment %} -{% directory path:components exclude:index %} - * [{{ file.slug | replace: '_',' ' | capitalize }}]({{ file.slug | prepend: '/components/' | append: '.html' }}) -{% enddirectory %} -{% endcomment %} diff --git a/source/components/logbook.markdown b/source/components/logbook.markdown index 878d611cd64..0f23530cc01 100644 --- a/source/components/logbook.markdown +++ b/source/components/logbook.markdown @@ -9,8 +9,10 @@ sharing: true footer: true --- - -The logbook component provides a different perspective on the history of your house by showing all the changes that happened to your house in chronological order. [See the demo for a live example](/demo/). + +The logbook component provides a different perspective on the history of your house by showing all +the changes that happened to your house in reverse chronological order. +[See the demo for a live example](/demo/). To enable the logbook in your installation, add the following to your `configuration.yaml` file: @@ -19,4 +21,19 @@ To enable the logbook in your installation, add the following to your `configura logbook: ``` - +It is possible to add custom entries to the logbook by using the script component to fire an event. + +``` +# Example configuration.yaml entry +script: + add_logbook_entry: + alias: Add Logbook + sequence: + - event: LOGBOOK_ENTRY + event_data: + name: Kitchen + message: is being used + # Optional + entity_id: light.kitchen + domain: light +``` diff --git a/source/components/mqtt.markdown b/source/components/mqtt.markdown index 6ea7f700bbd..31268648a26 100644 --- a/source/components/mqtt.markdown +++ b/source/components/mqtt.markdown @@ -43,6 +43,7 @@ The MQTT component has no TLS support at the moment. This means that only plain- - [MQTT Sensor](/components/sensor.mqtt.html) - [MQTT Switch](/components/switch.mqtt.html) + - [MQTT Device Tracker](/components.device_tracker.mqtt.html) - [MQTT-automation rule](/components/automation.html#mqtt-based-automation) - Integrating it into a component. See the [MQTT example component](https://github.com/balloob/home-assistant/blob/dev/config/custom_components/mqtt_example.py) how to do this. diff --git a/source/components/script.markdown b/source/components/script.markdown index 689bbfc936f..7dc662b1c75 100644 --- a/source/components/script.markdown +++ b/source/components/script.markdown @@ -9,7 +9,8 @@ sharing: true footer: true --- -Andythigpen has contributed a script component. This allows users to create a sequence of service calls and delays. Scripts can be started using the service `script/turn_on` and interrupted using the service `script/turn_off`. A separate page has been added to the frontend to see the status of your scripts. +The script component allows users to create a sequence of service calls and delays. Scripts can be +started using the service `script/turn_on` and interrupted using the service `script/turn_off`. ```yaml # Example configuration.yaml entry @@ -18,6 +19,13 @@ script: wakeup: alias: Wake Up sequence: + - event: logbook_entry + event_data: + name: Paulus + message: is waking up + # Optional + entity_id: device_tracker.paulus + domain: light - alias: Bedroom lights on execute_service: light.turn_on service_data: diff --git a/source/getting-started/android.markdown b/source/getting-started/android.markdown index a1578265a2f..72e2170c1ed 100644 --- a/source/getting-started/android.markdown +++ b/source/getting-started/android.markdown @@ -20,5 +20,3 @@ Home Assistant is not available on the Play Store. Instead, Home Assistant lever

    - -Some internet service providers will only offer dynamic IPs. This can cause you to be unable to access Home Assistant while being remote. You can solve this by using a free Dynamic DNS service like [DuckDNS](https://www.duckdns.org/). diff --git a/source/getting-started/autostart.markdown b/source/getting-started/autostart.markdown index 074df8e4857..bda54391481 100644 --- a/source/getting-started/autostart.markdown +++ b/source/getting-started/autostart.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Advanced Installation" -description: "Brief advanced installation tutorials." +title: "Launch Home Assistant on boot" +description: "Instructions how to setup Home Assistant to launch on boot on various platforms.." date: 2015-9-1 22:57 sidebar: false comments: false @@ -9,8 +9,6 @@ sharing: true footer: true --- -Here are some general tutorials on how to setup some of the more advanced deployments that are frequently requested. -
    @@ -29,7 +27,7 @@ ps -p 1 -o comm= If the preceding command returns the string `init`, you are likely using Upstart. -Upstart will launch init scripts that are located in the directory /etc/init.d/. A sample init script for systems using Upstart is maintained by this project. +Upstart will launch init scripts that are located in the directory /etc/init.d/. A sample init script for systems using Upstart is maintained by this project. To install this script, download it, tweak it to you liking, and install it by following the directions in the header. This script will setup Home Assistant to run when the system boots. To start/stop Home Assistant manually, issue the following commands: ```bash diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index 69438367cb5..f2238791327 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -9,13 +9,20 @@ sharing: true footer: true --- -Home Assistant will create a configuration folder when it is run for the first time. Depending on your operating system this is `~/.homeassistant` (OS X/Linux) or `%APPDATA%/.homeassistant` (Windows). If you want to use a different folder for configuration, run `hass --config path/to/config`.

    +Home Assistant will create a configuration folder when it is run for the first time. Location depends +on operating system: on OS X/Linux it is `~/.homeassistant` and on Windows it is `%APPDATA%/.homeassistant`. +If you want to use a different folder for configuration, run `hass --config path/to/config`. -Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains which components will be loaded and what their configuration is. An example configuration file is located at [`here`](https://github.com/balloob/home-assistant/blob/master/config/configuration.yaml.example). +Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains +which components will be loaded and what their configuration is. An example configuration file is +located [here](https://github.com/balloob/home-assistant/blob/master/config/configuration.yaml.example). -When launched for the first time, Home Assistant will write a default configuration enabling the web interface and device discovery. It can take up to a minute for your devices to be discovered and show up in the interface. +When launched for the first time, Home Assistant will write a default configuration enabling the web +interface and device discovery. It can take up to a minute for your devices to be discovered and +show up in the interface. -If you are running into troubles while configuring Home Assistant, have a look at [the configuration troubleshoot page](/getting-started/troubleshooting-configuration.html). +If you are running into troubles while configuring Home Assistant, have a look at +[the configuration troubleshoot page](/getting-started/troubleshooting-configuration.html).

    You will have to restart Home Assistant for changes in configuration.yaml to take effect. @@ -23,7 +30,9 @@ If you are running into troubles while configuring Home Assistant, have a look a ### {% linkable_title Setting up the basic info %} -By default Home Assistant will try to detect your location and will automatically select a temperature unit and time zone based on your location. You can overwrite this by adding the following information to your `configuration.yaml`: +By default Home Assistant will try to detect your location and will automatically select a +temperature unit and time zone based on your location. You can overwrite this by adding the +following information to your `configuration.yaml`: ```yaml homeassistant: @@ -53,74 +62,18 @@ http: api_password: YOUR_PASSWORD ``` -### {% linkable_title Adding devices and services %} - -Home Assistant will be able to automatically discover and configure any Google Chromecasts, Netgear routers, -Belkin WeMo switches and Philips Hue bridges in your network if you have -[the discovery component]({{site_root}}/components/discovery.html) enabled (which is by default). - -Not all devices can be discovered, so if you have any of the following devices or services, please see their respective pages for installation instructions: - - * [Device tracking]({{site_root}}/components/device_tracker.html) - * [ISY994 controller]({{site_root}}/components/isy994.html) - * [Nest thermostat]({{site_root}}/components/thermostat.html) - * [Notifications]({{site_root}}/components/notify.html) - * [SABnzbd](/blog/2015/03/22/release-notes/#sabnzbd) - * [TellStick](/components/tellstick.html) - * [Wink hub]({{site_root}}/components/wink.html) - * [Add support for your own device or service]({{site_root}}/developers/add_new_platform.html) - -See the [components overview page](/components/) for a complete list of supported devices. - -### {% linkable_title Grouping devices %} - -Once you get a bunch of devices set up, it is time to organize them. This can be done using groups. -Each group exists of a name and a list of entity IDs. Entity IDs can be retrieved from the web interface -by using the Set State page in the Developer Tools (one in the middle). - - -```yaml -group: - living_room: light.table_lamp, switch.ac - bedroom: - - light.bedroom - - media_player.nexus_player -``` - -### {% linkable_title Customizing devices and services %} - -By default, most of your devices will be visible on the Home Assistant States -page and have a default icon determined by their domain. You may find it -desireable to customize the look and feel of your front page by altering some -of these parameters. - -By adding the following parameters to the `homeassistant:` section of your -`configuration.yaml`, you can customize the attributes of any state on -your front page. - -```yaml -homeassistant: - - # Add this to your existing configuration - - customize: - some.entity_id: - hidden: true - entity_picture: http://URL.TO/PICTURE - friendly_name: SOME CUSTOM NAME -``` - -

    Customizations are currently unavailable for device tracker entities.

    - -### {% linkable_title Setting up Home Automation %} - -When all your devices are set up it's time to put the cherry on the pie: automation. There are many ways to automate your home with Home Assistant so we have divided it into a couple of topics: - - * [Automatic light control based on the sun and if people are home]({{site_root}}/components/device_sun_light_trigger.html) (built-in component) - * [Intruder alerts]({{site_root}}/components/simple_alarm.html) (built-in component) - * [Setup your own automation rules]({{site_root}}/components/automation.html) (using configuration file) - * [Create your own automation component]({{site_root}}/developers/creating_components.html) (writing Python code) - ### {% linkable_title Setting up your phone or tablet %} Home Assistant runs as a self hosted web application. Home Assistant contains support to be added to your homescreen. If you're on Android you can follow [the visual guide]({{site_root}}/getting-started/android.html). For other devices, open Home Assistant on your mobile browser and click on the add to homescreen option. + +### {% linkable_title Remote access %} + +To make Home Assistant accessible while away from home, you will have to setup port forwarding from +your router to port 8123 on the computer that is hosting Home Assistant. Instructions how to do this +can be found by searching ` port forwarding instructions`. + +Some internet service providers will only offer dynamic IPs. This can cause you to be unable to +access Home Assistant while being remote. You can solve this by using a free Dynamic DNS service +like [DuckDNS](https://www.duckdns.org/). + +###[Next step: Setting up devices »](/getting-started/devices.html) \ No newline at end of file diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index aeeb5bde4a7..7d1ebfbb1e5 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -54,7 +54,7 @@ When using boot2docker on OS X you are unable to map the local time to your Dock
    -

    Home Assistant uses Python 3.4 which is not shipped with the current Raspbian distibution for the Raspberry Pi. Before installing Home Assistant, you will have to install Python 3.4. +

    Home Assistant uses Python 3.4 which is not shipped with the current Raspbian distibution for the Raspberry Pi. Before installing Home Assistant, you will have to install Python 3.4. Once that is complete, installing and running Home Assistant on your local machine is easy. Make sure you have Python 3.4 installed and execute the following code in a console: @@ -72,31 +72,27 @@ hass \-\-open-ui

    -

    Troubleshooting

    +### {% linkable_title Troubleshooting %} -

    If you run into any issues, please see the troubleshooting page. It contains solutions to many of the more commonly encountered issues.

    +If you run into any issues, please see [the troubleshooting page](/getting-started/troubleshooting.html). It contains solutions to many of the more commonly encountered issues. -

    For additional help, in addition to this site, there are three sources: -

    -

    +For additional help, in addition to this site, there are three sources: -

    Staying Up to Date

    -

    In order to update Home Assistant to the latest stable release, simply type the following into a console:

    + - [Gitter Chatroom](https://gitter.im/balloob/home-assistant) for general Home Assistant discussions and questions. + - [Development Mailing List](https://groups.google.com/forum/#!forum/home-assistant-dev) for development related questions and discussing new features. + - [GitHub Page](https://github.com/balloob/home-assistant) for issue reporting. + +### {% linkable_title What's next %} +If you want to have Home Assistant start on boot, [autostart instructions](/getting-started/autostart.html) can be found here. + +To see what Home Assistant can do, launch demo mode: +```bash +hass \-\-demo-mode +``` + +To update Home Assistant to the latest release: ```bash pip3 install \-\-upgrade homeassistant ``` -

    If you would like to stay up to date with the newest unstable builds (alphas, betas, and release candidates), use this command:

    -```bash -pip3 install \-\-upgrade \-\-pre homeassistant -``` - -

    What's Next

    -

    If you want to see what Home Assistant can do, you can start the demo mode by running hass \-\-demo-mode. Home Assistant has a few other command line flags that can be displayed by running hass \-\-help.

    -

    From here you may now start configuring Home Assistant to your liking. For more advanced users, the advanced configuration page contains brief tutorials on creating more advanced installations.

    - ###[Next step: Configuring Home Assistant »](/getting-started/configuration.html) From 4b74360f471d58561ee2256dd01d3d3aa345a7e2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 19 Sep 2015 22:10:31 -0700 Subject: [PATCH 172/188] Update getting started --- _deploy | 2 +- source/_includes/custom/navigation.html | 5 +- source/getting-started/automation.markdown | 171 +++++++++++++++++++++ source/getting-started/devices.markdown | 62 ++++++++ 4 files changed, 237 insertions(+), 3 deletions(-) create mode 100644 source/getting-started/automation.markdown create mode 100644 source/getting-started/devices.markdown diff --git a/_deploy b/_deploy index 5ccad30d255..a9227948024 160000 --- a/_deploy +++ b/_deploy @@ -1 +1 @@ -Subproject commit 5ccad30d2553723abb012558620ab31ef8d5fb2a +Subproject commit a922794802498d06ecbc2a610ce3088e611bd846 diff --git a/source/_includes/custom/navigation.html b/source/_includes/custom/navigation.html index 06d049a284e..29109f91d69 100644 --- a/source/_includes/custom/navigation.html +++ b/source/_includes/custom/navigation.html @@ -3,9 +3,10 @@ Getting started
  • diff --git a/source/getting-started/automation.markdown b/source/getting-started/automation.markdown new file mode 100644 index 00000000000..91ef06394b5 --- /dev/null +++ b/source/getting-started/automation.markdown @@ -0,0 +1,171 @@ +--- +layout: page +title: "Automating Home Assistant" +description: "Steps to help you get automation setup in Home Assistant." +date: 2015-09-19 09:40 +sidebar: false +comments: false +sharing: true +footer: true +--- + +When all your devices are set up it's time to put the cherry on the pie: automation. Home Assistant +offers [a few built-in automations](/components/#automation) but mainly you'll be using +[the automation component](/components/automation.html) to set up your own rules. + +### {% linkable_title The basics of automation %} + +Every automation rule consists of triggers, an action to be performed and optional conditions. + +Triggers can be any event observed in Home Assistant. For example, it can be a certain point in time +or a person coming home, which can be observed by the state changing from `not_home` to `home`. + +Actions will call services within Home Assistant. For example, turn a light on, set the temperature +on your thermostat or activate a scene. + +Conditions are used to prevent actions from firing unless certain conditions are met. For example, +it is possible to only turn on the light if someone comes home and it is after a certain point in +time. + +The difference between a condition and a trigger can be confusing. The difference is that the trigger +looks at the event that is happening, ie a car engine turning on. Conditions looks at the current state +of the system, ie is the car engine on. + +### {% linkable_title Exploring the internal state %} + +Automation rules are based on the internal state of Home Assistant. This is available for exploring +in the app using the developer tools. The first icon will show you the available services and the +second icon will show you the current devices. + +Each device is represented in Home Assistant as an entity consisting of the following parts: + +| Name | Description | Example | +| ---- | ----- | ---- | +| Entity ID | Unique identifier for the entity. | `light.kitchen` +| State | The current state of the device. | `home` +| Attributes | Extra data related to the device and/or current state. | `brightness` + +A service can be called to have Home Assistant perform an action. Turn on a light, run a script or +enable a scene. Each service has a domain and a name. For example the service `light.turn_on` is +capable of turning on any light device in your system. Services can be passed parameters to for +example tell which device to turn on or what color to use. + +## {% linkable_title Creating your first automation rule %} + +Before we dive deeper into what every piece of automation _can_ do, let's loot at a simple automation +rule: **Turn on the lights when the sun sets** + +```yaml +# Example configuration.yaml entry +automation: + alias: Turn on light when sun sets + trigger: + platform: sun + event: sunset + action: + service: light.turn_on +``` + +In this example, we are defining a trigger to track the sunset and tell it to fire one hour before +the sun is setting. When this event is triggered, the service `light.turn_on` is called without any +parameters. Because we specify no parameters, it will turn on all the lights. + +After a few days of running this automation rule you come to realize that this automation rule is not +good enough. It was already dark when the lights went on and the one day you weren't home, the lights +turned on anyway. Time for some tweaking. Let's add an offset to the sunset trigger and a condition +to only turn on the lights if anyone is home. + +```yaml +# Example configuration.yaml entry +automation: + alias: Turn on light when sun sets + trigger: + platform: sun + event: sunset + offset: "-01:00:00" + condition: + platform: state + entity_id: group.all_devices + state: home + action: + service: light.turn_on +``` + +Now you're happy and all is good. You start to like this automation business and buy some more lights, +this time you put them in the bedroom. But what you now realize is that when the sun is setting, the +lights in the bedroom are also being turned on! Time to tweak the automation to only turn on the living +room lights. + +The first thing you do is to look at the entities in the developer tools (second icon) in the app. +You see the names of your lights and you write them down: `light.table_lamp`, `light.bedroom`, +`light.ceiling`. + +Instead of hard coding the entity ids of the lights in the automation rule, we will set up a group. +This will allow us to see the living room separate in the app and be able to address it from +automation rules. + +So we tweak the config to add the group and have the automation rule only turn on the group. + +```yaml +# Example configuration.yaml entry +group: + living_room: + - light.table_lamp + - light.ceiling + +automation: + alias: Turn on light when sun sets + trigger: + platform: sun + event: sunset + offset: "-01:00:00" + condition: + platform: state + entity_id: group.all_devices + state: home + action: + service: light.turn_on + entity_id: group.living_room +``` + +Christmas is coming along and you decide to buy a remote switch to control the christmas lights from +Home Assistant. You can't claim to live in the house of the future if you're still manually turn on +your christmas lights! + +We hook the switch up to Home Assistant and grab the entity id from the developer tools: +`switch.christmas_lights`. We will update the group to include the switch and will change our action. +We are no longer able to call `light.turn_on` because we also want to turn on a switch. This is +where `homeassistant.turn_on` comes to the rescue. This service is capable of turning any entity on. + +```yaml +# Example configuration.yaml entry +group: + living_room: + - light.table_lamp + - light.ceiling + - switch.christmas_lights + +automation: + alias: Turn on light when sun sets + trigger: + platform: sun + event: sunset + offset: "-01:00:00" + condition: + platform: state + entity_id: group.all_devices + state: home + action: + service: homeassistant.turn_on + entity_id: group.living_room +``` + +### {% linkable_title Further reading %} + +We went over the basics of creating a home automation rule. From here no longer any hand holding, +go automate! + + - Learn about the available [automation triggers](/components/automation.html#triggers) + - Learn about the available [automation conditions](/components/automation.html#conditions) + - Learn about [scripts](/components/script.html) to help you trigger multiple actions and delays + - Learn about [scenes](/components/scene.html) to help you set many entities at once to your liking diff --git a/source/getting-started/devices.markdown b/source/getting-started/devices.markdown new file mode 100644 index 00000000000..caf9128ce9c --- /dev/null +++ b/source/getting-started/devices.markdown @@ -0,0 +1,62 @@ +--- +layout: page +title: "Adding devices to Home Assistant" +description: "Steps to help you get your devices in Home Assistant." +date: 2015-09-19 09:40 +sidebar: false +comments: false +sharing: true +footer: true +--- + +Home Assistant will be able to automatically discover and configure any Google Chromecasts, Netgear +routers, Belkin WeMo switches, Philips Hue bridges and Sonos speakers in your network if you have +[the discovery component]({{site_root}}/components/discovery.html) enabled (which is by default). + +See the [components overview page](/components/) to find installation instructions for your devices +and services. + +To get the most out of automation, it is useful to setup the following things: + + * [Presence Detection](/components/#presence) + * [Notification service](/components/#notify-service) + +If you can't find support for your favorite device or service, +[consider adding support](/developers/add_new_platform.html) + +### {% linkable_title Grouping devices %} + +Once you get a bunch of devices set up, it is time to organize them. This can be done using groups. +Each group exists of a name and a list of entity IDs. Entity IDs can be retrieved from the web interface +by using the Set State page in the Developer Tools (icon in the middle). + + +```yaml +# Example configuration.yaml entry +group: + living_room: light.table_lamp, switch.ac + bedroom: + - light.bedroom + - media_player.nexus_player +``` + +### {% linkable_title Customizing devices and services %} + +By default, all of your devices will be visible and have a default icon determined by their domain. +You may find it desireable to customize the look and feel of your front page by altering some +of these parameters. This can be done by adding the following config to the `homeassistant:` section. + +```yaml +# Example configuration.yaml entry +homeassistant: + + # Add this to your existing configuration + customize: + some.entity_id: + hidden: true + entity_picture: http://placehold.it/200x200 + friendly_name: My better name +``` + + +###[Next step: Setting up automation »](/getting-started/automation.html) From c323cddca17d881561a0ffe7ff1f73d618d72ebc Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 19 Sep 2015 22:10:40 -0700 Subject: [PATCH 173/188] Reinstate IFTTT blog post --- ...-09-13-home-assistant-meets-ifttt.markdown | 209 ++++++++++++++++++ .../images/blog/2015-09-ifttt/og_facebook.png | Bin 0 -> 24010 bytes .../images/blog/2015-09-ifttt/recipe-do.png | Bin 0 -> 13439 bytes .../images/blog/2015-09-ifttt/recipe-geo.png | Bin 0 -> 5195 bytes .../blog/2015-09-ifttt/recipe-github.png | Bin 0 -> 9139 bytes .../blog/2015-09-ifttt/recipe-twitter.png | Bin 0 -> 8414 bytes .../blog/2015-09-ifttt/recipe-weather.png | Bin 0 -> 9026 bytes source/images/blog/2015-09-ifttt/splash.png | Bin 0 -> 9240 bytes 8 files changed, 209 insertions(+) create mode 100644 source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown create mode 100644 source/images/blog/2015-09-ifttt/og_facebook.png create mode 100644 source/images/blog/2015-09-ifttt/recipe-do.png create mode 100644 source/images/blog/2015-09-ifttt/recipe-geo.png create mode 100644 source/images/blog/2015-09-ifttt/recipe-github.png create mode 100644 source/images/blog/2015-09-ifttt/recipe-twitter.png create mode 100644 source/images/blog/2015-09-ifttt/recipe-weather.png create mode 100644 source/images/blog/2015-09-ifttt/splash.png diff --git a/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown b/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown new file mode 100644 index 00000000000..c05d2dd9401 --- /dev/null +++ b/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown @@ -0,0 +1,209 @@ +--- +layout: post +title: "Home Assistant meets IFTTT" +description: "Announcing new integration with IFTTT and some samples to get started." +date: 2015-09-13 09:28:00 -0700 +date_formatted: "September 13, 2015" +author: Paulus Schoutsen +comments: true +categories: release-notes how-to +--- + +

    Today we announce the release of Home Assistant v0.7.2 which includes brand new support by +@sfam to integrate with IFTTT. IFTTT stands for If This, Then That and is a +webservice that integrates with almost every possible webservice out there. Adding Home +Assistant to this mix means Home Assistant can connect with all via IFTTT.

    + +

    It is now possible to disable your irregation system if it is going to be cloudy tomorrow or tweet +if your smoke alarm goes off.

    + +

    + +

    + + +

    Head over to the setup instructions to get started with IFTTT. Click the +read more button for some example recipes.

    + + + +

    In each of the following examples, make sure to replace the XXX in the url with your correct +host address and api password.

    + +

    Turn off irregation system when not needed

    + +

    + +

    + + +

    Maker channel setup:

    + +
  • + + + + + + + + + + + + + + + + + + + + + + + + +
    Field Value
    URL http://xxx.xxx.xxx.xxx:8123/api/services/switch/turn_off?api_password=xxxxxxxx
    METHOD POST
    CONTENT TYPE application/json
    BODY { “entity_id”: “switch.irrigation” }
    + + +

    Tweet when important events happen

    + +

    + +

    + + +

    This will tweet a message when a MQTT message is received that the smoke alarm has been triggered. +Setup Maker channel with event name HA_FIRE_ALARM and Twitter channel to tweet the message in +value1.

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +
    # Configuration.yaml entry
    +automation:
    +  alias: Post a tweet when fire alarm is triggered
    +
    +  platform: mqtt
    +  mqtt_topic: home/alarm/fire
    +  mqtt_payload: 'on'
    +
    +  execute_service: ifttt.trigger
    +  service_data: {"event":"HA_FIRE_ALARM", "value1":"The fire alarm just triggered!"}
    +
    + + +

    Turn on lights when I get home

    + +

    + +

    + + +

    Maker channel setup:

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Field Value
    URL http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx
    METHOD POST
    CONTENT TYPE application/json
    BODY { “entity_id”: “light.kitchen” }
    + + +

    Flash lights when a new PR comes in for Home Assistant

    + +

    + +

    + + +

    Maker channel setup:

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Field Value
    URL http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx
    METHOD POST
    CONTENT TYPE application/json
    BODY { “entity_id”: “group.all_lights”, “flash”:“yes” }
    + + +

    Fire events when pressing the DO button

    + +

    + +

    + + +

    Maker channel setup:

    + + + + + + + + + + + + + + + + + + + + + + +
    Field Value
    URL http://xxx.xxx.xxx.xxx:8123/api/events/do_button_pressed?api_password=xxxxxxxx
    METHOD POST
    CONTENT TYPE application/json
    + diff --git a/source/images/blog/2015-09-ifttt/og_facebook.png b/source/images/blog/2015-09-ifttt/og_facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..18ab31a495c2a340bb179a861b977966c1c82b13 GIT binary patch literal 24010 zcmeFYRa~6G(=G@Bf`#B3+zB$cyF(Zpg8Sg^PH-J0Kya4;!98ej2=4B#gS+hH|DEsb zUYy_A-|od;?cBUFUDe&yUDef3KX0V6q6``e5ef_p44Ry*q$&)|J1rO(SOKJW&^NI$ zmRryZp{taZtD1wktB0{O2u94z!30DuXJ>2yQUw{Cc{vS%1Yuy{%&pY5T(y7-{H6|e zEXM!Juz1=zLZx9~1Vua@jZJMpuH+^l3oCmeN=R!bCApQE5am}cAS=*O0%U0=>+K9u z^Hx+h^|mqPGous{CKvSNhbpiGxf+vu+S%H>@OuhT{zorA^#0##044c zw1CRw5)RHFaxNBDW>Z#fR&s7O7B&t}9v&Vha&}fWRsbtIfQ_A*jfbCuou8GJ{D1r? zp|v@ine(ekO8<|#pie@SmaeXj`~ZN5hX;!X2aAKV1%Qo@kMExjc6MfH31$~Bdskym zW_uT^|JEQ0axrzba&)zFuqXeg(b&Yn%~gmJ+S32(f}JA}_&*ifyZjGBK}`nmG$^di-Vi9DRex{ss39SYPuoLljdM!mFD|zSvh+bS7Uoq z(0|u!1+Djg$nyPfW%(tXLB_5Q&gu>hw*Nf?lr0@x9b7CO9LXirxX6LVrdIa){1zy11!X(n%K{C@SjzBb{XZ~-tbH6|y?(SnJ52J6H5CJmt7zzv|_;-P-8t@-s|J}fZ zkpFuDizN1+D@Ks$zbiR>;J>RV(z}1xZy3;mqU10X{{%!~#Q&q={}=p!YMlQMtSPTG z4e~>OCN! zXl1TlrNk}XWUQUsapnCyR9Xi%IIW6{6ZHF*-WFgM!}P%NI`=YRCNvjKX6xrMXgicV zhF+X@H!VN0Z90UL5-C=qd@aVcqyzlq7qyJ9j0S)70g(o*g%plO>t_GOE7)y`{P2?( z{W8h`?V>A#-TB#YW&6|M7(8oL#=Ptme!&Xngtd^ehQ{o0Rflv3huT#95HR}h7GDQJ z00wuNWuKL6F1Iq|)(PH(O(ziPJrZpe)d!&o0-Ni{3_sYWb@wHkH%(Zg?U0^CTYMqi z;x)(7u@o77L34LC&r9Cr4$^g3^m-li>)T}qGJe;Rh(f&++00JIx~SKmQGWhiYO6ac z4A>ufx4yzRQFk16U|b>IkgiXr?{$8iKtXq97@7sLx^i3W>{%I_?vc$IC)s(Ua?OeT za{J1~#l`rwve1N&@}WafDn?m87fV?he7U$CYzchMhil_DSDKJOss>f4@I%-f(%sB|rj#@II%z zx6NH05x#d)83Lgk4&`k(D*hIR^=lxK3fO_FP4CfYN{kEw1AY&x~O36B{pQSy^nR3 z(Y<8d=!F(kdZbuIK;Uy&lrokhf=+%?q3ES0I!msIgToB2`D>0AEAf5Ep{63Ep?NVO z5ZI}J^K|d$T8WZgZkomGWO8#fTk0Q*pHh)|@qRuQHZb3<3zb|!SZ(k&F1y|0WOs!m z-Oq4bvo>xGIw)EWZ5RC)+XJv6PRih~3i1;1NGm2-r)>5pFi45O6(n!l$~y~|Tb(Ru zmzvswt$*dsF14$-J8tf#7@9LUm~O#|cgh><;mni`NWy}n0pe9c7=Fp<~S{ z@vA}8)O7oAG9xa6W?)cvo7367_C5~=J%d)WOLtojRWYXZ?WBXdBhT^^1E;o)-D=Ct zw9@8a?=)udIkS%6#bdAG_fJVlBmYXYQ?= z%HODB!ryGJ(sLV@3g3B3DpS^-Z|5W6dSQ>|K#k=)68lF%D@OS3`3mh5_a7%1jN9}e zwt!Gi{GLYo=fiOsng?F^yPZvxGBKkM;zEruqe*wAgeGSun z;FvMeKNn%T=80~rsTdWn{y=YB`9Z2{ttw|+F(jy+ID|Nyp-SziV*Bgku_N&x%-g@H zL<`Y+Fb9gUPo3}Zy_%^DsF%OnclBgW#YIiwgWWxGz)^*!w0m?hR^miL$%Ea*c2~io z;@IjH`5xAZm?|xk}-qYC`2C};CA)o~j8ncu7NhYZ|rm9&(27P@@`k4!| zMx%;VUi@a73&gM*tHX!543Xq95m0Z7cT-n!KEo#HLGFspIlKh3175Fk{5#3Uv>ZcL zO$4H2zD*5kmBcdd%*sfnD3bM(7!T+^+N;o77(_g1F_7yjeic8EXWm9IU;mm7;sLz+4>o@Hj;P|!Uc*d ziSwRl(OW<3S1#;_ks~+p2*bTrTC-x9tSa$2y zSG%BtSb^F zw)$6A(?x4+S{`a&y{9@qJ6MpN%0-fgf#B9{JuAK4Os_>Cmk5)iOIF3Yw;*iWT>R-z zeixD*9J_}@_d<3zxdc*SQ);5xg$2Sv06a|;gIW1x!VoZT-Gt|fN!7(z~zE zWcF=OWgwt7(Bm~8qf*S1CSeq_s-WD~MmgU;%t1BWtp@}^*4iDNZ~2fC`D_ew@QF96 zzgU=kboqPHQpT=z-}%#gol>hrg{oBCA}>J!vmGun!v$xpBl3P_s@H>fBLmCvFv-AxnMGk&-{fe5p| z;putwmuQNqWH3pxLT4SkU7EK9H1^$ig)pdppJR5SYBuSM+S@bdrGO35&o@E^L~LVH zEj8$4ggl)=%|Yodjrt@$)3-o~F&MInQm~Iz2=%QiOo0{=?N27-*+R$jRpHoJq6>To zVEGG*&j<`}0jMo4G%wNU_z}0D>D{ zZnf^v6yW#-!(e`l3E5v(FJHjf^tLRRO%;!j3LKjycDjcj#08%wr;c-?p9+KE1IRR9 zo}*pA2za@fXJlmD6okic7w>AkLeTFO<*wC+6Su=Vjji;bc{zMUV|BWZst5 z-LBT36K=7OPXAban%d;?IpH_Tl5sPflL{WcE(1-sB)d1(wAkmR1{-uzK_m;K&LGy! z+C3{*-r})u8*LlcfrUmPp&wRxm@}Tb_rBppW{Gw2chp>kMj#Bo_jsD?A2G>L>L#Wr z!7n~n7Q3+611x;uQYozFle4~=ou9AL`>m>>!3)<)&!^F0sUAabZGpgbh7gX%i6Fsb z_KdQNIPHui4Ir~|*T$sq*8B7p*KFZEN=w;+I7eo>0zBAQkO;i~tXwmIB7so!W2w!{ z4Ezp6La0>%>l>Fm8GIQ*B#XnhzA;s86v(j;{oqd? zXDi72q~EITQ1adBdHKOi9D(?@o2YyUojlCp*oV8OV3uDo$laMi&mu|FaaVCDnrtK9 zst@2k=Z~KXeobdf-bIMfXTHi^vY=&oV!9()-!%g?>rzwy8rFXNb zCAIsD--~|~Bk_?moJf!=yLHD7^X4)l+R>W;Zk=C5Zm`m5YZ)4Ldfyy1t$9bQ#fzMc z7JqiTs35e|Yj)fO@~rkk5YdQ|_y^Pg3&(mqE*B#O%O_FuGsTYU?wTE+QuGog5PhNP z-U{ZsoWxA>XJ5Nsq-!pYlr&sdye73`4yu^jlr2!{jaKV=j zGjqUchb|Gn&l(J1xiup;4sQnCo5N6i1Fd>X6-~{#_Pe#=!`Uw=jd<&{>+I{oZ#b{o z3^T*5jTS2@(10zcU{KxkTV({t8dV1)R`+1g>D$IIN83CtlHw#$G;DC!17C0QXW1rbT@77MW_p4T8fHVIs+CATt}#;r^8#RfgC>H z6N|_3UyXFQ2QV%2hAAn;d%w~4J@V4tT3JrgKeb~|={Qv*LisLs!#8O`F8N&3{v>EVAOrD64SCC(T&h7UatI>WU+x*Nb zdJRnF24A|@`3n|Bv9fumsFu71-SdZw;PR$e_w&&ZX-x@4M5!MYa`sM0&^*O-os-sB`i$VPP63J7(hYR(wRoG&{LuBTA;#cB&S3q&}d zFPq3{9TvRbg-CXS=f-;^FE1|*ChCL893TAwIYYfkQ$vGL?5FTaqBsPQ+F}VHs~6Ys(l%%Bkrj8Ow-Xh!j7sG3TqU&e4zkhk!PVJ_C&e{Tme)fG^P|Ay z!wq%-j9lN}WJZxnwi6xK656EIDod)|JG0mC=Y9aX1RsrLJ6~)s?BZ%47niFjTt+B3NY30KMj!-; z5EmoM3+3QLfO`8j$298HuH?^L3LshUv%lP!-8RRne<)i8-9XIL#7t@6l&m5}v?8Oz z`9j*?zw(MnvB4(1?|2Sd_OpFP>h@RKVhK5lkLzNPo!g^$a09^G6DP&hCmf9;#+nRI z_uFwz_Nyp@U+gg4rNxBQD49jTCD!QJ@6pD4(SJzBQ&Y(0@R+U=$MMJ?Njt#11yEt) z9m!o}hJHce5QJ@5j%7YUvMQ-mD-m}3PBWQuWDPO=EyaOhIYu+lOm&j9g=~SM^pRnO zd)K=TQZi2U{aB;#IXvl;m_6ce2Ka0=R-{o?HA+hhN+}${E``YYAWk_A9|I8n@%5!; zeVgK{euXBN4Ln<#tAmXR)%Vmg!4ij^Lfu5iCLS#P;jhzlxBl!dgUq36unhtbkn~HG zEN+w$U$mwhpSN~Q_Xizlw7(h`S>F?3)^DlL&+p#(^^It|WvEwNe$ZQ`nrHl^Ax(I_ zKQ=k->%v_3q_v9WnJr8kv-fD2t117Xj^xhMgueRn0Nvi>ePBWfa>_a{njw4Kljt z{q`h>A(p)FOb;@NCk4|jEg(~>UrLW()#2}@d6TlR(i5299P|CCo62;Qo^Zm-;WhuufWS(>d`~kFIPxVFP!1tEJlQH_&b2{n!ngLA){!ggSy*|p_9JN|5~ zjg&9k-`He2>58cGPqjRVK=3m%OXWTcs^$~#?wCMA0X9E}m|gx$;WMyvjUaSnxzo7j zYdr-rag_$`M6y51$ZahQCJ2aeZ3cKRwmGJxi*J4etvEO>z1*pEW*HF{{BmaYh^YaO z$Ctx9ncnRO3wQR*;&azlX})w0_;Mo)fP7yZkL?QVdQKLk&lvzO$Hs=$Ns@1564DY* z4GF2KMi>n8ig?aKFW1w^kGS8%Li3Fr{4d5XuBwMnZw+`y8{2L6NPM@!Jc^mTu++yz zST2_J5-8p{{8OQ1(;PH2YXcEj*RR^4pTr__m!%i|1^c>kT6c=pmnVIfdj1~GzPK%w zcd?(|2P1jMIY{nGn%#lx)-~u+vPsJ7o)0*9R4>kS8p_gQ<*2L!Zjtk>M4jX+=lMQJ z{jEK;r}Nbk1yCK4Ksn0Ci6O|y-81{qifg3gqAeQLU+B(P&?@TewyR@Shmp9 z{{K%hQq1Y(FGLa7sn@qp%B^%?$_k@pJ|@O@fxJY0z6xv&R91)po^Lh2n2Fu z>D#nbPzDSxT?HvV@5EfISUKeyRg(=YP#_D#(=$3?j3k1@B20lqZ&e5doTz8bo%1}D zTQTWnF{<)C@AU%;M8 z+-T^i?~o+d?Pf;F?=IUX4QRp!MME?+Hucz}sZKmlYE$j`cM$jx$a1nZv%vNeT&O)|m%9QHJM&o(D?d@iFzYcBg~ zjN#ez&AoTr@F@PGEb5O{96=)S896pPlAX=h>V#^7yA51CZLpv-Zx16lNc6>paBShM zdw5uS^szgEIX%*bqlU^y`;hK_c<-;@N-b#k_H=oZNuCX(QCf@%0hRckO;IeRupWZo zMF;qzHM?+OUZD-j6qO*(4+$0*Xd%u_u}Nd6cg!^?k$@ufum(Yxz zgE>yT`8+i|ofu+5o4zBYn42KxeyK#3ig%oUisNf&WoUUq`)~ym^sDC~+r=2;9Yl*K zw2M?Z<4wK~&T#{97Al_ut6#jj9E;)af~cmcrH)gBEMFG?l$D7}aqNC0H0$E1D{?S2 zXLQ6Y%2E*SXm>^RZtJ~RZeR1eA!3`lCA_qbfoA-WK5W>rNizIJnx*%s2nZPsIcK+y zuY5EkhJ?A&-%4_cL>|{!>X`}c>@a6c6O^-Z+TB;)yuf>NTEz&4eCn^#9kUb^G-I$_ zlU;e6-XXlWWtTw;CMX_?sWz`c?Y5AgCyor++ym54bvE;r;7>f=52h>_w|3PE7L#oH zdAavx?Eai0m)Rk<*^(ebH#0T^w}=WOrXlzaj4Tj9%mE)loAIPOjF1H z*~Nv`jtkJ%CfsS@vN|O zeX(bwwWc`G!hV@0g-p@{X}cWW}5p?nfDR4xkXXxqH`62 zc?Q*YKji4{QoU~`_ue-;ab*jl%E391asqX0Or-4Wm@`EfwvhyM1&V*+P~Tey-x|t1 z6Em+2jgIUgN#x9yVC}_%Ur!?-rH3C^{0Axywi9{4^=s-zv-4kl z`m_OO1Bt!##Whr!LAc;<)NFS8681BJ944ojp(OYqWmcxTK6{se!`TTnP{;Nt(K=I? zWdz#%`&1=trspreJr+3;&!TZeMDZ*)wC;xrAM%YLhknJ}p#nU$WmKNFliwh6P&^l! z;%|;b?hi_eD`Pa|lSk!ml#J2S``g0X{mz|X+ybF1*1uUbUd7dAq60ChUKI%)It#Ng zhFe`dar@)*QS6<92gyo^T3aV>|490XR;~QWYsjZO9|#scE8=a>XE>N?Ctn{D8Fh^v zipQa;O_j$xl5Z_M{%U-3KUo8L-7~D&$7C7bR zHl@bH&tg`s)=fr4q+ zCO4C?v&#;heg_j2ycVi3Au3lvoQ)miZ*jVL1er9@rjQq127HZ zU7fx@;0-h*;Uch{w^}5}jUn7)HXlqH2x1xq?Mg3Eg4)$ew5Y5z{PM&Vn3vwcAN7#6 z(=R-^)#0D)ie!x1C`*ir`uPKaqtLxDeUW2#Do%(~6+pJ9!KC03Vl?L)>4Njq$fGTx zxW?vk$La99{NyC<>v@*Jo)VC z78fLo?lx4jxvo%y?tvkcsIO43O>{VXQn=cOnqE6EA62`jLy$TZyP*{^|6BI9}<=i{=oqiJ~-78urg;p7B9p_D!^v!;6 z62u-9%$Hm;g3h^H+GdTRaK zxr&cCJnlECok_!hqkV(BQu)b#a~$UqtsgEpN}6tm7cXx75}s3D+mncU2{$ZEQF|Ys zkz84ipGrOsJ>%MG(l>G5+yo?`y=d|B_B+S_@o=s}cT-T#8pHhry6BVKUzmLLkdf4_ zb1X?z7)nxa4{pL9N$4T#V}$8bGHuh3Yyb2XyUkv-$fqj0&#{gpV_O*wU(ZWo>xbNg zXtB2{%$7l>`&WFPl6^E;(>bs%?@`XJnb4P&9FY$3~QU!&N%Cg&t6AC_!KObtv8c zTY#X;0nY%sGowx+ufsXZC7nb95e^g}E{Owf<~>^p42*O5koN8CE?mI9JVX{16&=r2 z1atJxkjH#+RiLJ%q9)Q2J1xc9r^mne^`c%iE?Uh*iRFJs0+ua z)da%BvJD<<8d+M1m<-uuc0Im#WE_k;fSV3yVi>X2tT$pRD;bfLnm~{K#b; zBp+b=hie3hg;r!)pM6?`j#hYId@LkV1F*YX81cA9h*$n;;EaR}lO^~f?kD;Wn&+t+ zb9~x-ZouqhSzWqHOr$}Mu(~&8v5ruZ-MhYZ93m(z*;!_rRf>A+e<|E@p<804C*nI- zV>+!Fm_63c=KN6)6+>hzOzD(O8s4^vdtW%rgpzR6A0pdV%_HqD>7`*#4(N+~gY4hQmU2922849t3ISPnR)7P!icfiu7Sn9*Fdubg84en$y>Jl_| zsgeGD%Zz7X{v2;%9<2^OtBGe@TNG5zEMR|LLT-uTCN@4#h5w|V~HQi%z z(RB`t3Re+su)U)Ml(@6`lIbF7ao@veQMEIG$nW~{zM9yMH#7c~9;MtHBgX#{H>Y>t zvXL$F2HmOjXeW@9pUm}=gH*7A6ey}M{k{D81-%g^ey-^|^N&vvgINBM7;mj|J8%^- zr4Y~ZMbly|W7r@p_&0UiUX0FZfwPjzAcc;m(wjS{QCI3Zt%dwov}70CeE+^P{!@`y z_!g{G)8umji=^FT*w&CNtn4i2EAWR}lQj!LA6{jhU)rs4) zUY;f|#1$Hni?*-P^jE##{%^|L6KZVdh^wHst%t0MP5mYCi&H1ZppCls- zat-$o*sQe&#p2!@OHZ{JSSo)&d9VHh)Yn6@pv6_pL!0bS(an4$v`F1XzuuiTz#}Xq zlb%S$kmSX{4>2v2h`k`Gysf(u{%gqDEr*Az#oLaPtk0v69Z#|5-7IILNpOgZ%F)R; zw~Oag$Vm+BjlW2(-PrPAl}0(zRnyA(@zNEOp)q7)t>$TozI+ctN5U zrkhY;1-b^AS*sn~)u6BM-1*hob>=LKH7%pjNjL{q_Yu*s8N}~KH<(K1y*DKD5$jnX zB!4jd-8lyM%qf-8h~QQG1+U}ejpS=b=kVPx)%B{oht>4Kj+``Ruxpfts86rIt&aX#EuM0iW*_ zGnYw$?(l~}UxPKj4J0Ss>&h}*U?M0qp}bobwL709w*z*wD5ecc4^pMf@Df?fj$2G< z_p8~}Z*{j@sD>R2*?DJdgA#Ujla6&Dw~0_w1p&NXo@h*Z$G%is&mndnl$SySaF+I>Exx9b96lG<(d>Dq2` znUo=XoA95;dCS_F$!gkli`aJQ)#pW;=L?$Cb$8DPyB7qo4=^n^lxk;-88 z$jMw2Ij5LDHeDuY-2O;H>CH}`@N-XEx62I)h;t4#f6kYHp_%(fEfAOY@mO6OIEah;(64(%Gh=+%16mU4sVZ|Ij= z*+yLS#?4`uLXqSJ2%!yfFN8H}fpDz5l&}d5RyioKun6sr?M}507kWK|KJ`Ne>j} z=kS}mZP@UTX|uEXdc(7ux5@?X8PfE^8TcQLIDhJSU$7pEFSG6uvCI7vWCHbSMPrlU z*Z3<6wX1c-&>>fE1GcSdQPsT++f+A8<8J#$@$tGKY>vY9%M2Pa2!jSSn@R{vts6 zE|Rn$eLzUUr)jHxabxAju0VJlsy1a$V!FR$zDd}1FeDy9j&QSDl^l;o!=qu5-f9FX z#fF~FY&Fz)ta<%xYa>n<{w=z2biGTw<-VUMH#f<0qOtf*wt&(j=&2im7saNU6?z~V zd^;^9+$A1_VUs{L-*6p6zr1Wk1jpq}A-R_iGbEA7geo%#EX!T3F>g5xGXF69m!REW zUTB|#K7!>7T_>P%cTvh*XmwvTj3#%CBfRfu%M60^E*g?N8R-Nk zbP6ectid3&GZz8e<{3;{yNo27InTb1^b} zdsVpa+I(_+LDDTD#{Ppo6W94s?$xM&^u{W9)D~s2hP}~87t&PcwA~L4ZDIv((xOItA0{F8VuXUeue8i(Tv;k%p7c$&^6vKY z+v@fOlVQio{*_q4-Onv-rs-siu7k5Fab+u^RRakC+2=ewKYsf=bYmK>xw=T!j1b?? zIsqyIGm?C#D4F+vyQY){ZjS;BGDF|EHOqIdSDgA-G&OtZR!;I%-xfG+Xf(@J<(#N~Lxvsfpl?j&PU%zWA_5T>1XdGl{7_4li_amjT5fy24 ziIY>)8%&|zvUF^1yici$Oyg3HK3yOB=pSogFuTosvQT3>{DXO71sS=UG?gPX|L4cY z6waZ7%v9-afcUTnLhv~z3Z4Bit+R8iUvRD@UIL5jY$+FxHw>;$oLtp|}X%Ypw zM)`a3lmN}!3Z{wTH$q*;OPh|RV#JT={m)#aXca=c%lf~TK*;{wxq+;q<+d~BtD#>< zR^PI{P;b367W;XeE^uYfpl29Ev^XZ*ei ziET31Iu9Vlmb+SMyp>|lOpf>-K5ES>7%p<#@VSVwmVvsS-q66qz(~dTAcJaGP-dlA z{b7E8+0T1Ft@aCP29vS4>#K1Me5NP`<^lFyZ}UEVVXAD%0+R}fa=0JU&Y?RTZtiXS{zhof-Cu%5=0U4V z(|wwy@dF-FB_e1rH}`^0tc46`{L>wq5cWCxOlPq&lz{0AP9j2GMOK-N2YJ6bgmHufb{2UleUqxUPO2nC7&_**C-O#+}Z!LXU?(#m0Yv%`Z~mnh5E{Q_~^enSB0hD}g4H^WQ}i`%Lm=%+yvg%~^2f@Rm609-bV6=;@C0r282L4~H2nCr^thbbkb)^5v=ZuKPiDqUatxv?ob z`-&|xf*zPm6#cW_Z`&aL$nA5P;0axkychN{Au1?nE?eyrjuUYu;b$S9>Bn%B<7Unp z$`3ywHa{C$M17?VTRpPAN$~j7V!T+IZi^j|MkgE@xxfSSESbVocE&3?IgxPa{$=}D zT_d{ciz^5|O&wrsfcwi0KES{i%J3#I+xi&)2=Jqvl6nt!cH4x>P-t`2-`|~_K%#e9|=cEC{N2YD%iarBf2pUzE6hZmz2pwjeU|oBVul9 zO5(n=lgU^#jQbqbfivbs_O!e9C+7=Os8#QD*0GAQf`%h|B%1|XNRW$(!qRyVujekNkea1l0_!Rkk?GH^^R3)C3tpnA zR9GA_zoBj=+R?ZETik6WNP&44gBfo4;u!e8Wx3`4(d~E+O1Kc;rsYOzJrE{9=_71> zMqD*MU(f+3_8Ba|mo|&X4mBgB9VfpyG3N58ceR|v);oW>D?hrm@g|fuM$LE4! zCMx~rVD?5DZOX>0$YA+zD0t3#FTPcmttQ9!oGWg4CPMPlT0dRl5h95c%3xlQ5apVT z6vfUE7>PkbA=KA?FeqB z@$s^SEZ1z9fuK)cw;3HIE3Xv|muF_`t!F<=spL8#%EPJ0VIU$(^hmhmo%^ji#v1|3 zJ$g-I#tw3C)>@wE3bTvO@70HS!oH}g3vCR$43b4xJSd*1AmA*wUIeuJr(U0%p;{z& zbx#}IPEUz?dF-Kr8#D%5dSA(`OpeEF+)=ka-Xwm}sUY?5nM}19upVX%fwHx`#FnJ! zBbJNEql(C5W0J%NKa}Lqpxl1sa)UDII>Jwv*NPyucFQtke(-kbSh1|d!92t{!iNLh zLo5A8rRSk7JUDVV>aGLofY`AolWvT&AsTW-twvlxmdWo572ye4ji~;g+YD)vb1wJ% zxE7mVuc*hyssT8rg-=N$?gRLj?a)xz?xDD?{5);EJ56NWWogq8CdK!;!_TW4$mD|k z<2>Sh>FWEOr86JQa zgWJtdCdq`qDhk#ZFtniXp^FO#r%kPZI5F}EuoemN^Dn6ZB2H4?8GNdqS^~C$5Vzkb zlBfurdtV9n=f3+M-X^FHk&6>vS?T+=>Kf1QCKM$yvm-xtyBOSFP5tSTKBAs%pfjN- zX-CNUyJxl?Ktjc!4qxlJnWw(v2TvLm$Oy%r$DZqr~~Z19}2~e0LMMF79c1!2@NOrJO#bk}NJ?*tkQvv;HsM zmJ>KI#$QAtOu}cnxAWmc>*j)lD%Jprvhb!5f4)H|ivX7=R&)tyF%-!qlETDXt0it) zxbJ&{|MU*A6;H-mz5Q*T?GjR~9VQ_87?Krnv+S=$FT&qv0@fJ>i)e3KbT0iosl-k` zc(6dL$wNNWGWMImqYxlaNJDS=17$Uw3p-ooi_lV_%QNH*uU{ zA?Olu++u3uP6^pZCBbSrkmy|a>4?|T(l7p6X%n8HtxcV~Z@aT}K~g}CDrSv?V1vtc zrlT`HWtPyEz*0c>Q;QZ9(bW5ro{oTC?vMH^CkZ7z)J9z>_2=XbBY6u(UZKi4!j1%L zPT(sx4r1b=7;4SQGV9C2;n+@4?!_HGyc#=LrzitOl^p|ub93YJIgy39``9_6JsUc# z63-u(x?s{KQhz42%Eg=)O>9SC#(|1YgM#7KLL9_H1;euB4@_brGWbRWbZEbN&Cr zscpp5=be6h;IJ5LyZp;I5y9|Yd?mlBw}v;SmUgnEx=4+)PX)EMnm#JjJ23hMZDy)~ z%9`px^_x(=$QA;J+4T&kwzBeRE1uZobcl-kgb`^}zESkA9|TkjQ9+{O$^kcqT|wFJr3+Q;DM9f7Wu0p(r1m?eC z(Ozi|JiaJ1@AutQUB!QN!!tO~>m*jejcO4H8g4hLQ0!t44k98l>rzr^7#TeJf+8(w z>?w9?6l2dDN9h?STjG|V6KS8I`6=>upr{{xyAgyL7^`rVE-o!Ks9>sp?c(O<2K~5f zh7(PPwU5|12Dg{F++bX3BqK{TFgrr)rdqeYV;_#XAEuKGhR3{ zcXdK+3|ARE4r?{0h@3fcoQ|N>d~Jdw2w1GqF{)kVTEp-gP^obsVWy4LmwaHB0r2!f z(NLdFsFLpM16{;|hpERn;^t`Zi0E0nb?^1-qACgHshI#mxsO%~7sbkbB|prjL}>0a zHI(C71WHJeyt))ny-lKusIhs%-^nenFcwqA2T+DT21;K<<$n-ljCL$}vf5`d+Z^pT zNbIGSsz))j=3_;}WFyBOq+e*Y-}|mD)3}6FC0Es-1hahp{&lNi@N6f*t9@;EIOWM# z*s>$ZE#y?R<`mSDf6SS;mbrx`jfS$-{8%1K$h8G-3EqD>nG8Ov&>6HtBp6 zNha!iaqjdED0ME0T$1y6j32~8oQzu*B{^=Z5zU3=2=(dLH{kaEAqliaxq}!XdVGo# zc{-_svK7R8Xfmi`bo)~~sCgvl+meW;Z72^IY`XS+=3rgq+r14KrxSXbSVdAk)NU}( z>arHsI zo2O`^vXMw4FZ7JnT7Z~=^JJ(6@{S@7V@9O7dMKd_XnYY#vd6q|Y-Rpwy?1)glAubf zCcmSDl!#?fl;90pppt}Pj$;wLD};;olB?X}lEmt2I7%b3{L}Hz51yK7(jO4p3^L*` z$AAeDV!T;+aPEWz*!Gyl+b8h)MO@Cfi*3qFA~NT19I3K)igDilVPwG#^jYZZak>8zvck)3^$7ocv1uJqk!mT-exfr3CZz7$Adngh=9 zDarL*g0{F~wBCk;->Yy%V!jgk`Ph5%6OT$09HT+{D1n*S%JIbJ09C@zq||$}ygO~5 zt<{%EX&aAdkOKm=b{&wFVC5wRU-#wgLg1LkQexbi;D|me^thKM!m5hv=t!3bJ4z+r z`bwn`ep$Xk6d?rov4vaWy!Zy`ZEAkxtk!S14$1*(KQ`47U)nHM$@opu$Q4v1d?^ZoB4{^1x z?O(a89>den3ua9cQ~~eE70JzBJdY>WoSgOew6@MSGViZ2-8`6oT~|XRB|0~IY}^Ob zy{5T`04>9Jr^<=+nHjVNhKfl5GKCI7twIII@=H^XrC~*HEqpqJEG+(G5c;WF91jO0 z-j5`>m}QymV%G=rwrq&19gLr+O5L$l!ZBc~9W4oh{FW5MvLvR)jfXU2iqV3&%RQzW zLR0q5#PE_MGLn3%@);)6 zyJJJ*X|@MQX%r4osw8~z0-JRt+fyPf|{y73Xez+sO+CFd&hF5`kuM@y^O^Wyv4X0|9CM*2fK zAXRSR)Wg~vd|xCrRX0$tWSyEiI}NWA6C*m-i4Jg%r~g7Xq$w1}@qzVKsfYMLxsE_m z-$$|4v{1{jyk3z&{^Lj&H)nU(|Iy4@eZ|oQYafEUyE_CKoEHxoTtX5g1b4Rp!EIoG zFxU`mkl-P>I}Gj;+=2#o9sEqz_ZNKY+??CK=+(P-@29G(>h~B9euF$NNXJ4rw|gc2 zT6c0ygM~4K*x)n_Sv;w@2k(4s57*v>D!g_yi^^1*jUAhvfnx{MvK;N1Dy#KBds(2t zDngScN#8;BLw17bp0)rxD++&zG&LJdQZ0iw%9bNqeGo{O2f4$5U1^rM$3eh{lke!u zXO>DAFm~^}bS~UD?@e{&n*o-L;oiaB9fu-;FNTRnAZ*`_g;s%hr#bZ@Ss!_B=iGGi zw*1JJ57pq&dIeQ5*%#x2Ke_9G8+$T(7%u{1Svb?vE6np+nVDW6mt#IP@!KhBs0CA{ zx;!qE5p>ITXbk&=(V-TWgz5WSc7SDk$+Bdv$FsKQ%Y1M>JKU$1OEO}`Sl)u$o^F=O zl43lm*+*Eu$zibdOvS5z#ka>3j~G78s7=l}C==D1Z5P^|5I&Z_8d}>Ja+=>o3;s<0!wifkEu)kH z1^esibrl9gEC@c@fabW^c5ArrvoO6Bk@)V{ell>efKJan}lf~$?%YfGX;ci%N5Ua2^1YBO(6y!k5N%<7J`8-h`Q%U%FodQ+u3n4fQR0)r<_lbXb zUpdw=FHf9x2ujs`~(7a6HhIIb$kQ=xa(X2g>Ww}yf ze+kbTOx|t<`r%>G72l3yMGhOkKA)p#kYu`=hW+f`05L^DAOkl8h+SMwYo|gWxHI}C zWo5L|e!{}mfQmD=fa9?|;Q)nlam@`v?q=zU=60BC*F45ff z6fur#QX@6XHUj5XPvBmK`VYjdtF(HJ=nNpH^8EZH8pB01@!nv@RGr1pww0-P49St7 zI1{o!>#>tt7(N_LbHRJ9D2dR>y(fzC;atD&uUo;sAApEq$Itpde%Jc1x>U+X$Lx@oIlMKh6wC`eKk}5-j~vt=;)b zJKK6`wU*G!KU-*7(Cq09v1Q~u21vWAuhB;q*sgXEv3)DgEdseg+hJjOcQQOR@z5h$ zfA{+*rCRh2jv|##amJWiYRiJhKGCq28qSOyW*6>QL3hjCUD7($y=$SXyVpiEgcR|Q zjY;NmYm~|z(vd1$jpSw%UnZn)ArOdh;Pq_LYv8cYKNRch&7!U3pI=`uciQiEGABXO zsVs4s@(s6o1sT<50Bbv&$m=DihhG#@C?V#tz-5?RI6BOpxREbL(#*`wIVk6Xico0t2<&!5|An(5AaYtzx4n?fXwya{%{s2C_**-kU;WM> zLzuXgr!mZ3s`%~~9Bu8gm}~Z5o+z`j=xPZ?IVM#wWOgli8>Y9;Rkb#I#>$o$xGtCb z|6-A6U*vH7)LoB$m;th!83G>s*`!YuT(hj_am}X%1NB6e5p*d_SE8sa666g{kvk6LphzGla^br!$KauNLPB*C)3S<7ZrMxMo>hXgz07 zZ%#aY&wzmj?Y#)m+pW{0L)Gb2w@)7{M1GcRy^hq-R^GnV6FOHQ!3sXV;&Dno>%kBn z?{pUVrbnx_c5;9?DC{?} zn6C-)M0)(1;Wz?WnI^R{9Hi@kemV?rkOk*yWJ{&Lkgu<(sJ<GGZ0aKX~u;I+bVcDCj6bWntI#=nA@x{v-A1b6c+F$r-Nr`kW-)!aHZ-rsD${M4- zFj=wRT;CwANbfAsBd%37vqM7k*r_8~C_Z>{T*9wE_U(ew)&4Krw7kmO@7Bl5zH7c3 zav4Vd+GGO_5&*mhJi zLJly&wN;75#U+_!M z^uoPmD$EHOW)Ll-W{FE6G>qog;#O2|343v_$}+<@S2{W2IZ>}_lZ(wo%Oy5hiNA6L zC$mL1o5}Qbor#955nL@E{GlaNCNVUv)+67g&$>`(qW~Rni}@(NE$)+-lg^hQ1I_Y@ zluYfNpsb8~Gr)Y_4{&FWz0Apee6&VB5&%ldg)Lv8fAI;beKS*gTz>>5XxCA~JMAO7 zo;41*bYmvjcE}NE7Jc+3y1Pd9GpH2l%>OR!q2uqH1Yv4CWVst@cwfu$ADW1qoQw3X z)m9-1+sT1MNIEdLCFH8Lhgu9+++Nbnk|YKX5=FE;+;p`C2;-}D(`U3c6;}vdj|8PX3jsYl!E>FF<5|L6A`%Kft-B&7aOZoG>uXywQqq9S%(aM1rvB}M zC5oLRcfzYZtNrmrD-drQSEB9P+c>t)3`X|}ib)*adLK_myEHmk5g?^w6nfwWa=EUv zBsL_oPxBsBA_ud{3X9)UZxY$BPhM&jdA&!|b2h<|pb@L`XT6goCFX8K5_=FORrT0# zC_90$QHVH3FE)u*JyX=Vw4`M3(69xFL-Efl1yRi*q*z)TW{B+!Xt%!wzqGiHchd1m5`jv0Pa~EP341AMww>Q5j1${4Ynll z032Q~P9`gDr()FgjQNcf`3WfBM-BCc<==i&jVPBLpqJG6AdNS578b9;%olxkUH1g; zjM7%XiP`|zsJ0#~r~*c+H`Bu>n}o~W72S;E3kC+6aL|D_nS2!m^lw8dhKGj{!JP&< zryYUnMP*;eV0O!4RH(z?89;<1#(Pf~bbfF8ceyE@)60ON&syN{pavehLM)Pfs%9P&@VY=d2oGj@iyo@Gy6Z58{i}dSM-xTC0!jXQ5e)QCOnkL`5{1 z5|hM~W;eU~!mOcT9{MPnaivkv$rWmk^Uh|GE5|_hgnWiBH+x*7M0$J&R(UT0T1Y+ayj9P8#O~pH=Gs?zd$?6`n$6tO(W;CEv|2RC0ZItMwY#a=1YPV!CTH~(Tz)O z!(Gu{XYg29ypvSxmWCoLPW5sS;$6aJF#imtw+X*aS@53EuiyQd6V0S|f>ufUjUoFD zRPf+rB^!3sA@RE(&N0WZ{=Mf1WiDkHvwm!XmX;#8pS&{ShgNN@>Cf>_ptC=L$V{5s zDW^gzK~122!gafPV3M&b>3Y2Zj~g>9gawyc-X+q&?rdD~b8ShDm4dbwJHm~}ki}DN zuOO8wHs}1|g1vfzoTqI)MI7Ep60IPQtY`gVP8Ueo*h`Q8{Dsfu0?8lC9(zE$r*^jn z&xU7V#J?4nYE68!zItwrqVRBcA}0s2=H>P`f-hfbo)(;d6iq0?n<`4>Y?@|(ws0tr z7#|Fhks9(MW$i|#1`}e?nG53~j5G?`;f?EP>Ip()h@|jbOm;vXV_&})38jD6WU2NA~=iMSj-g#Rh`hrNvfOfnR^+q4}4W++pJ?8+*5XY#cC=huH6Lfe|#C!%C&@ z7kf?4`06VPzXsH&osfoNIk-F@Fc0mk@4lkNJl7s8`(4WZ;ix@gO3p>%w9q@&$=GV$ z4AXv+qniK)GFl_9=v?&qQ^J~~7I{!0XscOo?C(ia3V2gFVOh=v`^Py6UIf!Ka6OV& z@qH-V-hLftapCnlE>7$@U~xb9we1zj5S;t>-EGtn>f+-!5ep^U^%z~_6_uPtpZf543E-%)pM>hzDgVYU@;&p)XQF z%r1;jME&~l?()Yf2}T6b^M1Mu&()h?s}!B~?msg5y2I(k0;No^iE$F)$<#VCr`I07 zPpw^iFT&{{UtI-ic}E(>_Xk~`tebZrUkx}L(29hVHEceDk|Z**YpP1pshy6HQ+!(( z(e`?dHHIDrY?M9J0q~i&YIxSZ%zrjCG@Lxb+QW=Xn=;!$#o-7XiBKUof0YQ9>IIF< zgEjIb<%x^T>Ue1h#aV@D`*KNUrj)PTSi)nW!M&i==x?CN0VSsRSCFfJZTzh9VebsL zH8`4A;>blk47{r)b{pjQFA+nuzkl?R5JbERp0dnn5h2wk4qSh8I+*_Fr>D>$Acvpr zF?4SQNH;T}5;vZiUi$97ONU?T=%?j)2m@Blq+1MZ08?IBj*C^d>el9C$1)VnpI5Q0 z>E;4WJL~taAu`Uc%sp^bimc*-0hPv^cV4TCh%;OzBwx)B)bNSN#c({N&gTCj2XddW z5YXMx_JvKN6ns*!)FGv@EQYbW#DZY5+|z!V4NuoN*?*ic zu+P|KFndCu!UFnHvfLxkco~BgbrJ&n)^SCP&<#0l*#A>X&EUa}8ji4(@7c;TrvSxO zWn55_bT50R1=ZD3 zcnSr-`6ge)uPB3F@0cI=g*BYHuF1%ej~d|MSS~`zg2qS}x#uF`~8qq0$Mb znPuWyH_P-`*A^Wim{bvoxG{uCc-oe|6NG{Lx@thcjP#FZ0vM$(tya5=Jz(KG;G2;J zO;j%D4r&~$JTaZ%k~uLNCd8^Uq1jY{q0M1Dti4UPHK;03Eu+4UYjX9LoRoA0@j50u zqK`3IC~-5o`EkBnz6Fg-^~-M*Zq&Jx7crtE=5=WiBk;IH`5H{}gp4R^;&GI*|B4?M zIqWMU!?)vns~Nj{$e0v-#s=@-qmE^sF)Eg0s1S+n^>^p{M6&d@u+6;SMQu7T?&b5E zf|kro&eBWNG#G%jA*;I_(OY`Q$e8nb> z{Z_jxHMkFoIP@)}Tx-HJQ{_IZzFTo@Y;2P?s+*X)ULJunlw8;Z0TzjRlu$ifX;6(I zXMHi&vLSnU{YH<#4j?kj3`1_{6q7aaZS|LOM8>E_iCC$z`*>irBR7Qt@*mb$<}-QA z$JII@szovwG9$d{)tV;?Zn8 znYK!U4;uMMtI=n0vJ5n4P7W5B^;;IVr))|mPsNu$TWe?Fs1hK@Y66DxKbhl=Bn^MrWQQoc1#3}s~V%~Y=@IzL}A2g z__|dThGmFfxaN-@j@h;C45fV*p|9Fdu)4dwqDviuGx?E>+gt*#TCJTRBtaIribBBJ zolPwEv92wiHhYj|*stR@P*M^xXP0CGBQ(i!gdLeO7FEf#i2p-#KnWfgl@kV$!JO!% zQnmS3QjDmB4#qC2Rd7VONn)b;Vh~4Yr3WzK2w`uTjYY?WvHu(yQ4LVey82t-Je|B$&8%W^RT6C}w! zfE`2#X+q2rW_ZqXD%1*T~Rv#cIt{3oN@+}!nsWtZ?9K^)9xWm|*n=iie~jb{5Tc7uK_5W%Og+j1& zYK+%Dwy8O>(RuVfhj|P?o-SKi8OxRJs3VFvT)8C|Kzvs(2OfeV(DzF{w<{ zuz}DJJfn=k)|N(CSV}wzc~gjzZs;`v~2j8fKHd`0px9yk*Hp_F~o<2APWNNjJ9KM=087l|%HOr|ohE->s zanlQm_W1pE+okZJ*mn9ccg06xgP-CQ1S6|CUQ|?#qM;UBW*DbIkjf z7P`=E!Z#5}jPgi?Oh_O?Bt=XlW>h4iS0R|l|NG1TA9r2nL`FxtGARNnlpcotdpK1k LEyW6Xv#|dGWY=1E literal 0 HcmV?d00001 diff --git a/source/images/blog/2015-09-ifttt/recipe-do.png b/source/images/blog/2015-09-ifttt/recipe-do.png new file mode 100644 index 0000000000000000000000000000000000000000..d678d5324c71bf687af0053d133e4ea4bb70e3de GIT binary patch literal 13439 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 QBfu|NNkxeYG2@W`0iKF}pa1{> literal 0 HcmV?d00001 diff --git a/source/images/blog/2015-09-ifttt/recipe-geo.png b/source/images/blog/2015-09-ifttt/recipe-geo.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8359d06d17f1f86e9b350a91535aee3312370a GIT binary patch literal 5195 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 OM}Lr3k}8!j_WxgmHcxT@ literal 0 HcmV?d00001 diff --git a/source/images/blog/2015-09-ifttt/recipe-twitter.png b/source/images/blog/2015-09-ifttt/recipe-twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..74f40fbcee5de16f5aab4c1e671dde9af2b2673a GIT binary patch literal 8414 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 literal 0 HcmV?d00001 diff --git a/source/images/blog/2015-09-ifttt/splash.png b/source/images/blog/2015-09-ifttt/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..ab82760d5e3b72584a8a2306c8f2a31927fbb3f2 GIT binary patch literal 9240 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 Date: Sat, 19 Sep 2015 22:46:59 -0700 Subject: [PATCH 174/188] IFTTT blogpost --- ...-09-13-home-assistant-meets-ifttt.markdown | 213 +++++------------- 1 file changed, 60 insertions(+), 153 deletions(-) diff --git a/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown b/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown index c05d2dd9401..cf63aa779f5 100644 --- a/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown +++ b/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown @@ -2,208 +2,115 @@ layout: post title: "Home Assistant meets IFTTT" description: "Announcing new integration with IFTTT and some samples to get started." -date: 2015-09-13 09:28:00 -0700 +date: 2015-09-13 09:28 -0700 date_formatted: "September 13, 2015" author: Paulus Schoutsen comments: true -categories: release-notes how-to +categories: how-to release-notes +og_image: /images/blog/2015-09-ifttt/og_facebook.png --- -

    Today we announce the release of Home Assistant v0.7.2 which includes brand new support by -@sfam to integrate with IFTTT. IFTTT stands for If This, Then That and is a +Today we announce the release of Home Assistant v0.7.2 which includes brand new support by +[@sfam][github-sfam] to integrate with [IFTTT][ifttt]. IFTTT stands for If This, Then That and is a webservice that integrates with almost every possible webservice out there. Adding Home -Assistant to this mix means Home Assistant can connect with all via IFTTT.

    +Assistant to this mix means Home Assistant can connect with all via IFTTT. -

    It is now possible to disable your irregation system if it is going to be cloudy tomorrow or tweet -if your smoke alarm goes off.

    +It is now possible to disable your irregation system if it is going to be cloudy tomorrow or tweet +if your smoke alarm goes off. + +[github-sfam]: https://github.com/sfam +[ifttt]: https://ifttt.com

    - -

    Head over to the setup instructions to get started with IFTTT. Click the -read more button for some example recipes.

    +Head over to the [setup instructions](/components/ifttt.html) to get started with IFTTT. Click the +read more button for some example recipes. -

    In each of the following examples, make sure to replace the XXX in the url with your correct -host address and api password.

    +In each of the following examples, make sure to replace the XXX in the url with your correct +host address and api password. -

    Turn off irregation system when not needed

    +## {% linkable_title Turn off irregation system when not needed %}

    +Maker channel setup: -

    Maker channel setup:

    +| Field | Value | +| ----- | ----- | +| URL | http://xxx.xxx.xxx.xxx:8123/api/services/switch/turn_off?api_password=xxxxxxxx +| METHOD | POST +| CONTENT TYPE | application/json +| BODY | { "entity_id": "switch.irrigation" } - - - - - - - - - - - - - - - - - - - - - - - - - -
    Field Value
    URL http://xxx.xxx.xxx.xxx:8123/api/services/switch/turn_off?api_password=xxxxxxxx
    METHOD POST
    CONTENT TYPE application/json
    BODY { “entity_id”: “switch.irrigation” }
    - - -

    Tweet when important events happen

    +## {% linkable_title Tweet when important events happen %}

    +This will tweet a message when a MQTT message is received that the smoke alarm has been triggered. +Setup Maker channel with event name `HA_FIRE_ALARM` and Twitter channel to tweet the message in +`value1`. -

    This will tweet a message when a MQTT message is received that the smoke alarm has been triggered. -Setup Maker channel with event name HA_FIRE_ALARM and Twitter channel to tweet the message in -value1.

    +```yaml +# Configuration.yaml entry +automation: + alias: Post a tweet when fire alarm is triggered -
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -
    # Configuration.yaml entry
    -automation:
    -  alias: Post a tweet when fire alarm is triggered
    -
    -  platform: mqtt
    -  mqtt_topic: home/alarm/fire
    -  mqtt_payload: 'on'
    -
    -  execute_service: ifttt.trigger
    -  service_data: {"event":"HA_FIRE_ALARM", "value1":"The fire alarm just triggered!"}
    -
    + platform: mqtt + mqtt_topic: home/alarm/fire + mqtt_payload: 'on' + execute_service: ifttt.trigger + service_data: {"event":"HA_FIRE_ALARM", "value1":"The fire alarm just triggered!"} +``` -

    Turn on lights when I get home

    +## {% linkable_title Turn on lights when I get home %}

    +Maker channel setup: -

    Maker channel setup:

    +| Field | Value | +| ----- | ----- | +| URL | http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx +| METHOD | POST +| CONTENT TYPE | application/json +| BODY | { "entity_id": "light.kitchen" } - - - - - - - - - - - - - - - - - - - - - - - - - -
    Field Value
    URL http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx
    METHOD POST
    CONTENT TYPE application/json
    BODY { “entity_id”: “light.kitchen” }
    - - -

    Flash lights when a new PR comes in for Home Assistant

    +## {% linkable_title Flash lights when a new PR comes in for Home Assistant %}

    +Maker channel setup: -

    Maker channel setup:

    +| Field | Value | +| ----- | ----- | +| URL | http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx +| METHOD | POST +| CONTENT TYPE | application/json +| BODY | { "entity_id": "group.all_lights", "flash":"yes" } - - - - - - - - - - - - - - - - - - - - - - - - - -
    Field Value
    URL http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx
    METHOD POST
    CONTENT TYPE application/json
    BODY { “entity_id”: “group.all_lights”, “flash”:“yes” }
    - - -

    Fire events when pressing the DO button

    +## {% linkable_title Fire events when pressing the DO button %}

    +Maker channel setup: -

    Maker channel setup:

    - - - - - - - - - - - - - - - - - - - - - - -
    Field Value
    URL http://xxx.xxx.xxx.xxx:8123/api/events/do_button_pressed?api_password=xxxxxxxx
    METHOD POST
    CONTENT TYPE application/json
    - +| Field | Value | +| ----- | ----- | +| URL | http://xxx.xxx.xxx.xxx:8123/api/events/do_button_pressed?api_password=xxxxxxxx +| METHOD | POST +| CONTENT TYPE | application/json From 6c09aee7defd076fdef0db772053b2aa40092f7e Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 19 Sep 2015 23:32:55 -0700 Subject: [PATCH 175/188] Add 0.7.3 release blog --- _deploy | 2 +- ...19-alarm-sonos-and-itunes-support.markdown | 73 +++++++++++++++++++ source/components/automation.markdown | 18 ++--- .../components/media_player.itunes.markdown | 15 +--- source/components/media_player.sonos.markdown | 2 +- source/getting-started/automation.markdown | 12 +-- 6 files changed, 94 insertions(+), 28 deletions(-) create mode 100644 source/_posts/2015-09-19-alarm-sonos-and-itunes-support.markdown diff --git a/_deploy b/_deploy index a9227948024..6545a2d395c 160000 --- a/_deploy +++ b/_deploy @@ -1 +1 @@ -Subproject commit a922794802498d06ecbc2a610ce3088e611bd846 +Subproject commit 6545a2d395cbab1761794d2814929e154998c05e diff --git a/source/_posts/2015-09-19-alarm-sonos-and-itunes-support.markdown b/source/_posts/2015-09-19-alarm-sonos-and-itunes-support.markdown new file mode 100644 index 00000000000..9fb7ab40e4f --- /dev/null +++ b/source/_posts/2015-09-19-alarm-sonos-and-itunes-support.markdown @@ -0,0 +1,73 @@ +--- +layout: post +title: "Alarms, Sonos and iTunes now supported" +description: "Home Assistant 0.7.3 has been released with support for Sonos, iTunes and improved ." +date: 2015-09-19 21:47:00 +0700 +date_formatted: "September 19, 2015" +author: Paulus Schoutsen +comments: true +categories: release-notes +--- + +It's like someone opened a can of rock solid developers and emptied it above our +[chat channel](https://gitter.im/balloob/home-assistant) because it exploded with +great conversations and solid contributions. Featured in release 0.7.3: Sonos, iTunes, Alarm component and Automation upgrade. + +See [GitHub](https://github.com/balloob/home-assistant/releases/tag/0.7.3) for more detailed release notes. + +_Migration note: the `scheduler` component has been removed in favor of the `automation` component._ + +__Sonos__
    + +Sonos support has been added by [@rhooper](https://github.com/rhooper) and [@SEJeff](https://github.com/SEJeff). Home Assistant is now able to automatically +detect Sonos devices in your network and set them up for you. It will allow you to control music +playing on your Sonos and change the volume. + +__iTunes and airplay speakers__
    + +[@maddox](https://github.com/maddox) has contributed support for controlling iTunes and airplay speakers. For this to work you will +have to run [itunes-api](https://github.com/maddox/itunes-api) on your Mac as middleware. + +``` +# Example configuration.yaml entry +media_player: + platform: itunes + name: iTunes + host: http://192.168.1.50 + port: 8181 +``` + + + +__Automation__
    +Automation has gotten a lot of love. It now supports conditions, multiple triggers and new types of +triggers. The best to get started with it is to head over to the new +[getting started with automation](/getting-started/automation.html) page. + +```yaml +# Example of entry in configuration.yaml +automation: + alias: Light on in the evening + trigger: + - platform: sun + event: sunset + offset: "-01:00:00" + - platform: state + entity_id: group.all_devices + state: home + condition: + - platform: state + entity_id: group.all_devices + state: home + - platform: time + after: "16:00:00" + before: "23:00:00" + action: + service: homeassistant.turn_on + entity_id: group.living_room +``` + +__Verisure Alarms__
    + +We now support arming and disarming your verisure alarm from within Home Assistant thanks to added +support by [@persandstrom](https://github.com/persandstrom). diff --git a/source/components/automation.markdown b/source/components/automation.markdown index 07e4a00af6c..a4927480050 100644 --- a/source/components/automation.markdown +++ b/source/components/automation.markdown @@ -17,7 +17,7 @@ A configuration section of an automation requires a `trigger` and an `action` se full configuration but only the relevant part. ```yaml -# Example of a full entry in configuration.yaml +# Example of entry in configuration.yaml automation: alias: Light on in the evening trigger: @@ -32,8 +32,8 @@ automation: entity_id: group.all_devices state: home - platform: time - after: 16:00:00 - before: 23:00:00 + after: "16:00:00" + before: "23:00:00" action: service: homeassistant.turn_on entity_id: group.living_room @@ -101,12 +101,12 @@ automation: platform: state entity_id: device_tracker.paulus # Optional - from: not_home - to: home + from: "not_home" + to: "home" ```

    - Use quotes around your values for state_from and state_to to avoid the YAML parser interpreting some values as booleans. + Use quotes around your values for from and to to avoid the YAML parser interpreting some values as booleans.

    #### {% linkable_title Sun trigger %} @@ -135,7 +135,7 @@ automation: # All following are optional. # When 'after' is used, you cannot also match on hour, minute, seconds. # Military time format. - after: 15:32:00 + after: "15:32:00" hours: 10 minutes: 5 seconds: 0 @@ -199,8 +199,8 @@ automation: condition: platform: time # At least one of the following is required. - after: 15:00:00 - before: 23:00:00 + after: "15:00:00" + before: "23:00:00" weekday: - mon - wed diff --git a/source/components/media_player.itunes.markdown b/source/components/media_player.itunes.markdown index cab36cf6b7d..0947a4ab791 100644 --- a/source/components/media_player.itunes.markdown +++ b/source/components/media_player.itunes.markdown @@ -10,21 +10,14 @@ footer: true --- - The iTunes platform allows you to control [iTunes](http://apple.com/itunes/) via - [itunes-api](https://github.com/maddox/itunes-api) from Home Assistant. Play, - pause, or skip songs remotely on iTunes running on your Mac. + The iTunes platform allows you to control [iTunes](http://apple.com/itunes/) from Home Assistant. + It uses a 3rd party server that you run on your Mac called + [itunes-api](https://github.com/maddox/itunes-api). Play, pause, or skip songs remotely on iTunes + running on your Mac. Your AirPlay speakers will also be exposed as simple media players inside Home Assistant. They will be available to be turned on or off or set their volume. -

    -iTunes itself can not be remotely controlled. In order to control your iTunes, -you'll need to install middleware named itunes-api. itunes-api is a simple REST -server that talks to a local instance of iTunes via Applescript. It's very easy to set up -and run. You can find more about it on it's [GitHub repo](https://github.com/maddox/itunes-api). -

    - - To add iTunes to your installation, add the following to your `configuration.yaml` file: ``` diff --git a/source/components/media_player.sonos.markdown b/source/components/media_player.sonos.markdown index 617c6982d6a..6632add1ea7 100644 --- a/source/components/media_player.sonos.markdown +++ b/source/components/media_player.sonos.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- - + The sonos platform allows you to control your [Sonos](http://www.sonos.com) HiFi wireless speakers and audio components from Home Assistant. To add your Sonos components to your installation, add the following to your `configuration.yaml` file. It will perform auto-discovery of your connected speakers. diff --git a/source/getting-started/automation.markdown b/source/getting-started/automation.markdown index 91ef06394b5..e8afa80b762 100644 --- a/source/getting-started/automation.markdown +++ b/source/getting-started/automation.markdown @@ -17,7 +17,7 @@ offers [a few built-in automations](/components/#automation) but mainly you'll b Every automation rule consists of triggers, an action to be performed and optional conditions. -Triggers can be any event observed in Home Assistant. For example, it can be a certain point in time +Triggers can be anything observed in Home Assistant. For example, it can be a certain point in time or a person coming home, which can be observed by the state changing from `not_home` to `home`. Actions will call services within Home Assistant. For example, turn a light on, set the temperature @@ -52,9 +52,13 @@ example tell which device to turn on or what color to use. ## {% linkable_title Creating your first automation rule %} -Before we dive deeper into what every piece of automation _can_ do, let's loot at a simple automation +Before we dive deeper into what every piece of automation _can_ do, let's look at a simple automation rule: **Turn on the lights when the sun sets** +In this example, we are defining a trigger to track the sunset and tell it to fire when the sun is +setting. When this event is triggered, the service `light.turn_on` is called without any +parameters. Because we specify no parameters, it will turn on all the lights. + ```yaml # Example configuration.yaml entry automation: @@ -66,10 +70,6 @@ automation: service: light.turn_on ``` -In this example, we are defining a trigger to track the sunset and tell it to fire one hour before -the sun is setting. When this event is triggered, the service `light.turn_on` is called without any -parameters. Because we specify no parameters, it will turn on all the lights. - After a few days of running this automation rule you come to realize that this automation rule is not good enough. It was already dark when the lights went on and the one day you weren't home, the lights turned on anyway. Time for some tweaking. Let's add an offset to the sunset trigger and a condition From 19cefb5fba4e2597872aa5149860aa241f870961 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 19 Sep 2015 23:42:36 -0700 Subject: [PATCH 176/188] Update canonical url --- _deploy | 2 +- source/_includes/site/head.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_deploy b/_deploy index 6545a2d395c..b0b2cddaaf6 160000 --- a/_deploy +++ b/_deploy @@ -1 +1 @@ -Subproject commit 6545a2d395cbab1761794d2814929e154998c05e +Subproject commit b0b2cddaaf618872eda2dd60d9a060c8557efd50 diff --git a/source/_includes/site/head.html b/source/_includes/site/head.html index c216696b7dd..63ab4f5f8c8 100644 --- a/source/_includes/site/head.html +++ b/source/_includes/site/head.html @@ -15,7 +15,7 @@ {% if page.keywords %}{% endif %} - + {% if site.social.facebook.app_id %} From 62f9ad340daac628252e16711681a1c2ee0c1208 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Sun, 20 Sep 2015 21:25:09 -0400 Subject: [PATCH 177/188] Added note on home_interval optional value. --- source/components/device_tracker.nmap_scanner.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/components/device_tracker.nmap_scanner.markdown b/source/components/device_tracker.nmap_scanner.markdown index de144c8e4a6..1d8be981fa6 100644 --- a/source/components/device_tracker.nmap_scanner.markdown +++ b/source/components/device_tracker.nmap_scanner.markdown @@ -19,6 +19,9 @@ If you're on Debian or Ubuntu, you might have to install the packages for arp an device_tracker: platform: nmap_tracker hosts: 192.168.1.1/24 + home_interval: 10 ``` +`home_interval` is an optional value set in minutes. This will be the number of minutes to exclude devices from a scan while they are home. This is useful for iOS users that are experiencing issues where thier iDevices drop off the network for periods in order to save battery life. + See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. From 0fae1b7dace4ed1824cb331f325ab9087d32ce1f Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Mon, 21 Sep 2015 11:04:30 -0400 Subject: [PATCH 178/188] Quick note on days of the week Saw some confusion in the Dev Mailing list, so added in a some lines to clear it up. (hopefully) --- source/components/automation.markdown | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/source/components/automation.markdown b/source/components/automation.markdown index a4927480050..b5b478c0e00 100644 --- a/source/components/automation.markdown +++ b/source/components/automation.markdown @@ -125,8 +125,8 @@ automation: #### {% linkable_title Time trigger %} Time can be triggered in many ways. The most common is to specify `after` and trigger at a specific point in time each day. Alternatively, you can also match if the hour, minute or second of the current -time has a specifc value. For example, by only setting minutes in the config to 5 it will trigger every -hour when it is 5 minutes past whole. +time has a specific value. For example, by only setting minutes in the config to 5 it will trigger every +hour when it is 5 minutes past whole. You cannot use `after` together with hour, minute or second. ```yaml automation: @@ -135,12 +135,19 @@ automation: # All following are optional. # When 'after' is used, you cannot also match on hour, minute, seconds. # Military time format. - after: "15:32:00" - hours: 10 + # after: "15:32:00" + hours: 0 minutes: 5 seconds: 0 + weekday: + - sat + - sun ``` +You can use `weekday` to limit the trigger times to speific days as well (also available in conditions). Valid values for `weekday` are (sun, mon, tue, wed, thu, fri & sat) + +The above example will trigger on Saturday and Sunday every hour on the 5 (2:05, 3:05, 4:05, etc). + ### {% linkable_title Conditions %} Conditions are an optional part of an automation rule and be used to prevent an action from happening @@ -192,7 +199,7 @@ automation: #### {% linkable_title Time condition %} The time condition can test if it is after a specified time, before a specified time or if it is a -certain day of the week. +certain day of the week ```yaml automation: @@ -207,6 +214,7 @@ automation: - fri ``` +Valid values for `weekday` are (sun, mon, tue, wed, thu, fri & sat) ### {% linkable_title Actions %} From eb63378735d8b74d673973b32960e078bb663c94 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Mon, 21 Sep 2015 12:59:28 -0400 Subject: [PATCH 179/188] Added Rule info from Logs & Logbook Added in a troubleshooting tip on what to look for in the logbook and the real-time logs for initialized automation rules. Also added "```yaml" to some of the examples that didn't have it. --- source/components/automation.markdown | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/source/components/automation.markdown b/source/components/automation.markdown index b5b478c0e00..9b517394a25 100644 --- a/source/components/automation.markdown +++ b/source/components/automation.markdown @@ -221,7 +221,7 @@ Valid values for `weekday` are (sun, mon, tue, wed, thu, fri & sat) When an automation rule fires, it calls a service. For this service you can specify an entity id it should apply to and optional service parameters (to specify for example the brightness). -``` +```yaml automation: # Change the light in the kitchen and living room to 150 brightness and color red. action: @@ -234,7 +234,7 @@ automation: rgb_color: [255, 0, 0] ``` -``` +```yaml automation: # Notify me on my mobile phone of an event action: @@ -246,3 +246,16 @@ automation: If you want to specify multiple services to be called or include a delay, have a look at the [script component](/components/script.html). If you want to describe how certain entities should look, check out the [scene component](/components/scene.html). + +Troubleshooting Tip: You can verify that your automation rules are being initialized correctly by watching both the realtime logs and also the `logbook`. The realtime logs will show the rules being initialized (once for each trigger) +```bash +INFO (MainThread) [homeassistant.components.automation] Initialized rule Rainy Day +INFO (MainThread) [homeassistant.components.automation] Initialized rule Rainy Day +INFO (MainThread) [homeassistant.components.automation] Initialized rule Rainy Day +INFO (MainThread) [homeassistant.components.automation] Initialized rule Rain is over +``` + +The `LogBook` component will show a line entry when an automoation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.
    + +![Sample](http://i.imgur.com/2s1ukCb.png) + From f8c98b3350e751bd467213f9978e9d7b01ac59aa Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 21 Sep 2015 18:54:38 -0700 Subject: [PATCH 180/188] Update automation --- source/components/automation.markdown | 39 +++++++++++------- .../images/components/automation/logbook.png | Bin 0 -> 3477 bytes 2 files changed, 24 insertions(+), 15 deletions(-) create mode 100644 source/images/components/automation/logbook.png diff --git a/source/components/automation.markdown b/source/components/automation.markdown index 9b517394a25..65039a51d46 100644 --- a/source/components/automation.markdown +++ b/source/components/automation.markdown @@ -40,13 +40,15 @@ automation: ```

    -All configuration entries have to be sequential. If you have automation:, automation 2: and automation 4: then the last one will not be processed. +All configuration entries have to be sequential. If you have automation:, +automation 2: and automation 4: then the last one will not be processed.

    - [Jump to conditions](#conditions) - [Jump to actions](#actions) + - [Jump to troubleshooting](#troubleshooting) -### {% linkable_title Triggers %} +## {% linkable_title Triggers %} Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, @@ -80,7 +82,8 @@ automation: ``` #### {% linkable_title Numeric state trigger %} -On state change of a specified entity, attempts to parse the state as a number and triggers if value is above and/or below a threshold. +On state change of a specified entity, attempts to parse the state as a number and triggers if value +is above and/or below a threshold. ```yaml automation: @@ -106,7 +109,8 @@ automation: ```

    - Use quotes around your values for from and to to avoid the YAML parser interpreting some values as booleans. + Use quotes around your values for from and to to avoid the YAML parser + interpreting some values as booleans.

    #### {% linkable_title Sun trigger %} @@ -144,11 +148,12 @@ automation: - sun ``` -You can use `weekday` to limit the trigger times to speific days as well (also available in conditions). Valid values for `weekday` are (sun, mon, tue, wed, thu, fri & sat) +You can use `weekday` to limit the trigger times to speific days as well (also available in conditions). +Valid values for `weekday` are (`sun`, `mon`, `tue`, `wed`, `thu`, `fri` & `sat`) The above example will trigger on Saturday and Sunday every hour on the 5 (2:05, 3:05, 4:05, etc). -### {% linkable_title Conditions %} +## {% linkable_title Conditions %} Conditions are an optional part of an automation rule and be used to prevent an action from happening when triggered. Conditions look very familiar to triggers but are very different. A trigger will look @@ -216,7 +221,7 @@ automation: Valid values for `weekday` are (sun, mon, tue, wed, thu, fri & sat) -### {% linkable_title Actions %} +## {% linkable_title Actions %} When an automation rule fires, it calls a service. For this service you can specify an entity id it should apply to and optional service parameters (to specify for example the brightness). @@ -247,15 +252,19 @@ If you want to specify multiple services to be called or include a delay, have a [script component](/components/script.html). If you want to describe how certain entities should look, check out the [scene component](/components/scene.html). -Troubleshooting Tip: You can verify that your automation rules are being initialized correctly by watching both the realtime logs and also the `logbook`. The realtime logs will show the rules being initialized (once for each trigger) +## {% linkable_title Troubleshooting %} + +You can verify that your automation rules are being initialized correctly by watching both the realtime +logs and also the logbook. The realtime logs will show the rules being initialized (once for each trigger): + ```bash -INFO (MainThread) [homeassistant.components.automation] Initialized rule Rainy Day -INFO (MainThread) [homeassistant.components.automation] Initialized rule Rainy Day -INFO (MainThread) [homeassistant.components.automation] Initialized rule Rainy Day -INFO (MainThread) [homeassistant.components.automation] Initialized rule Rain is over +INFO [homeassistant.components.automation] Initialized rule Rainy Day +INFO [homeassistant.components.automation] Initialized rule Rainy Day +INFO [homeassistant.components.automation] Initialized rule Rainy Day +INFO [homeassistant.components.automation] Initialized rule Rain is over ``` -The `LogBook` component will show a line entry when an automoation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.
    - -![Sample](http://i.imgur.com/2s1ukCb.png) +The Logbook component will show a line entry when an automation is triggered. You can look at the +previous entry to determine which trigger in the rule triggered the event. +![Logbook example](/images/components/automation/logbook.png) diff --git a/source/images/components/automation/logbook.png b/source/images/components/automation/logbook.png new file mode 100644 index 0000000000000000000000000000000000000000..69563ef8f6ccad19cd581a2634c592ca1ec667d7 GIT binary patch literal 3477 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 pN*BQAbvZrr#F~NsA8 Date: Mon, 21 Sep 2015 18:59:23 -0700 Subject: [PATCH 181/188] Tweaks to device tracker --- source/components/device_tracker.markdown | 7 ++++--- .../components/device_tracker.nmap_scanner.markdown | 13 +++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/source/components/device_tracker.markdown b/source/components/device_tracker.markdown index 510ab297929..b0195294b27 100644 --- a/source/components/device_tracker.markdown +++ b/source/components/device_tracker.markdown @@ -38,11 +38,12 @@ device_tracker: # Optional configuration - # If new devices have to be added to the UI and tracked by default (default: yes) + # If new discovered devices are tracked by default (default: yes) track_new_devices: yes - # How often to scan for new devices (default: 12) + # Seconds between each scan for new devices (default: 12) interval_seconds: 12 - # Seconds to wait till marking someone as not home after not being seen (default: 180) + # Seconds to wait till marking someone as not home after not being seen + # (default: 180) consider_home: 180 ``` diff --git a/source/components/device_tracker.nmap_scanner.markdown b/source/components/device_tracker.nmap_scanner.markdown index 1d8be981fa6..ee3ac047cb9 100644 --- a/source/components/device_tracker.nmap_scanner.markdown +++ b/source/components/device_tracker.nmap_scanner.markdown @@ -10,9 +10,12 @@ footer: true --- -As an alternative to the router-based device tracking, it is possible to directly scan the network for devices by using Nmap. The IP addresses to scan can be specified in any format that Nmap understands, including the network-prefix notation (`192.168.1.1/24`) and the range notation (`192.168.1.1-255`). +As an alternative to the router-based device tracking, it is possible to directly scan the network +for devices by using Nmap. The IP addresses to scan can be specified in any format that Nmap understands, +including the network-prefix notation (`192.168.1.1/24`) and the range notation (`192.168.1.1-255`). -If you're on Debian or Ubuntu, you might have to install the packages for arp and nmap. Do so by running `apt-get install net-tools nmap`. +If you're on Debian or Ubuntu, you might have to install the packages for arp and nmap. Do so by +running `apt-get install net-tools nmap`. ``` # Example configuration.yaml entry @@ -22,6 +25,8 @@ device_tracker: home_interval: 10 ``` -`home_interval` is an optional value set in minutes. This will be the number of minutes to exclude devices from a scan while they are home. This is useful for iOS users that are experiencing issues where thier iDevices drop off the network for periods in order to save battery life. +`home_interval` is an optional value set in minutes. This will be the number of minutes nmap will not +scan this device, assuming it is home, in order to preserve the device battery. -See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked. +See the [device tracker component page](/components/device_tracker.html) for instructions how to +configure the people to be tracked. From a576101cc9649203573e0a9dcb90c249b3f08732 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 21 Sep 2015 19:00:01 -0700 Subject: [PATCH 182/188] device tracker tweaks --- _deploy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_deploy b/_deploy index b0b2cddaaf6..cb366470d97 160000 --- a/_deploy +++ b/_deploy @@ -1 +1 @@ -Subproject commit b0b2cddaaf618872eda2dd60d9a060c8557efd50 +Subproject commit cb366470d97306fd188ce184cbb81e2ea2292fcf From 679cbfd54ba3d14f80a3c29a1e3efeafbcd85032 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 22 Sep 2015 14:19:14 +0200 Subject: [PATCH 183/188] Add owntrack logo --- source/images/supported_brands/owntrack.png | Bin 0 -> 3558 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/owntrack.png diff --git a/source/images/supported_brands/owntrack.png b/source/images/supported_brands/owntrack.png new file mode 100644 index 0000000000000000000000000000000000000000..8dcc8edff9611cec38481f8f39e9bf2ef79b7fe7 GIT binary patch literal 3558 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 literal 0 HcmV?d00001 From a3c164bef6ef05c897128e8a3909ea38b36e426a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 22 Sep 2015 14:19:34 +0200 Subject: [PATCH 184/188] Add owntrack page --- .../device_tracker.owntrack.markdown | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 source/components/device_tracker.owntrack.markdown diff --git a/source/components/device_tracker.owntrack.markdown b/source/components/device_tracker.owntrack.markdown new file mode 100644 index 00000000000..39f055f8495 --- /dev/null +++ b/source/components/device_tracker.owntrack.markdown @@ -0,0 +1,21 @@ +--- +layout: page +title: "Owntrack device tracker" +description: "Instructions how to use Owntrack to track devices in Home Assistant." +date: 2015-09-22 07:00 +sidebar: false +comments: false +sharing: true +footer: true +--- + + +This platform allows you to detect presence by monitoring MQTT topics uses by [Owntrack](http://owntracks.org/) for new locations. + +To integrate Owntrack in Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +device_tracker: + platform: owntracks +``` From 2045d45e10c3c54765a397c7d0061c26ddf964d9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 22 Sep 2015 14:19:50 +0200 Subject: [PATCH 185/188] Add owntrack entry --- source/components/index.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/components/index.markdown b/source/components/index.markdown index 30aeb780aba..9e707ffdac6 100644 --- a/source/components/index.markdown +++ b/source/components/index.markdown @@ -171,6 +171,11 @@ Entities are things that you want to observe within Home Assistant. Support for OpenWRT routers + + + Owntrack devices + + MQTT devices From 23eb7537347f844ef2aba53000cd026391c9f5fa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 22 Sep 2015 15:36:11 +0200 Subject: [PATCH 186/188] Fix link --- source/components/mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/components/mqtt.markdown b/source/components/mqtt.markdown index 31268648a26..fcd0c5b0db0 100644 --- a/source/components/mqtt.markdown +++ b/source/components/mqtt.markdown @@ -43,7 +43,7 @@ The MQTT component has no TLS support at the moment. This means that only plain- - [MQTT Sensor](/components/sensor.mqtt.html) - [MQTT Switch](/components/switch.mqtt.html) - - [MQTT Device Tracker](/components.device_tracker.mqtt.html) + - [MQTT Device Tracker](/components/device_tracker.mqtt.html) - [MQTT-automation rule](/components/automation.html#mqtt-based-automation) - Integrating it into a component. See the [MQTT example component](https://github.com/balloob/home-assistant/blob/dev/config/custom_components/mqtt_example.py) how to do this. From 48a0add9216e609ad523f9127a86029de24a0d3c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 22 Sep 2015 15:37:26 +0200 Subject: [PATCH 187/188] Add owntrack --- source/components/device_tracker.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/components/device_tracker.markdown b/source/components/device_tracker.markdown index b0195294b27..8e734230695 100644 --- a/source/components/device_tracker.markdown +++ b/source/components/device_tracker.markdown @@ -24,6 +24,7 @@ Home Assistant can get information from your wireless router to track which devi Alternative trackers: - [MQTT](/components/device_tracker.mqtt.html) +- [Owntrack](/components/device_tracker.owntrack.html) - [nmap scanner](/components/device_tracker.nmap_scanner.html) to scan the network for devices To get started add the following lines to your `configuration.yaml` (example for Netgear): From 4427754a48484f69e738ea5b8a396b4b85c18e53 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 22 Sep 2015 15:39:27 +0200 Subject: [PATCH 188/188] Fix typo and change ordering --- source/components/device_tracker.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/components/device_tracker.markdown b/source/components/device_tracker.markdown index 8e734230695..4d4e5a0206f 100644 --- a/source/components/device_tracker.markdown +++ b/source/components/device_tracker.markdown @@ -17,15 +17,15 @@ Home Assistant can get information from your wireless router to track which devi - [DD-WRT](/components/device_tracker.ddwrt.html) - [luci (OpenWRT)](/components/device_tracker.luci.html) - [netgear](/components/device_tracker.netgear.html) +- [Thomson](/components/device_tracker.thomson.html) - [tomato](/components/device_tracker.tomato.html) - [TP-Link](/components/device_tracker.tplink.html) -- [Thomsom](/components/device_tracker.thomson.html) Alternative trackers: - [MQTT](/components/device_tracker.mqtt.html) -- [Owntrack](/components/device_tracker.owntrack.html) - [nmap scanner](/components/device_tracker.nmap_scanner.html) to scan the network for devices +- [Owntrack](/components/device_tracker.owntrack.html) To get started add the following lines to your `configuration.yaml` (example for Netgear):