From 347f40ffa680d30d4cce02c798158c2a39529b20 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 00:02:56 +0100 Subject: [PATCH 001/190] Fix youtube link --- .../2016-12-17-text-to-speech-aquostv-flic-zamg.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown index 13e90e4527a..9790da7ddc8 100644 --- a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown +++ b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown @@ -11,14 +11,14 @@ categories: Release-Notes og_image: /images/blog/2016-12-0.35/social.png --- -5000 stars on GitHub, 2000 people in out Gitter chatroom and over a million monthly pageviews. I don't think we could wish for a better place to be at the end of 2016. Feels like an early Christmas present! Our early one for you is 0.35. It's not a single thing inside a nice wrapping, more like several little gifts inside the 0.35 box. +5000 stars on GitHub, 2000 people in out Gitter chatroom and over a million monthly page views. I don't think we could wish for a better place to be at the end of 2016. Feels like an early Christmas present! Our early one for you is 0.35. It's not a single thing inside a nice wrapping, more like several little gifts inside the 0.35 box. This will be the last release of 2016 as our developers are taking a well deserved break. We will be back in 2017! ## {% linkable_title Text to Speech %} With the addition of a [text-to-speech][tts] component by [@pvizeli] we have been able to bring Home Assistant to a whole new level. The text-to-speech component will take in any text and will play it on a media player that supports to play media. We have tested this on Sonos, Chromecast, and Google Home. -https://www.youtube.com/watch?v=Ke0QuoJ4tRM +[https://www.youtube.com/watch?v=Ke0QuoJ4tRM](https://www.youtube.com/watch?v=Ke0QuoJ4tRM) ## {% linkable_title Call for help with HASSbian (our Raspberry Pi image) %} In an effort to make Home Assistant, we're planning to extend the things that people can do out of the box with HASSbian, our Raspberry Pi image. As you might know, the image is currently maintained by [@Landrash]. However he also spends a lot of time on improving the docs and helping out with a ton of other things. @@ -40,7 +40,7 @@ The [GPSLogger](https://home-assistant.io/components/device_tracker.gpslogger/) - Sensor: Support weather conditions from Austrian [ZAMG][zamg] ([@mjl]) - Verisure: Add Verisure smartcam capture service ([@turbokongen]) - Binary sensor: [Flic][flic] button support added ([@soldag]) -- Sensor: Support for [SenseHat][sensehat] ([@farminf]) +- Sensor: Support for [Sense HAT][sensehat] ([@farminf]) - Binary sensor: [Hikvision][hikvision] binary sensor support ([@mezz64]) - [Text-to-speech][tts] support ([@pvizeli]) - Sensor: Support for Broadlink [sensors][bl-sensor] ([@Danielhiversen]) From a153336e3d69f1562c9f250c02ef67692173ba3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Oldag?= Date: Sun, 18 Dec 2016 09:53:48 +0100 Subject: [PATCH 002/190] Flic: Support ignoring individual click types. (#1568) --- source/_components/binary_sensor.flic.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_components/binary_sensor.flic.markdown b/source/_components/binary_sensor.flic.markdown index 30feabe6e92..5028184ce55 100644 --- a/source/_components/binary_sensor.flic.markdown +++ b/source/_components/binary_sensor.flic.markdown @@ -30,6 +30,7 @@ Configuration variables: - **host** (*Optional*): The IP or hostname of the flic service server. (default: `localhost`) - **port** (*Optional*): The port of the flic service. (default: `5551`) - **discovery** (*Optional*): If `true`, the component is configured to constantly scan for new buttons. (default: `true`) +- **ignored_click_types**: List of click types whose occurrence should not trigger and `flic_click` event. #### {% linkable_title Discovery %} @@ -61,3 +62,7 @@ Event data: - **button_name**: The name of the button, that triggered the event. - **button_address**: The bluetooth address of the button, that triggered the event. - **click_type**: The type of click. Possible values are `single`, `double` and `hold`. + + +##### {% linkable_title Ignoring Click Types %} +For some purposes it might make sense to exclude a specific click type from triggering click events. For example when ignoring double clicks, pressing the button twice fast results in two `single` instead of a `double` click event. This is very useful for applications where you want to click fast. From 60b57ae58b89c761d388030f989402f1e4f2a580 Mon Sep 17 00:00:00 2001 From: Joe Rocklin Date: Sun, 18 Dec 2016 03:57:40 -0500 Subject: [PATCH 003/190] Add hvac_state property to nest sensors (#1559) --- source/_components/sensor.nest.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/sensor.nest.markdown b/source/_components/sensor.nest.markdown index 8cebddbd5d6..8087d51eb26 100644 --- a/source/_components/sensor.nest.markdown +++ b/source/_components/sensor.nest.markdown @@ -43,6 +43,7 @@ The following conditions are available by device: - operation\_mode - temperature - target + - hvac\_state: The currently active state of the HVAC system, `heating`, `cooling`, or `off`. - Nest Protect: - co\_status - smoke\_status From fe8ab8cce04e69f182f797bc723acb3f06c17a6a Mon Sep 17 00:00:00 2001 From: Nolan Gilley Date: Sun, 18 Dec 2016 05:29:25 -0500 Subject: [PATCH 004/190] add manual mode to speedtests (#1608) --- source/_components/sensor.fastdotcom.markdown | 3 ++- source/_components/sensor.speedtest.markdown | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.fastdotcom.markdown b/source/_components/sensor.fastdotcom.markdown index 40bffe188cb..2e6484f26f9 100644 --- a/source/_components/sensor.fastdotcom.markdown +++ b/source/_components/sensor.fastdotcom.markdown @@ -46,5 +46,6 @@ Configuration variables: - **minute** (*Optional*): Specify the minute(s) of the hour to schedule the speedtest. Use a list for multiple entries. Default is 0. - **hour** (*Optional*): Specify the hour(s) of the day to schedule the speedtest. Use a list for multiple entries. Default is None. - **day** (*Optional*): Specify the day(s) of the month to schedule the speedtest. Use a list for multiple entries. Default is None. +- **manual** (*Optional*): True or False to turn manual mode on or off. Manual mode will disable scheduled speedtests. -There is also a service named `sensor.update_fastdotcom` that you can use to run a fast.com speedtest on demand. +There is also a service named `sensor.update_fastdotcom` that you can use to run a fast.com speedtest on demand. You can turn on manual mode to disable the scheduled speedtests. diff --git a/source/_components/sensor.speedtest.markdown b/source/_components/sensor.speedtest.markdown index 4bba84884fa..a2a15e02de3 100644 --- a/source/_components/sensor.speedtest.markdown +++ b/source/_components/sensor.speedtest.markdown @@ -41,10 +41,12 @@ Configuration variables: - **minute** (*Optional*): Specify the minute(s) of the hour to schedule the speedtest. Use a list for multiple entries. Default is 0. - **hour** (*Optional*): Specify the hour(s) of the day to schedule the speedtest. Use a list for multiple entries. Default is None. - **day** (*Optional*): Specify the day(s) of the month to schedule the speedtest. Use a list for multiple entries. Default is None. +- **manual** (*Optional*): True or False to turn manual mode on or off. Manual mode will disable scheduled speedtests. This component uses [speedtest-cli](https://github.com/sivel/speedtest-cli) to gather network performance data from Speedtest.net. Please be aware of the potential [inconsistencies](https://github.com/sivel/speedtest-cli#inconsistency) that this component may display. -When Home Assistant first starts up, the values of the speedtest will show as `Unknown`. You can use the service `sensor.update_speedtest` to run a manual speedtest and populate the data or just wait for the next regularly scheduled test. +When Home Assistant first starts up, the values of the speedtest will show as `Unknown`. You can use the service `sensor.update_speedtest` to run a manual speedtest and populate the data or just wait for the next regularly scheduled test. You can turn on manual mode to disable the scheduled speedtests. + ## {% linkable_title Examples %} From ed1a976532ed747ebbcde7b7b001939d65b8abb6 Mon Sep 17 00:00:00 2001 From: Thibault Cohen Date: Sun, 18 Dec 2016 06:24:00 -0500 Subject: [PATCH 005/190] Add hydroquebec sensor documentation (#1581) --- .../_components/sensor.hydroquebec.markdown | 54 +++++++++++++++++++ .../images/supported_brands/hydroquebec.svg | 50 +++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 source/_components/sensor.hydroquebec.markdown create mode 100644 source/images/supported_brands/hydroquebec.svg diff --git a/source/_components/sensor.hydroquebec.markdown b/source/_components/sensor.hydroquebec.markdown new file mode 100644 index 00000000000..27483f02c29 --- /dev/null +++ b/source/_components/sensor.hydroquebec.markdown @@ -0,0 +1,54 @@ +--- +layout: page +title: "Hydro-Québec" +description: "Instructions how to integrate Hydro-Québec consumption profile within Home Assistant." +date: 2016-12-10 0:15 +sidebar: true +comments: false +sharing: true +footer: true +logo: hydroquebec.svg +ha_category: Energy +ha_release: 0.35 +ha_iot_class: "Cloud Polling" +--- + + +Integrate your [Hydro-Québec](https://www.hydroquebec.com/portail/) consumption profile information into Home Assistant. + +```yaml +# Example configuration.yaml entry +ensor: + - platform: hydroquebec + username: MYUSERNAME + password: MYPASSWORD + monitored_variables: + - period_total_bill + - period_length + - period_total_days + - period_mean_daily_bill + - period_mean_daily_consumption + - period_total_consumption + - period_lower_price_consumption + - period_higher_price_consumption + - yesterday_total_consumption + - yesterday_lower_price_consumption + - yesterday_higher_price_consumption +``` + +Configuration variables: + +- **username** (*Required*): The App Token for your account. +- **password** (*Required*): The App Token for your account. +- **monitored_variables** array (*Required*): Variables to monitor. + - **period_total_bill** : Current period bill + - **period_length**: Current period length + - **period_total_days**: Total number of days in this period + - **period_mean_daily_bill**: Period daily average bill + - **period_mean_daily_consumption**: Period daily average consumption + - **period_total_consumption**: Total Consumption + - **period_lower_price_consumption**: Period Lower price consumption + - **period_higher_price_consumption**: Period Higher price consumption + - **yesterday_total_consumption**: Yesterday total consumption + - **yesterday_lower_price_consumption**: Yesterday lower price consumption + - **yesterday_higher_price_consumption**: Yesterday higher price consumption diff --git a/source/images/supported_brands/hydroquebec.svg b/source/images/supported_brands/hydroquebec.svg new file mode 100644 index 00000000000..ebf4f8144a7 --- /dev/null +++ b/source/images/supported_brands/hydroquebec.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + From ae44d3007cadec8bbf637acc435353309b10f8af Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 17:02:10 +0100 Subject: [PATCH 006/190] Upgrade for 0.36 --- source/_components/ha.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/ha.markdown b/source/_components/ha.markdown index d6d19aebb6e..20cbd26137d 100644 --- a/source/_components/ha.markdown +++ b/source/_components/ha.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: home-assistant.png ha_category: Release -ha_release: 0.35 +ha_release: 0.36 --- Details about the latest release can always be found at: From b64a929ae3dafe2fc36789c0705857ef53244af6 Mon Sep 17 00:00:00 2001 From: Nick Sabinske Date: Sun, 18 Dec 2016 13:05:17 -0500 Subject: [PATCH 007/190] Update Sonarr docs for new optional urlbase option (#1622) --- source/_components/sensor.sonarr.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/sensor.sonarr.markdown b/source/_components/sensor.sonarr.markdown index df9069f355f..2c4b37abc29 100644 --- a/source/_components/sensor.sonarr.markdown +++ b/source/_components/sensor.sonarr.markdown @@ -38,6 +38,7 @@ Configuration variables: - **diskspace**: Available disk space. - **host** (*Optional*): The host Sonarr is running on (Default: localhost). - **port** (*Optional*): The port Sonarr is running on (Default: 8989). +- **urlbase** (*Optional*): The base URL Sonarr is running under (Default: /). - **days** (*Optional*): How many days to look ahead for the upcoming sensor, 1 means today only (Default: 1). - **included_paths** (*Optional*): Array of filepaths to include when calculating diskspace. Leave blank to include all. - **unit**: (*Optional*): The unit to display disk space in (Default: GB). From 61591bc0e485ae74b5ea00e2f5bfe82455f6d5f1 Mon Sep 17 00:00:00 2001 From: jdegraef Date: Mon, 19 Dec 2016 19:17:55 +0100 Subject: [PATCH 008/190] added note on windows pycrypto install (#1625) --- source/_components/sensor.broadlink.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_components/sensor.broadlink.markdown b/source/_components/sensor.broadlink.markdown index 1a03b94c694..a61a90932eb 100644 --- a/source/_components/sensor.broadlink.markdown +++ b/source/_components/sensor.broadlink.markdown @@ -57,3 +57,12 @@ sensor: monitored_conditions: - temperature ``` + +**note**: The pycrypto library needs to be available on your platform. +on a typical windows sysytem `pip install pycrypto` will fail, as a compiler needs to be installed. + +The quickest way around this is to use a pre-built binary, e.g. from here: +https://github.com/sfbahr/PyCrypto-Wheels + +be sure to get the correct 64 or 32-bit binary for your system, the full commandline will look someting like this (64bit): +`pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto` From 582428548d7183f94629c73b1d903693814b8ffe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 19 Dec 2016 19:24:58 +0100 Subject: [PATCH 009/190] Update broadlink docs --- source/_components/sensor.broadlink.markdown | 44 ++++++++++++++------ source/_components/switch.broadlink.markdown | 2 +- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/source/_components/sensor.broadlink.markdown b/source/_components/sensor.broadlink.markdown index a61a90932eb..7f7fe469f99 100644 --- a/source/_components/sensor.broadlink.markdown +++ b/source/_components/sensor.broadlink.markdown @@ -13,16 +13,27 @@ ha_release: 0.35 --- -The `broadlink` sensor platform let you monitor data from an RM2 and A1 E-air. -There is currently no support for the cloud API. +The `broadlink` sensor platform let you monitor data from an RM2 and A1 E-air. There is currently no support for the cloud API. +To enable it, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +switch: + - platform: broadlink + host: IP_ADDRESS + mac: 'MAC_ADDRESS' + monitored_conditions: + - 'temperature' +``` Configuration options: -- **name** (*Optional*): Default BL. Sensor name -- **update_interval** (*Optional*): Default 300. Time in seconds to fetch data from sensors + - **host** (*Required*): The hostname/IP address to connect to. - **mac** (*Required*): Device mac address. -- **timeout** (*Optional*): Timeout in seconds for the connection to the device +- **name** (*Optional*): Default BL. Sensor name +- **update_interval** (*Optional*): Time in seconds to fetch data from sensors. Default 300. +- **timeout** (*Optional*): Timeout in seconds for the connection to the device. - **monitored_conditions** array (*Required*): States to monitor. - 'temperature' - 'humidity' @@ -33,9 +44,10 @@ Configuration options: To set it up, add the following information to your `configuration.yaml` file: Obtain sensor data from an A1: + ```yaml sensor: - platform: broadlink + - platform: broadlink update_interval: 60 host: IP_ADDRESS mac: 'MAC_ADDRESS' @@ -48,9 +60,10 @@ sensor: ``` Obtain temperature data from an RM2: + ```yaml sensor: - platform: broadlink + - platform: broadlink update_interval: 60 host: IP_ADDRESS mac: 'MAC_ADDRESS' @@ -58,11 +71,16 @@ sensor: - temperature ``` -**note**: The pycrypto library needs to be available on your platform. -on a typical windows sysytem `pip install pycrypto` will fail, as a compiler needs to be installed. +### {% linkable_title Microsoft Windows installation %} -The quickest way around this is to use a pre-built binary, e.g. from here: -https://github.com/sfbahr/PyCrypto-Wheels +

+The pycrypto library needs to be available on your platform. On a typical windows sysytem `pip install pycrypto` will fail, as a compiler needs to be installed first. +

-be sure to get the correct 64 or 32-bit binary for your system, the full commandline will look someting like this (64bit): -`pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto` +The quickest way around this is to use a pre-built binary, e.g. from https://github.com/sfbahr/PyCrypto-Wheels + +Be sure to get the correct 64 or 32-bit binary for your system, the full commandline will look something like the sample below for a 64-bit system: + +```bash +pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto +``` diff --git a/source/_components/switch.broadlink.markdown b/source/_components/switch.broadlink.markdown index f6889a5b9dc..41b67330382 100644 --- a/source/_components/switch.broadlink.markdown +++ b/source/_components/switch.broadlink.markdown @@ -29,6 +29,7 @@ switch: ``` Configuration variables: + - **host** (*Required*): The hostname/IP address to connect to. - **mac** (*Required*): Device mac address. - **timeout** (*Optional*): Timeout in seconds for the connection to the device @@ -39,7 +40,6 @@ Configuration variables: - **command_off** (*Required*): Base64 encoded packet from RM device to take for off. - How to obtain IR/RF packets? Choose Call Service from the Developer Tools. Choose the service broadlink/learn_command from the list of Available services: and hit CALL SERVICE. Press the button on your remote with in 20 seconds. The packet will be printed in the log and as a persistent notification. From e4c70dee08411b850e90ae5ba4f1a193d3a1ad48 Mon Sep 17 00:00:00 2001 From: William Scanlon Date: Thu, 22 Dec 2016 15:17:56 -0500 Subject: [PATCH 010/190] Added TrackR doc. --- .../device_tracker.trackr.markdown | 34 ++++++++++++++++++ source/images/supported_brands/trackr.png | Bin 0 -> 3919 bytes 2 files changed, 34 insertions(+) create mode 100644 source/_components/device_tracker.trackr.markdown create mode 100644 source/images/supported_brands/trackr.png diff --git a/source/_components/device_tracker.trackr.markdown b/source/_components/device_tracker.trackr.markdown new file mode 100644 index 00000000000..19ced73c084 --- /dev/null +++ b/source/_components/device_tracker.trackr.markdown @@ -0,0 +1,34 @@ +--- +layout: page +title: "TrackR" +description: "Instructions how to use TrackR to track devices in Home Assistant." +date: 2016-12-22 1000 +sidebar: true +comments: false +sharing: true +footer: true +logo: trackr.png +ha_release: 0.36 +ha_category: Presence Detection +ha_iot_class: "Cloud Polling" +--- + + +The `trackr` platform allows you to detect presence using [TrackR](https://www.thetrackr.com/) devices. + +The offical TrackR mobile app handles the tracking of the TrackR devices using your phones bluetooth and GPS. + +To integrate TrackR in Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +device_tracker: + platform: trackr + username: USERNAME + password: PASSWORD +``` + +Configuration variables: + +- **username** (*Required*): The email address for the TrackR account. +- **password** (*Required*): The password for your given username. diff --git a/source/images/supported_brands/trackr.png b/source/images/supported_brands/trackr.png new file mode 100644 index 0000000000000000000000000000000000000000..fe036dd651fb3dd97c33984fb7e72c26ec692733 GIT binary patch literal 3919 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 literal 0 HcmV?d00001 From d13089e3fbff2964ee6a93a106e6e058034a08ed Mon Sep 17 00:00:00 2001 From: Hydreliox Date: Mon, 26 Dec 2016 16:02:30 +0100 Subject: [PATCH 011/190] Add ISS Sensor Documentation (#1620) * Add ISS Sensor Documentation * Fix documentation to reflect changes in PR --- source/_components/sensor.iss.markdown | 26 +++++++++++++++++++++++++ source/images/supported_brands/iss.png | Bin 0 -> 293941 bytes 2 files changed, 26 insertions(+) create mode 100644 source/_components/sensor.iss.markdown create mode 100644 source/images/supported_brands/iss.png diff --git a/source/_components/sensor.iss.markdown b/source/_components/sensor.iss.markdown new file mode 100644 index 00000000000..5e44a1b63c4 --- /dev/null +++ b/source/_components/sensor.iss.markdown @@ -0,0 +1,26 @@ +--- +layout: page +title: "International Space Station Sensor" +description: "Know if or when ISS will be above your home location" +date: 2016-12-18 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: bbox.png +ha_category: Sensor +ha_release: 0.36 +--- + +The `iss` platform uses the [Open Notify API](http://open-notify.org/Open-Notify-API/ISS-Location-Now/) to let you know if the station is above your home location. This means that ISS is 10° above the horizon of your home. +You can check in the attributes of the sensor how many minutes you have to wait until the next rise of the station and the number of people in space. + +To add ISS sensor to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: iss +``` + + diff --git a/source/images/supported_brands/iss.png b/source/images/supported_brands/iss.png new file mode 100644 index 0000000000000000000000000000000000000000..69a167003dba017cc6588370bde4479f8597ca92 GIT binary patch literal 293941 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 z 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

Vj>B*J_bAQD=}w&G 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%0AGcK@1gP&gxye`u+ zAsoEJUCZ4KNcD&t7g0QSbdq;z-?Z7OFE;>tf#kV0Y5WqHbnvvy^%xxTD8xcKETEg= zaZ8%zt9_Wsd4<>wP@yW&RoWumjy18c+DUn?_Bnikz@`78CCxo?^evvaSmqzH5LTSO z`;TxFzx-~vqe1#LmhBRiO%9QN=8Zp&0Pd{IwR+LVmQ+C9;G=xr=$Eu^1Wp_%4gtj?a!nwJd z&N0E)C{|x5VXJHsNT{?FIX}t)HMMyE_Zm+@hg0njPo(EN(EeXHcCVkLylZ8gYrlAx zN2T7X3NP(V)U;y(6o9f>sjAOKkE)Ow>#>mo}?lFAd!*I>WjmQwe zbUFBx=G)xF@8Bb@ZxOP%3Sk!*>FSX7EJNKuT<%ZxXT&hfQeLS-zwD)^#^6D4#Y((8 zR4(GSv3g`dzborjffY$(gp=hrq88Gm6H}%0DUS(#dZK9~3umn)&;bZHFJPQR+aTCi z5FFg{8W_F?v~;Hv#d}?UN^2QOZ;4C?p0W&WG1@aGX-zx5MeHqOY|d$o!v=O++Y+0e z)h>H$o2{(RQ8J^_QtpGVrzgNgm+)bbe*61#Gzgm3{lfZnb>y}jGlBf?wd|6L#(CX9 zwyizHw$Y{BR)*C#O7tk%h>95g!6rSe4!eaa=mYCX zzI5@htc5NguO%0+DHpFbVu6ZzK=W#NT;XqQWCzi)kuG;YdYEtrCV-ojWfx2zz72y@ zs8u?$xV4o3q;UghPo#CP8J$V(0>-xb4f)P)3a77U-(4H>f)Au~k=mn3`qVnw*v&G| zg{PUkdo$RtfoNz`6a{X5!9YrCL;Pk#O3HoedxblvVv>>LIVz&~PRz*qe~VvW4->5e zzCG8V_*XWcEmmWE*~?p=m~LjMcBpseZKJ9XEL{I!H6XO&^r?+tCa&-8%2%8jBDyOn z!*rPvO_VArQ1Sw&ME3=!)RmE zp*UBCz_jr-?O3QyUB`xv$b3RXgfHh&1)xOO!Hz8&k2>kglf=)Waq)Gi1;;QDxY`!# z5mWQpA!f61h5J@_rA_3C)3>nOIT7Iw(v8n7=v=G*{nOA8!k3AQc8RA>mmRTF1Gs>s zR*!|Xa1bM&KPL=<^D9!26V=(sevITsGHQ$(1o?9TsX07|k$~sjZ?$olf^XLvC`7xA zv%|OOj_Wb!7U662{96;~TQ>{8<3F}-at|(c`>`z^`}$$?d(?7aVLdnkr>j($S@y++ zA#T8+(323jt~+ntb~Ao=1U*fjqAY=&IdLM5vZM+jF_7o|nJcn`>-(yPk8Jr9FpqKWyQ8+{&QNr5ZCWu6 z`b>_*3A_s)X+@i5>5mD<6|$aX3e8LO9%Txi9kIu!2M2;Mh*ctM0%Wfw_(Pk&!uH|> zn5n7ZiVV{thTn4!v!#8RL?99mty6&$M^EwSNYMZEC^`%lTew z$N#+%6m#PUlil4>L`3t&P+{+07HJbL>uIn@d4Iv4kCmEQ}XJ8-N z!iukAoF2Nu<{PJ*NBUBNNP4W}!R}36_P#9&jw1B>$AOzStiA+LqaOh`7H^`n#|Cr4 z&RB^rO0Wh}W)z&m6?+Pk-?|wBRfuj)yXUHpdjoT0hAo~7p#G&l#C0e$qpI^|*32W+ zXmnzcwY}jzOnZ0z2{F$46VUCxdLu(O10B5T9PE&sV-unyM5X>I!7UYB6S1@<>wEuq zlME9V$Y9{Dt!bLhX0r&j!FM6If8Y6Y&k%bMp}{p}U~a@dQTZ0hHqQi*+tT(CVs)h< z847rg2pRT5iw*@ldB=mKq|EN;;IOg0n$w zgAr`0sWT(aaUNc;M&6hG2Qhd}JN8=hj(4n(tOu$vnaG5kc-2vw!dEgIYv^7!;=EG#Jp`RvWy*|Nq<_yK} zUd&^<@~(Amtq@fvV%pQcP8z+ggO4u@2?^ z`Oi~C?k3dKwRiun|6vUCgsx1ET)OMY@29$FP$5gv54hn5t8gO-_g^A3CCh)EiF52% zJ1+$oPTU1(qhF-H9usE-I8^Q+e?zY44su_ic(AueI@1a}HiMtQT~v0OKqELC>4C)f z6N-m>?7xS071&>h;Mm%twQ*u$EmO?RVqzs?j8p2z<|pTzvj&QtjA!#ft-$Y}?%M{U zsI=Zc7M!idYoVPFV19wc57n`Hy3s!eEuU*a!+lr~b-<6ZlcC0;RI%G7f3G#bFS9b|yh}LU$uYf&4m6{ZNTIK~7e7%c?}Cjcv{1S` z;;W#QL+f2UEf=8w8WcWw(}84~{T;{EY7s9>UC;x*E+$vNl(tKpx)2C@{(z@EQ z^%y_{?CtD-3e;KOvn0iEG>!n85ZNd1xncxO2n&WRmkW^>iN_k!T(p%Sv%d2fcM{{& z<83yxIr^~Nxx@BaHgBSG}K}=Wnqe9{~ASEFeb+Bc( z((Goaf3I<`1TXZLtQ=aokPeRyoL(Tfk*6)VZg<>vBy@|+!CmCUJq<&`atR?iA|i$x zaP9ylGe%~9P_v>Qsg0z3KbXB7A|$Xiu4Js$^rMytN01p*4t3;ni4iKW{o2EY_=Ah9 zziE14y5|6vty;-Z>35{*Sj>lNwk(_Pl|+K8=NlCWffZh7i_Rv^KV5~7>!ygeeJ}wj zd;B}hq{99~W|khzZ%&di(?#GRxOaRuc%6Fydd?lg>sG@qy;MC>u67GuwXA9VB`P+x kZLCjjiTMBX8xB7g&tL6$q!mORgaLl?(#lemlEy**2Tx$&-2eap literal 0 HcmV?d00001 From 2295401825335265d80703222162b8d85203be45 Mon Sep 17 00:00:00 2001 From: Benjamin Bryan Date: Wed, 28 Dec 2016 06:24:57 -0800 Subject: [PATCH 012/190] fix yaml syntax (#1666) --- source/_components/light.flux_led.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/light.flux_led.markdown b/source/_components/light.flux_led.markdown index e5701d9c0c5..afb0fbb2921 100644 --- a/source/_components/light.flux_led.markdown +++ b/source/_components/light.flux_led.markdown @@ -63,7 +63,7 @@ light: name: flux_living_room_lamp automation: - random_flux_living_room_lamp: + alias: random_flux_living_room_lamp trigger: platform: time seconds: '/45' From 140a21683353d2ebb5880d4818436e873de6d70d Mon Sep 17 00:00:00 2001 From: Johann Kellerman Date: Wed, 28 Dec 2016 22:31:16 +0200 Subject: [PATCH 013/190] [sensor/sma] New SMA Solar Webconnect censor --- source/_components/sensor.sma.markdown | 55 ++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 source/_components/sensor.sma.markdown diff --git a/source/_components/sensor.sma.markdown b/source/_components/sensor.sma.markdown new file mode 100644 index 00000000000..02d6a2745bd --- /dev/null +++ b/source/_components/sensor.sma.markdown @@ -0,0 +1,55 @@ +--- +layout: page +title: "SMA Solar WebConnect" +description: "Instructions on how to connect your SMA Inverter to Home Assistant." +date: 2015-12-28 21:45 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: +logo: sma.png +ha_iot_class: "Cloud Polling" +ha_release: 0.36 +--- + + +The `sma` sensor will poll a SMA solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant. + +To enable this sensor, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: sma + ip: + password: !secret sma_password + sensors: + - CURRENT_POWER: + - CURRENT_CONSUMPTION: [TOTAL_CONSUMPTION] + keys: + - +``` + +Configuration variables: + +- **ip** (*Required*): The IP address of the SMA WebConnect module. +- **password** (*Required*): The password of the SMA WebConnect module. +- **group** (*Optional*): The user group, which can be either `user` (the default) or `installer`. +- **sensors** (*Required*): A list of sensors that will be added. +- **keys** (*Optional*): A dictionary of `SENSOR_NAME: SENSOR_KEY` values (e.g. `YESTERDAY_CONSUMPTION_KWH: "6400_00543A01"`). These sesnors will be added to the standard ones in the [pysma library](https://github.com/kellerza/pysma/blob/master/pysma/__init__.py#L18) + +Sensor configuration: + +The sensors can be any one of the following: +- current_power +- current_consumption +- total_power +- total_consumption + +You can also create composite sensors, where the sub-sensors will be attributes of the main sensor, e.g. + +```yaml + sensors: + - current_power: [total_power, total_consumption] +``` From e0308151c1acc04b68eeb17ee6f2fc1ab4fc7e7d Mon Sep 17 00:00:00 2001 From: Brent Hughes Date: Wed, 28 Dec 2016 19:13:43 -0600 Subject: [PATCH 014/190] Added docs for the new ledenet protocol --- source/_components/light.flux_led.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_components/light.flux_led.markdown b/source/_components/light.flux_led.markdown index afb0fbb2921..e9d404af622 100644 --- a/source/_components/light.flux_led.markdown +++ b/source/_components/light.flux_led.markdown @@ -22,6 +22,7 @@ Example of bulbs: - [MagicLight® Plus - WiFi Smart LED Light Bulb4](https://www.amazon.com/gp/product/B00NOC93NG) - [Flux WiFi Smart LED Light Bulb4](http://smile.amazon.com/Flux-WiFi-Smart-Light-Bulb/dp/B01A6GHHTE) - [WIFI smart LED light Bulb1](http://smile.amazon.com/gp/product/B01CS1EZYK) +- [Ledenet WiFi RGBW Controller](https://www.amazon.com/gp/product/B01DY56N8U) The chances are high that your bulb or controller (eg. WiFi LED CONTROLLER) will work if you can control the device with the MagicHome app. @@ -89,3 +90,11 @@ Will add a light with white mode (default). Changing the brightness will set the name: NAME mode: "rgbw" ``` + +Some devices such as the Ledenet RGBW controller use a slightly differenct protocol for communicating the brightness to each color channel. If your device is only turning on or off but not changing color or brightness try adding the LEDENET protocol. + +```yaml + 192.168.1.10: + name: NAME + protocol: 'LEDENET' +``` From 6f5b610690f2b2a9178ae3e50f10b2dc4168030e Mon Sep 17 00:00:00 2001 From: Brent Hughes Date: Wed, 28 Dec 2016 23:07:01 -0600 Subject: [PATCH 015/190] made ledenet lowercase --- source/_components/light.flux_led.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/light.flux_led.markdown b/source/_components/light.flux_led.markdown index e9d404af622..4cf0c176025 100644 --- a/source/_components/light.flux_led.markdown +++ b/source/_components/light.flux_led.markdown @@ -96,5 +96,5 @@ Some devices such as the Ledenet RGBW controller use a slightly differenct proto ```yaml 192.168.1.10: name: NAME - protocol: 'LEDENET' + protocol: 'ledenet' ``` From 2d6a719e17cf859811a8f5d0bd61bcbd3c8eba76 Mon Sep 17 00:00:00 2001 From: Tom Barbette Date: Thu, 29 Dec 2016 16:22:47 +0100 Subject: [PATCH 016/190] media_player/vlc: More details about inner working (#1671) - Say that only music is supported - Explain that it launches a VLC in background and this does not allow to control a GUI instance. --- source/_components/media_player.vlc.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_components/media_player.vlc.markdown b/source/_components/media_player.vlc.markdown index b929f3b548f..59940f6f323 100644 --- a/source/_components/media_player.vlc.markdown +++ b/source/_components/media_player.vlc.markdown @@ -28,3 +28,6 @@ Configuration variables: - **name** (*Optional*): The name to use in the frontend. +Only "music" media type is supported for now. + +This service will control a background VLC instance, therefore you cannot use this to control a VLC instance launched on your desktop, unlike the Kodi media player for example. From aba311fddaf3ac1b5ec2041df00330e1fb4b9318 Mon Sep 17 00:00:00 2001 From: Giannie Date: Thu, 29 Dec 2016 17:17:14 +0000 Subject: [PATCH 017/190] Add documentation for device_id parameter --- .../_components/device_tracker.bluetooth_le_tracker.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/device_tracker.bluetooth_le_tracker.markdown b/source/_components/device_tracker.bluetooth_le_tracker.markdown index ba2fdb72881..a17beab97bb 100644 --- a/source/_components/device_tracker.bluetooth_le_tracker.markdown +++ b/source/_components/device_tracker.bluetooth_le_tracker.markdown @@ -32,6 +32,10 @@ device_tracker: - platform: bluetooth_le_tracker ``` +Configuration variables: + +- **device_id** (*Optional*): The device ID for the bluetooth device to be used for tracking. Defaults to `hci0`. + As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times. Some BTLE devices (e.g. fitness trackers) are only visible to the devices that they are paired with. In this case, the BTLE tracker won't see this device. From 6514fabc50f2b03af938477933118cf5c88da3aa Mon Sep 17 00:00:00 2001 From: Brent Hughes Date: Thu, 29 Dec 2016 13:29:49 -0600 Subject: [PATCH 018/190] Fixed typo and made example easier to understand --- source/_components/light.flux_led.markdown | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/_components/light.flux_led.markdown b/source/_components/light.flux_led.markdown index 4cf0c176025..1fe744c16be 100644 --- a/source/_components/light.flux_led.markdown +++ b/source/_components/light.flux_led.markdown @@ -91,10 +91,13 @@ Will add a light with white mode (default). Changing the brightness will set the mode: "rgbw" ``` -Some devices such as the Ledenet RGBW controller use a slightly differenct protocol for communicating the brightness to each color channel. If your device is only turning on or off but not changing color or brightness try adding the LEDENET protocol. +Some devices such as the Ledenet RGBW controller use a slightly difference protocol for communicating the brightness to each color channel. If your device is only turning on or off but not changing color or brightness try adding the LEDENET protocol. ```yaml - 192.168.1.10: - name: NAME - protocol: 'ledenet' +light: + - platform: flux_led + devices: + 192.168.1.10: + name: NAME + protocol: 'ledenet' ``` From 44dd7d3714da2c0e332d5aef5c382940dc38ef3e Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 30 Dec 2016 14:58:08 +0100 Subject: [PATCH 019/190] Create device_tracker.upc_connect.markdown --- .../device_tracker.upc_connect.markdown | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 source/_components/device_tracker.upc_connect.markdown diff --git a/source/_components/device_tracker.upc_connect.markdown b/source/_components/device_tracker.upc_connect.markdown new file mode 100644 index 00000000000..b66dad89fa0 --- /dev/null +++ b/source/_components/device_tracker.upc_connect.markdown @@ -0,0 +1,28 @@ +--- +layout: page +title: "UPC ConnectBox" +description: "Instructions how to integrate UPC ConnectBox into Home Assistant." +date: 2016-12-30 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: upc.png +ha_category: Presence Detection +ha_release: 0.36 +--- + + +The `upc_connect` platform offers presence detection by looking at connected devices to an [ConnectBox](https://www.upc.ch/de/internet/connectbox/) router from [Liberty Global](http://www.libertyglobal.com/), which is a Internet provider in Switzerland, Austria. + +To use an Internet-Box router in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +device_tracker: + platform: upc_connect + password: '123456' + host: "192.168.0.1" # only required if not 192.168.0.1 +``` + +See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. From 1b58e22bf874eab183725b395c9b20f267ff3573 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 30 Dec 2016 15:03:53 +0100 Subject: [PATCH 020/190] Add files via upload --- source/images/supported_brands/upc.png | Bin 0 -> 55242 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/upc.png diff --git a/source/images/supported_brands/upc.png b/source/images/supported_brands/upc.png new file mode 100644 index 0000000000000000000000000000000000000000..c8158689004ddf7375708ab92d4fee7b894e19de GIT binary patch literal 55242 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%0A>zx{iGE zj$rUcB3*g{>iEb9|srXi^NO{_I;-}_noE;=CxDI(Pcxu})5%lxPQ7Y)gM)_l@m zQ-Z(W3t4J;XT#a?uy;GnY4FP9K+wdC?AF1d;BV1->@Q4|XL^H;*&w-kaL;^>@WpIk zd~|3zRCQ4k1LRJ1;W}rYX2)gbH2fpeY#gt-moOC4zPeE2r6!09PIe+`h7+2oFBOf3 zwx-Xm|3_}7BLO9UkXL6AR^R0(wusZB==DKl;EM;Xjh~imPgmpD`G36 zO8}Rq;wnzZ;ZLp;u~xu&Ila!NQC}dq9sg2^5K`kRkI<%gvF(f(5gUB~T|UVHtXOD% z=S{N&vEDOG>6gg+a;uQ*ND2OU=ax&MLCNQH?(4Pq4xQTO0(RNZD{KZwSB|rm8(~yZ z>v8jjLIxdVoQ4+PnwV7=lKrmfLpdfC{e@GNwKKuKJ_7kw_SdD>ulkpFd1UeWv**Jm z4zgRN{uKZG5?M9vmJ(ar$yQZR?W0v<0T)d+$&%5HneH2BHuc?c@FHNTB}g%osO_mF zxGs$~BIiutWgS!0{_=K@s9rWR-=1~m<*HBDR(IxlsV{i(S^gV)TX_bvtz?ax%z+2U z07T$>I-H-e6Wd+-4@54UUkAK?4)|*kB6Xuz*cT5JBz<<3?*xsQg%D}Orh8OqPx^DT zz+CwHPGFsP>j7`uCKnBBNf_9pJQ9GzfBAKiI!!)J4|X6lDqk>p)lf)3{{24X%m`B5 z=R?8&?OtOew=PZB3A({Xe4}@p$GqXTGkvt9Mt((~tF~QSJ~gfY2!cmb4GGBKL2|f+ zFPK(&F0sJp#h!!lnGf4%o!@6BvemSpXIQf?s$ry%G~51bp+K*5EzO82S<7gFAx?v1yJ8x2)^xpbGrpiiyaoT+AR!y$Yj4- zYE}Pt=b3Dn$YEM+9rtW_AJJP`o~eKy>Q@{iv%(o7C?7J@q{r_kt=b6WdW;EYujcdK zt58PlGNpJGGyZD~B&A)~nVY)=c$-&*8_E*M0uCBKI&+k)q~bpOrer0D+QM4AL`d)Hul@#QJ@0)5i7Xmd2I2|?A2oIj*jJro2CGN56Oe#jm? zEa2Q*9-2?%#MKEydD*V3`Em1vKi|_fTvU zk%_G5x%WHg4sFZ^C@gpkm<#ikIN}br-YQGzwir!o2Lbxy)Eo`}4%+o(i|Iljh0^;$w*W*NT;7a#4pO6(rNP>RWvtN6 zi?{}X3x$U=Ad=ma{cLb_E3on)vF|TcGz9vqDwghwo$NTs(7Zql;E_hPAh1s_;fN6K zkZ5 z(4OUSj(SDpk8rcd5uN4qW2s3S? zqRmHfJ!Vt#kZ9L^FW>$x_8DS>m3JzKu@1_8W=x%Ck^U_(Ta0vSWd??Lf3RPYrSVIz zP4)|H>{}fFdIFTHbh}NRd;!w2{<&UdKVy-5S1BoR=+76BFE!sE2&hdFxX7+brJpdg zM}nyDy&vZFBgZlxO5S@Pe3C~2s8Y-kpC-(?0v>!ZW@{q5n*l?#yUnGDtfn|OZS2nh z$W|kZ;K-jF3M(-ulSy9p?7|nw)hzUj8lRj(0ni_!C-!g2&O{ypXjyX~%>+fU@mAc~ zKLhDF8+R-Rrr&%Jl6|vW&0)@euk|2Jig*})Is77~v-XMkp(uCf_dUvdP1h>9!NI;a zc!g&HV96n4FhshQ@gt$f&?1i8*q@f5CJwxb#x;hXhApjONS?$HUT_^f`0pQsrZGABe{(ZJsQ|nT zI=7rxX8`qj;-!WAQRK;1A7 zrWvR}FZfF#0kfVnhYpvijXFqySX^-HQoT_h^8~)S9?g%Y8ivDF)Mg7f{7%01joG`e zHa|4XD59{h=0D$C_$kY)D*3yU;+^l-+Hm0geQ@5t1_r>Wqf+~~vHK-0Ykw>)ptH(> z8NsiY0JQwSrQrWZLL=W61Q}>_Y9M4w)J>AA`>`$j&G`%|`${ID$^QWIfAz-K%M#$> WY}IpE7KMU<>*|&3m#YntkN*daH_fB~ literal 0 HcmV?d00001 From 52c72bdd950d761f9151438ca26601a4848234f2 Mon Sep 17 00:00:00 2001 From: Johann Kellerman Date: Sat, 31 Dec 2016 10:09:47 +0200 Subject: [PATCH 021/190] Add sma logo --- source/images/supported_brands/sma.png | Bin 0 -> 3543 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/sma.png diff --git a/source/images/supported_brands/sma.png b/source/images/supported_brands/sma.png new file mode 100644 index 0000000000000000000000000000000000000000..ddc2c4e6e84c1928e576f73d07bc461ae2a7a7b5 GIT binary patch literal 3543 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 Date: Sat, 31 Dec 2016 10:18:21 +0200 Subject: [PATCH 022/190] Update sensor.sma.markdown --- source/_components/sensor.sma.markdown | 35 +++++++++++++++++--------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/source/_components/sensor.sma.markdown b/source/_components/sensor.sma.markdown index 02d6a2745bd..9f2abe053db 100644 --- a/source/_components/sensor.sma.markdown +++ b/source/_components/sensor.sma.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SMA Solar WebConnect" -description: "Instructions on how to connect your SMA Inverter to Home Assistant." +description: "Instructions on how to connect your SMA Solar Inverter to Home Assistant." date: 2015-12-28 21:45 sidebar: true comments: false @@ -9,7 +9,7 @@ sharing: true footer: true ha_category: logo: sma.png -ha_iot_class: "Cloud Polling" +ha_iot_class: "Local Polling" ha_release: 0.36 --- @@ -20,24 +20,23 @@ To enable this sensor, add the following lines to your `configuration.yaml` file ```yaml # Example configuration.yaml entry -sensor: +sensor sma: - platform: sma - ip: + host: 192.168.88.199 password: !secret sma_password sensors: - - CURRENT_POWER: - - CURRENT_CONSUMPTION: [TOTAL_CONSUMPTION] - keys: - - + current_consumption: [total_consumption] + current_power: + total_yield: ``` Configuration variables: -- **ip** (*Required*): The IP address of the SMA WebConnect module. +- **host** (*Required*): The IP address of the SMA WebConnect module. - **password** (*Required*): The password of the SMA WebConnect module. - **group** (*Optional*): The user group, which can be either `user` (the default) or `installer`. -- **sensors** (*Required*): A list of sensors that will be added. -- **keys** (*Optional*): A dictionary of `SENSOR_NAME: SENSOR_KEY` values (e.g. `YESTERDAY_CONSUMPTION_KWH: "6400_00543A01"`). These sesnors will be added to the standard ones in the [pysma library](https://github.com/kellerza/pysma/blob/master/pysma/__init__.py#L18) +- **sensors** (*Required*): A dictionary of sensors that will be added. The value of the dictionary can include sensor names that will be shown as attributes. +- **custom** (*Optional*): A dictionary of custom sensor key values and units Sensor configuration: @@ -47,9 +46,21 @@ The sensors can be any one of the following: - total_power - total_consumption -You can also create composite sensors, where the sub-sensors will be attributes of the main sensor, e.g. +You can create composite sensors, where the sub-sensors will be attributes of the main sensor, e.g. ```yaml sensors: - current_power: [total_power, total_consumption] ``` + +The SMA WebConnect module supports a wide variety of sensors, and not all these have been mapped to standard sensors. Custom sensors can be defined by using the `custom` section of the configuration. You will need: A sensor name (no spaces), the SMA sensor key and the unit + +Example: +```yaml + custom: + yesterday_consumption: + key: 6400_00543A01 + unit: W +``` + +Over time more sensors will be added as standard sensors to the [pysma library](https://github.com/kellerza/pysma/blob/master/pysma/__init__.py#L18). Feel free to submit additional sensors on that repository. From 7122112ee59e28c860d433c30c884b389b24a15e Mon Sep 17 00:00:00 2001 From: doudz Date: Tue, 3 Jan 2017 16:45:51 +0100 Subject: [PATCH 023/190] Add files via upload --- source/_components/tts.picotts.markdown | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 source/_components/tts.picotts.markdown diff --git a/source/_components/tts.picotts.markdown b/source/_components/tts.picotts.markdown new file mode 100644 index 00000000000..411cc11c4c1 --- /dev/null +++ b/source/_components/tts.picotts.markdown @@ -0,0 +1,39 @@ +--- +layout: page +title: "Pico Text-to-Speech" +description: "Instructions how to setup Pico Text-to-Speech with Home Assistant." +date: 2017-01-03 16:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: home-assistant.png +ha_category: Text-to-speech +ha_release: 0.36 +--- + +The `picotts` text-to-speech platform uses offline pico Text-to-Speech engine to read a text with natural sounding voices. +This requires to install the pico tts library on the system, typically on debian just do `sudo apt-get install libttspico-utils` +On some raspbian release, this package is missing but you can just copy the arm deb package from debian. + +To enable text-to-speech with Pico, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +tts: + - platform: picotts +``` + +Configuration variables: + +- **language** (*Optional*): The language to use. Defaults to `en-US`. +Supported languages : 'en-US', 'en-GB', 'de-DE', 'es-ES', 'fr-FR', 'it-IT' + +A full configuration sample: + +```yaml +# Example configuration.yaml entry +tts: + - platform: picotts + language: 'fr-FR' +``` From 92dee9f19dab9003bdc548d88690a5812898e857 Mon Sep 17 00:00:00 2001 From: m4tek Date: Wed, 4 Jan 2017 07:19:16 +0000 Subject: [PATCH 024/190] Added in new supported TV to the list (TX-49DX650B) (#1709) --- source/_components/media_player.panasonic_viera.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.panasonic_viera.markdown b/source/_components/media_player.panasonic_viera.markdown index 045409abdf8..73c4499ee24 100644 --- a/source/_components/media_player.panasonic_viera.markdown +++ b/source/_components/media_player.panasonic_viera.markdown @@ -21,6 +21,7 @@ Currently known supported models: - TX-P42STW50 - TC-P65VT30 - TX-55CX700E +- TX-49DX650B If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io). From 7a6bb7b355cc80c7a0736474b1506d2ec27d27dd Mon Sep 17 00:00:00 2001 From: Thibault Cohen Date: Wed, 4 Jan 2017 02:21:48 -0500 Subject: [PATCH 025/190] Update AquosTV documentation (#1692) Add power_on_enabled parameter documentation --- source/_components/media_player.aquostv.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/_components/media_player.aquostv.markdown b/source/_components/media_player.aquostv.markdown index 601ca86896b..f418465fc7b 100644 --- a/source/_components/media_player.aquostv.markdown +++ b/source/_components/media_player.aquostv.markdown @@ -34,6 +34,13 @@ Configuration variables: - **username** (*Optional*): The username of the Samsung Smart TV. Defaults to admin. - **password** (*Optional*): The password of the Samsung Smart TV. Defaults to password. - **name** (*Optional*): The name you would like to give to the Sharp Aquos TV. +- **power_on_enabled** (*Optional*): If you want to be able to turn on your TV. Defaults to False. + +

+When you set **power_on_enabled** as True, you have to turn on your TV on the first time with the remote. +Then you will be able to turn on with Home-Assistant. +Also, with **power_on_enabled** as True, the Aquos logo on your TV will stay on when you turn off the TV and your TV could consumes more power. +

Currently known supported models: From 999558435dace116870737a63c2bba1004cb87f4 Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Wed, 4 Jan 2017 02:22:58 -0500 Subject: [PATCH 026/190] Remove http:// from example Kodi config (#1670) --- source/_components/media_player.kodi.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/media_player.kodi.markdown b/source/_components/media_player.kodi.markdown index 24a892aab43..6d196cb6ac6 100644 --- a/source/_components/media_player.kodi.markdown +++ b/source/_components/media_player.kodi.markdown @@ -23,13 +23,13 @@ To add Kodi to your installation, add the following to your `configuration.yaml` # Example configuration.yaml entry media_player: - platform: kodi - host: http://192.168.0.123 + host: 192.168.0.123 ``` Configuration variables: - **host** (*Required*): The host name or address of the device that is running XBMC/Kodi -- **port** (*Optional*): The port number. Defaults to 8080. +- **port** (*Optional*): The http port number. Defaults to 8080. - **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 5b263ee386cf5770b92d73c14c7f7252793fe6be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=B8yer=20Iversen?= Date: Wed, 4 Jan 2017 08:24:49 +0100 Subject: [PATCH 027/190] Update switch.broadlink.markdown (#1651) * Update switch.broadlink.markdown * Update switch.broadlink.markdown * Update switch.broadlink.markdown * Update switch.broadlink.markdown --- source/_components/switch.broadlink.markdown | 42 ++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/source/_components/switch.broadlink.markdown b/source/_components/switch.broadlink.markdown index 41b67330382..ca0dfd0d8aa 100644 --- a/source/_components/switch.broadlink.markdown +++ b/source/_components/switch.broadlink.markdown @@ -12,7 +12,7 @@ ha_category: Switch ha_release: 0.35 --- -This `Broadlink` switch platform allow to you control Broadlink RM2 Pro and RM mini IR+RF [devices](http://www.ibroadlink.com/rm/). +This `Broadlink` switch platform allow to you control Broadlink [devices](http://www.ibroadlink.com/rm/). To enable it, add the following lines to your `configuration.yaml`: @@ -33,6 +33,8 @@ Configuration variables: - **host** (*Required*): The hostname/IP address to connect to. - **mac** (*Required*): Device mac address. - **timeout** (*Optional*): Timeout in seconds for the connection to the device +- **friendly_name** (*Optional*): The name used to display the switch in the frontend. +- **types** (*Optional*): Switch type. (rm, rm2, rm_mini, rm_pro_phicomm, rm2_home_plus, rm2_home_plus_gdt, rm2_pro_plus, rm2_pro_plus2, rm2_pro_plus_bl, rm_mini_shate, sp1, sp2, honeywell_sp2, sp3, spmini2 or spminiplus) - **switches** (*Optional*): The array that contains all switches. - **identifier** (*Required*): Name of the command switch as slug. Multiple entries are possible. - **friendly_name** (*Optional*): The name used to display the switch in the frontend. @@ -45,10 +47,11 @@ How to obtain IR/RF packets? Choose Call Service from the Developer Tools. Choose the service broadlink/learn_command from the list of Available services: and hit CALL SERVICE. Press the button on your remote with in 20 seconds. The packet will be printed in the log and as a persistent notification. -Example config: +Example config for rm, rm2, rm_mini, rm_pro_phicomm, rm2_home_plus, rm2_home_plus_gdt, rm2_pro_plus, rm2_pro_plus2, rm2_pro_plus_bl and rm_mini_shate devices: ```yaml -- platform: broadlink +switch 2: + platform: broadlink host: 192.168.1.2 mac: 'B4:43:0D:CC:0F:58' timeout: 15 @@ -77,4 +80,37 @@ Example config: friendly_name: "LG Tv" command_on: 'JgBIAAABIpQPFBITETgSEw8UEhQSEhEVDzgSOBAUETgQOQ84EjgRNxITETgSExA5EDgREhI3EhMROBMSEDkQFBETEjYTEhE4EQANBQ==' command_off: 'JgBIAAABH5YPFBETETgUERAUEBURFBATETgROBEUETcSNxE4ETcSOBISEBUQFREUEjUSFBA5ETcRNxE4ETkQOBAUEjcRFRAUEQANBQ==' + + +switch 2: + platform: broadlink + host: 192.168.1.2 + mac: 'B4:43:0D:CC:0F:58' + timeout: 15 +# Will work on most Phillips tvs: + tv: + friendly_name: "Phillips Tv" + command_on: 'JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=' + + +``` + + + Example config for sp1, sp2, honeywell_sp2, sp3, spmini2 and spminiplus devices: + +```yaml +switch 1: + platform: broadlink + host: IP_ADDRESS + mac: 'MAC_ADDRESS' + type: sp1 + friendly_name: 'Humidifier' + +switch 2: + platform: broadlink + host: IP_ADDRESS + mac: 'MAC_ADDRESS' + type: sp2 + friendly_name: 'Humidifier' + ``` From bbf9a796239473d82d3cca6b48805b0cb6f34cc7 Mon Sep 17 00:00:00 2001 From: Nathan Henrie Date: Wed, 4 Jan 2017 00:25:18 -0700 Subject: [PATCH 028/190] Update with `repeats` config variable (#1655) * Update with `repeats` config variable See https://github.com/home-assistant/home-assistant/issues/5069 * Use `signal_repetitions` instead of `repeats` As recommended [in PR review](https://github.com/home-assistant/home-assistant/pull/5070/files/f068781b4e60a9138473ac983d0dfa8cb74013bc). --- source/_components/switch.rpi_rf.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/switch.rpi_rf.markdown b/source/_components/switch.rpi_rf.markdown index 683c919e84f..1436601fd34 100644 --- a/source/_components/switch.rpi_rf.markdown +++ b/source/_components/switch.rpi_rf.markdown @@ -37,6 +37,7 @@ switch: protocol: 5 code_on: 654321 code_off: 654320 + signal_repetitions: 15 ``` Configuration variables: @@ -48,4 +49,4 @@ Configuration variables: - **code_off** (*Required*): Decimal code to switch the device off. - **protocol** (*Optional*): RF Protocol (Default is `1`). - **pulselength** (*Optional*): Pulselength (Default is the protocol default). - + - **signal_repetitions** (*Optional*): Number of times to repeat transmission (default is 10, can increase to try to improve reliability). From d48262c14a6c293cdad910342ea492c88b1e984d Mon Sep 17 00:00:00 2001 From: Simon Elsbrock Date: Wed, 4 Jan 2017 20:11:23 +0100 Subject: [PATCH 029/190] Scene component: describe limitations wrt states (#1710) Currently the scene component only allows setting states of a single service per component. Document this limitation. references https://github.com/home-assistant/home-assistant/issues/5123 --- source/_components/scene.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/scene.markdown b/source/_components/scene.markdown index 48714cb17ce..74e8dd09b4f 100644 --- a/source/_components/scene.markdown +++ b/source/_components/scene.markdown @@ -53,3 +53,7 @@ automation: service: scene.turn_on entity_id: scene.romantic ``` + +

+Please note that the scene component currently only supports one service call per entity to achieve the state. Due to this limitation you cannot set states belonging to different services. +

From 51590146f314d1c933549b3f2c5e99a92780a447 Mon Sep 17 00:00:00 2001 From: Simon Elsbrock Date: Thu, 5 Jan 2017 08:16:51 +0100 Subject: [PATCH 030/190] Update miflora docs: fix minor syntax errors (#1717) --- source/_components/sensor.miflora.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index e33c8347a23..b35fa94d9e9 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -19,9 +19,9 @@ To use your Mi Flora plant sensor in your installation, add the following to you ```yaml # Example configuration.yaml entry -sensor +sensor: - platform: miflora - mac: xx:xx:xx:xx:xx:xx + mac: "xx:xx:xx:xx:xx:xx" monitored_conditions: - temperature ``` @@ -47,9 +47,9 @@ A full configuration example could looks the one below: ```yaml # Example configuration.yaml entry -sensor +sensor: - platform: miflora - mac: xx:xx:xx:xx:xx:xx + mac: "xx:xx:xx:xx:xx:xx" name: Flower 1 force_update: false median: 3 From eea8330a8c879c3458fdb7364bf3d0f94df50ef9 Mon Sep 17 00:00:00 2001 From: joopster Date: Thu, 5 Jan 2017 21:33:50 +0100 Subject: [PATCH 031/190] Add NAD documentation --- source/_components/media_player.nad.markdown | 50 +++++++++++++++++++ source/images/supported_brands/nad.png | Bin 0 -> 28886 bytes 2 files changed, 50 insertions(+) create mode 100644 source/_components/media_player.nad.markdown create mode 100644 source/images/supported_brands/nad.png diff --git a/source/_components/media_player.nad.markdown b/source/_components/media_player.nad.markdown new file mode 100644 index 00000000000..eaf93d8aed0 --- /dev/null +++ b/source/_components/media_player.nad.markdown @@ -0,0 +1,50 @@ +--- +layout: page +title: "NAD" +description: "Instructions how to integrate NAD receivers into Home Assistant." +date: 2016-01-05 20:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nad.png +ha_category: Media Player +ha_release: 0.36 +ha_iot_class: "Local Polling" +--- + + +The `nad` platform allows you to control a [NAD receiver](http://nadelectronics.com) through RS232 from Home Assistant. + +To add an NAD receiver to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +media_player: + - platform: nad + serial_port: /dev/ttyUSB0 + name: NAD Receiver + min_volume: -60 + max_volume: -20 + sources: + 1: 'Kodi' + 2: 'TV' +``` + +Configuration variables: + +- **serial_port** (*Required*): The serial port . Default is `/dev/ttyUSB0` +- **name** (*Optional*): Name of the device. Default is NAD Receiver. +- **min_volume** (*optional*): Minimum volume in dB to use with the slider. Default is `-92` +- **max_volume** (*optional*): Maximum volume in dB to use with the slider. Default is `-20` +- **sources** (*Optional*): A list of mappings from source to source name. Valid sources are `1 to 10`. + +The min_volume and max_volume are there to protect you against misclicks on the slider so you will not blow up your speakers when you go from -92dB to +20dB. +You can still force it to go higher or lower than the values set with the plus and minus buttons. + +

+On linux the user running home-assistant needs `dialout` permissions to access the serial port. +This can be added to the user by doing `sudo usermod -a -G dialout `. +Be aware that the user might need to logout and logon again to activate these permissions. +

+ diff --git a/source/images/supported_brands/nad.png b/source/images/supported_brands/nad.png new file mode 100644 index 0000000000000000000000000000000000000000..241f5135764a8e8f64e3f9f9e9d02f255dfceeab GIT binary patch literal 28886 zcmdqJhgXy7_68bd#4{=~98sEx!l)<+GBl+{hh_srq)8P7M3AC}4nZ9OsWMWODj*t&1pBVZ`3;+q>X@AGN-8LkorSI)Os@ z|Aj)4;g9@hP$bu8w>^iV#M-bT$KFRs%WwnbpJq8y>+!KavD&)U=mzE85Yq9

5!YHIc#5;x}W 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 literal 0 HcmV?d00001 From 51eaf0be1937ca6754844437518b55f929be24e1 Mon Sep 17 00:00:00 2001 From: webworxshop Date: Fri, 6 Jan 2017 21:27:42 +1300 Subject: [PATCH 032/190] Add documentation for Kankun wifi switch. (#1665) * Add documentation for Kankun wifi switch. * Add documentation for missing configuration options. --- source/_components/switch.kankun.markdown | 43 +++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 source/_components/switch.kankun.markdown diff --git a/source/_components/switch.kankun.markdown b/source/_components/switch.kankun.markdown new file mode 100644 index 00000000000..3619c06caa1 --- /dev/null +++ b/source/_components/switch.kankun.markdown @@ -0,0 +1,43 @@ +--- +layout: page +title: "Kankun SP3 Wifi Switch" +description: "Instructions for the Kankun SP3 wifi switch" +date: 2016-12-28 01:50 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Switch +ha_release: 0.36 +ha_iot_class: "Local Polling" +--- + + +The `kankun` switch platform allows you to toggle customised Kankun SP3 wifi switches. Switches are +modified to include the [json.cgi](https://github.com/homedash/kankun-json/blob/master/cgi-bin/json.cgi) +script to provide a HTTP API. Details of the necessary modifications can be found +[here](http://www.homeautomationforgeeks.com/openhab_http.shtml#kankun) (be sure to install the JSON version +of the script as linked above). + +To enable it, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +switch: + platform: kankun + switches: + bedroom_heating: + host: hostname_or_ipaddr +``` + +Configuration variables: + +- **switches** (*Required*): The array that contains all Kankun switches. + - **identifier** (*Required*): Name of the Kankun switch as slug. Multiple entries are possible. + - **host** (*Required*): Hostname or IP address of the switch on the local network. + - **name** (*Optional*): Friendly name of the switch. + - **port** (*Optional*): HTTP connection port, defaults to 80. + - **path** (*Optional*): Path of CGI script, defaults to `/cgi-bin/json.cgi`. + - **username** (*Optional*): Username for basic authentication. + - **password** (*Optional*): Password for basic authentication. + From 7afb82aea49e3a784d7ade0abfa5dcd71c0f8f2a Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 6 Jan 2017 01:04:50 -0800 Subject: [PATCH 033/190] Docs for Tikteck bulbs (#1716) Add documentation for the Tikteck Bluetooth bulb component --- source/_components/light.tikteck.markdown | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 source/_components/light.tikteck.markdown diff --git a/source/_components/light.tikteck.markdown b/source/_components/light.tikteck.markdown new file mode 100644 index 00000000000..17edbfecee8 --- /dev/null +++ b/source/_components/light.tikteck.markdown @@ -0,0 +1,39 @@ +--- +layout: page +title: "Tikteck" +description: "Instructions on how to setup Tikteck LED bulbs within Home Assistant." +date: 2017-01-04 16:32 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Light +ha_iot_class: "Local Polling" +featured: false +ha_release: 0.36 +--- + +Support for the Bluetooth smart bulb from [Tikteck](http://www.tikteck.com). To enable these lights, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: tikteck + devices: + 00:21:4D:00:00:01: + name: Bulb 1 + password: 76409387 + 00:21:4D:00:00:01: + name: Bulb 2 + password: 36478643 +``` + +Configuration variables: + +- **devices**: A list of devices with their bluetooth address, a custom name to use in the frontend and the bulb-specific password. The password can be obtained from an Android device using an app like [aLogcat](https://play.google.com/store/apps/details?id=org.jtb.alogcat&hl=en) or the `adb logcat` command for phones in developer mode. Look for a line like: + +``` +E LedoBleSDK: login =skName=======[Smart Light]=======skPw==[password] +``` + +The password is the text between the square brackets following `skPw`. From 83c84afe9ab5c6c91d1ba9d13e49f1d95a1cf5ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Arnauts?= Date: Fri, 6 Jan 2017 11:06:27 +0100 Subject: [PATCH 034/190] Lannouncer --- source/_components/notify.lannouncer.markdown | 80 ++++++++++++++++++ source/images/supported_brands/lannouncer.png | Bin 0 -> 99761 bytes 2 files changed, 80 insertions(+) create mode 100644 source/_components/notify.lannouncer.markdown create mode 100644 source/images/supported_brands/lannouncer.png diff --git a/source/_components/notify.lannouncer.markdown b/source/_components/notify.lannouncer.markdown new file mode 100644 index 00000000000..c733db274de --- /dev/null +++ b/source/_components/notify.lannouncer.markdown @@ -0,0 +1,80 @@ +--- +layout: page +title: "Lannouncer" +description: "Instructions how to add Lannouncer notifications to Home Assistant." +date: 2017-01-06 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: lannouncer.png +ha_category: Notifications +ha_release: 0.36 +--- + + +The `lannouncer` notification platform allows you to play spoken messages (TTS) or sounds on an Android device running [Lannouncer](http://www.keybounce.com/lannouncer/). This can be usefull when you have a wall mounted Android tablet, or an Android device that is permanently powered and turned on and want to use that to play notifications. + +To enable Lannouncer notifications in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +notify: + - name: NOTIFIER_NAME + platform: lannouncer + host: HOSTNAME_OR_IP +``` + +Configuration variables: + +- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. +- **host** (*Required*): The hostname or IP-address of the Android device that is running Lannouncer. +- **port** (*Optional*): The port on which Lannouncer is running. By default this is `1035`. + +### {% linkable_title Installation %} + +You need to install the Lannouncer app and enable the *Network (TCP) Listener* and *Auto-Start Network Listener*. You can disable the *GCM (Google Cloud) and WAN Messaging* and *SMS Listener* since this component doesn't use them. + +Lannouncer uses the default Android TTS voice. You can tweak that in the Android configuration, or you can install a different TTS engine from the Play Store. You might want to raise the volume in the app settings since that depends on the actual hardware device. + +More information can be found [here](http://www.keybounce.com/lannouncer/configuring-lannouncer/). + +### {% linkable_title Sending messages %} + +Lannouncer supports two types of messages. + +Spoken messages is the default method (`speak`). You just invoke the `notify` service with the following json and the device will speak out the specified message. + +```json +{ + "message": "I'm sorry, I cannot do that Dave." +} +``` + +The second method is to play notifications (`alarm`). There are 4 build-in sounds (`chime`, `doorbell`, `alarm` and `siren`). + +```json +{ + "message": "chime", + "data": { + "method": "alarm" + } +} +``` + +You can also request to play a configured additional soundfiles (`FILE1`, `FILE2`, `FILE3`, `FILE4` or `FILE5`). You can configure this file in the app settings. + +```json +{ + "message": "FILE1", + "data": { + "method": "alarm" + } +} +``` + +

+ The free version only supports one additional soundfile. +

+ +To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/images/supported_brands/lannouncer.png b/source/images/supported_brands/lannouncer.png new file mode 100644 index 0000000000000000000000000000000000000000..167d819e781997d2b422e6a04c607fef8f568cb4 GIT binary patch literal 99761 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 literal 0 HcmV?d00001 From c987173dc7972c468b86d848ddc750b0e5373144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Arnauts?= Date: Fri, 6 Jan 2017 18:44:56 +0100 Subject: [PATCH 035/190] Fixed typo --- source/_components/notify.lannouncer.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/notify.lannouncer.markdown b/source/_components/notify.lannouncer.markdown index c733db274de..2f411679c95 100644 --- a/source/_components/notify.lannouncer.markdown +++ b/source/_components/notify.lannouncer.markdown @@ -13,7 +13,7 @@ ha_release: 0.36 --- -The `lannouncer` notification platform allows you to play spoken messages (TTS) or sounds on an Android device running [Lannouncer](http://www.keybounce.com/lannouncer/). This can be usefull when you have a wall mounted Android tablet, or an Android device that is permanently powered and turned on and want to use that to play notifications. +The `lannouncer` notification platform allows you to play spoken messages (TTS) or sounds on an Android device running [Lannouncer](http://www.keybounce.com/lannouncer/). This can be useful when you have a wall mounted Android tablet, or an Android device that is permanently powered and turned on and want to use that to play notifications. To enable Lannouncer notifications in your installation, add the following to your `configuration.yaml` file: From b0d33fad7441bb913980ad0778b3fb6917527200 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 7 Jan 2017 09:21:31 +0100 Subject: [PATCH 036/190] Create rest_command.markdown (#1663) * Create rest_command.markdown * Update rest_command.markdown * Update rest_command.markdown * Update rest_command.markdown * Update rest_command.markdown * Update rest_command.markdown --- source/_components/rest_command.markdown | 38 ++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 source/_components/rest_command.markdown diff --git a/source/_components/rest_command.markdown b/source/_components/rest_command.markdown new file mode 100644 index 00000000000..d8b2d566b87 --- /dev/null +++ b/source/_components/rest_command.markdown @@ -0,0 +1,38 @@ +--- +layout: page +title: "RESTful Command" +description: "Instructions how to integrate REST commands into Home Assistant." +date: 2016-12-27 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: restful.png +ha_category: Automation +ha_release: 0.36.0 +--- + +This component can expose regular rest commands as services. Services can be called from a [script] or in [automation]. + +[script]: /components/script/ +[automation]: /getting-started/automation/ + +To enable this switch, add the following lines to your `configuration.yaml` file: +```yaml +# Example configuration.yaml entry +# Exposes service rest_command.example_request +rest_command: + example_request: + url: 'http://example.com/' +``` + +Configuration variables: +- **url** (*Required*): URL (support template) for sending request. +- **method** (*Optional*): HTTP method (get, post, put, delete). Default is get. +- **payload** (*Optional*): A string/Template to send with request. +- **username** (*Optional*): username for HTTP authentication +- **password** (*Optional*): password for HTTP authentication +- **timeout** (*Optional*): Timeout for requests, default 10 seconds. + +The commands can be dynamic, using templates to insert values of other entities. Service call support variables for template stuff. + From d6af430df8f423d20969b61c52db58fc34f77a0f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 7 Jan 2017 09:27:43 +0100 Subject: [PATCH 037/190] Minor changes --- source/_components/rest_command.markdown | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/source/_components/rest_command.markdown b/source/_components/rest_command.markdown index d8b2d566b87..f637155ec2f 100644 --- a/source/_components/rest_command.markdown +++ b/source/_components/rest_command.markdown @@ -9,30 +9,32 @@ sharing: true footer: true logo: restful.png ha_category: Automation -ha_release: 0.36.0 +ha_release: 0.36 --- -This component can expose regular rest commands as services. Services can be called from a [script] or in [automation]. +This component can expose regular REST commands as services. Services can be called from a [script] or in [automation]. [script]: /components/script/ [automation]: /getting-started/automation/ To enable this switch, add the following lines to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry -# Exposes service rest_command.example_request rest_command: example_request: url: 'http://example.com/' ``` Configuration variables: -- **url** (*Required*): URL (support template) for sending request. -- **method** (*Optional*): HTTP method (get, post, put, delete). Default is get. -- **payload** (*Optional*): A string/Template to send with request. -- **username** (*Optional*): username for HTTP authentication -- **password** (*Optional*): password for HTTP authentication -- **timeout** (*Optional*): Timeout for requests, default 10 seconds. + +- **[service_name]** (*Required*): The name used to expose the service. E.g. in the above example would it be ` rest_command.example_request`. + - **url** (*Required*): The URL (support template) for sending request. + - **method** (*Optional*): HTTP method (get, post, put, delete). Default is get. + - **payload** (*Optional*): A string/template to send with request. + - **username** (*Optional*): The username for HTTP authentication. + - **password** (*Optional*): The password for HTTP authentication. + - **timeout** (*Optional*): Timeout for requests. Defaults to 10 seconds. The commands can be dynamic, using templates to insert values of other entities. Service call support variables for template stuff. From cecd1ff6a00a8dae765f001130ca405501eb5601 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 7 Jan 2017 11:39:37 +0100 Subject: [PATCH 038/190] Add docs for USPS sensor (#1722) --- source/_components/sensor.usps.markdown | 32 ++++++++++++++++++++++++ source/images/supported_brands/usps.png | Bin 0 -> 20086 bytes 2 files changed, 32 insertions(+) create mode 100644 source/_components/sensor.usps.markdown create mode 100644 source/images/supported_brands/usps.png diff --git a/source/_components/sensor.usps.markdown b/source/_components/sensor.usps.markdown new file mode 100644 index 00000000000..0ef96a5c84c --- /dev/null +++ b/source/_components/sensor.usps.markdown @@ -0,0 +1,32 @@ +--- +layout: page +title: USPS Sensor +description: "Instructions on how to set up USP sensors within Home Assistant." +date: 2017-01-06 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: usps.png +ha_category: Sensor +ha_release: 0.36 +--- + +The `usps` platform allows one to track [US POstal Service (USPS)](https://www.usps.com/). + +To enable this sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: usps + username: YOUR_USERNAME + password: YOUR_PASSWORD +``` + +Configuration options for the a TCP Sensor: + +- **username** (*Required*): The username to access the USPS service. +- **password** (*Required*): The password for the given username. +- **update_interval** (*Optional*): Interval in minutes for the updates. + diff --git a/source/images/supported_brands/usps.png b/source/images/supported_brands/usps.png new file mode 100644 index 0000000000000000000000000000000000000000..457668d07f977bf800038efb4f35d29660216a93 GIT binary patch literal 20086 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 gN3pGd_dMd*Kvk&waub%#>HDvm8DBLb7 Date: Sat, 7 Jan 2017 11:39:53 +0100 Subject: [PATCH 039/190] Add ping docs (#1723) * Add ping docs * Fix style and update wording (thanks @michaelarnauts) --- .../_components/device_tracker.ping.markdown | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 source/_components/device_tracker.ping.markdown diff --git a/source/_components/device_tracker.ping.markdown b/source/_components/device_tracker.ping.markdown new file mode 100644 index 00000000000..79798811983 --- /dev/null +++ b/source/_components/device_tracker.ping.markdown @@ -0,0 +1,33 @@ +--- +layout: page +title: "Ping (ICMP)" +description: "Instructions how to integrate Ping (ICMP)-based presence detection into Home Assistant." +date: 2017-01-06 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: home-assistant.png +ha_category: Presence Detection +ha_release: 0.36 +--- + + +The `ping` platform offers presence detection by using `ping` to send ICMP echo requests. This can be useful when devices are running a firewall and are blocking UDP or TCP packets but responding to ICMP requests (like Android phones). This tracker doesn't need to know the MAC address since the host can be on a different subnet. This makes this an option to detect hosts on a different subnet when `nmap` or other solutions don't work since `arp` doesn't work. + +To use this presence detection in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +device_tracker: + - platform: ping + hosts: + hostone: 192.168.2.10 +``` + +Configuration variables: + +- **hosts** array (*Required*): List of device names and their corresponding IP address or hostname. +- **count** (*Optional*): Number of packet used for each device (avoid false detection). + +See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. From 45b398c8a7f8297ada3ce82cd68e1dae7ede96d0 Mon Sep 17 00:00:00 2001 From: Max Rumpf Date: Sat, 7 Jan 2017 16:38:57 +0100 Subject: [PATCH 040/190] Add docs for include/exclude in recorder (#1714) Basically a copy of #1539, but with the changes requested (and some extra information copied from the history component). --- source/_components/recorder.markdown | 51 +++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown index f35cb8e8c5c..373b8144d0c 100644 --- a/source/_components/recorder.markdown +++ b/source/_components/recorder.markdown @@ -28,16 +28,65 @@ recorder: Configuration variables: - **purge_days** (*Optional*): Delete events and states older than x days. +- **exclude** (*Optional*): Configure which components should be excluded from recordings. + - **entities** (*Optional*): The list of entity ids to be excluded from recordings. + - **domains** (*Optional*): The list of domains to be excluded from recordings. +- **include** (*Optional*): Configure which components should be included in recordings. If set, all other entities will not be recorded. + - **entities** (*Optional*): The list of entity ids to be included from the history. + - **domains** (*Optional*): The list of domains to be included from the history. - **db_url** (*Optional*): The URL which point to your database. +Define domains and entities to `exclude` (aka. blacklist). This is convenient when you are basically happy with the information recorded, but just want to remove some entities or domains. Usually these are entities/domains which do not change (like `weblink`) or rarely change (`updater` or `automation`). + ```yaml -# Example configuration.yaml entry +# Example configuration.yaml entry with exclude recorder: purge_days: 5 db_url: sqlite:///home/user/.homeassistant/test + exclude: + domains: + - automation + - weblink + - updater + entities: + - sun.sun # Don't record sun data + - sensor.last_boot + - sensor.date ``` +Define domains and entities to record by using the `include` configuration (aka. whitelist). If you have a lot of entities in your system and your `exclude` lists possibly get very large, it might be better just to define the entities or domains to record. + +```yaml +# Example configuration.yaml entry with include +history: + include: + domains: + - sensor + - switch + - media_player +``` + +Use the `include` list to define the domains/entities to record, and exclude some of them with in the `exclude` list. This makes sense if you for instance include the `sensor` domain, but want to exclude some specific sensors. Instead of adding every sensor entity to the `include` `entities` list just include the `sensor` domain and exclude the sensor entities you are not interested in. + +```yaml +# Example configuration.yaml entry with include and exclude +history: + include: + domains: + - sensor + - switch + - media_player + exclude: + entities: + - sensor.last_boot + - sensor.date +``` + +If you only want to hide events from e.g. your history, take a look at the [`history` component](/components/history/). Same goes for logbook. But if you have privacy concerns about certain events or neither want them in history or logbook, you should use the `exclude`/`include` options of the `recorder` component, that they aren't even in your database. That way you can save storage and keep the database small by excluding certain often-logged events (like `sensor.last_boot`). + +## Custom database engines + | Database engine | `db_url` | | :---------------|:---------------------------------------------------------| | SQLite | `sqlite:///PATH/TO/DB_NAME` | From 14b886da62d97dd7d617cedc3699127ff446920a Mon Sep 17 00:00:00 2001 From: Johann Kellerman Date: Tue, 10 Jan 2017 21:11:11 +0200 Subject: [PATCH 041/190] Create packages --- source/_topics/packages | 86 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 source/_topics/packages diff --git a/source/_topics/packages b/source/_topics/packages new file mode 100644 index 00000000000..de83c1f4c2d --- /dev/null +++ b/source/_topics/packages @@ -0,0 +1,86 @@ +--- +layout: page +title: "Packages" +description: "Describes all there is to know about configuration packages in Home Assistant." +date: 2017-01-10 20:00 +0200 +sidebar: false +comments: false +sharing: true +footer: true +--- + +## {% linkable_title About } + +Packages in Home Assistant provides a way to bundle different component's configuration together. We were already introduced to the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/getting-started/devices) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or parts of configuration using any of the `!include` directives introduced in [splitting the configuration](/topics/splitting_configuration). + +Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a packages name (no spaces, all lower case) followed by a dictionary with the package config. For example, package `pack_1` would be created as: + +```yaml +homeassistant: + ... + packages: + pack_1: + ...package config here... +``` + +The package configuration can include: `switch`, `light`, `automation`, `groups` or the majority of the Home Assistant components. + +It can be specified inline, or in a seperate yaml file using `!include` + +Inline example, main `configuration.yaml`: + +```yaml +homeassistant: + ... + packages: + pack_1: + switch: + - platform: rest + ... + light: + - platform: rpi + ... +``` + +Include example, main `configuration.yaml`: +```yaml +homeassistant: + ... + packages: + pack_1: !include my_package.yaml +``` +The file `my_package.yaml` contains the "top-level" configuration: +``` +switch: + - platform: rest + ... +light: + - platform: rpi + ... +``` + +There are some rules for packages that will be merged: + +1. Component names may only use the basic form (e.g. `switch` and `switch 1` or `switch aa` is not accepted) +2. Platform based components (`light`, `switch`, etc) can always be merged +3. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file (`input_boolean`, `group`) +4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main config + +An example travel time package can be found [here](/cookbooks/travel_time) + +

+Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name. +

+ + +### {% linkable_title Create a packages folder } + +One way to organise packages would be to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a yaml file. This entry in your `configuration.yaml` will load all packages: + +```yaml +homeassistant: + packages: !include_dir_named packages +``` + +This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames. +See the documentation about [splitting the configuration](/topics/splitting_configuration) for more information about `!include_dir_named` and other include statements that might be helpful. From cac77d8f63b286e3859da9b489f3c9b03153ecad Mon Sep 17 00:00:00 2001 From: Johann Kellerman Date: Tue, 10 Jan 2017 21:16:52 +0200 Subject: [PATCH 042/190] Create packages.markdown --- source/_topics/packages.markdown | 85 ++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 source/_topics/packages.markdown diff --git a/source/_topics/packages.markdown b/source/_topics/packages.markdown new file mode 100644 index 00000000000..0c00417f474 --- /dev/null +++ b/source/_topics/packages.markdown @@ -0,0 +1,85 @@ +--- +layout: page +title: "Packages" +description: "Describes all there is to know about configuration packages in Home Assistant." +date: 2017-01-10 20:00 +0200 +sidebar: false +comments: false +sharing: true +footer: true +--- + +## {% linkable_title About } + +Packages in Home Assistant provides a way to bundle different component's configuration together. We were already introduced to the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/getting-started/devices) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or parts of configuration using any of the `!include` directives introduced in [splitting the configuration](/topics/splitting_configuration). + +Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a packages name (no spaces, all lower case) followed by a dictionary with the package config. For example, package `pack_1` would be created as: + +```yaml +homeassistant: + ... + packages: + pack_1: + ...package config here... +``` + +The package configuration can include: `switch`, `light`, `automation`, `groups` or the majority of the Home Assistant components. + +It can be specified inline, or in a seperate yaml file using `!include` + +Inline example, main `configuration.yaml`: + +```yaml +homeassistant: + ... + packages: + pack_1: + switch: + - platform: rest + ... + light: + - platform: rpi + ... +``` + +Include example, main `configuration.yaml`: +```yaml +homeassistant: + ... + packages: + pack_1: !include my_package.yaml +``` +The file `my_package.yaml` contains the "top-level" configuration: +``` +switch: + - platform: rest + ... +light: + - platform: rpi + ... +``` + +There are some rules for packages that will be merged: + +1. Component names may only use the basic form (e.g. `switch` and `switch 1` or `switch aa` is not accepted) +2. Platform based components (`light`, `switch`, etc) can always be merged +3. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file (`input_boolean`, `group`) +4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main config + + +

+Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name. +

+ + +### {% linkable_title Create a packages folder } + +One way to organise packages would be to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a yaml file. This entry in your `configuration.yaml` will load all packages: + +```yaml +homeassistant: + packages: !include_dir_named packages +``` + +This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames. +See the documentation about [splitting the configuration](/topics/splitting_configuration) for more information about `!include_dir_named` and other include statements that might be helpful. From 5ff9fbd8b77d8562a07bdc637bc81114a6d932d4 Mon Sep 17 00:00:00 2001 From: Johann Kellerman Date: Tue, 10 Jan 2017 21:17:23 +0200 Subject: [PATCH 043/190] Delete packages --- source/_topics/packages | 86 ----------------------------------------- 1 file changed, 86 deletions(-) delete mode 100644 source/_topics/packages diff --git a/source/_topics/packages b/source/_topics/packages deleted file mode 100644 index de83c1f4c2d..00000000000 --- a/source/_topics/packages +++ /dev/null @@ -1,86 +0,0 @@ ---- -layout: page -title: "Packages" -description: "Describes all there is to know about configuration packages in Home Assistant." -date: 2017-01-10 20:00 +0200 -sidebar: false -comments: false -sharing: true -footer: true ---- - -## {% linkable_title About } - -Packages in Home Assistant provides a way to bundle different component's configuration together. We were already introduced to the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/getting-started/devices) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or parts of configuration using any of the `!include` directives introduced in [splitting the configuration](/topics/splitting_configuration). - -Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a packages name (no spaces, all lower case) followed by a dictionary with the package config. For example, package `pack_1` would be created as: - -```yaml -homeassistant: - ... - packages: - pack_1: - ...package config here... -``` - -The package configuration can include: `switch`, `light`, `automation`, `groups` or the majority of the Home Assistant components. - -It can be specified inline, or in a seperate yaml file using `!include` - -Inline example, main `configuration.yaml`: - -```yaml -homeassistant: - ... - packages: - pack_1: - switch: - - platform: rest - ... - light: - - platform: rpi - ... -``` - -Include example, main `configuration.yaml`: -```yaml -homeassistant: - ... - packages: - pack_1: !include my_package.yaml -``` -The file `my_package.yaml` contains the "top-level" configuration: -``` -switch: - - platform: rest - ... -light: - - platform: rpi - ... -``` - -There are some rules for packages that will be merged: - -1. Component names may only use the basic form (e.g. `switch` and `switch 1` or `switch aa` is not accepted) -2. Platform based components (`light`, `switch`, etc) can always be merged -3. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file (`input_boolean`, `group`) -4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main config - -An example travel time package can be found [here](/cookbooks/travel_time) - -

-Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name. -

- - -### {% linkable_title Create a packages folder } - -One way to organise packages would be to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a yaml file. This entry in your `configuration.yaml` will load all packages: - -```yaml -homeassistant: - packages: !include_dir_named packages -``` - -This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames. -See the documentation about [splitting the configuration](/topics/splitting_configuration) for more information about `!include_dir_named` and other include statements that might be helpful. From 004fffd839395023d85375781b294731d3f1921f Mon Sep 17 00:00:00 2001 From: Johann Kellerman Date: Tue, 10 Jan 2017 21:43:04 +0200 Subject: [PATCH 044/190] Update packages.markdown --- source/_topics/packages.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_topics/packages.markdown b/source/_topics/packages.markdown index 0c00417f474..befa1b8d12f 100644 --- a/source/_topics/packages.markdown +++ b/source/_topics/packages.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -## {% linkable_title About } +## {% linkable_title About %} Packages in Home Assistant provides a way to bundle different component's configuration together. We were already introduced to the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/getting-started/devices) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or parts of configuration using any of the `!include` directives introduced in [splitting the configuration](/topics/splitting_configuration). @@ -72,7 +72,7 @@ Components inside packages can only specify platform entries using configuration

-### {% linkable_title Create a packages folder } +### {% linkable_title Create a packages folder %} One way to organise packages would be to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a yaml file. This entry in your `configuration.yaml` will load all packages: From 10e58ff8e052dd235ddc88dbba462d69f3539042 Mon Sep 17 00:00:00 2001 From: Andrzej Date: Tue, 10 Jan 2017 20:44:22 +0100 Subject: [PATCH 045/190] Update camera.mjpeg.markdown (#1743) Removed blank list-bullet. --- source/_components/camera.mjpeg.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/camera.mjpeg.markdown b/source/_components/camera.mjpeg.markdown index 642d3278ae9..7e3bc8340db 100644 --- a/source/_components/camera.mjpeg.markdown +++ b/source/_components/camera.mjpeg.markdown @@ -33,7 +33,7 @@ Configuration variables: - **username** (*Optional*): The username for accessing your camera. - **password** (*Optional*): The password for accessing your camera. - **authentication** (*Optional*): `basic` (default) or `digest` auth for requests. -- +
From 9208d8b761c91796826bb3fb7a5885c350bf46d9 Mon Sep 17 00:00:00 2001 From: Mathieu Maret Date: Tue, 10 Jan 2017 20:45:14 +0100 Subject: [PATCH 046/190] Howto start hass with docker and systemd (#1746) Add unit example to start hass with docker using systemd. Useful if you have several config with several user --- .../autostart-systemd.markdown | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/source/getting-started/autostart-systemd.markdown b/source/getting-started/autostart-systemd.markdown index 4f2aa50f747..37a001d5582 100644 --- a/source/getting-started/autostart-systemd.markdown +++ b/source/getting-started/autostart-systemd.markdown @@ -52,6 +52,25 @@ ExecStart=/srv/hass/bin/hass -c "/home/hass/.homeassistant" WantedBy=multi-user.target ``` +If you want to use docker, the following template should work for you. + +``` +[Unit] +Description=Home Assistant +Requires=docker.service +After=docker.service + +[Service] +Restart=always +RestartSec=3 +ExecStart=/usr/bin/docker run --name="home-assistant-%i" -v /home/%i/.homeassistant/:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant +ExecStop=/usr/bin/docker stop -t 2 home-assistant-%i +ExecStopPost=/usr/bin/docker rm -f home-assistant-%i + +[Install] +WantedBy=multi-user.target +``` + You need to reload `systemd` to make the daemon aware of the new configuration. Enable and launch Home Assistant after that. ```bash From 0ad85bf3091bddbbe17c6372ffb1035b37e44a2c Mon Sep 17 00:00:00 2001 From: Johann Kellerman Date: Tue, 10 Jan 2017 22:47:30 +0200 Subject: [PATCH 047/190] Update packages.markdown --- source/_topics/packages.markdown | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/_topics/packages.markdown b/source/_topics/packages.markdown index befa1b8d12f..94d58f294a3 100644 --- a/source/_topics/packages.markdown +++ b/source/_topics/packages.markdown @@ -63,7 +63,14 @@ There are some rules for packages that will be merged: 1. Component names may only use the basic form (e.g. `switch` and `switch 1` or `switch aa` is not accepted) 2. Platform based components (`light`, `switch`, etc) can always be merged -3. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file (`input_boolean`, `group`) +3. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file. + + For example if we have the following in the main config. You are not allowed to re-use "my_input" again for `input_boolean` in a package: + + ```yaml + input_boolean: + my_input: + ``` 4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main config From b6d80508ab1ced20b0d0756d58c0c48c2c990d60 Mon Sep 17 00:00:00 2001 From: Thom Troy Date: Fri, 13 Jan 2017 22:45:48 +0000 Subject: [PATCH 048/190] Create page for dublin bus transport sensor (#1745) --- .../sensor.dublin_bus_transport.markdown | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 source/_components/sensor.dublin_bus_transport.markdown diff --git a/source/_components/sensor.dublin_bus_transport.markdown b/source/_components/sensor.dublin_bus_transport.markdown new file mode 100644 index 00000000000..e595c22411c --- /dev/null +++ b/source/_components/sensor.dublin_bus_transport.markdown @@ -0,0 +1,40 @@ +--- +layout: page +title: "Dublin Bus Transport" +description: "Instructions how to integrate timetable data for travelling on Dublin Bus within Home Assistant." +date: 2017-01-09 21:45 +sidebar: true +comments: false +sharing: true +footer: true +logo: train.png +ha_category: Transport +ha_iot_class: "Cloud Polling" +ha_release: 0.35.4 +--- + + +The `dublin_bus_transport` sensor will give you the time until the next two departures from a Dublin bus stop using the RTPI information. + +The [Dublin Bus](https://www.dublinbus.ie/RTPI/) website can help to determine the id of your bus stop. You can check if this is correct by going to + +https://data.dublinked.ie/cgi-bin/rtpi/realtimebusinformation?stopid=[Stop ID] + +Then add the data to your `configuration.yaml` file as shown in the example: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: dublin_bus_transport + stopid: [Stop ID] + route: [Route] + name: [Friendly Name] +``` + +Configuration variables: + +- **stopid** (*Required*): The ID of the bust stop to get the informaion for. +- **route** (*Optional*): Only show a single bus route at the stop. This is the same as the bus number, e.g. 83 +- **name** (*Optional*): A friendly name for this sensor. + +The public RTPI information is coming from [Dub Linked](https://data.dublinked.ie/). From cf30b76136fe803541750865890e4d71dfaa6c8d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 13 Jan 2017 23:48:49 +0100 Subject: [PATCH 049/190] Fix release and typo. Minimize the configuration sample --- .../_components/sensor.dublin_bus_transport.markdown | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/source/_components/sensor.dublin_bus_transport.markdown b/source/_components/sensor.dublin_bus_transport.markdown index e595c22411c..56fabad34d7 100644 --- a/source/_components/sensor.dublin_bus_transport.markdown +++ b/source/_components/sensor.dublin_bus_transport.markdown @@ -10,7 +10,7 @@ footer: true logo: train.png ha_category: Transport ha_iot_class: "Cloud Polling" -ha_release: 0.35.4 +ha_release: 0.36 --- @@ -26,15 +26,13 @@ Then add the data to your `configuration.yaml` file as shown in the example: # Example configuration.yaml entry sensor: - platform: dublin_bus_transport - stopid: [Stop ID] - route: [Route] - name: [Friendly Name] + stopid: STOP_ID ``` Configuration variables: -- **stopid** (*Required*): The ID of the bust stop to get the informaion for. -- **route** (*Optional*): Only show a single bus route at the stop. This is the same as the bus number, e.g. 83 +- **stopid** (*Required*): The ID of the bust stop to get the information for. +- **route** (*Optional*): Only show a single bus route at the stop. This is the same as the bus number, e.g. `83`. - **name** (*Optional*): A friendly name for this sensor. The public RTPI information is coming from [Dub Linked](https://data.dublinked.ie/). From ff4ec7f46d11f86b1ba0594b8b2749847852d639 Mon Sep 17 00:00:00 2001 From: Keaton Taylor Date: Sun, 18 Dec 2016 02:44:34 -0600 Subject: [PATCH 050/190] example for optional values (#1562) Added where to place optional values relay_time and state_pull_mode. --- source/_components/cover.rpi_gpio.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_components/cover.rpi_gpio.markdown b/source/_components/cover.rpi_gpio.markdown index f152aad8b79..3b2205d724b 100644 --- a/source/_components/cover.rpi_gpio.markdown +++ b/source/_components/cover.rpi_gpio.markdown @@ -27,6 +27,8 @@ To enable Raspberry Pi Covers in your installation, add the following to your `c # Example configuration.yaml entry cover: platform: rpi_gpio + relay_time: 0.2 + state_pull_mode: 'UP' covers: - relay_pin: 10 state_pin: 11 From 6a334dc0083c7ea203c55b71e807599d71737f16 Mon Sep 17 00:00:00 2001 From: Magnus Ihse Bursie Date: Sun, 18 Dec 2016 09:54:45 +0100 Subject: [PATCH 051/190] Add real-life example for turn_off script on wake-on-lan (#1535) * Update switch.wake_on_lan.markdown * Update switch.wake_on_lan.markdown Suggested recipe for using turn_off to suspend a linux computer. --- .../_components/switch.wake_on_lan.markdown | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/source/_components/switch.wake_on_lan.markdown b/source/_components/switch.wake_on_lan.markdown index 833102d5466..bc7e314ccb1 100644 --- a/source/_components/switch.wake_on_lan.markdown +++ b/source/_components/switch.wake_on_lan.markdown @@ -16,6 +16,7 @@ The `wake_on_lan` (WOL) switch platform allows you to turn on a [WOL](https://en

The WOL switch can only turn on your computer and monitor the state. There is no universal way to turn off a computer remotely. The `turn_off` variable is there to help you call a script when you have figured out how to remotely turn off your computer. +See below for suggestions on how to do this.

To enable this switch in your installation, add the following to your `configuration.yaml` file: @@ -33,3 +34,31 @@ Configuration variables: - **name** (*Optional*): The name of the switch. Default is 'Wake on LAN'. - **host** (*Optional*): The IP address or hostname to check the state of the device (on/off). - **turn_off** (*Optional*): Defines an [action](/getting-started/automation/) to run when the switch is turned off. + +## {% linkable_title Examples %} + +Here are some real life examples of how to use the **turn_off** variable. + +### {% linkable_title Suspending linux %} +Suggested recipe for letting the turn_off script suspend a Linux computer (the **target**) +from Home Assistant running on another Linux computer (the **server**). + +1. On the **server**, log in as the user account Home Assistant is running under. (I'm using `hass` in this example) +2. On the **server**, create ssh keys by running `ssh-keygen`. Just press enter on all questions. +3. On the **target**, create a new account that Home Assistant can ssh into: `sudo adduser hass`. Just press enter on all questions except password. I recommend using the same user name as on the server. If you do, you can leave out `hass@` in the ssh commands below. +4. On the **server**, transfer your public ssh key by `ssh-copy-id hass@TARGET` where TARGET is your target machine's name or IP address. Enter the password you created in step 3. +5. On the **server**, verify that you can reach your target machine without password by `ssh TARGET`. +6. On the **target**, we need to let the hass user execute the program needed to suspend/shut down the target computer. I'm using `pm-suspend`, use `poweroff` to turn off the computer. First, get the full path: `which pm-suspend`. On my system, this is `/usr/sbin/pm-suspend`. +7. On the **target**, using an account with sudo access (typically your main account), `sudo visudo`. Add this line last in the file: `hass ALL=NOPASSWD:/usr/sbin/pm-suspend`, where you replace `hass` with the name of your user on the target, if different, and `/usr/sbin/pm-suspend` with the command of your choice, if different. +8. On the **server**, add the following to your configuration, replacing TARGET with the target's name: +``` yaml +switch: + - platform: wake_on_lan + name: "TARGET" + ... + turn_off: + service: shell_command.turn_off_TARGET + +shell_command: + turn_off_TARGET: 'ssh hass@TARGET sudo pm-suspend' +``` From afdaee8f576593a339a89b879700713057c26cbf Mon Sep 17 00:00:00 2001 From: Nolan Gilley Date: Sun, 18 Dec 2016 03:55:43 -0500 Subject: [PATCH 052/190] show a template switch example for harmony (#1548) * show a template switch example * Update remote.harmony.markdown --- source/_components/remote.harmony.markdown | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/_components/remote.harmony.markdown b/source/_components/remote.harmony.markdown index 9f07c44f070..e392dab25fc 100755 --- a/source/_components/remote.harmony.markdown +++ b/source/_components/remote.harmony.markdown @@ -60,6 +60,22 @@ Supported services: ### {% linkable_title Examples %} +A template switch can be used to display and control the state of an activity in the frontend. + +```yaml +switch: + - platform: template + switches: + tv: + value_template: "{% raw %}{% if is_state('remote.family_room', 'on') %}on{% else %}off{% endif %}{% endraw %}" + turn_on: + service: remote.turn_on + entity_id: remote.family_room + turn_off: + service: remote.turn_off + entity_id: remote.family_room +``` + Template sensors can be utilized to display current activity in the frontend. ```yaml From f98cc07cd43521ecd54c32144427ba4f21f2ed7b Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 18 Dec 2016 09:58:49 +0100 Subject: [PATCH 053/190] Split description of both platforms / added auto discovery feature for denonavr (#1582) --- .../_components/media_player.denon.markdown | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/source/_components/media_player.denon.markdown b/source/_components/media_player.denon.markdown index a083e47ac5e..d579463a5ce 100644 --- a/source/_components/media_player.denon.markdown +++ b/source/_components/media_player.denon.markdown @@ -28,7 +28,7 @@ Supported devices: To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file: -Telnet interface +**Telnet interface** ```yaml # Example configuration.yaml entry media_player: @@ -36,7 +36,20 @@ media_player: host: IP_ADDRESS ``` -denonavr interface +Configuration variables: + +- **host** (*Required*): IP address of the device. Example: 192.168.1.32 +- **name** (*Optional*): Name of the device. + +A few notes for platform: denon +- The receiver handles only one telnet connection and refuses others. +- Be careful with the volume. 100% or even 50% is 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. + + +**denonavr interface** ```yaml # Example configuration.yaml entry media_player: @@ -46,15 +59,10 @@ media_player: Configuration variables: -- **host** (*Required*): IP address of the device. Example: 192.168.1.32 -- **name** (*Optional*): Name of the device +- **host** (*Optional*): IP address of the device. Example: 192.168.1.32. If not set, auto discovery is used. +- **name** (*Optional*): Name of the device. If not set, friendlyName of receiver is used. -A few notes: - -- The receiver handles only one telnet connection and refuses others. -- Be careful with the volume. 100% or even 50% is 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. +A few notes for platform: denonavr - Additional option the control Denon AVR receivers with a builtin web server is using the HTTP interface with denonavr platform -- denonavr platform supports some additional functionalities like album covers and is supporting more than simultaneous one connection +- denonavr platform supports some additional functionalities like album covers, custom input source names and auto discovery +- Still be careful with the volume. 100% in an action movie will tear down your walls. From d68d0dd300df98f2dfb7bd122cf399b672543515 Mon Sep 17 00:00:00 2001 From: Andrew Cockburn Date: Sun, 18 Dec 2016 04:01:03 -0500 Subject: [PATCH 054/190] Add AppDaemon docs to ecosystem (#1589) --- source/_ecosystem/appdaemon.markdown | 14 + source/_ecosystem/appdaemon/api.markdown | 2110 +++++++++++++++++ .../appdaemon/configuration.markdown | 80 + .../appdaemon/example_apps.markdown | 14 + .../appdaemon/installation.markdown | 46 + .../_ecosystem/appdaemon/operation.markdown | 14 + source/_ecosystem/appdaemon/reboot.markdown | 14 + source/_ecosystem/appdaemon/running.markdown | 96 + source/_ecosystem/appdaemon/tutorial.markdown | 130 + source/_ecosystem/appdaemon/updating.markdown | 27 + source/_ecosystem/appdaemon/windows.markdown | 23 + .../ecosystem_appdaemon_navigation.html | 19 + .../asides/ecosystem_navigation.html | 2 + 13 files changed, 2589 insertions(+) create mode 100755 source/_ecosystem/appdaemon.markdown create mode 100755 source/_ecosystem/appdaemon/api.markdown create mode 100644 source/_ecosystem/appdaemon/configuration.markdown create mode 100644 source/_ecosystem/appdaemon/example_apps.markdown create mode 100644 source/_ecosystem/appdaemon/installation.markdown create mode 100644 source/_ecosystem/appdaemon/operation.markdown create mode 100644 source/_ecosystem/appdaemon/reboot.markdown create mode 100755 source/_ecosystem/appdaemon/running.markdown create mode 100755 source/_ecosystem/appdaemon/tutorial.markdown create mode 100644 source/_ecosystem/appdaemon/updating.markdown create mode 100755 source/_ecosystem/appdaemon/windows.markdown create mode 100755 source/_includes/asides/ecosystem_appdaemon_navigation.html diff --git a/source/_ecosystem/appdaemon.markdown b/source/_ecosystem/appdaemon.markdown new file mode 100755 index 00000000000..9ec0e87f8e3 --- /dev/null +++ b/source/_ecosystem/appdaemon.markdown @@ -0,0 +1,14 @@ +--- +layout: page +title: "AppDaemon" +description: "AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant. \ No newline at end of file diff --git a/source/_ecosystem/appdaemon/api.markdown b/source/_ecosystem/appdaemon/api.markdown new file mode 100755 index 00000000000..63299c41948 --- /dev/null +++ b/source/_ecosystem/appdaemon/api.markdown @@ -0,0 +1,2110 @@ +--- +layout: page +title: "AppDaemon API Reference" +description: "AppDaemon API Reference" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +## Anatomy of an App + +Automations in AppDaemon are performed by creating a piece of code (essentially a Python Class) and then instantiating it as an Object one or more times by configuring it as an App in the configuration file. The App is given a chance to register itself for whatever events it wants to subscribe to, and AppDaemon will then make calls back into the Object's code when those events occur, allowing the App to respond to the event with some kind of action. + +The first step is to create a unique file within the apps directory (as defined in the `[AppDaemon]` section of configuration file). This file is in fact a Python module, and is expected to contain one or more classes derived from the supplied `AppDaemon` class, imported from the supplied `homeassistant.appapi` module. The start of an app might look like this: + +```python +import homeassistant.appapi as appapi + +class MotionLights(appapi.AppDaemon): +``` + +When configured as an app in the config file (more on that later) the lifecycle of the App begins. It will be instantiated as an object by AppDaemon, and immediately, it will have a call made to it's `initialize()` function - this function must appear as part of every app: + +```python + def initialize(self): +``` + +The initialize function allows the app to register any callbacks it might need for responding to state changes, and also any setup activities. When the `initialize()` function returns, the App will be dormant until any of it's callbacks are activated. + +There are several circumstances under which `initialize()` might be called: + +- Initial start of AppDaemon +- Following a change to the Class code +- Following a change to the module parameters +- Following initial configuration of an app +- Following a change in the status of Daylight Savings Time +- Following a restart of Home Assistant + +In every case, the App is responsible for recreating any state it might need as if it were the first time it was ever started. If `initialize()` is called, the app can safely assume that it is either being loaded for the first time, or that all callbacks and timers have been cancelled. In either case, the APP will need to recreate them. Depending upon the application it may be desirable for the App to establish state such as whether or not a particular light is on, within the `initialize()` function to ensure that everything is as expected or to make immediate remedial action (e.g. turn off a light that might have been left on by mistake when the app was restarted). + +After the `initialize()` function is in place, the rest of the app consists of functions that are called by the various callback mechanisms, and any additional functions the user wants to add as part of the program logic. Apps are able to subscribe to 2 main classes of events: + +- Scheduled Events +- State Change Events + +These, along with their various subscription calls and helper functions, will be described in detail in later sections. + +To wrap up this section, here is a complete functioning App (with comments): + +```python +import homeassistant.appapi as appapi +import datetime + +# Declare Class +class NightLight(appapi.AppDaemon): + #initialize() function which will be called at startup and reload + def initialize(self): + # Create a time object for 7pm + time = datetime.time(19, 00, 0) + # Schedule a daily callback that will call run_daily() at 7pm every night + self.run_daily(self.run_daily_callback, time) + + # Our callback function will be called by the scheduler every day at 7pm + def run_daily_callback(self, kwargs): + # Call to Home Assistant to turn the porch light on + self.turn_on("light.porch") +``` + +To summarize - an App's lifecycle consists of being initialized, which allows it to set one or more state and/or schedule callbacks. When those callbacks are activated, the App will typically use one of the Service Calling calls to effect some change to the devices of the system and then wait for the next relevant state change. That's all there is to it! + +## About the API + +The implementation of the API is located in the AppDaemon class that Apps are derived from. The code for the functions is therefore available to the App simply by invoking the name of the function from the object namespace using the `self` keyword, as in the above examples. `self.turn_on()` for example is just a method defined in the parent class and made available to the child. This design decision was made to simplify some of the implementation and hide passing of unnecessary variables during the API invocation. + +## Configuration of Apps +Apps are configured by specifying new sections in the configuration file. `[AppDaemon]` is a reserved section, for configuration of AppDaemon itself. The name of the section is the name the App is referred to within the system in log files etc. and must be unique. + +To configure a new App you need a minimum of two directives: + +- `module` - the name of the module (without the `.py`) that contains the class to be used for this App +- `class` - the name of the class as defined within the module for the APPs code + +Although the section/App name must be unique, it is possible to re-use a class as many times as you want, and conversely to put as many classes in a module as you want. A sample definition for a new App might look as follows: + +```ini +[newapp] +module = new +class = NewApp +``` + +When AppDaemon sees the following configuration it will expect to find a class called `NewApp` defined in a module called `new.py` in the apps subdirectory. Apps can be placed at the root of the Apps directory or within a subdirectory, an arbitrary depth down - wherever the App is, as long as it is in some subdirectory of the Apps dir, or in the Apps dir itself, AppDaemon will find it. There is no need to include information about the path, just the name of the file itself (without the `.py`) is sufficient. If names in the subdirectories overlap, AppDir will pick one of them but the exact choice it will make is undefined. + +When starting the system for the first time or when reloading an App or Module, the system will log the fact in it's main log. It is often the case that there is a problem with the class, maybe a syntax error or some other problem. If that is the case, details will be output to the error log allowing the user to remedy the problem and reload. + +## Steps to writing an App + +1. Create the code in a new or shared module by deriving a class from AppDaemon, add required callbacks and code +2. Add the App to the configuration file +3. There is no number 3 + +## Reloading Modules and Classes + +Reloading of modules is automatic. When the system spots a change in a module, it will automatically reload and recompile the module. It will also figure out which Apps were using that Module and restart them, causing all of their existing callbacks to be cleared, and their `initialize()` function to be called. + +The same is true if changes are made to an App's configuration - changing the class, or arguments (see later) will cause that app to be reloaded in the same way. The system is also capable of detecting if a new app has been added, or if one has been removed, and it will act appropriately, starting the new app immediately and removing all callbacks for the removed app. + +The suggested order for creating a new App is to add the module code first and work until it compiles cleanly, and only then add an entry in the configuration file to actually run it. A good workflow is to continuously monitor the error file (using `tail -f` on Linux for instance) to ensure that errors are seen and can be remedied. + +## Passing Arguments to Apps + +There wouldn't be much point in being able to run multiple versions of an App if there wasn't some way to instruct them to do something different. For this reason it is possible to pass any required arguments to an App, which are then made available to the object at runtime. The arguments themselves can be called anything (apart from `module` or `class`) and are simply added into the section after the 2 mandatory directives like so: + +```ini +[MyApp] +module = myapp +class = MyApp +param1 = spam +param2 = eggs +``` + +Within the Apps code, the 2 parameters (as well as the module and class) are available as a dictionary called `args`, and accessed as follows: + +```python +param1 = self.args["param1"] +param2 = self.args["param2"] +``` + +A use case for this might be an App that detects motion and turns on a light. If you have 3 places you want to run this, rather than hardcoding this into 3 separate Apps, you need only code a single app and instantiate it 3 times with different arguments. It might look something like this: + +```ini +[downstairs_motion_light] +module = motion_light +class = MotionLight +sensor = binary_sensor.downstairs_hall +light = light.downstairs_hall +[upstairs_motion_light] +module = motion_light +class = MotionLight +sensor = binary_sensor.upstairs_hall +light = light.upstairs_hall +[garage_motion_light] +module = motion_light +class = MotionLight +sensor = binary_sensor.garage +light = light.garage +``` + +## Callback Constraints + +Callback constraints are a feature of AppDaemon that removes the need for repetition of some common coding checks. Many Apps will wish to process their callbacks only when certain conditions are met, e.g. someone is home, and it's after sunset. These kinds of conditions crop up a lot, and use of callback constraints can significantly simplify the logic required within callbacks. + +Put simply, callback constraints are one or more conditions on callback execution that can be applied to an individual App. An App's callbacks will only be executed if all of the constraints are met. If a constraint is absent it will not be checked for. + +For example, the presence callback constraint can be added to an App by adding a parameter to it's configuration like this: + +```ini +[some_app] +module = some_module +class = SomeClass +constrain_presence = noone +``` + +Now, although the `initialize()` function will be called for MyClass, and it will have a chance to register as many callbacks as it desires, none of the callbacks will execute, in this case, until everyone has left. This could be useful for an interior motion detector App for instance. There are several different types of constraints: + +- input_boolean +- input_select +- presence +- time + +An App can have as many or as few as are required. When more than one constraint is present, they must all evaluate to true to allow the callbacks to be called. Constraints becoming true are not an event in their own right, but if they are all true at a point in time, the next callback that would otherwise been blocked due to constraint failure will now be called. Similarly, if one of the constraints becomes false, the next callback that would otherwise have been called will be blocked. + +They are described individually below. + +### input_boolean +By default, the input_boolean constraint prevents callbacks unless the specified input_boolean is set to "on". This is useful to allow certain Apps to be turned on and off from the user interface. For example: + +```ini +[some_app] +module = some_module +class = SomeClass +constrain_input_boolean = input_boolean.enable_motion_detection +``` + +If you want to reverse the logic so the constraint is only called when the input_boolean is off, use the optional state parameter by appending ",off" to the argument, e.g.: + +```ini +[some_app] +module = some_module +class = SomeClass +constrain_input_boolean = input_boolean.enable_motion_detection,off +``` + +### input_select +The input_select constraint prevents callbacks unless the specified input_select is set to one or more of the nominated (comma separated) values. This is useful to allow certain Apps to be turned on and off according to some flag, e.g. a house mode flag. + +```ini +# Single value +constrain_input_select = input_select.house_mode,Day +# or multiple values +constrain_input_select = input_select.house_mode,Day,Evening,Night +``` + +### presence +The presence constraint will constrain based on presence of device trackers. It takes 3 possible values: +- `noone` - only allow callback execution when no one is home +- `anyone` - only allow callback execution when one or more person is home +- `everyone` - only allow callback execution when everyone is home + +```ini +constrain_presence = anyone +# or +constrain_presence = someone +# or +constrain_presence = noone +``` + +### time +The time constraint consists of 2 variables, `constrain_start_time` and `constrain_end_time`. Callbacks will only be executed if the current time is between the start and end times. +- If both are absent no time constraint will exist +- If only start is present, end will default to 1 second before midnight +- If only end is present, start will default to midnight + +The times are specified in a string format with one of the following formats: +- HH:MM:SS - the time in Hours Minutes and Seconds, 24 hour format. +- `sunrise`|`sunset` [+|- HH:MM:SS]- time of the next sunrise or sunset with an optional positive or negative offset in Hours Minutes and seconds + +The time based constraint system correctly interprets start and end times that span midnight. + +```ini +# Run between 8am and 10pm +constrain_start_time = 08:00:00 +constrain_end_time = 22:00:00 +# Run between sunrise and sunset +constrain_start_time = sunrise +constrain_end_time = sunset +# Run between 45 minutes before sunset and 45 minutes after sunrise the next day +constrain_start_time = sunset - 00:45:00 +constrain_end_time = sunrise + 00:45:00 +``` + +### days +The day constraint consists of as list of days for which the callbacks will fire, e.g. + +```ini +constrain_days = mon,tue,wed +``` + +Callback constraints can also be applied to individual callbacks within Apps, see later for more details. + +## A Note on Threading + +AppDaemon is multithreaded. This means that any time code within an App is executed, it is executed by one of many threads. This is generally not a particularly important consideration for this application; in general, the execution time of callbacks is expected to be far quicker than the frequency of events causing them. However, it should be noted for completeness, that it is certainly possible for different pieces of code within the App to be executed concurrently, so some care may be necessary if different callback for instance inspect and change shared variables. This is a fairly standard caveat with concurrent programming, and if you know enough to want to do this, then you should know enough to put appropriate safeguards in place. For the average user however this shouldn't be an issue. If there are sufficient use cases to warrant it, I will consider adding locking to the function invocations to make the entire infrastructure threadsafe, but I am not convinced that it is necessary. + +An additional caveat of a threaded worker pool environment is that it is the expectation that none of the callbacks tie threads up for a significant amount of time. To do so would eventually lead to thread exhaustion, which would make the system run behind events. No events would be lost as they would be queued, but callbacks would be delayed which is a bad thing. + +Given the above, NEVER use Python's `time.sleep()` if you want to perform an operation some time in the future, as this will tie up a thread for the period of the sleep. Instead use the scheduler's `run_in()` function which will allow you to delay without blocking any threads. + +## State Operations + +### A note on Home Assistant State + +State within Home Assistant is stored as a collection of dictionaries, one for each entity. Each entity's dictionary will have some common fields and a number of entity type specific fields The state for an entity will always have the attributes: + +- `last_updated` +- `last_changed` +- `state` + +Any other attributes such as brightness for a lamp will only be present if the entity supports them, and will be stored in a sub-dictionary called `attributes`. When specifying these optional attributes in the `get_state()` call, no special distinction is required between the main attributes and the optional ones - `get_state()` will figure it out for you. + +Also bear in mind that some attributes such as brightness for a light, will not be present when the light is off. + +In most cases, the attribute `state` has the most important value in it, e.g. for a light or switch this will be `on` or `off`, for a sensor it will be the value of that sensor. Many of the AppDaemon API calls and callbacks will implicitly return the value of state unless told to do otherwise. + +### get_state() + +#### Synopsis + +```python +get_state(entity = None, attribute = None) +``` + +`get_state()` is used to query the state of any component within Home Assistant. State updates are continuously tracked so this call runs locally and does not require AppDaemon to call back to Home Assistant and as such is very efficient. + +#### Returns + +`get_state()` returns a `dictionary` or single value, the structure of which varies according to the parameters used. + +#### Parameters + +All parameters are optional, and if `get_state()` is called with no parameters it will return the entire state of Home Assistant at that given time. This will consist of a dictionary with a key for each entity. Under that key will be the standard entity state information. + +##### entity + +This is the name of an entity or device type. If just a device type is provided, e.g. `light` or `binary_sensor`, `get_state()` will return a dictionary of all devices of that type, indexed by the entity_id, containing all the state for each entity. + +If a fully qualified `entity_id` is provided, `get_state()` will return the state attribute for that entity, e.g. `on` or `off` for a light. + +##### attribute + +Name of an attribute within the entity state object. If this parameter is specified in addition to a fully qualified `entity_id`, a single value representing the attribute will be returned, or `None` if it is not present. + +The value `all` for attribute has special significance and will return the entire state dictionary for the specified entity rather than an individual attribute value. + +#### Examples + +```python +# Return state for the entire system +state = self.get_state() + +# Return state for all switches in the system +state = self.get_state("switch") + +# Return the state attribute for light.office_1 +state = self.get_state("light.office_1") + +# Return the brightness attribute for light.office_1 +state = self.get_state("light.office_1", "brightness") + +# Return the entire state for light.office_1 +state = self.get_state("light.office_1", "all") +``` + +### set_state() + +`set_state()` will make a call back to Home Assistant and make changes to the internal state of Home Assistant. This is not something that you would usually want to do and the applications are limited however the call is included for completeness. Note that for instance, setting the state of a light to `on` won't actually switch the device on, it will merely change the state of the device in Home Assistant so that it no longer reflects reality. In most cases, the state will be corrected the next time Home Assistant polls the device or someone causes a state change manually. To effect actual changes of devices use one of the service call functions. + +One possible use case for `set_state()` is for testing. If for instance you are writing an App to turn on a light when it gets dark according to a luminance sensor, you can use `set_state()` to temporarily change the light level reported by the sensor to test your program. However this is also possible using the developer tools. + +At the time of writing, it appears that no checking is done as to whether or not the entity exists, so it is possible to add entirely new entries to Home Assistant's state with this call. + +#### Synopsis + +```python +set_state(entity_id, **kwargs) +``` + +#### Returns + +`set_state()` returns a dictionary representing the state of the device after the call has completed. + +#### Parameters + +##### entity_id + +Entity id for which the state is to be set, e.g. `light.office_1`. + +##### values + +A list of keyword values to be changed or added to the entities state. e.g. `state = "off"`. Note that any optional attributes such as colors for bulbs etc, need to reside in a dictionary called `attributes`; see the example. + +#### Examples + +```python +status = self.set_state("light.office_1", state = "on", attributes = {"color_name": "red"}) +``` + +### About Callbacks + +A large proportion of home automation revolves around waiting for something to happen and then reacting to it; a light level drops, the sun rises, a door opens etc. Home Assistant keeps track of every state change that occurs within the system and streams that information to AppDaemon almost immediately. + +An individual App however usually doesn't care about the majority of state changes going on in the system; Apps usually care about something very specific, like a specific sensor or light. Apps need a way to be notified when a state change happens that they care about, and be able to ignore the rest. They do this through registering callbacks. A callback allows the App to describe exactly what it is interested in, and tells AppDaemon to make a call into its code in a specific place to be able to react to it - this is a very familiar concept to anyone familiar with event-based programming. + +There are 3 types of callbacks within AppDaemon: + +- State Callbacks - react to a change in state +- Scheduler Callbacks - react to a specific time or interval +- Event Callbacks - react to specific Home Assistant and Appdaemon events. + +All callbacks allow the user to specify additional parameters to be handed to the callback via the standard Python `**kwargs` mechanism for greater flexibility. + +### About Registering Callbacks + +Each of the various types of callback have their own function or functions for registering the callback: + +- `listen_state()` for state callbacks +- Various scheduler calls such as `run_once()` for scheduler callbacks +- `listen_event()` for event callbacks. + +Each type of callback shares a number of common mechanisms that increase flexibility. + +#### Callback Level Constraints + +When registering a callback, you can add constraints identical to the Application level constraints described earlier. The difference is that a constraint applied to an individual callback only affects that callback and no other. The constraints are applied by adding Python keyword-value style arguments after the positional arguments. The parameters themselves are named identically to the previously described constraints and have identical functionality. For instance, adding: + +`constrain_presence="everyone"` + +to a callback registration will ensure that the callback is only run if the callback conditions are met and in addition everyone is present although any other callbacks might run whenever their event fires if they have no constraints. + +For example: + +`self.listen_state(self.motion, "binary_sensor.drive", constrain_presence="everyone")` + +#### User Arguments + +Any callback has the ability to allow the App creator to pass through arbitrary keyword arguments that will be presented to the callback when it is run. The arguments are added after the positional parameters just like the constraints. The only restriction is that they cannot be the same as any constraint name for obvious reasons. For example, to pass the parameter `arg1 = "home assistant"` through to a callback you would register a callback as follows: + +`self.listen_state(self.motion, "binary_sensor.drive", arg1="home assistant")` + +Then in the callback you could use it as follows: + +```python +def motion(self, entity, attribute, old, new, **kwargs): + self.log("Arg1 is {}".format(kwargs["arg1"])) +``` + +### State Callbacks + +AppDaemons's state callbacks allow an App to listen to a wide variety of events, from every state change in the system, right down to a change of a single attribute of a particular entity. Setting up a callback is done using a single API call `listen_state()` which takes various arguments to allow it to do all of the above. Apps can register as many or as few callbacks as they want. + +### About State Callback Functions + +When calling back into the App, the App must provide a class function with a known signature for AppDaemon to call. The callback will provide various information to the function to enable the function to respond appropriately. For state callbacks, a class defined callback function should look like this: + +```python + def my_callback(self, entity, attribute, old, new, **kwargs): + +``` + +You can call the function whatever you like - you will reference it in the `listen_state()` call, and you can create as many callback functions as you need. + +The parameters have the following meanings: + +#### self + +A standard Python object reference. + +#### entity + +Name of the entity the callback was requested for or `None`. + +#### attribute + +Name of the attribute the callback was requested for or `None`. + +#### old + +The value of the state before the state change. + +#### new + +The value of the state after the state change. + +`old` and `new` will have varying types depending on the type of callback. + +#### \*\*kwargs + +A dictionary containing any constraints and/or additional user specific keyword arguments supplied to the `listen_state()` call. + +### listen_state() + +`listen_state()` allows the user to register a callback for a wide variety of state changes. + +#### Synopsis + +```python +handle = listen_state(callback, entity = None, **kwargs) +``` + +#### Returns + +A unique identifier that can be used to cancel the callback if required. Since variables created within object methods are local to the function they are created in, and in all likelihood the cancellation will be invoked later in a different function, it is recommended that handles are stored in the object namespace, e.g. `self.handle`. + +#### Parameters + +All parameters except `callback` are optional, and if `listen_state()` is called with no additional parameters it will subscribe to any state change within Home Assistant. + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard State Callback format documented above. + +##### entity + +This is the name of an entity or device type. If just a device type is provided, e.g. `light` or `binary_sensor`, `listen_state()` will subscribe to state changes of all devices of that type. If a fully qualified `entity_id` is provided, `listen_state()` will listen for state changes for just that entity. + +When called, AppDaemon will supply the callback function, in old and new, with the state attribute for that entity, e.g. `on` or `off` for a light. + +##### attribute (optional) + +Name of an attribute within the entity state object. If this parameter is specified in addition to a fully qualified `entity_id`, `listen_state()` will subscribe to changes for just that attribute within that specific entity. The new and old parameters in the callback function will be provided with a single value representing the attribute. + +The value `all` for attribute has special significance and will listen for any state change within the specified entity, and supply the callback functions with the entire state dictionary for the specified entity rather than an individual attribute value. + +##### new = (optional) + +If `new` is supplied as a parameter, callbacks will only be made if the state of the selected attribute (usually `state`) in the new state match the value of `new`. + +##### old = (optional) + +If `old` is supplied as a parameter, callbacks will only be made if the state of the selected attribute (usually `state`) in the old state match the value of `old`. + +Note: `old` and `new` can be used singly or together. + +##### duration = (optional) + +If duration is supplied as a parameter, the callback will not fire unless the state listened for is maintained for that number of seconds. This makes the most sense if a specific attribute is specified (or the default os `state` is used), an in conjunction with the `old` or `new` parameters, or both. When the callback is called, it is supplied with the values of `entity`, `attr`, `old` and `new` that were current at the time the actual event occured, since the assumption is that none of them have changed in the intervening period. + +```python + def my_callback(self, **kwargs): + +``` + +(Scheduler callbacks are documented in detail laer in this document) + +##### \*\*kwargs + +Zero or more keyword arguments that will be supplied to the callback when it is called. + +#### Examples + +```python +# Listen for any state change and return the state attribute +self.handle = self.listen_state(self.my_callback) + +# Listen for any state change involving a light and return the state attribute +self.handle = self.listen_state(self.my_callback, "light") + +# Listen for a state change involving light.office1 and return the state attribute +self.handle = self.listen_state(self.my_callback, "light.office_1") + +# Listen for a state change involving light.office1 and return the entire state as a dict +self.handle = self.listen_state(self.my_callback, "light.office_1", attribute = "all") + +# Listen for a state change involving the brightness attribute of light.office1 +self.handle = self.listen_state(self.my_callback, "light.office_1", attribute = "brightness") + +# Listen for a state change involving light.office1 turning on and return the state attribute +self.handle = self.listen_state(self.my_callback, "light.office_1", new = "on") + +# Listen for a state change involving light.office1 changing from brightness 100 to 200 and return the state attribute +self.handle = self.listen_state(self.my_callback, "light.office_1", old = "100", new = "200") + +# Listen for a state change involving light.office1 changing to state on and remaining on for a minute +self.handle = self.listen_state(self.my_callback, "light.office_1", new = "on", duration = 60) + +``` + + +### cancel_listen_state() + +Cancel a `listen_state()` callback. This will mean that the App will no longer be notified for the specific state change that has been cancelled. Other state changes will continue to be monitored. + +#### Synopsis + +```python +cancel_listen_state(handle) +``` + +#### Returns + +Nothing + +#### Parameters + +##### handle + +The handle returned when the `listen_state()` call was made. + +#### Examples + +```python +self.cancel_listen_state(self.office_light_handle) +``` + +### info_listen_state() + +Get information on state a callback from it's handle. + +#### Synopsis + +```python +entity, attribute, kwargs = self.info_listen_state(self.handle) +``` + +#### Returns + +entity, attribute, kwargs - the values supplied when the callback was initially created. + +#### Parameters + +##### handle + +The handle returned when the `listen_state()` call was made. + +#### Examples + +```python +entity, attribute, kwargs = self.info_listen_state(self.handle) +``` + +## Scheduler + +AppDaemon contains a powerful scheduler that is able to run with 1 second resolution to fire off specific events at set times, or after set delays, or even relative to sunrise and sunset. In general, events should be fired less than a second after specified but under certain circumstances there may be short additional delays. + +### About Schedule Callbacks + +As with State Change callbacks, Scheduler Callbacks expect to call into functions with a known and specific signature and a class defined Scheduler callback function should look like this: + +```python + def my_callback(self, **kwargs): + +``` + +You can call the function whatever you like; you will reference it in the Scheduler call, and you can create as many callback functions as you need. + +The parameters have the following meanings: + +#### self +A standard Python object reference + +#### \*\*kwargs + +A dictionary containing Zero or more keyword arguments to be supplied to the callback. + +### Creation of Scheduler Callbacks + +Scheduler callbacks are created through use of a number of convenience functions which can be used to suit the situation. + +#### run_in() + +Run the callback in a defined number of seconds. This is used to add a delay, for instance a 60 second delay before a light is turned off after it has been triggered by a motion detector. This callback should always be used instead of `time.sleep()` as discussed previously. + +#### Synopsis + +```python +self.handle = self.run_in(callback, delay, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### delay + +Delay, in seconds before the callback is invoked. + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +self.handle = self.run_in(self.run_in_c) +self.handle = self.run_in(self.run_in_c, title = "run_in5") +``` +#### run_once() + +Run the callback once, at the specified time of day. If the time of day is in the past, the callback will occur on the next day. + +#### Synopsis + +```python +self.handle = self.run_once(callback, time, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### time + +A Python `time` object that specifies when the callback will occur. If the time specified is in the past, the callback will occur the next day at the specified time. + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +# Run at 4pm today, or 4pm tomorrow if it is already after 4pm +import datetime +... +runtime = datetime.time(16, 0, 0) +handle = self.run_once(self.run_once_c, runtime) +``` + +#### run_at() + +Run the callback once, at the specified date and time. + +#### Synopsis + +```python +self.handle = self.run_at(callback, datetime, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. `run_at()` will raise an exception if the specified time is in the past. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### datetime + +A Python `datetime` object that specifies when the callback will occur. + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +# Run at 4pm today +import datetime +... +runtime = datetime.time(16, 0, 0) +today = datetime.date.today() +event = datetime.datetime.combine(today, runtime) +handle = self.run_once(self.run_once_c, event) +``` +#### run_daily() + +Execute a callback at the same time every day. If the time has already passed, the function will not be invoked until the following day at the specified time. + +#### Synopsis + +```python +self.handle = self.run_daily(callback, time, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### time + +A Python `time` object that specifies when the callback will occur. If the time specified is in the past, the callback will occur the next day at the specified time. + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +# Run daily at 7pm +import datetime +... +time = datetime.time(19, 0, 0) +self.run_daily(self.run_daily_c, runtime) +``` + +#### run_hourly() + +Execute a callback at the same time every hour. If the time has already passed, the function will not be invoked until the following hour at the specified time. + +#### Synopsis + +```python +self.handle = self.run_hourly(callback, time = None, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### time + +A Python `time` object that specifies when the callback will occur, the hour component of the time object is ignored. If the time specified is in the past, the callback will occur the next hour at the specified time. If time is not supplied, the callback will start an hour from the time that `run_hourly()` was executed. + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +# Run every hour, on the hour +import datetime +... +time = datetime.time(0, 0, 0) +self.run_daily(self.run_daily_c, runtime) +``` +#### run_minutely() + +Execute a callback at the same time every minute. If the time has already passed, the function will not be invoked until the following minute at the specified time. + +#### Synopsis + +```python +self.handle = self.run_minutely(callback, time = None, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### time + +A Python `time` object that specifies when the callback will occur, the hour and minute components of the time object are ignored. If the time specified is in the past, the callback will occur the next hour at the specified time. If time is not supplied, the callback will start a minute from the time that `run_minutely()` was executed. + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +# Run Every Minute on the minute +import datetime +... +time = datetime.time(0, 0, 0) +self.run_minutely(self.run_minutely_c, time) +``` + +#### run_every() + +Execute a repeating callback with a configurable delay starting at a specific time. + +#### Synopsis + +```python +self.handle = self.run_every(callback, time, repeat, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### time + +A Python `time` object that specifies when the initial callback will occur. + +##### repeat + +After the initial callback has occurred, another will occur every `repeat` seconds. + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +# Run every 17 minutes starting in 2 hours time +import datetime +... +self.run_every(self.run_every_c, time, 17 * 60) +``` + +#### cancel_timer() +Cancel a previously created timer + +#### Synopsis + +```python +self.cancel_timer(handle) +``` + +#### Returns + +None + +#### Parameters + +##### handle + +A handle value returned from the original call to create the timer. + +#### Examples + +```python +self.cancel_timer(handle) +``` + +### info_timer() + +Get information on a scheduler event from it's handle. + +#### Synopsis + +```python +time, interval, kwargs = self.info_timer(handle) +``` + +#### Returns + +time - datetime object representing the next time the callback will be fired + +interval - repeat interval if applicable, `0` otherwise. + +kwargs - the values supplied when the callback was initially created. + +#### Parameters + +##### handle + +The handle returned when the scheduler call was made. + +#### Examples + +```python +time, interval, kwargs = self.info_timer(handle) +``` + + + +### Scheduler Ransomization + +All of the scheduler calls above support 2 additional optional arguments, `random_start` and `random_end`. Using these arguments it is possible to randomize the firing of callbacks to the degree desired by setting the appropriate number of seconds with the parameters. + +- `random_start` - start of range of the random time +- `random_end` - end of range of the random time + +`random_start` must always be numerically lower than `random_end`, they can be negative to denote a random offset before and event, or positive to denote a random offset after an event. The event would be a an absolute or relative time or sunrise/sunset depending on whcih scheduler call you use and these values affect the base time by the spcified amount. If not specified, they will default to `0`. + +For example: + +```python +# Run a callback in 2 minutes minus a random number of seconds between 0 and 60, e.g. run between 60 and 120 seconds from now +self.handle = self.run_in(callback, 120, random_start = -60, **kwargs) +# Run a callback in 2 minutes plus a random number of seconds between 0 and 60, e.g. run between 120 and 180 seconds from now +self.handle = self.run_in(callback, 120, random_end = 60, **kwargs) +# Run a callback in 2 minutes plus or minus a random number of seconds between 0 and 60, e.g. run between 60 and 180 seconds from now +self.handle = self.run_in(callback, 120, random_start = -60, random_end = 60, **kwargs) +``` + +## Sunrise and Sunset + +AppDaemon has a number of features to allow easy tracking of sunrise and sunset as well as a couple of scheduler functions. Note that the scheduler functions also support the randomization parameters described above, but they cannot be used in conjunction with the `offset` parameter`. + +### run_at_sunrise() + +Run a callback at or around sunrise. + +#### Synopsis + +```python +self.handle = self.run_at_sunrise(callback, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### offset = + +The time in seconds that the callback should be delayed after sunrise. A negative value will result in the callback occurring before sunrise. This parameter cannot be combined with `random_start` or `random_end` + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +import datetime +... +# Run 45 minutes before sunset +self.run_at_sunrise(self.sun, offset = datetime.timedelta(minutes = -45).total_seconds(), "Sunrise -45 mins") +# or you can just do the math yourself +self.run_at_sunrise(self.sun, offset = 30 * 60, "Sunrise +30 mins") +# Run at a random time +/- 60 minutes from sunrise +self.run_at_sunrise(self.sun, random_start = -60*60, random_end = 60*60, "Sunrise, random +/- 60 mins") +# Run at a random time between 30 and 60 minutes before sunrise +self.run_at_sunrise(self.sun, random_start = -60*60, random_end = 30*60, "Sunrise, random - 30 - 60 mins") +``` + +### run_at_sunset() + +Run a callback at or around sunset. + +#### Synopsis + +```python +self.handle = self.run_at_sunset(callback, offset, **kwargs) +``` + +#### Returns + +A handle that can be used to cancel the timer. + +#### Parameters + +##### callback + +Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. + +##### offset = + +The time in seconds that the callback should be delayed after sunrise. A negative value will result in the callback occurring before sunrise. This parameter cannot be combined with `random_start` or `random_end` + +##### \*\*kwargs + +Arbitary keyword parameters to be provided to the callback function when it is invoked. + +#### Examples + +```python +# Example using timedelta +import datetime +... +self.run_at_sunset(self.sun, datetime.timedelta(minutes = -45).total_seconds(), "Sunset -45 mins") +# or you can just do the math yourself +self.run_at_sunset(self.sun, 30 * 60, "Sunset +30 mins") +# Run at a random time +/- 60 minutes from sunset +self.run_at_sunset(self.sun, random_start = -60*60, random_end = 60*60, "Sunset, random +/- 60 mins") +# Run at a random time between 30 and 60 minutes before sunset +self.run_at_sunset(self.sun, random_start = -60*60, random_end = 30*60, "Sunset, random - 30 - 60 mins") +``` +### sunrise() + +Return the time that the next Sunrise will occur. + +#### Synopsis + +```python +self.sunrise() +``` + +#### Returns + +A Python datetime that represents the next time Sunrise will occur. + +#### Examples + +```python +rise_time = self.sunrise() +``` +### sunset() + +Return the time that the next Sunset will occur. + +#### Synopsis + +```python +self.sunset() +``` + +#### Returns + +A Python datetime that represents the next time Sunset will occur. + +#### Examples + +```python +set_time = self.sunset() +``` +### sun_up() + +A function that allows you to determine if the sun is currently up. + +#### Synopsis + +```python +result = self.sun_up() +``` + +#### Returns + +`True` if the sun is up, False otherwise. + +#### Examples + +```python +if self.sun_up(): + do something +``` + +### sun_down() + +A function that allows you to determine if the sun is currently down. + +#### Synopsis + +```python +result = self.sun_down() +``` + +#### Returns + +`True` if the sun is down, False otherwise. + +#### Examples + +```python +if self.sun_down(): + do something +``` +## Calling Services + +### About Services + +Services within Home Assistant are how changes are made to the system and its devices. Services can be used to turn lights on and off, set thermostats and a whole number of other things. Home Assistant supplies a single interface to all these disparate services that take arbitrary parameters. AppDaemon provides the `call_service()` function to call into Home Assistant and run a service. In addition, it also provides convenience functions for some of the more common services making calling them a little easier. + +### call_service() + +Call service is the basic way of calling a service within AppDaemon. It can call any service and provide any required parameters. Available services can be found using the developer tools in the UI. For listed services, the part before the first period is the domain, and the part after is the service name. For instance, `light.turn_on` has a domain of `light` and a service name of `turn_on`. + +#### Synopsis + +```python +self.call_service(self, service, **kwargs) +``` + +#### Returns + +None + +#### Parameters + +##### service + +The service name, e.g. `light.turn_on`. + +##### \*\*kwargs + +Each service has different parameter requirements. This argument allows you to specify a comma separated list of keyword value pairs, e.g. `entity_id = light.office_1`. These parameters will be different for every service and can be discovered using the developer tools. Most if not all service calls require an `entity_id` however, so use of the above example is very common with this call. + +#### Examples + +```python +self.call_service("light.turn_on", entity_id = "light/office_lamp", color_name = "red") +self.call_service("notify/notify", title = "Hello", message = "Hello World") +``` +### turn_on() + +This is a convenience function for the `homassistant.turn_on` function. It is able to turn on pretty much anything in Home Assistant that can be turned on or run: + +- Lights +- Switches +- Scenes +- Scripts + +And many more. + +#### Synopsis + +```python +self.turn_on(entity_id, **kwargs) +``` + +#### Returns + +None + +#### Parameters + +##### entity_id + +Fully qualified entity_id of the thing to be turned on, e.g. `light.office_lamp` or ```scene.downstairs_on``` + +##### \*\*kwargs + +A comma separated list of key value pairs to allow specification of parameters over and above `entity_id`. + +#### Examples + +```python +self.turn_on("switch.patio_lights") +self.turn_on("scene.bedrrom_on") +self.turn_on("light.office_1", color_name = "green") +``` + +### turn_off() + +This is a convenience function for the `homassistant.turn_off` function. Like `homeassistant.turn_on`, it is able to turn off pretty much anything in Home Assistant that can be turned off. + +#### Synopsis + +```python +self.turn_off(entity_id) +``` + +#### Returns + +None + +#### Parameters + +##### entity_id + +Fully qualified entity_id of the thing to be turned off, e.g. `light.office_lamp` or `scene.downstairs_on`. + +#### Examples + +```python +self.turn_off("switch.patio_lights") +self.turn_off("light.office_1") +``` + +### toggle() + +This is a convenience function for the `homassistant.toggle` function. It is able to flip the state of pretty much anything in Home Assistant that can be turned on or off. + +#### Synopsis + +```python +self.toggle(entity_id) +``` + +#### Returns + +None + +#### Parameters + +##### entity_id + +Fully qualified entity_id of the thing to be toggled, e.g. `light.office_lamp` or `scene.downstairs_on`. + +#### Examples + +```python +self.toggle("switch.patio_lights") +self.toggle("light.office_1", color_name = "green") +``` + +### select_value() + +This is a convenience function for the `input_slider.select_value` function. It is able to set the value of an input_slider in Home Assistant. + +#### Synopsis + +```python +self.select_value(entity_id, value) +``` + +#### Returns + +None + +#### Parameters + +##### entity_id + +Fully qualified entity_id of the input_slider to be changed, e.g. `input_slider.alarm_hour`. + +##### value + +The new value to set the input slider to. + +#### Examples + +```python +self.select_value("input_slider.alarm_hour", 6) +``` + +### select_option() + +This is a convenience function for the `input_select.select_option` function. It is able to set the value of an input_select in Home Assistant. + +#### Synopsis + +```python +self.select_option(entity_id, option) +``` + +#### Returns + +None + +#### Parameters + +##### entity_id + +Fully qualified entity_id of the input_select to be changed, e.g. `input_select.mode`. + +##### value + +The new value to set the input slider to. + +#### Examples + +```python +self.select_option("input_select.mode", "Day") +``` + +### notify() + +This is a convenience function for the `notify.notify` service. It will send a notification to your defualt notification service. If you have more than one, use `call_service()` to call the specific notification service you require instead. + +#### Synopsis + +```python +notify(message, title=None) +``` +#### Returns + +None + +#### Parameters + +##### message + +Message to be sent to the notification service. + +##### title + +Title of the notification - optional. + +#### Examples + +```python +self.notify("", "Switching mode to Evening") +``` + +## Events + +### About Events + +Events are a fundamental part of how Home Assistant works under the covers. HA has an event bus that all components can read and write to, enabling components to inform other components when important events take place. We have already seen how state changes can be propagated to AppDaemon - a state change however is merely an example of an event within Home Assistant. There are several other event types, among them are: + +- `homeassistant_start` +- `homeassistant_stop` +- `state_changed` +- `service_registered` +- `call_service` +- `service_executed` +- `platform_discovered` +- `component_loaded` + +Using AppDaemon, it is possible to subscribe to specific events as well as fire off events. + +In addition to the Home Assistant supplied events, AppDaemon adds 2 more events. These are internal to AppDaemon and are not visible on the Home Assistant bus: + +- `appd_started` - fired once when AppDaemon is first started and after Apps are initialized +- `ha_started` - fired every time AppDaemon detects a Home Assistant restart + +### About Event Callbacks + +As with State Change and Scheduler callbacks, Event Callbacks expect to call into functions with a known and specific signature and a class defined Scheduler callback function should look like this: + +```python + def my_callback(self, event_name, data, kwargs): + +``` + +You can call the function whatever you like - you will reference it in the Scheduler call, and you can create as many callback functions as you need. + +The parameters have the following meanings: + +#### self + +A standard Python object reference. + +#### event_name + +Name of the event that was called, e.g. `call_service`. + +#### data + +Any data that the system supplied with the event as a dict. + +#### kwargs + +A dictionary containing Zero or more user keyword arguments to be supplied to the callback. + +### listen_event() + +Listen event sets up a callback for a specific event, or any event. + +#### Synopsis + +```python +handle = listen_event(function, event = None, **kwargs): +``` +#### Returns + +A handle that can be used to cancel the callback. + +#### Parameters + +##### function + +The function to be called when the event is fired. + +##### event + +Name of the event to subscribe to. Can be a standard Home Assistant event such as `service_registered` or an arbitrary custom event such as `"MODE_CHANGE"`. If no event is specified, `listen_event()` will subscribe to all events. + +##### \*\*kwargs (optional) + +One or more keyword value pairs representing App specific parameters to supply to the callback. If the keywords match values within the event data, they will act as filters, meaning that if they don't match the values, the callback will not fire. + +As an example of this, a Minimote controller when activated will generate an event called `zwave.scene_activated`, along with 2 pieces of data that are specific to the event - `entity_id` and `scene`. If you include keyword values for either of those, the values supplied to the `listen_event()1 call must match the values in the event or it will not fire. If the keywords do not match any of the data in the event they are simply ignored. + +Filtering will work with any event type, but it will be necessary to figure out the data associated with the event to understand what values can be filtered on. This can be achieved by examining Home Assistant's logfiles when the event fires. + +#### Examples +```python +self.listen_event(self.mode_event, "MODE_CHANGE") +# Listen for a minimote event activating scene 3: +self.listen_event(self.generic_event, "zwave.scene_activated", scene_id = 3) +# Listen for a minimote event activating scene 3 from a specific minimote: +self.listen_event(self.generic_event, "zwave.scene_activated", entity_id = "minimote_31", scene_id = 3) +``` + +### cancel_listen_event() + +Cancels callbacks for a specific event. + +#### Synopsis + +```python +cancel_listen_event(handle) +``` +#### Returns + +None. + +#### Parameters + +##### handle + +A handle returned from a previous call to `listen_event()`. + +#### Examples + +```python +self.cancel_listen_event(handle) +``` + +### info_listen_event() + +Get information on an event callback from it's handle. + +#### Synopsis + +```python +service, kwargs = self.info_listen_event(handle) +``` + +#### Returns + +service, kwargs - the values supplied when the callback was initially created. + +#### Parameters + +##### handle + +The handle returned when the `listen_event()` call was made. + +#### Examples + +```python +service, kwargs = self.info_listen_event(handle) +``` + + +### fire_event() + +Fire an event on the HomeAssistant bus, for other components to hear. + +#### Synopsis + +```python +fire_event(event, **kwargs) +``` + +#### Returns + +None. + +#### Parameters + +##### event + +Name of the event. Can be a standard Home Assistant event such as `service_registered` or an arbitrary custom event such as `"MODE_CHANGE"`. + +##### \*\*kwargs + +Zero or more keyword arguments that will be supplied as part of the event. + +#### Examples + +```python +self.fire_event("MY_CUSTOM_EVENT", jam="true") +``` + +### Event Callback Function Signature + +Functions called as an event callback will be supplied with 2 arguments: + +```python +def service(self, event_name, data): +``` + +#### event_name + +The name of the event that caused the callback, e.g. `"MODE_CHANGE"` or `call_service`. + +#### data + +A dictionary containing any additional information associated with the event. + +### Use of Events for Signalling between Home Assistant and AppDaemon + +Home Assistant allows for the creation of custom events and existing components can send and receive them. This provides a useful mechanism for signaling back and forth between Home Assistant and AppDaemon. For instance, if you would like to create a UI Element to fire off some code in Home Assistant, all that is necessary is to create a script to fire a custom event, then subscribe to that event in AppDaemon. The script would look something like this: + +```yaml +alias: Day +sequence: +- event: MODE_CHANGE + event_data: + mode: Day +``` + +The custom event `MODE_CHANGE` would be subscribed to with: + +```python +self.listen_event(self.mode_event, "MODE_CHANGE") +``` + +Home Assistant can send these events in a variety of other places - within automations, and also directly from Alexa intents. Home Assistant can also listen for custom events with it's automation component. This can be used to signal from AppDaemon code back to home assistant. Here is a sample automation: + +```yaml +automation: + trigger: + platform: event + event_type: MODE_CHANGE + ... + ... +``` + +This can be triggered with a call to AppDaemon's fire_event() as follows: + +```python +self.fire_event("MODE_CHANGE", mode = "Day") +``` + +## Presence + +Presence in Home Assistant is tracked using Device Trackers. The state of all device trackers can be found using the `get_state()` call, however AppDaemon provides several convenience functions to make this easier. + +### get_trackers() + +Return a list of all device trackers. This is designed to be iterated over. + +#### Synopsis + +```python +tracker_list = get_trackers() +``` +#### Returns + +An iterable list of all device trackers. + +#### Examples + +```python +trackers = self.get_trackers() +for tracker in trackers: + do something +``` + +### get_tracker_state() + +Get the state of a tracker. The values returned depend in part on the configuration and type of device trackers in the system. Simpler tracker types like `Locative` or `NMAP` will return one of 2 states: + +- `home` +- `not_home` + +Some types of device tracker are in addition able to supply locations that have been configured as Geofences, in which case the name of that location can be returned. + +#### Synopsis + +```python +location = self.get_tracker_state(tracker_id) +``` + +#### Returns + +A string representing the location of the tracker. + +#### Parameters + +##### tracker_id + +Fully qualified entity_id of the device tracker to query, e.g. `device_tracker.andrew`. + +#### Examples + +```python +trackers = self.get_trackers() +for tracker in trackers: + self.log("{} is {}".format(tracker, self.get_tracker_state(tracker))) +``` + +### everyone_home() + +A convenience function to determine if everyone is home. Use this in preference to getting the state of `group.all_devices()` as it avoids a race condition when using state change callbacks for device trackers. + +#### Synopsis + +```python +result = self.everyone_home() +``` +#### Returns + +Returns `True` if everyone is at home, `False` otherwise. + +#### Examples + +```python +if self.everyone_home(): + do something +``` +### anyone_home() + +A convenience function to determine if one or more person is home. Use this in preference to getting the state of `group.all_devices()` as it avoids a race condition when using state change callbacks for device trackers. + +#### Synopsis + +```python +result = self.anyone_home() +``` + +#### Returns + +Returns `True` if anyone is at home, `False` otherwise. + +#### Examples + +```python +if self.anyone_home(): + do something +``` +### noone_home() + +A convenience function to determine if no people are at home. Use this in preference to getting the state of group.all_devices() as it avoids a race condition when using state change callbacks for device trackers. + +#### Synopsis + +```python +result = self.noone_home() +``` + +#### Returns + +Returns `True` if no one is home, `False` otherwise. + +#### Examples + +```python +if self.noone_home(): + do something +``` + +## Miscellaneous Helper Functions + +### time() + +Returns a python `time` object representing the current time. Use this in preference to the standard Python ways to discover the current time, especially when using the "Time Travel" feature for testing. + +#### Synopsis + +```python +time() +``` + +#### Returns + +A localised Python time object representing the current AppDaemon time. + +#### Parameters + +None + +#### Example + +```python +now = self.time() +``` + +### date() + +Returns a python `date` object representing the current date. Use this in preference to the standard Python ways to discover the current date, especially when using the "Time Travel" feature for testing. + +#### Synopsis + +```python +date() +``` + +#### Returns + +A localised Python time object representing the current AppDaemon date. + +#### Parameters + +None + +#### Example + +```python +today = self.date() +``` + +### datetime() + +Returns a python `datetime` object representing the current date and time. Use this in preference to the standard Python ways to discover the current time, especially when using the "Time Travel" feature for testing. + +#### Synopsis + +```python +datetime() +``` + +#### Returns + +A localised Python datetime object representing the current AppDaemon date and time. + +#### Parameters + +None + +#### Example + +```python +now = self.datetime() +``` + + +### convert_utc() + +Home Assistant provides timestamps of several different sorts that may be used to gain additional insight into state changes. These timestamps are in UTC and are coded as ISO 8601 Combined date and time strings. `convert_utc()` will accept one of these strings and convert it to a localised Python datetime object representing the timestamp + +#### Synopsis + +```python +convert_utc(utc_string) +``` + +#### Returns + +`convert_utc(utc_string)` returns a localised Python datetime object representing the timestamp. + +#### Parameters + +##### utc_string + +An ISO 8601 encoded date and time string in the following format: `2016-07-13T14:24:02.040658-04:00` + +#### Example + +### parse_time() + +Takes a string representation of a time, or sunrise or sunset offset and converts it to a `datetime.time` object. + +#### Synopsis + +```python +parse_time(time_string) +``` + +#### Returns + +A `datetime.time` object, representing the time given in the `time_string` argument. + +#### Parameters + +##### time_string + +A representation of the time in a string format with one of the following formats: + +- HH:MM:SS - the time in Hours Minutes and Seconds, 24 hour format. +- sunrise | sunset [+ | - HH:MM:SS]- time of the next sunrise or sunset with an optional positive or negative offset in Hours Minutes and seconds + +#### Example + +```python +time = self.parse_time("17:30:00") +time = self.parse_time("sunrise") +time = self.parse_time("sunset + 00:30:00") +time = self.parse_time("sunrise + 01:00:00") +``` + +### now_is_between() + +Takes two string representations of a time, or sunrise or sunset offset and returns true if the current time is between those 2 times. `now_is_between()` can correctly handle transitions across midnight. + +#### Synopsis + +```python +now_is_between(start_time_string, end_time_string) +``` + +#### Returns + +`True` if the current time is within the specified start and end times, `False` otherwise. + +#### Parameters + +##### start_time_string, end_time_string + +A representation of the start and end time respectively in a string format with one of the following formats: + +- HH:MM:SS - the time in Hours Minutes and Seconds, 24 hour format. +- sunrise | sunset [+ | - HH:MM:SS]- time of the next sunrise or sunset with an optional positive or negative offset in Hours Minutes and seconds + +#### Example + +```python +if self.now_is_between("17:30:00", "08:00:00"): + do something +if self.now_is_between("sunset - 00:45:00", "sunrise + 00:45:00"): + do something +``` + +### friendly_name() + +`frindly_name()` will return the Friendly Name of an entity if it has one. + +#### Synopsis + +```python +Name = self.friendly_name(entity_id) +``` + +#### Returns + +The friendly name of the entity if it exists or the entity id if not. + +#### Example + +```python +tracker = "device_tracker.andrew" +self.log("{} ({}) is {}".format(tracker, self.friendly_name(tracker), self.get_tracker_state(tracker))) +``` + +### split_entity() + +`split_entity()` will take a fully qualified entity id of the form `light.hall_light` and split it into 2 values, the device and the entity, e.g. `light` and `hall_light`. + +#### Synopsis + +```python +device, entity = self.split_entity(entity_id) +``` + +#### Parameters + +##### entity_id + +Fully qualified entity id to be split. + +#### Returns + +A list with 2 entries, the device and entity respectively. + +#### Example + +```python +device, entity = self.split_entity(entity_id) +if device == "scene": + do something specific to scenes +``` + + +### get_app() + +`get_app()` will return the instantiated object of another app running within the system. This is useful for calling functions or accessing variables that reside in different apps without requiring duplication of code. + +#### Synopsis + +```python +get_app(self, name) +``` +#### Parameters + +##### name + +Name of the app required. This is the name specified in header section of the config file, not the module or class. + +#### Returns + +An object reference to the class. + +#### Example +```python +MyApp = self.get_app("MotionLights") +MyApp.turn_light_on() +``` + +### split_device_list() + +`split_device_list()` will take a comma separated list of device types (or anything else for that matter) and return them as an iterable list. This is intended to assist in use cases where the App takes a list of entities from an argument, e.g. a list of sensors to monitor. If only one entry is provided, an iterable list will still be returned to avoid the need for special processing. + +#### Synopsis + +```python +devices = split_device_list(list) +``` + +#### Returns + +A list of split devices with 1 or more entries. + +#### Example + +```python +for sensor in self.split_device_list(self.args["sensors"]): + do something for each sensor, e.g. make a state subscription +``` + + +### Writing to Logfiles + +AppDaemon uses 2 separate logs - the general log and the error log. An AppDaemon App can write to either of these using the supplied convenience methods `log()` and `error()`, which are provided as part of parent `AppDaemon` class, and the call will automatically pre-pend the name of the App making the call. The `-D` option of AppDaemon can be used to specify what level of logging is required and the logger objects will work as expected. + +### log() + +#### Synopsis + +```python +log(message, level = "INFO") +``` + +#### Returns + +Nothing + +#### Parameters + +##### Message + +The message to log. + +##### level + +The log level of the message - takes a string representing the standard logger levels. + +#### Examples + +```python +self.log("Log Test: Parameter is {}".format(some_variable)) +self.log("Log Test: Parameter is {}".format(some_variable), level = "ERROR") +``` + +### error() + +#### Synopsis + +```python +error(message, level = "WARNING") +``` +#### Returns + +Nothing + +#### Parameters + +##### Message + +The message to log. + +##### level + +The log level of the message - takes a string representing the standard logger levels. + +#### Examples + +```python +self.error("Some Warning string") +self.error("Some Critical string", level = "CRITICAL") +``` + +## Sharing information between Apps + +Sharing information between different Apps is very simple if required. Each app gets access to a global dictionary stored in a class attribute called `self.global_vars`. Any App can add or read any key as required. This operation is not however threadsafe so some car is needed. + +In addition, Apps have access to the entire configuration if required, meaning they can access AppDaemon configuration items as well as parameters from other Apps. To use this, there is a class attribute called `self.config`. It contains a `ConfigParser` object, which is similar in operation to a `Dictionary`. To access any apps parameters, simply reference the ConfigParser object using the Apps name (form the config file) as the first key, and the parameter required as the second, for instance: + +```python +other_apps_arg = self.config["some_app"]["some_parameter"]. +``` + +To get AppDaemon's config parameters, use the key "AppDaemon", e.g.: + +```python +app_timezone = self.config["AppDaemon"]["time_zone"] +``` + +And finally, it is also possible to use the AppDaemon as a global area for sharing parameters across Apps. Simply add the required parameters to the AppDaemon section of your config: + +```ini +[AppDaemon] +ha_url = +ha_key = +... +global_var = hello world +``` + +Then access it as follows: + +```python +my_global_var = conf.config["AppDaemon"]["global_var"] +``` + +## Development Workflow + +Developing Apps is intended to be fairly simple but is an exercise in programming like any other kind of Python programming. As such, it is expected that apps will contain syntax errors and will generate exceptions during the development process. AppDaemon makes it very easy to iterate through the development process as it will automatically reload code that has changed and also will reload code if any of the parameters in the configuration file change as well. + +The recommended workflow for development is as follows: + +- Open a window and tail the `appdaemon.log` file +- Open a second window and tail the `error.log` file +- Open a third window or the editor of your choice for editing the App + +With this setup, you will see that every time you write the file, AppDaemon will log the fact and let you know it has reloaded the App in the `appdaemon.log` file. + +If there is an error in the compilation or a runtime error, this will be directed to the `error.log` file to enable you to see the error and correct it. When an error occurs, there will also be a warning message in `appdaemon.log` to tell you to check the error log. + +## Time Travel + +OK, time travel sadly isn't really possible but it can be very useful when testing Apps. For instance, imagine you have an App that turns a light on every day at sunset. It might be nice to test it without waiting for Sunset - and with AppDaemon's "Time Travel" features you can. + +### Choosing a Start Time + +Internally, AppDaemon keeps track of it's own time relative to when it was started. This make is possible to start AppDaemon with a different start time and date to the current time. For instance to test that sunset App, start AppDaemon at a time just before sunset and see if it works as expected. To do this, simply use the "-s" argument on AppDaemon's command line. e,g,: + +```bash +$ appdaemon -s "2016-06-06 19:16:00" +2016-09-06 17:16:00 INFO AppDaemon Version 1.3.2 starting +2016-09-06 17:16:00 INFO Got initial state +2016-09-06 17:16:00 INFO Loading Module: /export/hass/appdaemon_test/conf/test_apps/sunset.py +... +``` + +Note the timestamps in the log - AppDaemon believes it is now just before sunset and will process any callbacks appropriately. + +### Speeding things up + +Some Apps need to run for periods of a day or two for you to test all aspects. This can be time consuming, but Time Travel can also help here in two ways. The first is by speeding up time. To do this, simply use the `-t` option on the command line. This specifies the amount of time a second lasts while time travelling. The default of course is 1 second, but if you change it to `0.1` for instance, AppDaemon will work 10x faster. If you set it to `0`, AppDaemon will work as fast as possible and, depending in your hardware, may be able to get through an entire day in a matter of minutes. Bear in mind however, due to the threaded nature of AppDaemon, when you are running with `-t 0` you may see actual events firing a little later than expected as the rest of the system tries to keep up with the timer. To set the tick time, start AppDaemon as follows: + +```bash +$ appdaemon -t 0.1 +``` + +AppDaemon also has an interval flag - think of this as a second multiplier. If the flag is set to 3600 for instance, each tick of the scheduler will jump the time forward by an hour. This is good for covering vast amounts of time quickly but event firing accuracy will suffer as a result. For example: + +```bash +$ appdaemon -e 3600 +``` + +### Automatically stopping + +AppDaemon can be set to terminate automatically at a specific time. This can be useful if you want to repeatedly rerun a test, for example to test that random values are behaving as expected. Simply specify the end time with the `-e` flag as follows: + +```bash +$ appdaemon -e "2016-06-06 10:10:00" +2016-09-06 17:16:00 INFO AppDaemon Version 1.3.2 starting +2016-09-06 17:16:00 INFO Got initial state +2016-09-06 17:16:00 INFO Loading Module: /export/hass/appdaemon_test/conf/test_apps/sunset.py +... +``` + +The `-e` flag is most useful when used in conjuntion with the -s flag and optionally the `-t` flag. For example, to run from just before sunset, for an hour, as fast as possible: + +```bash +$ appdaemon -s "2016-06-06 19:16:00" -s "2016-06-06 20:16:00" -t 0 +``` + + +### A Note on Times + +Some Apps you write may depend on checking times of events relative to the current time. If you are time travelling this will not work if you use standard python library calls to get the current time and date etc. For this reason, always use the AppDamon supplied `time()`, `date()` and `datetime()` calls, documented earlier. These calls will consult with AppDaemon's internal time rather than the actual time and give you the correct values. \ No newline at end of file diff --git a/source/_ecosystem/appdaemon/configuration.markdown b/source/_ecosystem/appdaemon/configuration.markdown new file mode 100644 index 00000000000..d17504ea4ed --- /dev/null +++ b/source/_ecosystem/appdaemon/configuration.markdown @@ -0,0 +1,80 @@ +--- +layout: page +title: "Configuration" +description: "AppDaemon Configuration" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +When you have appdaemon installed by either method, copy the `conf/appdaemon.cfg.example` file to `conf/appdaemon.cfg`, then edit the `[AppDaemon]` section to reflect your environment: + +``` +[AppDaemon] +ha_url = +ha_key = +logfile = STDOUT +errorfile = STDERR +app_dir = /conf/apps +threads = 10 +latitude = +longitude = +elevation = +cert_path = +# Apps +[hello_world] +module = hello +class = HelloWorld +``` + +- `ha_url` is a reference to your home assistant installation and must include the correct port number and scheme (`http://` or `https://` as appropriate) +- `ha_key` should be set to your key if you have one, otherwise it can be removed. +- `logfile` (optional) is the path to where you want `AppDaemon` to keep its main log. When run from the command line this is not used - log messages come out on the terminal. When running as a daemon this is where the log information will go. In the example above I created a directory specifically for AppDaemon to run from, although there is no reason you can't keep it in the `appdaemon` directory of the cloned repository. If `logfile = STDOUT`, output will be sent to stdout instead of stderr when running in the foreground, if not specified, output will be sent to STDOUT. +- `errorfile` (optional) is the name of the logfile for errors - this will usually be errors during compilation and execution of the apps. If `errorfile = STDERR` errors will be sent to stderr instead of a file, if not specified, output will be sent to STDERR. +- `app_dir` (optional) is the directory the apps are placed in. If not specified, AppDaemon will look first in `~/.homeassistant` then `/etc/appdaemon` for a subdirectory named `apps` +- `threads` - the number of dedicated worker threads to create for running the apps. Note, this will bear no resembelance to the number of apps you have, the threads are re-used and only active for as long as required to tun a particular callback or initialization, leave this set to 10 unless you experience thread starvation +- `latitude`, `longitude`, `elevation`, `timezone` - should all be copied from your home assistant configuration file +- `cert_path` (optional) - path to root CA cert directory - use only if you are using self signed certs. + +The `#Apps` section is the configuration for the Hello World program and should be left in place for initial testing but can be removed later if desired, as other Apps are added, App configuration is described in the [API doc](API.md). + +## Docker + +For Docker Configuration you need to take a couple of extra things into consideration. + +Our Docker image is designed to load your configuration and apps from a volume at `/conf` so that you can manage them in your own git repository, or place them anywhere else on the system and map them using the Docker command line. + +For example, if you have a local repository in `/Users/foo/ha-config` containing the following files: + +```bash +$ git ls-files +configuration.yaml +customize.yaml +known_devices.yaml +appdaemon.cfg +apps +apps/magic.py +``` + +You will need to modify the `appdaemon.cfg` file to point to these apps in `/conf/apps`: + +``` +[AppDaemon] +ha_url = +ha_key = +logfile = STDOUT +errorfile = STDERR +app_dir = /conf/apps +threads = 10 +latitude = +longitude = +elevation = +``` + +You can run Docker and point the conf volume to that directory. \ No newline at end of file diff --git a/source/_ecosystem/appdaemon/example_apps.markdown b/source/_ecosystem/appdaemon/example_apps.markdown new file mode 100644 index 00000000000..6f42885fec9 --- /dev/null +++ b/source/_ecosystem/appdaemon/example_apps.markdown @@ -0,0 +1,14 @@ +--- +layout: page +title: "Example Apps" +description: "AppDaemon Example Apps" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +There are a number of example apps under conf/examples, and the `conf/examples.cfg` file gives sample parameters for them. \ No newline at end of file diff --git a/source/_ecosystem/appdaemon/installation.markdown b/source/_ecosystem/appdaemon/installation.markdown new file mode 100644 index 00000000000..f313035ae49 --- /dev/null +++ b/source/_ecosystem/appdaemon/installation.markdown @@ -0,0 +1,46 @@ +--- +layout: page +title: "Installation" +description: "AppDaemon Installation" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +Installation is either by pip3 or Docker. + +## Clone the Repository + +For either method you will need to clone the **AppDaemon** repository to the current local directory on your machine. + +``` bash +$ git clone https://github.com/acockburn/appdaemon.git +``` + +Change your working directory to the repository root. Moving forward, we will be working from this directory. + +``` bash +$ cd appdaemon +``` + +## Install using Docker + +To build the Docker image run the following: + +``` bash +$ docker build -t appdaemon . +``` + +(Note the period at the end of the above command) + +## Install Using PIP3 + +Before running `AppDaemon` you will need to install the package: + +```bash +$ sudo pip3 install . +``` diff --git a/source/_ecosystem/appdaemon/operation.markdown b/source/_ecosystem/appdaemon/operation.markdown new file mode 100644 index 00000000000..e928ec4babd --- /dev/null +++ b/source/_ecosystem/appdaemon/operation.markdown @@ -0,0 +1,14 @@ +--- +layout: page +title: "Operation" +description: "Operation" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +Since AppDaemon under the covers uses the exact same APIs as the frontend UI, you typically see it react at about the same time to a given event. Calling back to Home Assistant is also pretty fast especially if they are running on the same machine. In action, observed latency above the built in automation component is usually sub-second. diff --git a/source/_ecosystem/appdaemon/reboot.markdown b/source/_ecosystem/appdaemon/reboot.markdown new file mode 100644 index 00000000000..4cac399650b --- /dev/null +++ b/source/_ecosystem/appdaemon/reboot.markdown @@ -0,0 +1,14 @@ +--- +layout: page +title: "Starting at Reboot" +description: "Starting at Reboot" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +To run `AppDaemon` at reboot, I have provided a sample init script in the `./scripts` directory. These have been tested on a Raspberry PI - your mileage may vary on other systems. There is also a sample Systemd script. diff --git a/source/_ecosystem/appdaemon/running.markdown b/source/_ecosystem/appdaemon/running.markdown new file mode 100755 index 00000000000..62e8718f9b8 --- /dev/null +++ b/source/_ecosystem/appdaemon/running.markdown @@ -0,0 +1,96 @@ +--- +layout: page +title: "Running AppDaemon" +description: "Running AppDaemon" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +As configured, AppDaemon comes with a single HelloWorld App that will send a greeting to the logfile to show that everything is working correctly. + +## Docker + +Assuming you have set the config up as described above for Docker, you can run it with the command: + +```bash +$ docker run -d -v /conf:/conf --name appdaemon appdaemon:latest +``` + +In the example above you would use: + +```bash +$ docker run -d -v /Users/foo/ha-config:/conf --name appdaemon appdaemon:latest +``` + +Where you place the `conf` and `conf/apps` directory is up to you - it can be in downloaded repostory, or anywhere else on the host, as long as you use the correct mapping in the `docker run` command. + +You can inspect the logs as follows: + +```bash +$ docker logs appdaemon +2016-08-22 10:08:16,575 INFO Got initial state +2016-08-22 10:08:16,576 INFO Loading Module: /export/hass/appdaemon_test/conf/apps/hello.py +2016-08-22 10:08:16,578 INFO Loading Object hello_world using class HelloWorld from module hello +2016-08-22 10:08:16,580 INFO Hello from AppDaemon +2016-08-22 10:08:16,584 INFO You are now ready to run Apps! +``` + +Note that for Docker, the error and regular logs are combined. + +## PIP3 + +You can then run AppDaemon from the command line as follows: + +```bash +$ appdaemon -c conf/appdaemon.cfg +``` + +If all is well, you should see something like the following: + +``` +$ appdaemon -c conf/appdaemon.cfg +2016-08-22 10:08:16,575 INFO Got initial state +2016-08-22 10:08:16,576 INFO Loading Module: /export/hass/appdaemon_test/conf/apps/hello.py +2016-08-22 10:08:16,578 INFO Loading Object hello_world using class HelloWorld from module hello +2016-08-22 10:08:16,580 INFO Hello from AppDaemon +2016-08-22 10:08:16,584 INFO You are now ready to run Apps! +``` + +## AppDaemon arguments + +``` +usage: appdaemon [-h] [-c CONFIG] [-p PIDFILE] [-t TICK] [-s STARTTIME] + [-e ENDTIME] [-i INTERVAL] + [-D {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-v] [-d] + +optional arguments: + -h, --help show this help message and exit + -c CONFIG, --config CONFIG + full path to config file + -p PIDFILE, --pidfile PIDFILE + full path to PID File + -t TICK, --tick TICK time in seconds that a tick in the schedular lasts + -s STARTTIME, --starttime STARTTIME + start time for scheduler + -e ENDTIME, --endtime ENDTIME + end time for scheduler + -i INTERVAL, --interval INTERVAL + multiplier for scheduler tick + -D {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --debug {DEBUG,INFO,WARNING,ERROR,CRITICAL} + debug level + -v, --version show program's version number and exit + -d, --daemon run as a background process +``` + +-c is the path to the configuration file. If not specified, AppDaemon will look for a file named `appdaemon.cfg` first in `~/.homeassistant` then in `/etc/appdaemon`. If the file is not specified and it is not found in either location, AppDaemon will raise an exception. + +-d and -p are used by the init file to start the process as a daemon and are not required if running from the command line. + +-D can be used to increase the debug level for internal AppDaemon operations as well as apps using the logging function. + +The -s, -i, -t and -s options are for the Time Travel feature and should only be used for testing. They are described in more detail in the API documentation. diff --git a/source/_ecosystem/appdaemon/tutorial.markdown b/source/_ecosystem/appdaemon/tutorial.markdown new file mode 100755 index 00000000000..7c23e38a95d --- /dev/null +++ b/source/_ecosystem/appdaemon/tutorial.markdown @@ -0,0 +1,130 @@ +--- +layout: page +title: "AppDaemon Tutorial" +description: "AppDaemon Tutorial" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +## Another Take on Automation + +If you haven't yet read Paulus' excellent Blog entry on [Perfect Home Automation](https://home-assistant.io/blog/2016/01/19/perfect-home-automation/) I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a lightswitch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the "Automation" in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the "Internet of Things". + +So given the importance of Automation, what should Automation allow us to do? I am a pragmatist at heart so I judge individual systems by the ease of accomplishing a few basic but representative tasks: + +- Can the system respond to presence or absence of people? +- Can I turn a light on at Sunset +/- a certain amount of time? +- Can I arrive home in light or dark and have the lights figure out if they should be on or off? +- As I build my system out, can I get the individual pieces to co-operate and use and re-use (potentially complex) logic to make sure everything works smoothly? +- Is it open and expandable? +- Does it run locally without any reliance on the cloud? + +In my opinion, Home Assistant accomplishes the majority of these very well with a combination of Automations, Scripts and Templates, and it's Restful API. + +So why `AppDaemon`? AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and appdeamon then comes into its own. It brings quite a few things to the table: + +- New paradigm - some problems require a procedural and/or iterative approach, and `AppDaemon` Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, Apps can do things that Automations can't +- Ease of use - AppDaemon's API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as "Pythonic" as possible, experienced Python programmers should feel right at home. +- Reuse - write a piece of code once and instantiate it as an app as many times as you need with different parameters e.g. a motion light program that you can use in 5 different places around your home. The code stays the same, you just dynamically add new instances of it in the config file +- Dynamic - AppDaemon has been designed from the start to enable the user to make changes without requiring a restart of Home Assistant, thanks to it's loose coupling. However, it is better than that - the user can make changes to code and AppDaemon will automatically reload the code, figure out which Apps were using it and restart them to use the new code with out the need to restart `AppDaemon` itself. It is also possible to change parameters for an individual or multiple apps and have them picked up dynamically, and for a final trick, removing or adding apps is also picked up dynamically. Testing cycles become a lot more efficient as a result. +- Complex logic - Python's If/Else constructs are clearer and easier to code for arbitrarily complex nested logic +- Durable variables and state - variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened +- All the power of Python - use any of Python's libraries, create your own modules, share variables, refactor and re-use code, create a single app to do everything, or multiple apps for individual tasks - nothing is off limits! + +It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatever about what it is controlling or reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner - the bulk of the work after that was adding additonal functions to make things that were already possible easier. + +## How it Works + +The best way to show what AppDaemon does is through a few simple examples. + +### Sunrise/Sunset Lighting + +Lets start with a simple App to turn a light on every night at sunset and off every morning at sunrise. Every App when first started will have its `initialize()` function called which gives it a chance to register a callback for AppDaemons's scheduler for a specific time. In this case we are using `run_at_sunrise()` and `run_at_sunset()` to register 2 separate callbacks. The argument `0` is the number of seconds offset from sunrise or sunset and can be negative or positive. For complex intervals it can be convenient to use Python's `datetime.timedelta` class for calculations. When sunrise or sunset occurs, the appropriate callback function, `sunrise_cb()` or `sunset_cb()` is called which then makes a call to Home Assistant to turn the porch light on or off by activating a scene. The variables `args["on_scene"]` and `args["off_scene"]` are passed through from the configuration of this particular App, and the same code could be reused to activate completely different scenes in a different version of the App. + +```python +import homeassistant.appapi as appapi + +class OutsideLights(appapi.AppDaemon): + + def initialize(self): + self.run_at_sunrise(self.sunrise_cb, 0) + self.run_at_sunset(self.sunset_cb, 0) + + def sunrise_cb(self, kwargs): + self.turn_on(self.args["off_scene"]) + + def sunset_cb(self, kwargs): + self.turn_on(self.args["on_scene"]) + +``` + +This is also fairly easy to achieve with Home Assistant automations, but we are just getting started. + +### Motion Light + +Our next example is to turn on a light when motion is detected and it is dark, and turn it off after a period of time. This time, the `initialize()` function registers a callback on a state change (of the motion sensor) rather than a specific time. We tell AppDaemon that we are only interested in state changesd where the motion detector comes on by adding an additional parameter to the callback registration - `new = "on"`. When the motion is detected, the callack function `motion()` is called, and we check whether or not the sun has set using a built-in convenience function: `sun_down()`. Next, we turn the light on with `turn_on()`, then set a timer using `run_in()` to turn the light off after 60 seconds, which is another call to the scheduler to execute in a set time from now, which results in `AppDaemon` calling `light_off()` 60 seconds later using the `turn_off()` call to actually turn the light off. This is still pretty simple in code terms: + +```python +import homeassistant.appapi as appapi + +class FlashyMotionLights(appapi.AppDaemon): + + def initialize(self): + self.listen_state(self.motion, "binary_sensor.drive", new = "on") + + def motion(self, entity, attribute, old, new, kwargs): + if self.sun_down(): + self.turn_on("light.drive") + self.run_in(self.light_off, 60) + + def light_off(self, kwargs): + self.turn_off("light.drive") +``` + +This is starting to get a little more complex in Home Assistant automations requiring an Automation rule and two separate scripts. + +Now lets extend this with a somewhat artificial example to show something that is simple in AppDaemon but very difficult if not impossible using automations. Lets warn someone inside the house that there has been motion outside by flashing a lamp on and off 10 times. We are reacting to the motion as before by turning on the light and setting a timer to turn it off again, but in addition, we set a 1 second timer to run `flash_warning()` which when called, toggles the inside light and sets another timer to call itself a second later. To avoid re-triggering forever, it keeps a count of how many times it has been activated and bales out after 10 iterations. + +```python +import homeassistant.appapi as appapi + +class MotionLights(appapi.AppDaemon): + + def initialize(self): + self.listen_state(self.motion, "binary_sensor.drive", new = "on") + + def motion(self, entity, attribute, old, new, kwargs): + if self.self.sun_down(): + self.turn_on("light.drive") + self.run_in(self.light_off, 60) + self.flashcount = 0 + self.run_in(self.flash_warning, 1) + + def light_off(self, kwargs): + self.turn_off("light.drive") + + def flash_warning(self, kwargs): + self.toggle("light.living_room") + self.flashcount += 1 + if self.flashcount < 10: + self.run_in(self.flash_warning, 1) +``` + +Of course if I wanted to make this App or its predecessor reusable I would have provide parameters for the sensor, the light to activate on motion, the warning light and even the number of flashes and delay between flashes. + +In addition, Apps can write to `AppDaemon`'s logfiles, and there is a system of constraints that allows yout to control when and under what circumstances Apps and callbacks are active to keep the logic clean and simple. + +I have spent the last few weeks moving all of my (fairly complex) automations over to `APPDaemon` and so far it is working very reliably. + +Some people will maybe look at all of this and say "what use is this, I can already do all of this", and that is fine, as I said this is an alternative not a replacement, but I am hopeful that for some users this will seem a more natural, powerful and nimble way of building potentially very complex automations. + +If this has whet your appetite, feel free to give it a try. + +Happy Automating! + + diff --git a/source/_ecosystem/appdaemon/updating.markdown b/source/_ecosystem/appdaemon/updating.markdown new file mode 100644 index 00000000000..28229fb6ece --- /dev/null +++ b/source/_ecosystem/appdaemon/updating.markdown @@ -0,0 +1,27 @@ +--- +layout: page +title: "Updating AppDaemon" +description: "Updating AppDaemon" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +To update AppDaemon after I have released new code, just run the following command to update your copy: + +```bash +$ git pull origin +``` + +If you are using pip3 for the install do this: + +```bash +$ sudo pip3 uninstall appdaemon +$ sudo pip3 install . +``` + +If you are using docker, rerun the steps to create a new docker image. diff --git a/source/_ecosystem/appdaemon/windows.markdown b/source/_ecosystem/appdaemon/windows.markdown new file mode 100755 index 00000000000..9b443f77534 --- /dev/null +++ b/source/_ecosystem/appdaemon/windows.markdown @@ -0,0 +1,23 @@ +--- +layout: page +title: "Windows Support" +description: "Windows Support" +release_date: 2016-11-27 08:00:00 -0500 +sidebar: true +comments: false +sharing: true +footer: true +regenerate: true +hide_github_edit: true +--- + +AppDaemon runs under windows and has been tested with the official 3.5.2 release of Python. There are a couple of caveats however: + +- The `-d` or `--daemonize` option is not supported owing to limitations in the Windows implementation of Python. +- Some internal diagnostics are disabled. This is not user visible but may hamper troubleshooting of internal issues if any crop up + +AppDaemon can be installed exactly as per the instructions for every other version using pip3. + +## Windows Under the Linux Subsystem + +Windows 10 now supports a full Linux bash environment that is capable of running Python. This is essentially an Ubuntu distribution and works extremely well. It is possible to run AppDaemon in exactly the same way as for Linux distributions, and none of the above Windows Caveats apply to this version. This is the reccomended way to run AppDaemon in a Windows 10 and later environment. \ No newline at end of file diff --git a/source/_includes/asides/ecosystem_appdaemon_navigation.html b/source/_includes/asides/ecosystem_appdaemon_navigation.html new file mode 100755 index 00000000000..8333511804e --- /dev/null +++ b/source/_includes/asides/ecosystem_appdaemon_navigation.html @@ -0,0 +1,19 @@ +
+ +
+

AppDaemon

+ +
+
diff --git a/source/_includes/asides/ecosystem_navigation.html b/source/_includes/asides/ecosystem_navigation.html index a11b2324306..ed30ae7c1cb 100755 --- a/source/_includes/asides/ecosystem_navigation.html +++ b/source/_includes/asides/ecosystem_navigation.html @@ -3,6 +3,8 @@ {% include asides/ecosystem_ios_navigation.html | compact_newlines %} {% elsif url_parts[2] == "hadashboard" %} {% include asides/ecosystem_hadashboard_navigation.html | compact_newlines %} +{% elsif url_parts[2] == "appdaemon" %} + {% include asides/ecosystem_appdaemon_navigation.html | compact_newlines %} {% comment %} {% elsif url_parts[2] == "cookbook" %} {% include asides/cookbook_navigation.html | compact_newlines %} From 67859c41e2531da5ed9bb4cbdb2689ed3eaabefa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 09:50:18 +0100 Subject: [PATCH 055/190] Fix configuration variables and add full configuration sample --- source/_components/cover.rpi_gpio.markdown | 28 +++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/source/_components/cover.rpi_gpio.markdown b/source/_components/cover.rpi_gpio.markdown index 3b2205d724b..e51d150d2d5 100644 --- a/source/_components/cover.rpi_gpio.markdown +++ b/source/_components/cover.rpi_gpio.markdown @@ -23,6 +23,26 @@ Although you do not need Andrews Hilliday's software controller when you run Hom To enable Raspberry Pi Covers in your installation, add the following to your `configuration.yaml` file: +```yaml +# Example configuration.yaml entry +cover: + platform: rpi_gpio + covers: + - relay_pin: 10 + state_pin: 11 +``` + +Configuration variables: + +- **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is .2 seconds. +- **state_pull_mode** (*Optional*): The direction the State pin is pulling. It can be UP or DOWN. Default is UP. +- **covers** array (*Required*): List of your doors. + - **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected. + - **state_pin** (*Required*): The pin of your Raspberry Pi to retrieve the state. + - **name** (*Optional*): Name to use in the frontend. + +Full example: + ```yaml # Example configuration.yaml entry cover: @@ -37,12 +57,4 @@ cover: name: 'Right door' ``` -Configuration variables: - -- **covers** array (*Required*): List of your doors. - - **name** (*Optional*): Name to use in the Frontend. - - **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected. - - **state_pin** (*Required*): The pin of your Raspberry Pi to retrieve the state. - - **state_pull_mode** (*Optional*): The direction the State pin is pulling. It can be UP or DOWN. Default is UP. - - **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is .2 seconds. From bbe7891c4a5e4d314f65e90ca01ae3e2da582212 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 09:51:13 +0100 Subject: [PATCH 056/190] Change indent --- source/_components/cover.rpi_gpio.markdown | 27 +++++++++++----------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/source/_components/cover.rpi_gpio.markdown b/source/_components/cover.rpi_gpio.markdown index e51d150d2d5..35588b23df9 100644 --- a/source/_components/cover.rpi_gpio.markdown +++ b/source/_components/cover.rpi_gpio.markdown @@ -26,10 +26,10 @@ To enable Raspberry Pi Covers in your installation, add the following to your `c ```yaml # Example configuration.yaml entry cover: - platform: rpi_gpio - covers: - - relay_pin: 10 - state_pin: 11 + - platform: rpi_gpio + covers: + - relay_pin: 10 + state_pin: 11 ``` Configuration variables: @@ -46,15 +46,14 @@ Full example: ```yaml # Example configuration.yaml entry cover: - platform: rpi_gpio - relay_time: 0.2 - state_pull_mode: 'UP' - covers: - - relay_pin: 10 - state_pin: 11 - - relay_pin: 12 - state_pin: 13 - name: 'Right door' + - platform: rpi_gpio + relay_time: 0.2 + state_pull_mode: 'UP' + covers: + - relay_pin: 10 + state_pin: 11 + - relay_pin: 12 + state_pin: 13 + name: 'Right door' ``` - From a5fda6c17f5c9b8d16625d45b215a2ec1c779d48 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 10:40:27 +0100 Subject: [PATCH 057/190] Make titles linkable --- source/_ecosystem/appdaemon/api.markdown | 721 +++++++++--------- .../appdaemon/configuration.markdown | 4 +- .../appdaemon/installation.markdown | 8 +- .../_ecosystem/appdaemon/operation.markdown | 2 +- source/_ecosystem/appdaemon/running.markdown | 12 +- source/_ecosystem/appdaemon/tutorial.markdown | 7 +- source/_ecosystem/appdaemon/windows.markdown | 4 +- 7 files changed, 378 insertions(+), 380 deletions(-) diff --git a/source/_ecosystem/appdaemon/api.markdown b/source/_ecosystem/appdaemon/api.markdown index 63299c41948..346c0546881 100755 --- a/source/_ecosystem/appdaemon/api.markdown +++ b/source/_ecosystem/appdaemon/api.markdown @@ -11,7 +11,7 @@ regenerate: true hide_github_edit: true --- -## Anatomy of an App +## {% linkable_title Anatomy of an App %} Automations in AppDaemon are performed by creating a piece of code (essentially a Python Class) and then instantiating it as an Object one or more times by configuring it as an App in the configuration file. The App is given a chance to register itself for whatever events it wants to subscribe to, and AppDaemon will then make calls back into the Object's code when those events occur, allowing the App to respond to the event with some kind of action. @@ -72,11 +72,11 @@ class NightLight(appapi.AppDaemon): To summarize - an App's lifecycle consists of being initialized, which allows it to set one or more state and/or schedule callbacks. When those callbacks are activated, the App will typically use one of the Service Calling calls to effect some change to the devices of the system and then wait for the next relevant state change. That's all there is to it! -## About the API +## {% linkable_title About the API The implementation of the API is located in the AppDaemon class that Apps are derived from. The code for the functions is therefore available to the App simply by invoking the name of the function from the object namespace using the `self` keyword, as in the above examples. `self.turn_on()` for example is just a method defined in the parent class and made available to the child. This design decision was made to simplify some of the implementation and hide passing of unnecessary variables during the API invocation. -## Configuration of Apps +## {% linkable_title Configuration of Apps %} Apps are configured by specifying new sections in the configuration file. `[AppDaemon]` is a reserved section, for configuration of AppDaemon itself. The name of the section is the name the App is referred to within the system in log files etc. and must be unique. To configure a new App you need a minimum of two directives: @@ -96,13 +96,13 @@ When AppDaemon sees the following configuration it will expect to find a class c When starting the system for the first time or when reloading an App or Module, the system will log the fact in it's main log. It is often the case that there is a problem with the class, maybe a syntax error or some other problem. If that is the case, details will be output to the error log allowing the user to remedy the problem and reload. -## Steps to writing an App +## {% linkable_title Steps to writing an App %} 1. Create the code in a new or shared module by deriving a class from AppDaemon, add required callbacks and code 2. Add the App to the configuration file 3. There is no number 3 -## Reloading Modules and Classes +## {% linkable_title Reloading Modules and Classes %} Reloading of modules is automatic. When the system spots a change in a module, it will automatically reload and recompile the module. It will also figure out which Apps were using that Module and restart them, causing all of their existing callbacks to be cleared, and their `initialize()` function to be called. @@ -110,7 +110,7 @@ The same is true if changes are made to an App's configuration - changing the cl The suggested order for creating a new App is to add the module code first and work until it compiles cleanly, and only then add an entry in the configuration file to actually run it. A good workflow is to continuously monitor the error file (using `tail -f` on Linux for instance) to ensure that errors are seen and can be remedied. -## Passing Arguments to Apps +## {% linkable_title Passing Arguments to Apps %} There wouldn't be much point in being able to run multiple versions of an App if there wasn't some way to instruct them to do something different. For this reason it is possible to pass any required arguments to an App, which are then made available to the object at runtime. The arguments themselves can be called anything (apart from `module` or `class`) and are simply added into the section after the 2 mandatory directives like so: @@ -149,7 +149,7 @@ sensor = binary_sensor.garage light = light.garage ``` -## Callback Constraints +## {% linkable_title Callback Constraints %} Callback constraints are a feature of AppDaemon that removes the need for repetition of some common coding checks. Many Apps will wish to process their callbacks only when certain conditions are met, e.g. someone is home, and it's after sunset. These kinds of conditions crop up a lot, and use of callback constraints can significantly simplify the logic required within callbacks. @@ -175,7 +175,7 @@ An App can have as many or as few as are required. When more than one constraint They are described individually below. -### input_boolean +### {% linkable_title input_boolean %} By default, the input_boolean constraint prevents callbacks unless the specified input_boolean is set to "on". This is useful to allow certain Apps to be turned on and off from the user interface. For example: ```ini @@ -194,7 +194,7 @@ class = SomeClass constrain_input_boolean = input_boolean.enable_motion_detection,off ``` -### input_select +### {% linkable_title input_select %} The input_select constraint prevents callbacks unless the specified input_select is set to one or more of the nominated (comma separated) values. This is useful to allow certain Apps to be turned on and off according to some flag, e.g. a house mode flag. ```ini @@ -204,7 +204,7 @@ constrain_input_select = input_select.house_mode,Day constrain_input_select = input_select.house_mode,Day,Evening,Night ``` -### presence +### {% linkable_title presence %} The presence constraint will constrain based on presence of device trackers. It takes 3 possible values: - `noone` - only allow callback execution when no one is home - `anyone` - only allow callback execution when one or more person is home @@ -218,7 +218,7 @@ constrain_presence = someone constrain_presence = noone ``` -### time +### {% linkable_title time %} The time constraint consists of 2 variables, `constrain_start_time` and `constrain_end_time`. Callbacks will only be executed if the current time is between the start and end times. - If both are absent no time constraint will exist - If only start is present, end will default to 1 second before midnight @@ -242,7 +242,7 @@ constrain_start_time = sunset - 00:45:00 constrain_end_time = sunrise + 00:45:00 ``` -### days +### {% linkable_title days %} The day constraint consists of as list of days for which the callbacks will fire, e.g. ```ini @@ -251,7 +251,7 @@ constrain_days = mon,tue,wed Callback constraints can also be applied to individual callbacks within Apps, see later for more details. -## A Note on Threading +## {% linkable_title A Note on Threading %} AppDaemon is multithreaded. This means that any time code within an App is executed, it is executed by one of many threads. This is generally not a particularly important consideration for this application; in general, the execution time of callbacks is expected to be far quicker than the frequency of events causing them. However, it should be noted for completeness, that it is certainly possible for different pieces of code within the App to be executed concurrently, so some care may be necessary if different callback for instance inspect and change shared variables. This is a fairly standard caveat with concurrent programming, and if you know enough to want to do this, then you should know enough to put appropriate safeguards in place. For the average user however this shouldn't be an issue. If there are sufficient use cases to warrant it, I will consider adding locking to the function invocations to make the entire infrastructure threadsafe, but I am not convinced that it is necessary. @@ -259,9 +259,9 @@ An additional caveat of a threaded worker pool environment is that it is the exp Given the above, NEVER use Python's `time.sleep()` if you want to perform an operation some time in the future, as this will tie up a thread for the period of the sleep. Instead use the scheduler's `run_in()` function which will allow you to delay without blocking any threads. -## State Operations +## {% linkable_title State Operations %} -### A note on Home Assistant State +### {% linkable_title A note on Home Assistant State %} State within Home Assistant is stored as a collection of dictionaries, one for each entity. Each entity's dictionary will have some common fields and a number of entity type specific fields The state for an entity will always have the attributes: @@ -275,9 +275,9 @@ Also bear in mind that some attributes such as brightness for a light, will not In most cases, the attribute `state` has the most important value in it, e.g. for a light or switch this will be `on` or `off`, for a sensor it will be the value of that sensor. Many of the AppDaemon API calls and callbacks will implicitly return the value of state unless told to do otherwise. -### get_state() +### {% linkable_title get_state() %} -#### Synopsis +#### {% linkable_title Synopsis %} ```python get_state(entity = None, attribute = None) @@ -285,27 +285,27 @@ get_state(entity = None, attribute = None) `get_state()` is used to query the state of any component within Home Assistant. State updates are continuously tracked so this call runs locally and does not require AppDaemon to call back to Home Assistant and as such is very efficient. -#### Returns +#### {% linkable_title Returns %} `get_state()` returns a `dictionary` or single value, the structure of which varies according to the parameters used. -#### Parameters +#### {% linkable_title Parameters All parameters are optional, and if `get_state()` is called with no parameters it will return the entire state of Home Assistant at that given time. This will consist of a dictionary with a key for each entity. Under that key will be the standard entity state information. -##### entity +##### {% linkable_title entity %} This is the name of an entity or device type. If just a device type is provided, e.g. `light` or `binary_sensor`, `get_state()` will return a dictionary of all devices of that type, indexed by the entity_id, containing all the state for each entity. If a fully qualified `entity_id` is provided, `get_state()` will return the state attribute for that entity, e.g. `on` or `off` for a light. -##### attribute +##### {% linkable_title attribute %} Name of an attribute within the entity state object. If this parameter is specified in addition to a fully qualified `entity_id`, a single value representing the attribute will be returned, or `None` if it is not present. The value `all` for attribute has special significance and will return the entire state dictionary for the specified entity rather than an individual attribute value. -#### Examples +#### {% linkable_title Examples %} ```python # Return state for the entire system @@ -324,7 +324,7 @@ state = self.get_state("light.office_1", "brightness") state = self.get_state("light.office_1", "all") ``` -### set_state() +### {% linkable_title set_state() %} `set_state()` will make a call back to Home Assistant and make changes to the internal state of Home Assistant. This is not something that you would usually want to do and the applications are limited however the call is included for completeness. Note that for instance, setting the state of a light to `on` won't actually switch the device on, it will merely change the state of the device in Home Assistant so that it no longer reflects reality. In most cases, the state will be corrected the next time Home Assistant polls the device or someone causes a state change manually. To effect actual changes of devices use one of the service call functions. @@ -332,33 +332,33 @@ One possible use case for `set_state()` is for testing. If for instance you are At the time of writing, it appears that no checking is done as to whether or not the entity exists, so it is possible to add entirely new entries to Home Assistant's state with this call. -#### Synopsis +#### {% linkable_title Synopsis %} ```python set_state(entity_id, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} `set_state()` returns a dictionary representing the state of the device after the call has completed. -#### Parameters +#### {% linkable_title Parameters %} -##### entity_id +##### {% linkable_title entity_id %} Entity id for which the state is to be set, e.g. `light.office_1`. -##### values +##### {% linkable_title values %} A list of keyword values to be changed or added to the entities state. e.g. `state = "off"`. Note that any optional attributes such as colors for bulbs etc, need to reside in a dictionary called `attributes`; see the example. -#### Examples +#### {% linkable_title Examples %} ```python status = self.set_state("light.office_1", state = "on", attributes = {"color_name": "red"}) ``` -### About Callbacks +### {% linkable_title About Callbacks %} A large proportion of home automation revolves around waiting for something to happen and then reacting to it; a light level drops, the sun rises, a door opens etc. Home Assistant keeps track of every state change that occurs within the system and streams that information to AppDaemon almost immediately. @@ -372,7 +372,7 @@ There are 3 types of callbacks within AppDaemon: All callbacks allow the user to specify additional parameters to be handed to the callback via the standard Python `**kwargs` mechanism for greater flexibility. -### About Registering Callbacks +### {% linkable_title About Registering Callbacks %} Each of the various types of callback have their own function or functions for registering the callback: @@ -382,7 +382,7 @@ Each of the various types of callback have their own function or functions for r Each type of callback shares a number of common mechanisms that increase flexibility. -#### Callback Level Constraints +#### {% linkable_title Callback Level Constraints %} When registering a callback, you can add constraints identical to the Application level constraints described earlier. The difference is that a constraint applied to an individual callback only affects that callback and no other. The constraints are applied by adding Python keyword-value style arguments after the positional arguments. The parameters themselves are named identically to the previously described constraints and have identical functionality. For instance, adding: @@ -394,7 +394,7 @@ For example: `self.listen_state(self.motion, "binary_sensor.drive", constrain_presence="everyone")` -#### User Arguments +#### {% linkable_title User Arguments %} Any callback has the ability to allow the App creator to pass through arbitrary keyword arguments that will be presented to the callback when it is run. The arguments are added after the positional parameters just like the constraints. The only restriction is that they cannot be the same as any constraint name for obvious reasons. For example, to pass the parameter `arg1 = "home assistant"` through to a callback you would register a callback as follows: @@ -407,11 +407,11 @@ def motion(self, entity, attribute, old, new, **kwargs): self.log("Arg1 is {}".format(kwargs["arg1"])) ``` -### State Callbacks +### {% linkable_title State Callbacks %} AppDaemons's state callbacks allow an App to listen to a wide variety of events, from every state change in the system, right down to a change of a single attribute of a particular entity. Setting up a callback is done using a single API call `listen_state()` which takes various arguments to allow it to do all of the above. Apps can register as many or as few callbacks as they want. -### About State Callback Functions +### {% linkable_title About State Callback Functions %} When calling back into the App, the App must provide a class function with a known signature for AppDaemon to call. The callback will provide various information to the function to enable the function to respond appropriately. For state callbacks, a class defined callback function should look like this: @@ -424,77 +424,77 @@ You can call the function whatever you like - you will reference it in the `list The parameters have the following meanings: -#### self +#### {% linkable_title self %} A standard Python object reference. -#### entity +#### {% linkable_title entity %} Name of the entity the callback was requested for or `None`. -#### attribute +#### {% linkable_title attribute %} Name of the attribute the callback was requested for or `None`. -#### old +#### {% linkable_title old %} The value of the state before the state change. -#### new +#### {% linkable_title new %} The value of the state after the state change. `old` and `new` will have varying types depending on the type of callback. -#### \*\*kwargs +#### {% linkable_title \*\*kwargs %} A dictionary containing any constraints and/or additional user specific keyword arguments supplied to the `listen_state()` call. -### listen_state() +### l{% linkable_title isten_state() `listen_state()` allows the user to register a callback for a wide variety of state changes. -#### Synopsis +#### {% linkable_title Synopsis %} ```python handle = listen_state(callback, entity = None, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A unique identifier that can be used to cancel the callback if required. Since variables created within object methods are local to the function they are created in, and in all likelihood the cancellation will be invoked later in a different function, it is recommended that handles are stored in the object namespace, e.g. `self.handle`. -#### Parameters +#### {% linkable_title Parameters %} All parameters except `callback` are optional, and if `listen_state()` is called with no additional parameters it will subscribe to any state change within Home Assistant. -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard State Callback format documented above. -##### entity +##### {% linkable_title entity %} This is the name of an entity or device type. If just a device type is provided, e.g. `light` or `binary_sensor`, `listen_state()` will subscribe to state changes of all devices of that type. If a fully qualified `entity_id` is provided, `listen_state()` will listen for state changes for just that entity. When called, AppDaemon will supply the callback function, in old and new, with the state attribute for that entity, e.g. `on` or `off` for a light. -##### attribute (optional) +##### {% linkable_title attribute (optional) %} Name of an attribute within the entity state object. If this parameter is specified in addition to a fully qualified `entity_id`, `listen_state()` will subscribe to changes for just that attribute within that specific entity. The new and old parameters in the callback function will be provided with a single value representing the attribute. The value `all` for attribute has special significance and will listen for any state change within the specified entity, and supply the callback functions with the entire state dictionary for the specified entity rather than an individual attribute value. -##### new = (optional) +##### {% linkable_title new = (optional) %} If `new` is supplied as a parameter, callbacks will only be made if the state of the selected attribute (usually `state`) in the new state match the value of `new`. -##### old = (optional) +##### {% linkable_title old = (optional) %} If `old` is supplied as a parameter, callbacks will only be made if the state of the selected attribute (usually `state`) in the old state match the value of `old`. Note: `old` and `new` can be used singly or together. -##### duration = (optional) +##### {% linkable_title duration = (optional) %} If duration is supplied as a parameter, the callback will not fire unless the state listened for is maintained for that number of seconds. This makes the most sense if a specific attribute is specified (or the default os `state` is used), an in conjunction with the `old` or `new` parameters, or both. When the callback is called, it is supplied with the values of `entity`, `attr`, `old` and `new` that were current at the time the actual event occured, since the assumption is that none of them have changed in the intervening period. @@ -505,11 +505,11 @@ If duration is supplied as a parameter, the callback will not fire unless the st (Scheduler callbacks are documented in detail laer in this document) -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Zero or more keyword arguments that will be supplied to the callback when it is called. -#### Examples +#### {% linkable_title Examples %} ```python # Listen for any state change and return the state attribute @@ -538,64 +538,63 @@ self.handle = self.listen_state(self.my_callback, "light.office_1", new = "on", ``` - -### cancel_listen_state() +### {% linkable_title cancel_listen_state() %} Cancel a `listen_state()` callback. This will mean that the App will no longer be notified for the specific state change that has been cancelled. Other state changes will continue to be monitored. -#### Synopsis +#### {% linkable_title Synopsis %} ```python cancel_listen_state(handle) ``` -#### Returns +#### {% linkable_title Returns %} Nothing -#### Parameters +#### {% linkable_title Parameters %} -##### handle +##### {% linkable_title handle %} The handle returned when the `listen_state()` call was made. -#### Examples +#### {% linkable_title Examples %} ```python self.cancel_listen_state(self.office_light_handle) ``` -### info_listen_state() +### {% linkable_title info_listen_state() %} Get information on state a callback from it's handle. -#### Synopsis +#### {% linkable_title Synopsis %} ```python entity, attribute, kwargs = self.info_listen_state(self.handle) ``` -#### Returns +#### {% linkable_title Returns %} entity, attribute, kwargs - the values supplied when the callback was initially created. -#### Parameters +#### {% linkable_title Parameters %} -##### handle +##### {% linkable_title handle %} The handle returned when the `listen_state()` call was made. -#### Examples +#### {% linkable_title Examples %} ```python entity, attribute, kwargs = self.info_listen_state(self.handle) ``` -## Scheduler +## {% linkable_title Scheduler %} AppDaemon contains a powerful scheduler that is able to run with 1 second resolution to fire off specific events at set times, or after set delays, or even relative to sunrise and sunset. In general, events should be fired less than a second after specified but under certain circumstances there may be short additional delays. -### About Schedule Callbacks +### {% linkable_title About Schedule Callbacks %} As with State Change callbacks, Scheduler Callbacks expect to call into functions with a known and specific signature and a class defined Scheduler callback function should look like this: @@ -608,80 +607,80 @@ You can call the function whatever you like; you will reference it in the Schedu The parameters have the following meanings: -#### self +#### {% linkable_title self %} A standard Python object reference -#### \*\*kwargs +#### {% linkable_title \*\*kwargs %} A dictionary containing Zero or more keyword arguments to be supplied to the callback. -### Creation of Scheduler Callbacks +### {% linkable_title Creation of Scheduler Callbacks %} Scheduler callbacks are created through use of a number of convenience functions which can be used to suit the situation. -#### run_in() +#### {% linkable_title run_in() %} Run the callback in a defined number of seconds. This is used to add a delay, for instance a 60 second delay before a light is turned off after it has been triggered by a motion detector. This callback should always be used instead of `time.sleep()` as discussed previously. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_in(callback, delay, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### vcallback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### delay +##### {% linkable_title delay %} Delay, in seconds before the callback is invoked. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python self.handle = self.run_in(self.run_in_c) self.handle = self.run_in(self.run_in_c, title = "run_in5") ``` -#### run_once() +#### {% linkable_title run_once() %} Run the callback once, at the specified time of day. If the time of day is in the past, the callback will occur on the next day. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_once(callback, time, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### time +##### {% linkable_title time %} A Python `time` object that specifies when the callback will occur. If the time specified is in the past, the callback will occur the next day at the specified time. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python # Run at 4pm today, or 4pm tomorrow if it is already after 4pm @@ -691,35 +690,35 @@ runtime = datetime.time(16, 0, 0) handle = self.run_once(self.run_once_c, runtime) ``` -#### run_at() +#### {% linkable_title run_at() %} Run the callback once, at the specified date and time. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_at(callback, datetime, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. `run_at()` will raise an exception if the specified time is in the past. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### datetime +##### {% linkable_title datetime %} A Python `datetime` object that specifies when the callback will occur. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python # Run at 4pm today @@ -730,35 +729,35 @@ today = datetime.date.today() event = datetime.datetime.combine(today, runtime) handle = self.run_once(self.run_once_c, event) ``` -#### run_daily() +#### {% linkable_title run_daily() %} Execute a callback at the same time every day. If the time has already passed, the function will not be invoked until the following day at the specified time. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_daily(callback, time, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### time +##### {% linkable_title time %} A Python `time` object that specifies when the callback will occur. If the time specified is in the past, the callback will occur the next day at the specified time. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python # Run daily at 7pm @@ -768,35 +767,35 @@ time = datetime.time(19, 0, 0) self.run_daily(self.run_daily_c, runtime) ``` -#### run_hourly() +#### {% linkable_title run_hourly() %} Execute a callback at the same time every hour. If the time has already passed, the function will not be invoked until the following hour at the specified time. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_hourly(callback, time = None, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### time +##### {% linkable_title time %} A Python `time` object that specifies when the callback will occur, the hour component of the time object is ignored. If the time specified is in the past, the callback will occur the next hour at the specified time. If time is not supplied, the callback will start an hour from the time that `run_hourly()` was executed. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python # Run every hour, on the hour @@ -805,35 +804,35 @@ import datetime time = datetime.time(0, 0, 0) self.run_daily(self.run_daily_c, runtime) ``` -#### run_minutely() +#### {% linkable_title run_minutely() %} Execute a callback at the same time every minute. If the time has already passed, the function will not be invoked until the following minute at the specified time. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_minutely(callback, time = None, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### time +##### {% linkable_title time %} A Python `time` object that specifies when the callback will occur, the hour and minute components of the time object are ignored. If the time specified is in the past, the callback will occur the next hour at the specified time. If time is not supplied, the callback will start a minute from the time that `run_minutely()` was executed. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python # Run Every Minute on the minute @@ -843,39 +842,39 @@ time = datetime.time(0, 0, 0) self.run_minutely(self.run_minutely_c, time) ``` -#### run_every() +#### {% linkable_title run_every() %} Execute a repeating callback with a configurable delay starting at a specific time. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_every(callback, time, repeat, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### time +##### {% linkable_title time %} A Python `time` object that specifies when the initial callback will occur. -##### repeat +##### {% linkable_title repeat %} After the initial callback has occurred, another will occur every `repeat` seconds. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python # Run every 17 minutes starting in 2 hours time @@ -884,42 +883,42 @@ import datetime self.run_every(self.run_every_c, time, 17 * 60) ``` -#### cancel_timer() +#### {% linkable_title cancel_timer() %} Cancel a previously created timer -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.cancel_timer(handle) ``` -#### Returns +#### {% linkable_title Returns %} None -#### Parameters +#### {% linkable_title Parameters %} -##### handle +##### {% linkable_title handle %} A handle value returned from the original call to create the timer. -#### Examples +#### {% linkable_title Examples %} ```python self.cancel_timer(handle) ``` -### info_timer() +### {% linkable_title info_timer() %} Get information on a scheduler event from it's handle. -#### Synopsis +#### {% linkable_title Synopsis %} ```python time, interval, kwargs = self.info_timer(handle) ``` -#### Returns +#### {% linkable_title Returns %} time - datetime object representing the next time the callback will be fired @@ -927,21 +926,19 @@ interval - repeat interval if applicable, `0` otherwise. kwargs - the values supplied when the callback was initially created. -#### Parameters +#### {% linkable_title Parameters %} -##### handle +##### {% linkable_title handle %} The handle returned when the scheduler call was made. -#### Examples +#### {% linkable_title Examples %} ```python time, interval, kwargs = self.info_timer(handle) ``` - - -### Scheduler Ransomization +### {% linkable_title Scheduler Ransomization %} All of the scheduler calls above support 2 additional optional arguments, `random_start` and `random_end`. Using these arguments it is possible to randomize the firing of callbacks to the degree desired by setting the appropriate number of seconds with the parameters. @@ -961,39 +958,39 @@ self.handle = self.run_in(callback, 120, random_end = 60, **kwargs) self.handle = self.run_in(callback, 120, random_start = -60, random_end = 60, **kwargs) ``` -## Sunrise and Sunset +## {% linkable_title Sunrise and Sunset %} AppDaemon has a number of features to allow easy tracking of sunrise and sunset as well as a couple of scheduler functions. Note that the scheduler functions also support the randomization parameters described above, but they cannot be used in conjunction with the `offset` parameter`. -### run_at_sunrise() +### {% linkable_title run_at_sunrise() %} Run a callback at or around sunrise. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_at_sunrise(callback, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### offset = +##### {% linkable_title offset = %} The time in seconds that the callback should be delayed after sunrise. A negative value will result in the callback occurring before sunrise. This parameter cannot be combined with `random_start` or `random_end` -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python import datetime @@ -1008,35 +1005,35 @@ self.run_at_sunrise(self.sun, random_start = -60*60, random_end = 60*60, "Sunris self.run_at_sunrise(self.sun, random_start = -60*60, random_end = 30*60, "Sunrise, random - 30 - 60 mins") ``` -### run_at_sunset() +### {% linkable_title run_at_sunset() %} Run a callback at or around sunset. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.handle = self.run_at_sunset(callback, offset, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the timer. -#### Parameters +#### {% linkable_title Parameters %} -##### callback +##### {% linkable_title callback %} Function to be invoked when the requested state change occurs. It must conform to the standard Scheduler Callback format documented above. -##### offset = +##### {% linkable_title offset = %} The time in seconds that the callback should be delayed after sunrise. A negative value will result in the callback occurring before sunrise. This parameter cannot be combined with `random_start` or `random_end` -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Arbitary keyword parameters to be provided to the callback function when it is invoked. -#### Examples +#### {% linkable_title Examples %} ```python # Example using timedelta @@ -1050,122 +1047,123 @@ self.run_at_sunset(self.sun, random_start = -60*60, random_end = 60*60, "Sunset, # Run at a random time between 30 and 60 minutes before sunset self.run_at_sunset(self.sun, random_start = -60*60, random_end = 30*60, "Sunset, random - 30 - 60 mins") ``` -### sunrise() +### {% linkable_title sunrise() %} Return the time that the next Sunrise will occur. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.sunrise() ``` -#### Returns +#### {% linkable_title Returns %} A Python datetime that represents the next time Sunrise will occur. -#### Examples +#### {% linkable_title Examples %} ```python rise_time = self.sunrise() ``` -### sunset() +### {% linkable_title sunset() %} Return the time that the next Sunset will occur. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.sunset() ``` -#### Returns +#### {% linkable_title Returns %} A Python datetime that represents the next time Sunset will occur. -#### Examples +#### {% linkable_title Examples %} ```python set_time = self.sunset() ``` -### sun_up() +### {% linkable_title sun_up() %} A function that allows you to determine if the sun is currently up. -#### Synopsis +#### {% linkable_title Synopsis %} ```python result = self.sun_up() ``` -#### Returns +#### {% linkable_title Returns %} `True` if the sun is up, False otherwise. -#### Examples +#### {% linkable_title Examples %} ```python if self.sun_up(): do something ``` -### sun_down() +### {% linkable_title sun_down() %} A function that allows you to determine if the sun is currently down. -#### Synopsis +#### {% linkable_title Synopsis %} ```python result = self.sun_down() ``` -#### Returns +#### {% linkable_title Returns %} `True` if the sun is down, False otherwise. -#### Examples +#### {% linkable_title Examples %} ```python if self.sun_down(): do something ``` -## Calling Services -### About Services +## {% linkable_title Calling Services %} + +### {% linkable_title About Services %} Services within Home Assistant are how changes are made to the system and its devices. Services can be used to turn lights on and off, set thermostats and a whole number of other things. Home Assistant supplies a single interface to all these disparate services that take arbitrary parameters. AppDaemon provides the `call_service()` function to call into Home Assistant and run a service. In addition, it also provides convenience functions for some of the more common services making calling them a little easier. -### call_service() +### {% linkable_title call_service() %} Call service is the basic way of calling a service within AppDaemon. It can call any service and provide any required parameters. Available services can be found using the developer tools in the UI. For listed services, the part before the first period is the domain, and the part after is the service name. For instance, `light.turn_on` has a domain of `light` and a service name of `turn_on`. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.call_service(self, service, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} None -#### Parameters +#### {% linkable_title Parameters %} -##### service +##### {% linkable_title service %} The service name, e.g. `light.turn_on`. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Each service has different parameter requirements. This argument allows you to specify a comma separated list of keyword value pairs, e.g. `entity_id = light.office_1`. These parameters will be different for every service and can be discovered using the developer tools. Most if not all service calls require an `entity_id` however, so use of the above example is very common with this call. -#### Examples +#### {% linkable_title Examples %} ```python self.call_service("light.turn_on", entity_id = "light/office_lamp", color_name = "red") self.call_service("notify/notify", title = "Hello", message = "Hello World") ``` -### turn_on() +### {% linkable_title turn_on() %} This is a convenience function for the `homassistant.turn_on` function. It is able to turn on pretty much anything in Home Assistant that can be turned on or run: @@ -1176,27 +1174,27 @@ This is a convenience function for the `homassistant.turn_on` function. It is ab And many more. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.turn_on(entity_id, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} None -#### Parameters +#### {% linkable_title Parameters %} -##### entity_id +##### {% linkable_title entity_id %} Fully qualified entity_id of the thing to be turned on, e.g. `light.office_lamp` or ```scene.downstairs_on``` -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} A comma separated list of key value pairs to allow specification of parameters over and above `entity_id`. -#### Examples +#### {% linkable_title Examples %} ```python self.turn_on("switch.patio_lights") @@ -1204,152 +1202,152 @@ self.turn_on("scene.bedrrom_on") self.turn_on("light.office_1", color_name = "green") ``` -### turn_off() +### {% linkable_title turn_off() %} This is a convenience function for the `homassistant.turn_off` function. Like `homeassistant.turn_on`, it is able to turn off pretty much anything in Home Assistant that can be turned off. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.turn_off(entity_id) ``` -#### Returns +#### {% linkable_title Returns %} None -#### Parameters +#### {% linkable_title Parameters %} -##### entity_id +##### {% linkable_title entity_id %} Fully qualified entity_id of the thing to be turned off, e.g. `light.office_lamp` or `scene.downstairs_on`. -#### Examples +#### {% linkable_title Examples %} ```python self.turn_off("switch.patio_lights") self.turn_off("light.office_1") ``` -### toggle() +### {% linkable_title toggle() %} This is a convenience function for the `homassistant.toggle` function. It is able to flip the state of pretty much anything in Home Assistant that can be turned on or off. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.toggle(entity_id) ``` -#### Returns +#### {% linkable_title Returns %} None -#### Parameters +#### {% linkable_title Parameters %} -##### entity_id +##### {% linkable_title entity_id %} Fully qualified entity_id of the thing to be toggled, e.g. `light.office_lamp` or `scene.downstairs_on`. -#### Examples +#### {% linkable_title Examples %} ```python self.toggle("switch.patio_lights") self.toggle("light.office_1", color_name = "green") ``` -### select_value() +### {% linkable_title select_value() %} This is a convenience function for the `input_slider.select_value` function. It is able to set the value of an input_slider in Home Assistant. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.select_value(entity_id, value) ``` -#### Returns +#### {% linkable_title Returns %} None -#### Parameters +#### {% linkable_title Parameters %} -##### entity_id +##### {% linkable_title entity_id %} Fully qualified entity_id of the input_slider to be changed, e.g. `input_slider.alarm_hour`. -##### value +##### {% linkable_title value %} The new value to set the input slider to. -#### Examples +#### {% linkable_title Examples %} ```python self.select_value("input_slider.alarm_hour", 6) ``` -### select_option() +### {% linkable_title select_option() %} This is a convenience function for the `input_select.select_option` function. It is able to set the value of an input_select in Home Assistant. -#### Synopsis +#### {% linkable_title Synopsis %} ```python self.select_option(entity_id, option) ``` -#### Returns +#### {% linkable_title Returns %} None -#### Parameters +#### {% linkable_title Parameters %} -##### entity_id +##### {% linkable_title entity_id %} Fully qualified entity_id of the input_select to be changed, e.g. `input_select.mode`. -##### value +##### {% linkable_title value %} The new value to set the input slider to. -#### Examples +#### {% linkable_title Examples %} ```python self.select_option("input_select.mode", "Day") ``` -### notify() +### {% linkable_title notify() %} This is a convenience function for the `notify.notify` service. It will send a notification to your defualt notification service. If you have more than one, use `call_service()` to call the specific notification service you require instead. -#### Synopsis +#### {% linkable_title Synopsis %} ```python notify(message, title=None) ``` -#### Returns +#### {% linkable_title Returns %} None -#### Parameters +#### {% linkable_title Parameters %} -##### message +##### {% linkable_title message %} Message to be sent to the notification service. -##### title +##### {% linkable_title title %} Title of the notification - optional. -#### Examples +#### {% linkable_title Examples %} ```python self.notify("", "Switching mode to Evening") ``` -## Events +## {% linkable_title Events %} -### About Events +### {% linkable_title About Events %} Events are a fundamental part of how Home Assistant works under the covers. HA has an event bus that all components can read and write to, enabling components to inform other components when important events take place. We have already seen how state changes can be propagated to AppDaemon - a state change however is merely an example of an event within Home Assistant. There are several other event types, among them are: @@ -1369,7 +1367,7 @@ In addition to the Home Assistant supplied events, AppDaemon adds 2 more events. - `appd_started` - fired once when AppDaemon is first started and after Apps are initialized - `ha_started` - fired every time AppDaemon detects a Home Assistant restart -### About Event Callbacks +### {% linkable_title About Event Callbacks %} As with State Change and Scheduler callbacks, Event Callbacks expect to call into functions with a known and specific signature and a class defined Scheduler callback function should look like this: @@ -1382,46 +1380,46 @@ You can call the function whatever you like - you will reference it in the Sched The parameters have the following meanings: -#### self +#### {% linkable_title self %} A standard Python object reference. -#### event_name +#### {% linkable_title event_name %} Name of the event that was called, e.g. `call_service`. -#### data +#### {% linkable_title data %} Any data that the system supplied with the event as a dict. -#### kwargs +#### {% linkable_title kwargs %} A dictionary containing Zero or more user keyword arguments to be supplied to the callback. -### listen_event() +### {% linkable_title listen_event() %} Listen event sets up a callback for a specific event, or any event. -#### Synopsis +#### {% linkable_title Synopsis %} ```python handle = listen_event(function, event = None, **kwargs): ``` -#### Returns +#### {% linkable_title Returns %} A handle that can be used to cancel the callback. -#### Parameters +#### {% linkable_title Parameters %} -##### function +##### {% linkable_title function %} The function to be called when the event is fired. -##### event +##### {% linkable_title event %} Name of the event to subscribe to. Can be a standard Home Assistant event such as `service_registered` or an arbitrary custom event such as `"MODE_CHANGE"`. If no event is specified, `listen_event()` will subscribe to all events. -##### \*\*kwargs (optional) +##### {% linkable_title \*\*kwargs (optional) %} One or more keyword value pairs representing App specific parameters to supply to the callback. If the keywords match values within the event data, they will act as filters, meaning that if they don't match the values, the callback will not fire. @@ -1429,7 +1427,8 @@ As an example of this, a Minimote controller when activated will generate an eve Filtering will work with any event type, but it will be necessary to figure out the data associated with the event to understand what values can be filtered on. This can be achieved by examining Home Assistant's logfiles when the event fires. -#### Examples +#### {% linkable_title Examples %} + ```python self.listen_event(self.mode_event, "MODE_CHANGE") # Listen for a minimote event activating scene 3: @@ -1438,89 +1437,89 @@ self.listen_event(self.generic_event, "zwave.scene_activated", scene_id = 3) self.listen_event(self.generic_event, "zwave.scene_activated", entity_id = "minimote_31", scene_id = 3) ``` -### cancel_listen_event() +### {% linkable_title cancel_listen_event() %} Cancels callbacks for a specific event. -#### Synopsis +#### {% linkable_title Synopsis %} ```python cancel_listen_event(handle) ``` -#### Returns +#### {% linkable_title Returns %} None. -#### Parameters +#### {% linkable_title Parameters %} ##### handle A handle returned from a previous call to `listen_event()`. -#### Examples +#### {% linkable_title Examples %} ```python self.cancel_listen_event(handle) ``` -### info_listen_event() +### {% linkable_title info_listen_event() %} Get information on an event callback from it's handle. -#### Synopsis +#### {% linkable_title Synopsis %} ```python service, kwargs = self.info_listen_event(handle) ``` -#### Returns +#### {% linkable_title Returns %} service, kwargs - the values supplied when the callback was initially created. -#### Parameters +#### {% linkable_title Parameters %} -##### handle +##### {% linkable_title handle %} The handle returned when the `listen_event()` call was made. -#### Examples +#### {% linkable_title Examples %} ```python service, kwargs = self.info_listen_event(handle) ``` -### fire_event() +### {% linkable_title fire_event() %} Fire an event on the HomeAssistant bus, for other components to hear. -#### Synopsis +#### {% linkable_title Synopsis %} ```python fire_event(event, **kwargs) ``` -#### Returns +#### {% linkable_title Returns %} None. -#### Parameters +#### {% linkable_title Parameters %} -##### event +##### {% linkable_title event %} Name of the event. Can be a standard Home Assistant event such as `service_registered` or an arbitrary custom event such as `"MODE_CHANGE"`. -##### \*\*kwargs +##### {% linkable_title \*\*kwargs %} Zero or more keyword arguments that will be supplied as part of the event. -#### Examples +#### {% linkable_title Examples %} ```python self.fire_event("MY_CUSTOM_EVENT", jam="true") ``` -### Event Callback Function Signature +### {% linkable_title Event Callback Function Signature %} Functions called as an event callback will be supplied with 2 arguments: @@ -1528,15 +1527,15 @@ Functions called as an event callback will be supplied with 2 arguments: def service(self, event_name, data): ``` -#### event_name +#### {% linkable_title event_name %} The name of the event that caused the callback, e.g. `"MODE_CHANGE"` or `call_service`. -#### data +#### {% linkable_title data %} A dictionary containing any additional information associated with the event. -### Use of Events for Signalling between Home Assistant and AppDaemon +### {% linkable_title Use of Events for Signalling between Home Assistant and AppDaemon %} Home Assistant allows for the creation of custom events and existing components can send and receive them. This provides a useful mechanism for signaling back and forth between Home Assistant and AppDaemon. For instance, if you would like to create a UI Element to fire off some code in Home Assistant, all that is necessary is to create a script to fire a custom event, then subscribe to that event in AppDaemon. The script would look something like this: @@ -1571,24 +1570,24 @@ This can be triggered with a call to AppDaemon's fire_event() as follows: self.fire_event("MODE_CHANGE", mode = "Day") ``` -## Presence +## {% linkable_title Presence %} Presence in Home Assistant is tracked using Device Trackers. The state of all device trackers can be found using the `get_state()` call, however AppDaemon provides several convenience functions to make this easier. -### get_trackers() +### {% linkable_title get_trackers() Return a list of all device trackers. This is designed to be iterated over. -#### Synopsis +#### {% linkable_title Synopsis %} ```python tracker_list = get_trackers() ``` -#### Returns +#### {% linkable_title Returns %} An iterable list of all device trackers. -#### Examples +#### {% linkable_title Examples %} ```python trackers = self.get_trackers() @@ -1596,7 +1595,7 @@ for tracker in trackers: do something ``` -### get_tracker_state() +### {% linkable_title get_tracker_state() %} Get the state of a tracker. The values returned depend in part on the configuration and type of device trackers in the system. Simpler tracker types like `Locative` or `NMAP` will return one of 2 states: @@ -1605,23 +1604,23 @@ Get the state of a tracker. The values returned depend in part on the configurat Some types of device tracker are in addition able to supply locations that have been configured as Geofences, in which case the name of that location can be returned. -#### Synopsis +#### {% linkable_title Synopsis %} ```python location = self.get_tracker_state(tracker_id) ``` -#### Returns +#### {% linkable_title Returns %} A string representing the location of the tracker. -#### Parameters +#### {% linkable_title Parameters %} -##### tracker_id +##### {% linkable_title tracker_id %} Fully qualified entity_id of the device tracker to query, e.g. `device_tracker.andrew`. -#### Examples +#### {% linkable_title Examples %} ```python trackers = self.get_trackers() @@ -1629,187 +1628,187 @@ for tracker in trackers: self.log("{} is {}".format(tracker, self.get_tracker_state(tracker))) ``` -### everyone_home() +### {% linkable_title everyone_home() %} A convenience function to determine if everyone is home. Use this in preference to getting the state of `group.all_devices()` as it avoids a race condition when using state change callbacks for device trackers. -#### Synopsis +#### {% linkable_title Synopsis %} ```python result = self.everyone_home() ``` -#### Returns +#### {% linkable_title Returns %} Returns `True` if everyone is at home, `False` otherwise. -#### Examples +#### {% linkable_title Examples %} ```python if self.everyone_home(): do something ``` -### anyone_home() +### {% linkable_title anyone_home() %} A convenience function to determine if one or more person is home. Use this in preference to getting the state of `group.all_devices()` as it avoids a race condition when using state change callbacks for device trackers. -#### Synopsis +#### {% linkable_title Synopsis %} ```python result = self.anyone_home() ``` -#### Returns +#### {% linkable_title Returns %} Returns `True` if anyone is at home, `False` otherwise. -#### Examples +#### {% linkable_title Examples %} ```python if self.anyone_home(): do something ``` -### noone_home() +### {% linkable_title noone_home() %} A convenience function to determine if no people are at home. Use this in preference to getting the state of group.all_devices() as it avoids a race condition when using state change callbacks for device trackers. -#### Synopsis +#### {% linkable_title Synopsis %} ```python result = self.noone_home() ``` -#### Returns +#### {% linkable_title Returns %} Returns `True` if no one is home, `False` otherwise. -#### Examples +#### {% linkable_title Examples %} ```python if self.noone_home(): do something ``` -## Miscellaneous Helper Functions +## {% linkable_title Miscellaneous Helper Functions %} -### time() +### {% linkable_title time() %} Returns a python `time` object representing the current time. Use this in preference to the standard Python ways to discover the current time, especially when using the "Time Travel" feature for testing. -#### Synopsis +#### {% linkable_title Synopsis %} ```python time() ``` -#### Returns +#### {% linkable_title Returns %} A localised Python time object representing the current AppDaemon time. -#### Parameters +#### {% linkable_title Parameters %} None -#### Example +#### {% linkable_title Example %} ```python now = self.time() ``` -### date() +### {% linkable_title date() %} Returns a python `date` object representing the current date. Use this in preference to the standard Python ways to discover the current date, especially when using the "Time Travel" feature for testing. -#### Synopsis +#### {% linkable_title Synopsis %} ```python date() ``` -#### Returns +#### {% linkable_title Returns %} A localised Python time object representing the current AppDaemon date. -#### Parameters +#### {% linkable_title Parameters %} None -#### Example +#### {% linkable_title Example %} ```python today = self.date() ``` -### datetime() +### {% linkable_title datetime() %} Returns a python `datetime` object representing the current date and time. Use this in preference to the standard Python ways to discover the current time, especially when using the "Time Travel" feature for testing. -#### Synopsis +#### {% linkable_title Synopsis %} ```python datetime() ``` -#### Returns +#### {% linkable_title Returns %} A localised Python datetime object representing the current AppDaemon date and time. -#### Parameters +#### {% linkable_title Parameters %} None -#### Example +#### {% linkable_title Example %} ```python now = self.datetime() ``` -### convert_utc() +### {% linkable_title convert_utc() %} Home Assistant provides timestamps of several different sorts that may be used to gain additional insight into state changes. These timestamps are in UTC and are coded as ISO 8601 Combined date and time strings. `convert_utc()` will accept one of these strings and convert it to a localised Python datetime object representing the timestamp -#### Synopsis +#### {% linkable_title Synopsis %} ```python convert_utc(utc_string) ``` -#### Returns +#### {% linkable_title Returns %} `convert_utc(utc_string)` returns a localised Python datetime object representing the timestamp. -#### Parameters +#### {% linkable_title Parameters %} -##### utc_string +##### {% linkable_title utc_string %} An ISO 8601 encoded date and time string in the following format: `2016-07-13T14:24:02.040658-04:00` -#### Example +#### {% linkable_title Example %} -### parse_time() +###{% linkable_title parse_time() %} Takes a string representation of a time, or sunrise or sunset offset and converts it to a `datetime.time` object. -#### Synopsis +#### {% linkable_title Synopsis %} ```python parse_time(time_string) ``` -#### Returns +#### {% linkable_title Returns %} A `datetime.time` object, representing the time given in the `time_string` argument. -#### Parameters +#### {% linkable_title Parameters %} -##### time_string +##### {% linkable_title time_string %} A representation of the time in a string format with one of the following formats: - HH:MM:SS - the time in Hours Minutes and Seconds, 24 hour format. - sunrise | sunset [+ | - HH:MM:SS]- time of the next sunrise or sunset with an optional positive or negative offset in Hours Minutes and seconds -#### Example +#### {% linkable_title Example %} ```python time = self.parse_time("17:30:00") @@ -1818,30 +1817,30 @@ time = self.parse_time("sunset + 00:30:00") time = self.parse_time("sunrise + 01:00:00") ``` -### now_is_between() +### {% linkable_title now_is_between() %} Takes two string representations of a time, or sunrise or sunset offset and returns true if the current time is between those 2 times. `now_is_between()` can correctly handle transitions across midnight. -#### Synopsis +#### {% linkable_title Synopsis %} ```python now_is_between(start_time_string, end_time_string) ``` -#### Returns +#### {% linkable_title Returns %} `True` if the current time is within the specified start and end times, `False` otherwise. -#### Parameters +#### {% linkable_title Parameters %} -##### start_time_string, end_time_string +##### {% linkable_title start_time_string, end_time_string %} A representation of the start and end time respectively in a string format with one of the following formats: - HH:MM:SS - the time in Hours Minutes and Seconds, 24 hour format. - sunrise | sunset [+ | - HH:MM:SS]- time of the next sunrise or sunset with an optional positive or negative offset in Hours Minutes and seconds -#### Example +#### {% linkable_title Example %} ```python if self.now_is_between("17:30:00", "08:00:00"): @@ -1850,48 +1849,48 @@ if self.now_is_between("sunset - 00:45:00", "sunrise + 00:45:00"): do something ``` -### friendly_name() +### {% linkable_title friendly_name() %} `frindly_name()` will return the Friendly Name of an entity if it has one. -#### Synopsis +#### {% linkable_title Synopsis %} ```python Name = self.friendly_name(entity_id) ``` -#### Returns +#### {% linkable_title Returns %} The friendly name of the entity if it exists or the entity id if not. -#### Example +#### {% linkable_title Example %} ```python tracker = "device_tracker.andrew" self.log("{} ({}) is {}".format(tracker, self.friendly_name(tracker), self.get_tracker_state(tracker))) ``` -### split_entity() +### {% linkable_title split_entity() %} `split_entity()` will take a fully qualified entity id of the form `light.hall_light` and split it into 2 values, the device and the entity, e.g. `light` and `hall_light`. -#### Synopsis +#### {% linkable_title Synopsis %} ```python device, entity = self.split_entity(entity_id) ``` -#### Parameters +#### {% linkable_title Parameters %} -##### entity_id +##### {% linkable_title entity_id %} Fully qualified entity id to be split. -#### Returns +#### {% linkable_title Returns %} A list with 2 entries, the device and entity respectively. -#### Example +#### {% linkable_title Example %} ```python device, entity = self.split_entity(entity_id) @@ -1900,46 +1899,46 @@ if device == "scene": ``` -### get_app() +### {% linkable_title get_app() %} `get_app()` will return the instantiated object of another app running within the system. This is useful for calling functions or accessing variables that reside in different apps without requiring duplication of code. -#### Synopsis +#### {% linkable_title Synopsis %} ```python get_app(self, name) ``` -#### Parameters +#### {% linkable_title Parameters %} -##### name +##### {% linkable_title name %} Name of the app required. This is the name specified in header section of the config file, not the module or class. -#### Returns +#### {% linkable_title Returns %} An object reference to the class. -#### Example +#### {% linkable_title Example %} ```python MyApp = self.get_app("MotionLights") MyApp.turn_light_on() ``` -### split_device_list() +### {% linkable_title split_device_list() %} `split_device_list()` will take a comma separated list of device types (or anything else for that matter) and return them as an iterable list. This is intended to assist in use cases where the App takes a list of entities from an argument, e.g. a list of sensors to monitor. If only one entry is provided, an iterable list will still be returned to avoid the need for special processing. -#### Synopsis +#### {% linkable_title Synopsis %} ```python devices = split_device_list(list) ``` -#### Returns +#### {% linkable_title Returns %} A list of split devices with 1 or more entries. -#### Example +#### {% linkable_title Example %} ```python for sensor in self.split_device_list(self.args["sensors"]): @@ -1947,68 +1946,68 @@ for sensor in self.split_device_list(self.args["sensors"]): ``` -### Writing to Logfiles +### {% linkable_title Writing to Logfiles %} AppDaemon uses 2 separate logs - the general log and the error log. An AppDaemon App can write to either of these using the supplied convenience methods `log()` and `error()`, which are provided as part of parent `AppDaemon` class, and the call will automatically pre-pend the name of the App making the call. The `-D` option of AppDaemon can be used to specify what level of logging is required and the logger objects will work as expected. -### log() +### {% linkable_title log() %} -#### Synopsis +#### {% linkable_title Synopsis %} ```python log(message, level = "INFO") ``` -#### Returns +#### {% linkable_title Returns %} Nothing -#### Parameters +#### {% linkable_title Parameters %} -##### Message +##### {% linkable_title Message %} The message to log. -##### level +##### {% linkable_title level %} The log level of the message - takes a string representing the standard logger levels. -#### Examples +#### {% linkable_title Examples %} ```python self.log("Log Test: Parameter is {}".format(some_variable)) self.log("Log Test: Parameter is {}".format(some_variable), level = "ERROR") ``` -### error() +### {% linkable_title error() %} -#### Synopsis +#### {% linkable_title Synopsis %} ```python error(message, level = "WARNING") ``` -#### Returns +#### {% linkable_title Returns %} Nothing -#### Parameters +#### {% linkable_title Parameters %} -##### Message +##### {% linkable_title Message %} The message to log. -##### level +##### {% linkable_title level %} The log level of the message - takes a string representing the standard logger levels. -#### Examples +#### {% linkable_title Examples %} ```python self.error("Some Warning string") self.error("Some Critical string", level = "CRITICAL") ``` -## Sharing information between Apps +## {% linkable_title Sharing information between Apps %} Sharing information between different Apps is very simple if required. Each app gets access to a global dictionary stored in a class attribute called `self.global_vars`. Any App can add or read any key as required. This operation is not however threadsafe so some car is needed. @@ -2040,7 +2039,7 @@ Then access it as follows: my_global_var = conf.config["AppDaemon"]["global_var"] ``` -## Development Workflow +## {% linkable_title Development Workflow %} Developing Apps is intended to be fairly simple but is an exercise in programming like any other kind of Python programming. As such, it is expected that apps will contain syntax errors and will generate exceptions during the development process. AppDaemon makes it very easy to iterate through the development process as it will automatically reload code that has changed and also will reload code if any of the parameters in the configuration file change as well. @@ -2054,11 +2053,11 @@ With this setup, you will see that every time you write the file, AppDaemon will If there is an error in the compilation or a runtime error, this will be directed to the `error.log` file to enable you to see the error and correct it. When an error occurs, there will also be a warning message in `appdaemon.log` to tell you to check the error log. -## Time Travel +## {% linkable_title Time Travel %} OK, time travel sadly isn't really possible but it can be very useful when testing Apps. For instance, imagine you have an App that turns a light on every day at sunset. It might be nice to test it without waiting for Sunset - and with AppDaemon's "Time Travel" features you can. -### Choosing a Start Time +### {% linkable_title Choosing a Start Time %} Internally, AppDaemon keeps track of it's own time relative to when it was started. This make is possible to start AppDaemon with a different start time and date to the current time. For instance to test that sunset App, start AppDaemon at a time just before sunset and see if it works as expected. To do this, simply use the "-s" argument on AppDaemon's command line. e,g,: @@ -2072,7 +2071,7 @@ $ appdaemon -s "2016-06-06 19:16:00" Note the timestamps in the log - AppDaemon believes it is now just before sunset and will process any callbacks appropriately. -### Speeding things up +### {% linkable_title Speeding things up %} Some Apps need to run for periods of a day or two for you to test all aspects. This can be time consuming, but Time Travel can also help here in two ways. The first is by speeding up time. To do this, simply use the `-t` option on the command line. This specifies the amount of time a second lasts while time travelling. The default of course is 1 second, but if you change it to `0.1` for instance, AppDaemon will work 10x faster. If you set it to `0`, AppDaemon will work as fast as possible and, depending in your hardware, may be able to get through an entire day in a matter of minutes. Bear in mind however, due to the threaded nature of AppDaemon, when you are running with `-t 0` you may see actual events firing a little later than expected as the rest of the system tries to keep up with the timer. To set the tick time, start AppDaemon as follows: @@ -2105,6 +2104,6 @@ $ appdaemon -s "2016-06-06 19:16:00" -s "2016-06-06 20:16:00" -t 0 ``` -### A Note on Times +### {% linkable_title A Note on Times %} -Some Apps you write may depend on checking times of events relative to the current time. If you are time travelling this will not work if you use standard python library calls to get the current time and date etc. For this reason, always use the AppDamon supplied `time()`, `date()` and `datetime()` calls, documented earlier. These calls will consult with AppDaemon's internal time rather than the actual time and give you the correct values. \ No newline at end of file +Some Apps you write may depend on checking times of events relative to the current time. If you are time travelling this will not work if you use standard python library calls to get the current time and date etc. For this reason, always use the AppDamon supplied `time()`, `date()` and `datetime()` calls, documented earlier. These calls will consult with AppDaemon's internal time rather than the actual time and give you the correct values. diff --git a/source/_ecosystem/appdaemon/configuration.markdown b/source/_ecosystem/appdaemon/configuration.markdown index d17504ea4ed..27aac6fd82e 100644 --- a/source/_ecosystem/appdaemon/configuration.markdown +++ b/source/_ecosystem/appdaemon/configuration.markdown @@ -43,7 +43,7 @@ class = HelloWorld The `#Apps` section is the configuration for the Hello World program and should be left in place for initial testing but can be removed later if desired, as other Apps are added, App configuration is described in the [API doc](API.md). -## Docker +## {% linkable_title Docker %} For Docker Configuration you need to take a couple of extra things into consideration. @@ -77,4 +77,4 @@ elevation = ``` -You can run Docker and point the conf volume to that directory. \ No newline at end of file +You can run Docker and point the conf volume to that directory. diff --git a/source/_ecosystem/appdaemon/installation.markdown b/source/_ecosystem/appdaemon/installation.markdown index f313035ae49..14f46148441 100644 --- a/source/_ecosystem/appdaemon/installation.markdown +++ b/source/_ecosystem/appdaemon/installation.markdown @@ -11,9 +11,9 @@ regenerate: true hide_github_edit: true --- -Installation is either by pip3 or Docker. +Installation is either by `pip3` or Docker. -## Clone the Repository +## {% linkable_title Clone the Repository %} For either method you will need to clone the **AppDaemon** repository to the current local directory on your machine. @@ -27,7 +27,7 @@ Change your working directory to the repository root. Moving forward, we will be $ cd appdaemon ``` -## Install using Docker +## {% linkable_title Install using Docker %} To build the Docker image run the following: @@ -37,7 +37,7 @@ $ docker build -t appdaemon . (Note the period at the end of the above command) -## Install Using PIP3 +## {% linkable_title Install using `pip3` %} Before running `AppDaemon` you will need to install the package: diff --git a/source/_ecosystem/appdaemon/operation.markdown b/source/_ecosystem/appdaemon/operation.markdown index e928ec4babd..499bca70ef3 100644 --- a/source/_ecosystem/appdaemon/operation.markdown +++ b/source/_ecosystem/appdaemon/operation.markdown @@ -11,4 +11,4 @@ regenerate: true hide_github_edit: true --- -Since AppDaemon under the covers uses the exact same APIs as the frontend UI, you typically see it react at about the same time to a given event. Calling back to Home Assistant is also pretty fast especially if they are running on the same machine. In action, observed latency above the built in automation component is usually sub-second. +Since `AppDaemon` under the covers uses the exact same APIs as the frontend UI, you typically see it react at about the same time to a given event. Calling back to Home Assistant is also pretty fast especially if they are running on the same machine. In action, observed latency above the built in automation component is usually sub-second. diff --git a/source/_ecosystem/appdaemon/running.markdown b/source/_ecosystem/appdaemon/running.markdown index 62e8718f9b8..f447a73895d 100755 --- a/source/_ecosystem/appdaemon/running.markdown +++ b/source/_ecosystem/appdaemon/running.markdown @@ -11,9 +11,9 @@ regenerate: true hide_github_edit: true --- -As configured, AppDaemon comes with a single HelloWorld App that will send a greeting to the logfile to show that everything is working correctly. +As configured, `AppDaemon` comes with a single HelloWorld App that will send a greeting to the logfile to show that everything is working correctly. -## Docker +## {% linkable_title Docker %} Assuming you have set the config up as described above for Docker, you can run it with the command: @@ -42,7 +42,7 @@ $ docker logs appdaemon Note that for Docker, the error and regular logs are combined. -## PIP3 +## {% linkable_title `pip3` %} You can then run AppDaemon from the command line as follows: @@ -61,7 +61,7 @@ $ appdaemon -c conf/appdaemon.cfg 2016-08-22 10:08:16,584 INFO You are now ready to run Apps! ``` -## AppDaemon arguments +## {% linkable_title AppDaemon arguments %} ``` usage: appdaemon [-h] [-c CONFIG] [-p PIDFILE] [-t TICK] [-s STARTTIME] @@ -87,8 +87,8 @@ optional arguments: -d, --daemon run as a background process ``` --c is the path to the configuration file. If not specified, AppDaemon will look for a file named `appdaemon.cfg` first in `~/.homeassistant` then in `/etc/appdaemon`. If the file is not specified and it is not found in either location, AppDaemon will raise an exception. - +-c is the path to the configuration file. If not specified, AppDaemon will look for a file named `appdaemon.cfg` first in `~/.homeassistant` then in `/etc/appdaemon`. If the file is not specified and it is not found in either location, AppDaemon will raise an exception. + -d and -p are used by the init file to start the process as a daemon and are not required if running from the command line. -D can be used to increase the debug level for internal AppDaemon operations as well as apps using the logging function. diff --git a/source/_ecosystem/appdaemon/tutorial.markdown b/source/_ecosystem/appdaemon/tutorial.markdown index 7c23e38a95d..fe9f6ee8718 100755 --- a/source/_ecosystem/appdaemon/tutorial.markdown +++ b/source/_ecosystem/appdaemon/tutorial.markdown @@ -11,7 +11,7 @@ regenerate: true hide_github_edit: true --- -## Another Take on Automation +## {% linkable_title Another Take on Automation %} If you haven't yet read Paulus' excellent Blog entry on [Perfect Home Automation](https://home-assistant.io/blog/2016/01/19/perfect-home-automation/) I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a lightswitch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the "Automation" in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the "Internet of Things". @@ -38,11 +38,11 @@ So why `AppDaemon`? AppDaemon is not meant to replace Home Assistant Automations It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatever about what it is controlling or reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner - the bulk of the work after that was adding additonal functions to make things that were already possible easier. -## How it Works +## {% linkable_title How it Works %} The best way to show what AppDaemon does is through a few simple examples. -### Sunrise/Sunset Lighting +### {% linkable_title Sunrise/Sunset Lighting %} Lets start with a simple App to turn a light on every night at sunset and off every morning at sunrise. Every App when first started will have its `initialize()` function called which gives it a chance to register a callback for AppDaemons's scheduler for a specific time. In this case we are using `run_at_sunrise()` and `run_at_sunset()` to register 2 separate callbacks. The argument `0` is the number of seconds offset from sunrise or sunset and can be negative or positive. For complex intervals it can be convenient to use Python's `datetime.timedelta` class for calculations. When sunrise or sunset occurs, the appropriate callback function, `sunrise_cb()` or `sunset_cb()` is called which then makes a call to Home Assistant to turn the porch light on or off by activating a scene. The variables `args["on_scene"]` and `args["off_scene"]` are passed through from the configuration of this particular App, and the same code could be reused to activate completely different scenes in a different version of the App. @@ -127,4 +127,3 @@ If this has whet your appetite, feel free to give it a try. Happy Automating! - diff --git a/source/_ecosystem/appdaemon/windows.markdown b/source/_ecosystem/appdaemon/windows.markdown index 9b443f77534..3ec32879838 100755 --- a/source/_ecosystem/appdaemon/windows.markdown +++ b/source/_ecosystem/appdaemon/windows.markdown @@ -18,6 +18,6 @@ AppDaemon runs under windows and has been tested with the official 3.5.2 release AppDaemon can be installed exactly as per the instructions for every other version using pip3. -## Windows Under the Linux Subsystem +## {% linkable_title Windows Under the Linux Subsystem %} -Windows 10 now supports a full Linux bash environment that is capable of running Python. This is essentially an Ubuntu distribution and works extremely well. It is possible to run AppDaemon in exactly the same way as for Linux distributions, and none of the above Windows Caveats apply to this version. This is the reccomended way to run AppDaemon in a Windows 10 and later environment. \ No newline at end of file +Windows 10 now supports a full Linux bash environment that is capable of running Python. This is essentially an Ubuntu distribution and works extremely well. It is possible to run AppDaemon in exactly the same way as for Linux distributions, and none of the above Windows Caveats apply to this version. This is the reccomended way to run AppDaemon in a Windows 10 and later environment. From 74e6f841ca4f5db629fc6b71ea9067dece80c92e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 10:41:05 +0100 Subject: [PATCH 058/190] Update configuration sample --- source/_components/alarm_control_panel.manual.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/alarm_control_panel.manual.markdown b/source/_components/alarm_control_panel.manual.markdown index 2b6746cbaea..fd1807019fd 100644 --- a/source/_components/alarm_control_panel.manual.markdown +++ b/source/_components/alarm_control_panel.manual.markdown @@ -18,7 +18,7 @@ This platform enables you to set manual alarms in Home Assistant. ```yaml # Example configuration.yaml entry alarm_control_panel: - platform: manual + - platform: manual ``` Configuration variables: From 200f83a0113542524849fa0d0aafc7fbcee655ae Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 10:42:18 +0100 Subject: [PATCH 059/190] Fix link --- .../_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown index 9790da7ddc8..31c8cbe2a2f 100644 --- a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown +++ b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown @@ -121,7 +121,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [vlc-media]: https://home-assistant.io/components/media_player.vlc/ [aquostv]: https://home-assistant.io/components/media_player.aquostv/ [digitalloggers]: https://home-assistant.io/components/switch.digitalloggers/ -[netdata]: https://home-assistant.io/components/switch.digitalloggers/ +[netdata]: https://home-assistant.io/components/sensor.netdata/ [bl-sensor]: https://home-assistant.io/components/sensor.broadlink/ [bl-switch]: https://home-assistant.io/components/switch.broadlink/ [hikvision]: https://home-assistant.io/components/binary_sensor.hikvision/ From 040b5f70ae2c12e89d08f6ec1789c01572f87bed Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 11:02:33 +0100 Subject: [PATCH 060/190] Fix liquid errors --- source/_ecosystem/appdaemon/api.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_ecosystem/appdaemon/api.markdown b/source/_ecosystem/appdaemon/api.markdown index 346c0546881..8615d751248 100755 --- a/source/_ecosystem/appdaemon/api.markdown +++ b/source/_ecosystem/appdaemon/api.markdown @@ -72,7 +72,7 @@ class NightLight(appapi.AppDaemon): To summarize - an App's lifecycle consists of being initialized, which allows it to set one or more state and/or schedule callbacks. When those callbacks are activated, the App will typically use one of the Service Calling calls to effect some change to the devices of the system and then wait for the next relevant state change. That's all there is to it! -## {% linkable_title About the API +## {% linkable_title About the API %} The implementation of the API is located in the AppDaemon class that Apps are derived from. The code for the functions is therefore available to the App simply by invoking the name of the function from the object namespace using the `self` keyword, as in the above examples. `self.turn_on()` for example is just a method defined in the parent class and made available to the child. This design decision was made to simplify some of the implementation and hide passing of unnecessary variables during the API invocation. @@ -289,7 +289,7 @@ get_state(entity = None, attribute = None) `get_state()` returns a `dictionary` or single value, the structure of which varies according to the parameters used. -#### {% linkable_title Parameters +#### {% linkable_title Parameters %} All parameters are optional, and if `get_state()` is called with no parameters it will return the entire state of Home Assistant at that given time. This will consist of a dictionary with a key for each entity. Under that key will be the standard entity state information. @@ -450,7 +450,7 @@ The value of the state after the state change. A dictionary containing any constraints and/or additional user specific keyword arguments supplied to the `listen_state()` call. -### l{% linkable_title isten_state() +### {% linkable_title listen_state() %} `listen_state()` allows the user to register a callback for a wide variety of state changes. @@ -1574,7 +1574,7 @@ self.fire_event("MODE_CHANGE", mode = "Day") Presence in Home Assistant is tracked using Device Trackers. The state of all device trackers can be found using the `get_state()` call, however AppDaemon provides several convenience functions to make this easier. -### {% linkable_title get_trackers() +### {% linkable_title get_trackers() %} Return a list of all device trackers. This is designed to be iterated over. From 2a9ec141beeb0537553ae2a3194d864bb3c27da7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 16:42:12 +0100 Subject: [PATCH 061/190] Escaping --- source/_components/device_tracker.owntracks.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index 3e9b2da076a..dd78f4f261d 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -51,7 +51,7 @@ Owntracks can also be used with other device trackers, such as [Nmap](/component An example showing the inclusion of the `mac` field for multiple component tracking. The `mac` field will need to be added to the `owntracks` device and will enable tracking by all components that track via the `mac` address. ```yaml -_: +\_: name: Friendly Name mac: EA:AA:55:E7:C6:94 picture: https://home-assistant.io/images/favicon-192x192.png @@ -65,7 +65,7 @@ Owntracks can track regions, and send region entry and exit information to Home Home Assistant will use the enter and leave messages to set your zone location. Your location will be set to the center of zone when you enter. Location updates from OwnTracks will be ignored while you are inside a zone. -When you exit a zone, Home Assistant will start using location updates to track you again. To make sure that Home Assistant correctly exits a zone (which it calculates based on your GPS co-ordinates), you may want to set your Zone radius in HA to be slightly smaller that the Owntracks region radius. +When you exit a zone, Home Assistant will start using location updates to track you again. To make sure that Home Assistant correctly exits a zone (which it calculates based on your GPS coordinates), you may want to set your Zone radius in HA to be slightly smaller that the Owntracks region radius. ### {% linkable_title Using Owntracks regions - forcing Owntracks to update using %}iBeacons When run in the usual *significant changes mode* (which is kind to your phone battery), Owntracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons. From d06871aa0e009812dc30a5995caca98c441b1f21 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 16:47:46 +0100 Subject: [PATCH 062/190] Update variables --- source/_components/device_tracker.owntracks.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index dd78f4f261d..364b917e93e 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -51,7 +51,7 @@ Owntracks can also be used with other device trackers, such as [Nmap](/component An example showing the inclusion of the `mac` field for multiple component tracking. The `mac` field will need to be added to the `owntracks` device and will enable tracking by all components that track via the `mac` address. ```yaml -\_: +USERNAME_DEVICE_ID: name: Friendly Name mac: EA:AA:55:E7:C6:94 picture: https://home-assistant.io/images/favicon-192x192.png From 6e6b328516f03486d8c98ef4351203d8a8c88148 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 18 Dec 2016 10:21:05 -0800 Subject: [PATCH 063/190] Update tts.markdown --- source/_components/tts.markdown | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 1c28b44ff9d..4057a0cb4dd 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -50,13 +50,14 @@ tts: Say to all `media_player` device entities: ```yaml -service: tts.platform_say +# Replace google_say with _say when you use a different platform. +service: tts.google_say data: message: 'May the Force be with you.' ``` ```yaml -service: tts.platform_say +service: tts.google_say entity_id: media_player.floor data: message: 'May the Force be with you.' @@ -65,7 +66,7 @@ data: With a template: ```yaml -service: tts.platform_say +service: tts.google_say data_template: message: 'Temperature is {% raw %}{{ sensor.temperature }}{% endraw %}.' cache: false From 87011e1e0b4b93ab8da602cc7fbbe666cc37c6e6 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 18 Dec 2016 14:23:37 -0800 Subject: [PATCH 064/190] Release 0.35.1 --- _config.yml | 6 +++--- source/_components/http.markdown | 1 + ...17-text-to-speech-aquostv-flic-zamg.markdown | 17 ++++++++++++++--- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/_config.yml b/_config.yml index ebbba408766..b5dae514da0 100644 --- a/_config.yml +++ b/_config.yml @@ -131,9 +131,9 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 35 -current_patch_version: 0 -date_released: 2016-12-17 +current_patch_version: 1 +date_released: 2016-12-18 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. -patch_version_notes: "#release-0345---december-12" +patch_version_notes: "#release-0351---december-18" diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 89463c89801..7bc0384c31c 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -28,6 +28,7 @@ Configuration variables: - **api_password** (*Optional*): Protect Home Assistant with a password. - **server_host** (*Optional*): Only listen to incoming requests on specific ip/host (default: accept all) - **server_port** (*Optional*): Let you set a port to use. Defaults to 8123. +- **base_url** (*Optional*): The url that Home Assistant is available on the internet. Defaults to local IP address. - **development** (*Optional*): Disable caching and load unvulcanized assets. Useful for Frontend development. - **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection. - **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection. diff --git a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown index 31c8cbe2a2f..bf0832e6fb0 100644 --- a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown +++ b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown @@ -62,6 +62,20 @@ The [GPSLogger](https://home-assistant.io/components/device_tracker.gpslogger/) - Media player - Kodi: Authentification fixed and fan art ([@balloob], [@joopert]) - Minor and not so minor features and bug fixes by [@pvizeli], [@jminn], [@magicus], [@teodoc], [@fabaff], [@technicalpickles], [@balloob], [@lukas-hetzenecker], [@rubund], [@dasos], [@trisk], [@armills], [@auduny], [@lwis], [@nkgilley], [@janLo], [@keatontaylor], [@stefan-jonasson], [@Jypy], [@jawilson], [@DavidLP], [@molobrakos], [@jabesq], [@joerocklin], [@kellerza], [@kirichkov], and [@danielperna84]. +### {% linkable_title Release 0.35.1 - December 18 %} + +Some issues have been reported with TTS that will be addressed by 0.35.1. The TTS component had issues linking the media player to the right media file if you were using Docker or SSL certificates. This can be fixed by exposing to your HTTP config what url you use for hosting Home Assistant: + +```yaml +http: + base_url: example.duckdns.org +``` + + - Fix exit hanging on OS X with async logging ([@balloob]) + - Fix Text to speech clearing cache ([@pvizeli]) + - Allow setting a base API url in HTTP component ([@balloob]) + - Fix occasional errors in automation ([@pvizeli]) + ### {% linkable_title If you need help... %} ...don't hesitate to use our [Forum](https://community.home-assistant.io/) or join us for a little [chat](https://gitter.im/home-assistant/home-assistant). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. @@ -85,8 +99,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [@farminf]: https://github.com/farminf [@jabesq]: https://github.com/jabesq [@janLo]: https://github.com/janLo -[@janLo]: https://github.com/janLo -[@jawilson]: https://github.com/jawilson [@jawilson]: https://github.com/jawilson [@jminn]: https://github.com/jminn [@joerocklin]: https://github.com/joerocklin @@ -107,7 +119,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [@nkgilley]: https://github.com/nkgilley [@pvizeli]: https://github.com/pvizeli [@rubund]: https://github.com/rubund -[@rubund]: https://github.com/rubund [@soldag]: https://github.com/soldag [@stefan-jonasson]: https://github.com/stefan-jonasson [@tchellomello]: https://github.com/tchellomello From 12b1fbe8869cce615dfe1f4119d635ed58986edb Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 18 Dec 2016 17:38:13 -0800 Subject: [PATCH 065/190] Release 0.35.2 --- _config.yml | 6 +++--- .../2016-12-17-text-to-speech-aquostv-flic-zamg.markdown | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index b5dae514da0..028e14a72cd 100644 --- a/_config.yml +++ b/_config.yml @@ -131,9 +131,9 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 35 -current_patch_version: 1 -date_released: 2016-12-18 +current_patch_version: 2 +date_released: 2016-12-19 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. -patch_version_notes: "#release-0351---december-18" +patch_version_notes: "#release-0352---december-19" diff --git a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown index bf0832e6fb0..5842cf86b4d 100644 --- a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown +++ b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown @@ -76,6 +76,10 @@ http: - Allow setting a base API url in HTTP component ([@balloob]) - Fix occasional errors in automation ([@pvizeli]) +### {% linkable_title Release 0.35.2 - December 19 %} + + - When base url specified, do not combine it with `server_port` ([@balloob]) + ### {% linkable_title If you need help... %} ...don't hesitate to use our [Forum](https://community.home-assistant.io/) or join us for a little [chat](https://gitter.im/home-assistant/home-assistant). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. From 819bb732596c6ecbaf1899025ef6141acd70f76c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 18 Dec 2016 17:49:03 -0800 Subject: [PATCH 066/190] Add r-jordan to bug fix contributors --- .../2016-12-17-text-to-speech-aquostv-flic-zamg.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown index 5842cf86b4d..2e76ea2fbd8 100644 --- a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown +++ b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown @@ -60,7 +60,7 @@ The [GPSLogger](https://home-assistant.io/components/device_tracker.gpslogger/) - Media player - Emby: New support for trailer and media position ([@mezz64]) - Camera - Amcrest: Support for resolution ([@tchellomello]) - Media player - Kodi: Authentification fixed and fan art ([@balloob], [@joopert]) -- Minor and not so minor features and bug fixes by [@pvizeli], [@jminn], [@magicus], [@teodoc], [@fabaff], [@technicalpickles], [@balloob], [@lukas-hetzenecker], [@rubund], [@dasos], [@trisk], [@armills], [@auduny], [@lwis], [@nkgilley], [@janLo], [@keatontaylor], [@stefan-jonasson], [@Jypy], [@jawilson], [@DavidLP], [@molobrakos], [@jabesq], [@joerocklin], [@kellerza], [@kirichkov], and [@danielperna84]. +- Minor and not so minor features and bug fixes by [@pvizeli], [@jminn], [@magicus], [@teodoc], [@fabaff], [@technicalpickles], [@balloob], [@lukas-hetzenecker], [@rubund], [@dasos], [@trisk], [@armills], [@auduny], [@lwis], [@nkgilley], [@janLo], [@keatontaylor], [@stefan-jonasson], [@Jypy], [@jawilson], [@DavidLP], [@molobrakos], [@jabesq], [@joerocklin], [@kellerza], [@kirichkov], [@r-jordan] and [@danielperna84]. ### {% linkable_title Release 0.35.1 - December 18 %} @@ -87,6 +87,7 @@ http: Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template. +[@r-jordan]: https://github.com/r-jordan [@aequitas]: https://github.com/aequitas [@armills]: https://github.com/armills [@auduny]: https://github.com/auduny From 71f5bc3886f1d9be56dce9394167e39770a62de9 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 18 Dec 2016 21:19:39 -0800 Subject: [PATCH 067/190] Add base url example --- source/_components/http.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 7bc0384c31c..a72714bb264 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -28,7 +28,7 @@ Configuration variables: - **api_password** (*Optional*): Protect Home Assistant with a password. - **server_host** (*Optional*): Only listen to incoming requests on specific ip/host (default: accept all) - **server_port** (*Optional*): Let you set a port to use. Defaults to 8123. -- **base_url** (*Optional*): The url that Home Assistant is available on the internet. Defaults to local IP address. +- **base_url** (*Optional*): The url that Home Assistant is available on the internet. For example: `hass-example.duckdns.org:8123`. Defaults to local IP address. - **development** (*Optional*): Disable caching and load unvulcanized assets. Useful for Frontend development. - **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection. - **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection. From cf7a48d61e6c3cd63443c9420b2c87f5571bc6a6 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 18 Dec 2016 21:19:49 -0800 Subject: [PATCH 068/190] Update asyncio docs --- .../asyncio_working_with_async.markdown | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/source/developers/asyncio_working_with_async.markdown b/source/developers/asyncio_working_with_async.markdown index 48839b4648e..1ae52aeff24 100644 --- a/source/developers/asyncio_working_with_async.markdown +++ b/source/developers/asyncio_working_with_async.markdown @@ -19,7 +19,22 @@ So if you are making calls to the core (the hass object) from within a callback ## {% linkable_title Implementing an async component %} -We currently do not support async setup for components. We do however support using async functions as service handlers. Just define your handlers as a callback or coroutine and register them as usual. +To make a component async, implement an async_setup. + +```python +def setup(hass, config): + # Setup your component outside of the event loop. +``` + +Will turn into: + +```python +import asyncio + +@asyncio.coroutine +def async_setup(hass, config): + # Setup your component inside of the event loop. +``` ## {% linkable_title Implementing an async platform %} From 29cb52c2378b03c8b2f0bfd0d9e4102506e9566f Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 18 Dec 2016 21:20:00 -0800 Subject: [PATCH 069/190] Add TTS link to base_url in HTTP --- source/_components/tts.markdown | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 4057a0cb4dd..8fb93e67aa1 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -12,10 +12,6 @@ ha_release: 0.35 Text-to-speech (TTS) enables Home Assistant to speak to you. -## {% linkable_title Cache %} - -The component have two caches. Both caches can be controlled with the `cache` option in the platform configuration or the service call `say`. A long time cache will be located on the file system. The in-memory cache for fast responses to media players will be auto-cleaned after a short period. - ## {% linkable_title Configuring a `tts` platform %} To get started, add the following lines to your `configuration.yaml` (example for google): @@ -45,6 +41,10 @@ tts: time_memory: 300 ``` +

+If you are running Home Assistant over SSL or from within a container, you will have to setup a base url inside the [http component](/components/http/). +

+ ## {% linkable_title Service say %} Say to all `media_player` device entities: @@ -72,3 +72,6 @@ data_template: cache: false ``` +## {% linkable_title Cache %} + +The component have two caches. Both caches can be controlled with the `cache` option in the platform configuration or the service call `say`. A long time cache will be located on the file system. The in-memory cache for fast responses to media players will be auto-cleaned after a short period. From e2a48fae822ec3a6af44f9bb324c816dc73fc332 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Mon, 19 Dec 2016 10:36:06 -0600 Subject: [PATCH 070/190] Update nest.markdown (#1627) Added note to leave the Redirect URI blank. --- source/_components/nest.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown index 482e42013eb..15e578396f5 100644 --- a/source/_components/nest.markdown +++ b/source/_components/nest.markdown @@ -25,6 +25,7 @@ The Nest component is the main component to integrate all [Nest](https://nest.co 6. Fill in details: - Product name must be unique. We recommend [email] - Home Assistant. - The description, users, urls can all be anything you want. + - Leave the "Redirect URI" Field blank 7. For permissions check every box and if it's an option select the read/write option. - The description requires a specific format to be accepted. - Use "[Home Assistant] [Edit] [For Home Automation]" as the description as it is not super important. From 818599f96285c9c6ed7c5b0df86916e1e9337503 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 19 Dec 2016 09:05:06 -0800 Subject: [PATCH 071/190] Add thank you blog post --- source/_posts/2016-12-19-thank-you.markdown | 37 +++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 source/_posts/2016-12-19-thank-you.markdown diff --git a/source/_posts/2016-12-19-thank-you.markdown b/source/_posts/2016-12-19-thank-you.markdown new file mode 100644 index 00000000000..805ea6c4265 --- /dev/null +++ b/source/_posts/2016-12-19-thank-you.markdown @@ -0,0 +1,37 @@ +--- +layout: post +title: "Thank You" +description: "Thanks to all our contributors, dependencies and companies that help make Home Assistant awesome." +date: 2016-12-18 21:04:05 -0800 +date_formatted: "December 19, 2016" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Community +og_image: +--- + +A year ago [Home Assistant 0.10][0.10] landed. Last weekend we released 0.35. Doing 25 releases in a year is a big accomplishment by the community and each release has moved us forwards leaps and bounds. In this year alone we have seen 2800 pull requests on the main repo alone, that's more than 7 a day! + +One of the things that Jon Walker, the founder of the company I work for ([AppFolio]), has taught me is that the biggest advantage that you can create for yourself compared to your competitors is to release more often. Everytime you release you are able to get the new features into the hands of the users and developers. The faster people start using it, the faster you get feedback on the good and bad parts and thus the faster can you evolve. + +That's why I structured Home Assistant around a two week release cycle. It makes sure that features get out fast and it also forces us to not accumulate a backlog of things to document or test properly. Every two weeks we can start fresh. This makes it easy for new people to start contributing because it's clear when things go out and people are not afraid to miss a release. + +However, being on a two week release cycle also means that the community has to rally each two weeks to make sure everything is ready to go. A lot of people are involved in making sure that all pieces are in place, to all of those: thank you! Thank you for all the time and effort you put in to make Home Assistant the best home automation software out there. + +Another big thanks goes out to the developers of the Python language and all the open source libraries and tools that Home Assistant depends on. Making quality software is not a small feat and all of you can be proud of yourself. + +Also a big thanks for the companies that offer their services for free to open source projects. Without these we would not be able to operate at our speed or scale. Thanks [GitHub], [TravisCI], [CloudFlare] and [Discourse]! + +And finally thank you community for being so helpful and awesome 🙇. + +We're taking a well deserved break and we will be back again in 2017 with more awesomeness. Happy holidays! + +– Paulus + +[0.10]: https://home-assistant.io/blog/2015/12/22/amazon-echo-icloud-and-templates/ +[AppFolio]: http://www.appfolioinc.com/ +[GitHub]: https://GitHub.com +[TravisCI]: https://Travis-ci.org +[CloudFlare]: https://CloudFlare.com +[Discourse]: https://Discourse.com From f3521d20e19135eb32ea5db7a64263ef68f897b8 Mon Sep 17 00:00:00 2001 From: Terry Carlin Date: Mon, 19 Dec 2016 11:14:12 -0700 Subject: [PATCH 072/190] Removing references to URL and replacing with IP address (#1629) The homeassistant/components/media_player/itunes.py requires an IP address not a URL --- source/_components/media_player.itunes.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/media_player.itunes.markdown b/source/_components/media_player.itunes.markdown index c046755ae2a..fd357eb8ec7 100644 --- a/source/_components/media_player.itunes.markdown +++ b/source/_components/media_player.itunes.markdown @@ -24,10 +24,10 @@ To add iTunes to your installation, add the following to your `configuration.yam # Example configuration.yaml entry media_player: - platform: itunes - host: http://192.168.1.50 + host: 192.168.1.50 ``` Configuration variables: -- **host** (*Required*): The URL of the itunes-api API, eg. http://192.168.1.50 +- **host** (*Required*): The IP of the itunes-api API, eg. 192.168.1.50 - **port** (*Optional*): The port where itunes-api is accessible, eg. 8181. From 817d1a82209d64af0bcf38bc93158f60f0b898a4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 18 Dec 2016 16:59:44 +0100 Subject: [PATCH 073/190] Fix sample --- source/_components/device_tracker.owntracks.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index 364b917e93e..e8562f8b307 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -58,7 +58,7 @@ USERNAME_DEVICE_ID: gravatar: test@example.com track: yes hide_if_away: no - ``` +``` ### {% linkable_title Using Owntracks regions %} Owntracks can track regions, and send region entry and exit information to Home Assistant (HA). You set up a region in the Owntracks app which you should name the same as your HA Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/). From c6606e9b7dad97a376dbc59f6433b1c3223f8882 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 19 Dec 2016 21:11:43 +0100 Subject: [PATCH 074/190] Make it more clear --- source/_posts/2016-04-07-static-website.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2016-04-07-static-website.markdown b/source/_posts/2016-04-07-static-website.markdown index 9e81ef881fe..911e442b635 100644 --- a/source/_posts/2016-04-07-static-website.markdown +++ b/source/_posts/2016-04-07-static-website.markdown @@ -11,7 +11,7 @@ categories: How-To og_image: /images/blog/2016-04-display/ha-display.png --- -The frontend of Home Assistant is served with the help of a local web server. If you have [customized](/getting-started/devices/#customizing-devices-and-services) your installation you already use this functionality. The content of your folder `www` in your Home Assistant configuration directory (`.homeassistant`) is available under `/local` (eg. [https://localhost:8123/local](https://localhost:8123/local)). +The frontend of Home Assistant is served with the help of a local web server. If you have [customized](/getting-started/devices/#customizing-devices-and-services) your installation you already use this functionality. The content of your folder `www` in your Home Assistant configuration directory (`.homeassistant`) is available under `/local` (eg. [http://localhost:8123/local](https://localhost:8123/local/index.html) for an `index.html` file). But there is more you can do! You can not only host images for customization there but HTML files or even web applications including CSS and Javascript. From 9cc7fc6061733e175b0032d5dcf7dc96d25d3930 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Tue, 20 Dec 2016 02:24:47 -0500 Subject: [PATCH 075/190] Clarification time. (#1598) Just some clarification based on https://github.com/home-assistant/home-assistant/issues/4904#issuecomment-267426303 --- source/getting-started/automation-trigger.markdown | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/getting-started/automation-trigger.markdown b/source/getting-started/automation-trigger.markdown index f47c0a1c695..79bbf3681fa 100644 --- a/source/getting-started/automation-trigger.markdown +++ b/source/getting-started/automation-trigger.markdown @@ -113,7 +113,7 @@ automation: platform: time # Matches every hour at 5 minutes past whole minutes: 5 - seconds: 0 + seconds: 00 automation 2: trigger: @@ -127,8 +127,11 @@ automation 3: platform: time # You can also match on interval. This will match every 5 minutes minutes: '/5' - seconds: 0 + seconds: 00 ``` +

+ Rememebr that if you are using matching to include both `minutes` and `seconds`. Without `seconds`, your automation will trigger 60 times during the matching minute. +

### {% linkable_title Zone trigger %} From ec3654eb1a7e53f39adf9cf01f6422d792e862a4 Mon Sep 17 00:00:00 2001 From: hokagegano Date: Tue, 20 Dec 2016 17:45:40 +0100 Subject: [PATCH 076/190] Update sensor.rfxtrx.markdown --- source/_components/sensor.rfxtrx.markdown | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.rfxtrx.markdown b/source/_components/sensor.rfxtrx.markdown index dabffea8e95..3c8aa88b952 100644 --- a/source/_components/sensor.rfxtrx.markdown +++ b/source/_components/sensor.rfxtrx.markdown @@ -29,8 +29,8 @@ Then when the sensor emits a signal it will be automatically added:

-Here the name is `0a52080000301004d240259` and you can verify that it works from the frontend. -Then you should update your configuration to: +Here the name is `0a52080000301004d240259` or `0a52080000301004d240259_temperature` and you can verify that it works from the frontend. +Then you should update your configuration to (_temperature is not needed): ```yaml # Example configuration.yaml entry @@ -54,6 +54,17 @@ sensor: - Humidity - Temperature ``` +Only these data_type are valid : +- *Temperature* +- *Humidity* +- *Barometer* +- *Wind direction* +- *Rain rate* +- *Energy usage* +- *Total usage* +- *Sound* +- *Sensor Status* +- *Counter value* Example configuration: @@ -79,3 +90,5 @@ Configuration variables: - **automatic_add** (*Optional*): To enable the automatic addition of new lights. - **data_type** (*Optional*): Which data type the sensor should show - **fire_event** (*Optional*): Fires an event even if the state is the same as before. Can be used for automations. + + From bf2deb80b165ef21d16cb6a77f8da2a47df071bd Mon Sep 17 00:00:00 2001 From: Jonathan Baginski Date: Tue, 20 Dec 2016 17:36:41 -0500 Subject: [PATCH 077/190] Update installation-raspberry-pi-all-in-one.markdown updated username and paths to reflect updated usage. --- ...tallation-raspberry-pi-all-in-one.markdown | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index 7acb8286c3c..5cfef840572 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -9,13 +9,13 @@ footer: true The [Raspberry Pi All-In-One Installer](https://github.com/home-assistant/fabric-home-assistant) deploys a complete Home Assistant server including support for MQTT with websockets, Z-Wave, and the Open-Zwave Control Panel. -The only requirement is that you have a Raspberry Pi with a fresh installation of [Raspbian Jessie](https://www.raspberrypi.org/downloads/raspbian/) connected to your network. +The only requirement is that you have a Raspberry Pi with a fresh installation of [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) connected to your network. * Login to Raspberry Pi. For example with `ssh pi@your_raspberry_pi_ip` * Run the following command ```bash -$ wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && bash hass_rpi_installer.sh +$ wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && chown pi:pi hass_rpi_installer.sh && bash hass_rpi_installer.sh ```

Note this command is one-line and not run as sudo. @@ -27,7 +27,7 @@ Installation will take approx. 1-2 hours depending on the Raspberry Pi model the Once rebooted, your Raspberry Pi will be up and running with Home Assistant. You can access it at [http://your_raspberry_pi_ip:8123](http://your_raspberry_pi_ip:8123). -The Home Assistant configuration is located at `/home/hass/.homeassistant`. The [virtualenv](https://virtualenv.pypa.io/en/latest/) with the Home Assistant installation is located at `/srv/hass/hass_venv`. As part of the secure installation, a new user (**hass**) is added to your Raspberry Pi to run Home Assistant. This is a system account and does not have login or other abilities by design. When editing your `configuration.yaml` files, you will need to run the commands with `sudo` or by switching user. +The Home Assistant configuration is located at `/home/hass/.homeassistant`. The [virtualenv](https://virtualenv.pypa.io/en/latest/) with the Home Assistant installation is located at `/srv/homeassistant/homeassistant_venv`. As part of the secure installation, a new user (**homeassistant**) is added to your Raspberry Pi to run Home Assistant. This is a system account and does not have login or other abilities by design. When editing your `configuration.yaml` files, you will need to run the commands with `sudo` or by switching user.

*Windows users*: Setting up WinSCP to allow this seemlessly is at the end of this page. @@ -41,20 +41,20 @@ The All-In-One Installer script will do the following automatically: * Create needed service accounts * Install OS and Python dependencies * Setup a python virtualenv to run Home Assistant and components inside. -* Run as `hass` service account +* Run as `homeassistant` service account * Install Home Assistant in a virtualenv -* Build and install Mosquitto v1.4.9 from source with websocket support running on ports 1883 and 9001 +* Install Mosquitto with websocket support running on ports 1883 and 9001 * Build and Install Python-openzwave in the Home Assistant virtualenv -* Build openzwave-control-panel in `/srv/hass/src/open-zwave-control-panel` -* Add both Home Assistant and Mosquitto to systemd services to start at boot +* Build openzwave-control-panel in `/srv/homeassistant/src/open-zwave-control-panel` +* Add Home Assistant to systemd services to start at boot ### {% linkable_title Upgrading %} To upgrade the All-In-One setup manually: * Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` -* Change to hass user `sudo su -s /bin/bash hass` -* Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate` +* Change to homeassistant user `sudo su -s /bin/bash homeassistant` +* Change to virtual enviroment `source /srv/homeassistant/homeassistant_venv/bin/activate` * Update HA `pip3 install --upgrade homeassistant` * Type `exit` to logout the hass user and return to the `pi` user. @@ -75,7 +75,7 @@ To launch the OZWCP web application: * Make sure Home Assistant is not running! So stop that first * Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` -* Change to the ozwcp directory `cd /srv/hass/src/open-zwave-control-panel/` +* Change to the ozwcp directory `cd /srv/homeassistant/src/open-zwave-control-panel/` * Launch the control panel `sudo ./ozwcp -p 8888` * Open a web browser to `http://your_pi_ip:8888` * Specify your zwave controller, for example `/dev/ttyACM0` and hit initialize From 3e366d74812bee6e1f3c8d99d68a8e7ddc2ac0e9 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Wed, 21 Dec 2016 00:48:36 -0500 Subject: [PATCH 078/190] Added section To change the MQTT default password (#1632) * Added section To change the MQTT default password --- .../installation-raspberry-pi-all-in-one.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index 5cfef840572..c5b310312d7 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -69,6 +69,13 @@ After upgrading, you can restart Home Assistant a few different ways: * Restarting the Raspberry Pi `sudo reboot` * Restarting the Home-Assistant Service `sudo systemctl restart home-assistant.service` +### {% linkable_title To change the MQTT default password %} + +* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` +* Change password `sudo mosquitto_passwd /etc/mosquitto/pwfile pi` +* Restart mosquitto `sudo systemctl restart mosquitto.service` +* Be sure to update your `configuration.yaml` to reflect the new password. + ### {% linkable_title Using the OZWCP web application %} To launch the OZWCP web application: From 02c8010ea78d6007fbb1ac234c02e9ccffcf4e23 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Wed, 21 Dec 2016 01:03:42 -0500 Subject: [PATCH 079/190] Added an example of a control option. (#1635) Inclusion of hiding control option of groups. --- source/_components/group.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/group.markdown b/source/_components/group.markdown index 1ff8a8f457d..731ab582781 100644 --- a/source/_components/group.markdown +++ b/source/_components/group.markdown @@ -74,6 +74,7 @@ Notice in the example below that in order to refer to the group "Living Room", y ```yaml # Example configuration.yaml entry that shows two groups, referred to in a view group (tab) Living Room: + control: hidden entities: - light.light_family_1 - binary_sensor.motion_living From 1c53dda25136f9e4de2c743f8e1cf248517f6fb4 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 21 Dec 2016 09:59:01 +0100 Subject: [PATCH 080/190] Update media_player.markdown --- source/_components/media_player.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.markdown b/source/_components/media_player.markdown index ae8639342ec..1850653639b 100644 --- a/source/_components/media_player.markdown +++ b/source/_components/media_player.markdown @@ -32,7 +32,7 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------| | `entity_id` | yes | Target a specific media player. Defaults to all. | -| `volume_level` | no | Integer for volume level | +| `volume_level` | no | Float for volume level | #### {% linkable_title Service `media_player/media_seek` %} From a4019b40b352ea6692001ce0f2d08dc0e350ab1b Mon Sep 17 00:00:00 2001 From: Jonathan Baginski Date: Wed, 21 Dec 2016 10:05:00 -0500 Subject: [PATCH 081/190] Update installation-raspberry-pi-all-in-one.markdown updated GPIO details --- .../installation-raspberry-pi-all-in-one.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index c5b310312d7..0c588b9b5c8 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -93,7 +93,7 @@ To launch the OZWCP web application: ### {% linkable_title Using the GPIOs %} -Please note that if you are using any components for Home Assistant that would use the GPIOs on the RPI, you will need to grant the default AiO user `hass` access to the GPIOs. Run the following command `sudo adduser hass gpio` while in a terminal session on your Pi. This is a one time configuration change to allow All In One Installer based Home Assistant access to the GPIOs. +The (**homeassistant**)user is added to the GPIO group as part of the install now. ### {% linkable_title WinSCP %} From afe8c7a9748b4b33019c2c91e70ec5ab0e5b87f8 Mon Sep 17 00:00:00 2001 From: Xx-Ness-xX Date: Wed, 21 Dec 2016 13:23:00 -0600 Subject: [PATCH 082/190] Configuration variables: units (optional) Added descriptions for units, and an example entry for configuration.yaml --- source/_components/sensor.google_travel_time.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_components/sensor.google_travel_time.markdown b/source/_components/sensor.google_travel_time.markdown index 7c904d9d540..16c08a70988 100644 --- a/source/_components/sensor.google_travel_time.markdown +++ b/source/_components/sensor.google_travel_time.markdown @@ -37,6 +37,7 @@ Configuration variables: - **options** (*Optional*): A dictionary containing parameters to add to all requests to the Distance Matrix API. A full listing of available options can be found [here](https://developers.google.com/maps/documentation/distance-matrix/intro#RequestParameters). - **departure_time** (*Optional*): Can be `now`, a Unix timestamp, or a 24 hour time string like `08:00:00`. If you provide a time string, it will be combined with the current date to get travel time for that moment. - **arrival_time** (*Optional*): See notes above for `departure_time`. `arrival_time` can not be `now`, only a Unix timestamp or time string. You can not provide both `departure_time` and `arrival_time`. If you do provide both, `arrival_time` will be removed from the request. + - **units** (*Optional*): Set the unit for the sensor in metric or imperial, otherwise the default unit the same as the unit set in `unit_system:`. ##### {% linkable_title Dynamic Configuration %} @@ -58,6 +59,14 @@ sensor: api_key: XXXX_XXXXX_XXXXX origin: zone.home destination: Eddies House # Friendly name of a zone + + # Tracking entity in imperial unit + - platform: google_travel_time + api_key: XXXX_XXXXX_XXXXX + destination: zone.home + options: + units: imperial # 'metric' for Metric, 'imperial' for Imperial + ``` #### {% linkable_title Entity Tracking %} From 5287dec63008ad93cf691430178a5221a934e5be Mon Sep 17 00:00:00 2001 From: Kyle Gordon Date: Wed, 21 Dec 2016 20:03:31 +0000 Subject: [PATCH 083/190] Remove superfluous - (#1638) broadcast doesn't need - --- source/_components/light.lifx.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/light.lifx.markdown b/source/_components/light.lifx.markdown index f326e3cb95e..d4be5e91192 100644 --- a/source/_components/light.lifx.markdown +++ b/source/_components/light.lifx.markdown @@ -19,7 +19,7 @@ The `lifx` platform allows you to integrate your [LIFX](http://www.lifx.com) int # Example configuration.yaml entry light: - platform: lifx - - broadcast: 192.168.1.255 + broadcast: 192.168.1.255 ``` Configuration variables: From ac911672ce0adac87691cc5dabb0586467bba94a Mon Sep 17 00:00:00 2001 From: Krasimir Chariyski Date: Wed, 21 Dec 2016 22:04:09 +0200 Subject: [PATCH 084/190] Add proper markdown for links (#1637) Add proper markdown for links. --- source/_components/notify.html5.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index 9821dec6df6..a5c935f16a1 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -32,9 +32,9 @@ Configuration variables: - **gcm_sender_id** (*Required if pushing to Chrome*): The sender ID provided to you by Google for Google Cloud Messaging (GCM). Required to push to Chrome. ### {% linkable_title Getting ready for Chrome %} -Create new project at https://console.cloud.google.com/home/dashboard -Go to https://console.cloud.google.com/apis/credentials/domainverification and verify your domain -After that, go to https://console.firebase.google.com and select import Google project, select the project you created +Create new project at [https://console.cloud.google.com/home/dashboard](https://console.cloud.google.com/home/dashboard) +Go to [https://console.cloud.google.com/apis/credentials/domainverification](https://console.cloud.google.com/apis/credentials/domainverification) and verify your domain +After that, go to [https://console.firebase.google.com](https://console.firebase.google.com) and select import Google project, select the project you created Then, click the clogwheel on top left and select Project settings Select Cloud messaging tab if under server key is button Regenerate key, click that From df6526546fb78f234b57e4a175c6a3655910eea7 Mon Sep 17 00:00:00 2001 From: Will Heid Date: Fri, 23 Dec 2016 03:02:06 -0800 Subject: [PATCH 085/190] Add note about new default Raspbian behavior (#1640) * Add note about new default Raspbian behavior --- .../installation-raspberry-pi-all-in-one.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index 0c588b9b5c8..30ce58992bd 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -11,6 +11,10 @@ The [Raspberry Pi All-In-One Installer](https://github.com/home-assistant/fabric The only requirement is that you have a Raspberry Pi with a fresh installation of [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) connected to your network. +

+Note that as of 2016-11-30 SSH is disabled by default in the official Raspbian images. Adding an empty file called `ssh` to `/boot/` or the FAT32 partition will enable it. More information is on the Raspberry Pi Foundation [Blog](https://www.raspberrypi.org/blog/page/2/?fish#a-security-update-for-raspbian-pixel) +

+ * Login to Raspberry Pi. For example with `ssh pi@your_raspberry_pi_ip` * Run the following command From 652e2238f400f1d9701acec4cb08b6b935a06fe2 Mon Sep 17 00:00:00 2001 From: Chris Monteiro Date: Fri, 23 Dec 2016 06:02:40 -0500 Subject: [PATCH 086/190] Added new model (#1645) --- source/_components/media_player.aquostv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.aquostv.markdown b/source/_components/media_player.aquostv.markdown index f418465fc7b..d8d1d488f3f 100644 --- a/source/_components/media_player.aquostv.markdown +++ b/source/_components/media_player.aquostv.markdown @@ -51,5 +51,6 @@ Currently known supported models: - LC-60LE830U - LC-52LE925UN - LC-60LE925UN +- LC-60LE857U If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/media_player.aquostv.markdown). From 19a0ef58d183d6b8b483750aa2b67a4c39304150 Mon Sep 17 00:00:00 2001 From: andrey-git Date: Fri, 23 Dec 2016 13:10:08 +0200 Subject: [PATCH 087/190] Describe using language in a TTS service. (#1644) * Following pull request #5047 describe using language in a service. * Update tts.markdown Added descriptors for yaml examples . --- source/_components/tts.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 8fb93e67aa1..8e9fac152f7 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -55,6 +55,7 @@ service: tts.google_say data: message: 'May the Force be with you.' ``` +Say to the `media_player.floor` device entitie: ```yaml service: tts.google_say @@ -63,6 +64,16 @@ data: message: 'May the Force be with you.' ``` +Say to the `media_player.floor` device entitie in french: + +```yaml +service: tts.google_say +entity_id: media_player.floor +data: + message: 'Que la force soit avec toi.' + language: 'fr' +``` + With a template: ```yaml @@ -72,6 +83,7 @@ data_template: cache: false ``` + ## {% linkable_title Cache %} The component have two caches. Both caches can be controlled with the `cache` option in the platform configuration or the service call `say`. A long time cache will be located on the file system. The in-memory cache for fast responses to media players will be auto-cleaned after a short period. From 840ab6c143fc0e427ae59d7c86d1b621d2f498bb Mon Sep 17 00:00:00 2001 From: Fredrik Lindqvist Date: Fri, 23 Dec 2016 14:17:18 +0100 Subject: [PATCH 088/190] Revert "Describe using language in a TTS service." (#1647) Merged by mistake. --- source/_components/tts.markdown | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 8e9fac152f7..8fb93e67aa1 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -55,7 +55,6 @@ service: tts.google_say data: message: 'May the Force be with you.' ``` -Say to the `media_player.floor` device entitie: ```yaml service: tts.google_say @@ -64,16 +63,6 @@ data: message: 'May the Force be with you.' ``` -Say to the `media_player.floor` device entitie in french: - -```yaml -service: tts.google_say -entity_id: media_player.floor -data: - message: 'Que la force soit avec toi.' - language: 'fr' -``` - With a template: ```yaml @@ -83,7 +72,6 @@ data_template: cache: false ``` - ## {% linkable_title Cache %} The component have two caches. Both caches can be controlled with the `cache` option in the platform configuration or the service call `say`. A long time cache will be located on the file system. The in-memory cache for fast responses to media players will be auto-cleaned after a short period. From 383f57c2acb7b9312e1a317372fc3cd61a755c2d Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 23 Dec 2016 16:18:02 +0100 Subject: [PATCH 089/190] Update 2016-12-17-text-to-speech-aquostv-flic-zamg.markdown --- .../2016-12-17-text-to-speech-aquostv-flic-zamg.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown index 2e76ea2fbd8..eb68d517486 100644 --- a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown +++ b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown @@ -80,6 +80,13 @@ http: - When base url specified, do not combine it with `server_port` ([@balloob]) +### {% linkable_title Release 0.35.3 - December 23 %} + + - Fix issue with voicerrs and post api ([@pvizeli]) + - Fix async component update on service calls ([@pvizeli]) + - Fix async log handle do not close ([@pvizeli]) + - Fix nest component with various KeyError exceptions ([@technicalpickles]) + ### {% linkable_title If you need help... %} ...don't hesitate to use our [Forum](https://community.home-assistant.io/) or join us for a little [chat](https://gitter.im/home-assistant/home-assistant). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. From c4cf818d3c777a39d3b778a7811e0cbf233ff1f0 Mon Sep 17 00:00:00 2001 From: Jonathan Baginski Date: Fri, 23 Dec 2016 16:03:32 -0500 Subject: [PATCH 090/190] Update installation-raspberry-pi.markdown fixed service account user listed under AiO notes. --- source/getting-started/installation-raspberry-pi.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/installation-raspberry-pi.markdown b/source/getting-started/installation-raspberry-pi.markdown index fadd27addc6..c30b177cfcd 100644 --- a/source/getting-started/installation-raspberry-pi.markdown +++ b/source/getting-started/installation-raspberry-pi.markdown @@ -14,7 +14,7 @@ footer: true There's currently three documented ways to install Home Assistant on a Raspberry Pi. - [Manual installation](/getting-started/installation-raspberry-pi/#Manual-Installation). Following this guide doing each step manually. This is highly recommended as a first installation since you get a good overview of the installation. - [Hassbian image](/getting-started/installation-raspberry-pi-image). Basic installation with the same settings as following the manual installation guide. Some additional software is preinstalled to make installation quicker and easier. Installation uses `homeassistant` user. - - [All-in-One Installer](/getting-started/installation-raspberry-pi-all-in-one/). Fabric based installation script that installs and compiles many of the things an advanced Home Assistant install is likely to need. Installation uses `hass` user. + - [All-in-One Installer](/getting-started/installation-raspberry-pi-all-in-one/). Fabric based installation script that installs and compiles many of the things an advanced Home Assistant install is likely to need. Installation uses `homeassistant` user.

Since each installation type uses a different user for Home Assistant, be sure to note and use the correct username for the `adduser` commands listed below for camera and GPIO extensions. From ae9047731a86a9ce4978e7adf42328ac85880bc2 Mon Sep 17 00:00:00 2001 From: smolz Date: Sat, 24 Dec 2016 00:12:32 -0800 Subject: [PATCH 091/190] Update group_visibility.markdown (#1649) --- source/_topics/group_visibility.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_topics/group_visibility.markdown b/source/_topics/group_visibility.markdown index 64b01be9e78..a312ced7588 100644 --- a/source/_topics/group_visibility.markdown +++ b/source/_topics/group_visibility.markdown @@ -56,7 +56,7 @@ automation 2: ## {% linkable_title Easier automations %} -One of the most common uses cases are to show groups during certain times of day, maybe commuting information durig a work day morning or light switches when it is getting dark. The complexity of automations needed to make this happen will quickly get out of hands. So, one way to make the automations easier is to create a sensor that alters its state depending on time of day. One way of doing that is using a `command_line` sensor and a script: +One of the most common uses cases are to show groups during certain times of day, maybe commuting information during a work day morning or light switches when it is getting dark. The complexity of automations needed to make this happen will quickly get out of hand. So, one way to make the automations easier is to create a sensor that alters its state depending on time of day. One way of doing that is using a `command_line` sensor and a script: ```python #!/usr/bin/env python3 @@ -103,7 +103,7 @@ sensor: command: "python3 occasion.py" ``` -To simplify things, we create a Home Assistant script that change visibility of a group but also verifies that an entity is in a specific state: +To simplify things, we create a Home Assistant script that changes the visibility of a group, but also verifies that an entity is in a specific state: ```yaml script: @@ -176,4 +176,4 @@ automation: entity_id: group.work_sensors cond: sensor.occasion visible_state: 'work_morning' -``` \ No newline at end of file +``` From 8bcc7f8cf922ba517b57a84cc5e0e6e450feed6e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 25 Dec 2016 19:56:03 +0100 Subject: [PATCH 092/190] Update frontpage for 0.35.3 --- _config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 028e14a72cd..9cd44b84333 100644 --- a/_config.yml +++ b/_config.yml @@ -131,8 +131,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 35 -current_patch_version: 2 -date_released: 2016-12-19 +current_patch_version: 3 +date_released: 2016-12-23 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. From d99fe6dce2087df5975ad34f7abe241205ddd14b Mon Sep 17 00:00:00 2001 From: atorralba Date: Sun, 25 Dec 2016 23:14:52 +0100 Subject: [PATCH 093/190] Update media_player.samsungtv.markdown Added JU6400 model as showing in GUI but unable to control. --- source/_components/media_player.samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index be9dd04a1a5..0374c23a708 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -54,6 +54,7 @@ Currently tested but not working models: - KU6300 - Shows in GUI but unable to control. - H6400 - Shows in GUI but unable to control. - J5200 - Unable to see state and unable to control +- JU6400 - Shows in GUI but unable to control If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/media_player.samsungtv.markdown). The first letter (U, P, L, H & K) represent the screen type, e.g. LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size. From a8697e18de56ba86d4efd0b0bb6da76043e1e41c Mon Sep 17 00:00:00 2001 From: smolz Date: Mon, 26 Dec 2016 05:16:24 -0800 Subject: [PATCH 094/190] Update dweet.markdown (#1654) --- source/_components/dweet.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/dweet.markdown b/source/_components/dweet.markdown index 37cf9a82e0c..ae2fabf2376 100644 --- a/source/_components/dweet.markdown +++ b/source/_components/dweet.markdown @@ -21,7 +21,7 @@ The `dweet` component makes it possible to transfer details collected with Home

- The publishing interval is limited to 1 second. This means that it's possible to missing fast changes. + The publishing interval is limited to 1 second. This means that it's possible to miss fast changes.

To use the `deweet` component in your installation, add the following to your `configuration.yaml` file: From 0741a2c493bd89e7dd0d7933f75cbc7f29edafb2 Mon Sep 17 00:00:00 2001 From: PuckStar Date: Mon, 26 Dec 2016 17:05:42 +0100 Subject: [PATCH 095/190] "homeassistant" changed in "hass" (#1656) Couldn't update Home Assistant. Found out the word homeassistant was changed in hass. After changing that the update worked. --- .../installation-raspberry-pi-all-in-one.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index 30ce58992bd..56925fb687f 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -57,8 +57,8 @@ The All-In-One Installer script will do the following automatically: To upgrade the All-In-One setup manually: * Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` -* Change to homeassistant user `sudo su -s /bin/bash homeassistant` -* Change to virtual enviroment `source /srv/homeassistant/homeassistant_venv/bin/activate` +* Change to homeassistant user `sudo su -s /bin/bash hass` +* Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate` * Update HA `pip3 install --upgrade homeassistant` * Type `exit` to logout the hass user and return to the `pi` user. From 4ce0a43d8d6576bbdcfe142aa9bc8cc400a01996 Mon Sep 17 00:00:00 2001 From: Fredrik Lindqvist Date: Mon, 26 Dec 2016 17:32:37 +0100 Subject: [PATCH 096/190] Revert ""homeassistant" changed in "hass"" (#1657) --- .../installation-raspberry-pi-all-in-one.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index 56925fb687f..30ce58992bd 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -57,8 +57,8 @@ The All-In-One Installer script will do the following automatically: To upgrade the All-In-One setup manually: * Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` -* Change to homeassistant user `sudo su -s /bin/bash hass` -* Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate` +* Change to homeassistant user `sudo su -s /bin/bash homeassistant` +* Change to virtual enviroment `source /srv/homeassistant/homeassistant_venv/bin/activate` * Update HA `pip3 install --upgrade homeassistant` * Type `exit` to logout the hass user and return to the `pi` user. From a5f299056d08cad014342a0ff76d76a05aa01e6c Mon Sep 17 00:00:00 2001 From: Jonathan Baginski Date: Mon, 26 Dec 2016 11:36:27 -0500 Subject: [PATCH 097/190] Update fixed upgrade notes to reflect correct commands. added alt commands for prior aio paths and user. --- .../installation-raspberry-pi-all-in-one.markdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index 30ce58992bd..cdaeb2f2985 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -61,6 +61,16 @@ To upgrade the All-In-One setup manually: * Change to virtual enviroment `source /srv/homeassistant/homeassistant_venv/bin/activate` * Update HA `pip3 install --upgrade homeassistant` * Type `exit` to logout the hass user and return to the `pi` user. + +

+If you deployed Home Assistant via the AiO installer prior to December 2016, you will need to use the following commands: +* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` +* Change to homeassistant user `sudo su -s /bin/bash hass` +* Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate` +* Update HA `pip3 install --upgrade homeassistant` +* Type `exit` to logout the hass user and return to the `pi` user. +

+ To upgrade with fabric: From c9d9193e3f1f5d1155e2d0f1efb8c646cb3219bc Mon Sep 17 00:00:00 2001 From: Jonathan Baginski Date: Mon, 26 Dec 2016 11:41:20 -0500 Subject: [PATCH 098/190] Update installation-raspberry-pi-all-in-one.markdown fixed formatting. --- .../installation-raspberry-pi-all-in-one.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index cdaeb2f2985..88cb9b5a985 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -64,11 +64,13 @@ To upgrade the All-In-One setup manually:

If you deployed Home Assistant via the AiO installer prior to December 2016, you will need to use the following commands: + * Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` * Change to homeassistant user `sudo su -s /bin/bash hass` * Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate` * Update HA `pip3 install --upgrade homeassistant` * Type `exit` to logout the hass user and return to the `pi` user. +

From ba87b9495de9f9f94763a7c43c12b97f80978a7d Mon Sep 17 00:00:00 2001 From: Jonathan Baginski Date: Mon, 26 Dec 2016 11:50:06 -0500 Subject: [PATCH 099/190] Update installation-raspberry-pi-all-in-one.markdown formatting fix --- .../installation-raspberry-pi-all-in-one.markdown | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index 88cb9b5a985..3bcbe0eac49 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -63,15 +63,7 @@ To upgrade the All-In-One setup manually: * Type `exit` to logout the hass user and return to the `pi` user.

-If you deployed Home Assistant via the AiO installer prior to December 2016, you will need to use the following commands: - -* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` -* Change to homeassistant user `sudo su -s /bin/bash hass` -* Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate` -* Update HA `pip3 install --upgrade homeassistant` -* Type `exit` to logout the hass user and return to the `pi` user. - -

+If you deployed Home Assistant via the AiO installer prior to December 2016, replace `sudo su -s /bin/bash homeassistant` with `sudo su -s /bin/bash hass` and `source /srv/homeassistant/homeassistant_venv/bin/activate` with `source /srv/hass/hass_venv/bin/activate`

To upgrade with fabric: From 7de1892f29de56bda17893749ed06da9fa544abe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Arnauts?= Date: Tue, 27 Dec 2016 13:30:19 +0100 Subject: [PATCH 100/190] Fixes copy/paste error in lock.mqtt (#1661) --- source/_components/lock.mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/lock.mqtt.markdown b/source/_components/lock.mqtt.markdown index 89f013b999d..4bec5e48e4d 100644 --- a/source/_components/lock.mqtt.markdown +++ b/source/_components/lock.mqtt.markdown @@ -71,7 +71,7 @@ lock: Keep an eye on ratining messages to keep the state as you don't want to unlock your door by accident when you restart something. -For a check you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your cover manually: +For a check you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your lock manually: ```bash $ mosquitto_pub -h 127.0.0.1 -t home-assistant/frontdoor/set -m "LOCK" From 4ab58bc2b9d1d9c2ed31f7fa85e585553dcdc665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Arnauts?= Date: Tue, 27 Dec 2016 13:31:07 +0100 Subject: [PATCH 101/190] Small doc layout fixes in switch.mqtt (#1660) --- source/_components/switch.mqtt.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/switch.mqtt.markdown b/source/_components/switch.mqtt.markdown index 1b87f9639e8..14a1f7e6ba8 100644 --- a/source/_components/switch.mqtt.markdown +++ b/source/_components/switch.mqtt.markdown @@ -15,9 +15,9 @@ ha_iot_class: depends The `mqtt` switch platform let you control your MQTT enabled switch. -In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with RETAIN flag, the MQTT switch will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the switch will be false/off. +In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with `RETAIN` flag, the MQTT switch will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the switch will be false/off. -When a state topic is not available, the switch will work in optimistic mode. In this mode, the switch will immediately change state after every command. Otherwise, the switch will wait for state confirmation from device (message from `state_topic`). +When a `state_topic` is not available, the switch will work in optimistic mode. In this mode, the switch will immediately change state after every command. Otherwise, the switch will wait for state confirmation from device (message from `state_topic`). Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect switch operation. @@ -37,7 +37,7 @@ Configuration variables: - **command_topic** (*Required*): The MQTT topic to publish commands to change the switch state. - **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. +- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is `true` if no `state_topic` defined, else `false`. - **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. - **retain** (*Optional*): If the published message should have the retain flag on or not. - **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload. @@ -68,7 +68,7 @@ switch: retain: true ``` -For a check you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your cover manually: +For a check you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your switch manually: ```bash $ mosquitto_pub -h 127.0.0.1 -t home/bedroom/switch1set -m "ON" From 1b62c89b8b358a477c40b519faf308157f6a41ac Mon Sep 17 00:00:00 2001 From: smolz Date: Tue, 27 Dec 2016 04:31:30 -0800 Subject: [PATCH 102/190] Update lock.mqtt.markdown (#1659) --- source/_components/lock.mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/lock.mqtt.markdown b/source/_components/lock.mqtt.markdown index 4bec5e48e4d..2705ea61509 100644 --- a/source/_components/lock.mqtt.markdown +++ b/source/_components/lock.mqtt.markdown @@ -69,7 +69,7 @@ lock: value_template: '{% raw %}{{ value.x }}{% endraw %}' ``` -Keep an eye on ratining messages to keep the state as you don't want to unlock your door by accident when you restart something. +Keep an eye on retaining messages to keep the state as you don't want to unlock your door by accident when you restart something. For a check you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your lock manually: From b5291e3602125ee2a4f9265a551ade91661893af Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 27 Dec 2016 20:31:50 +0100 Subject: [PATCH 103/190] Replace 'validate_config' with voluptuous --- .../python_component_basic_state.markdown | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/source/_cookbook/python_component_basic_state.markdown b/source/_cookbook/python_component_basic_state.markdown index 1720868ed4d..b2c1e838e56 100644 --- a/source/_cookbook/python_component_basic_state.markdown +++ b/source/_cookbook/python_component_basic_state.markdown @@ -99,22 +99,20 @@ hello_state: text: 'Hello, World!' ``` -Thanks to `DEFAULT_TEXT` variable the component will launch even if no `text:` field is used in the `configuration.yaml` file. Quite often there are variables which are required. It's important to check if all mandatory configuration variables are provided. If not, the setup should fail. We will use the `validate_config` function as a helper to achive this. The next listing shows the essential parts. +Thanks to `DEFAULT_TEXT` variable the component will launch even if no `text:` field is used in the `configuration.yaml` file. Quite often there are variables which are required. It's important to check if all mandatory configuration variables are provided. If not, the setup should fail. We will use `voluptuous` as a helper to achive this. The next listing shows the essential parts. ```python -from homeassistant.helpers import validate_config +import voluptuous as vol + +import homeassistant.helpers.config_validation as cv [...] - if not validate_config(config, {DOMAIN: [CONF_TEXT]}, _LOGGER): - return False +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ + vol.Required(CONF_TEXT): cv.string, +}) ``` If `text:` is missing, there will be a warning in the log file. -```bash -16-03-12 14:37:37 ERROR (MainThread) [custom_components.hello_state] Missing required configuration items in hello_state: text -16-03-12 14:37:37 ERROR (MainThread) [homeassistant.bootstrap] component hello_state failed to initialize -``` - After a start or a restart of Home Assistant the component will be visible in the frontend if the `configuration.yaml` file is up-to-date.

From def2ad097d9de613e40e927b4156924fa86182dd Mon Sep 17 00:00:00 2001 From: Steven Webb Date: Thu, 29 Dec 2016 09:24:30 -0500 Subject: [PATCH 104/190] Create configuration_yaml_by_cy1701 (#1667) * Create configuration_yaml_by_cy1701 my configuration for the cookbook * Update configuration_yaml_by_cy1701 Corrected format. --- source/_cookbook/configuration_yaml_by_cy1701 | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 source/_cookbook/configuration_yaml_by_cy1701 diff --git a/source/_cookbook/configuration_yaml_by_cy1701 b/source/_cookbook/configuration_yaml_by_cy1701 new file mode 100644 index 00000000000..783fa134afe --- /dev/null +++ b/source/_cookbook/configuration_yaml_by_cy1701 @@ -0,0 +1,10 @@ +layout: page +title: "Configuration.yaml by cy1701" +description: "" +date: 2016-12-28 20:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Example configuration.yaml +ha_external_link: https://github.com/cy1701/Home-Assistant-Configuration From 90b8600c745cb7c4b464265e7a20ebde2bffa53f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 29 Dec 2016 19:27:22 +0100 Subject: [PATCH 105/190] Fix header --- source/_cookbook/configuration_yaml_by_cy1701 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_cookbook/configuration_yaml_by_cy1701 b/source/_cookbook/configuration_yaml_by_cy1701 index 783fa134afe..34e1c4cab4a 100644 --- a/source/_cookbook/configuration_yaml_by_cy1701 +++ b/source/_cookbook/configuration_yaml_by_cy1701 @@ -1,3 +1,4 @@ +--- layout: page title: "Configuration.yaml by cy1701" description: "" @@ -8,3 +9,4 @@ sharing: true footer: true ha_category: Example configuration.yaml ha_external_link: https://github.com/cy1701/Home-Assistant-Configuration +--- From 3f3828e0099d7ec5d50b6a4de8a050df89b56d9c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 29 Dec 2016 19:50:32 +0100 Subject: [PATCH 106/190] Update /apt/history --- source/developers/rest_api.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/developers/rest_api.markdown b/source/developers/rest_api.markdown index 1903af9863d..2bdf49b707b 100644 --- a/source/developers/rest_api.markdown +++ b/source/developers/rest_api.markdown @@ -192,7 +192,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ -H "Content-Type: application/json" http://localhost:8123/api/services ``` -#### {% linkable_title GET /api/history %} +#### {% linkable_title GET /api/history/period/<timestamp> %} Returns an array of state changes in the past. Each object contains further details for the entities. ```json @@ -227,13 +227,13 @@ Sample `curl` commands: ```bash $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ -H "Content-Type: application/json" \ - http://localhost:8123/api/history/period/2016-02-06 + http://localhost:8123/api/history/period/2016-12-29T00:00:00+02:00 ``` ```bash $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ -H "Content-Type: application/json" \ - http://localhost:8123/api/history/period/2016-02-06?filter_entity_id=sensor.temperature + http://localhost:8123/api/history/period/2016-12-29T00:00:00+02:00?filter_entity_id=sensor.temperature ``` #### {% linkable_title GET /api/states %} From 3bbd4815f7fe024cfb8142d3191aa7a99ed059f4 Mon Sep 17 00:00:00 2001 From: linuxlurak Date: Fri, 30 Dec 2016 13:47:12 +0100 Subject: [PATCH 107/190] Update logger.markdown (#1674) --- source/_components/logger.markdown | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/_components/logger.markdown b/source/_components/logger.markdown index 3cb7a36d2f5..c6b2bc1072b 100644 --- a/source/_components/logger.markdown +++ b/source/_components/logger.markdown @@ -15,7 +15,11 @@ The logger component lets you define the level of logging activities in Home Ass To enable the logger in your installation, add the following to your `configuration.yaml` file: -By default log all messages and ignore events lower than critical for specified components. +To have a full log and log everything only this entry is needed (without any qualifier): +```yaml +logger: +``` +To log all messages and ignore events lower than critical for specified components. ```yaml # Example configuration.yaml entry @@ -26,7 +30,7 @@ logger: homeassistant.components.camera: critical ``` -By default ignore all messages lower than critical and log event for specified components. +To ignore all messages lower than critical and log event for specified components. ```yaml # Example configuration.yaml entry From ddaac19613c2bfb44ec970f7fa458513bedd0d50 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 30 Dec 2016 13:57:14 +0100 Subject: [PATCH 108/190] Font size headings --- 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 25691c3fb6d..754e89ef401 100644 --- a/source/_components/device_tracker.markdown +++ b/source/_components/device_tracker.markdown @@ -15,7 +15,7 @@ There are also trackers available which use different technologies like [MQTT](/ An [event](/getting-started/automation-trigger/#event-trigger) (`device_tracker_new_device`) will be fired when a device is discovered for the first time. -# {% linkable_title Configuring a `device_tracker` platform %} +## {% linkable_title Configuring a `device_tracker` platform %} To get started add the following lines to your `configuration.yaml` (example for Netgear): @@ -51,7 +51,7 @@ device_tracker: Multiple device trackers can be used in parallel, such as [Owntracks](/components/device_tracker.owntracks/#using-owntracks-with-other-device-trackers) and [Nmap](/components/device_tracker.nmap_tracker/). The state of the device will be determined by the source that reported last. -# {% linkable_title `known_devices.yaml` %} +## {% linkable_title `known_devices.yaml` %} Once `device_tracker` is enabled, a file will be created in your config dir named `known_devices.yaml`. Edit this file to adjust which devices to be tracked. From f6e0ede2ffda0337d7c1c1f93485ccce2d237415 Mon Sep 17 00:00:00 2001 From: Dennis Sutch Date: Fri, 30 Dec 2016 09:20:05 -0500 Subject: [PATCH 109/190] Fix link to Manual Installation (#1676) Link to Manual Installation had incorrect capitalization and when used was not opening page to the Manual Installation linkable title. --- source/getting-started/installation-raspberry-pi.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/installation-raspberry-pi.markdown b/source/getting-started/installation-raspberry-pi.markdown index c30b177cfcd..0158ec82858 100644 --- a/source/getting-started/installation-raspberry-pi.markdown +++ b/source/getting-started/installation-raspberry-pi.markdown @@ -12,7 +12,7 @@ footer: true ### {% linkable_title Installation %} There's currently three documented ways to install Home Assistant on a Raspberry Pi. - - [Manual installation](/getting-started/installation-raspberry-pi/#Manual-Installation). Following this guide doing each step manually. This is highly recommended as a first installation since you get a good overview of the installation. + - [Manual installation](/getting-started/installation-raspberry-pi/#manual-installation). Following this guide doing each step manually. This is highly recommended as a first installation since you get a good overview of the installation. - [Hassbian image](/getting-started/installation-raspberry-pi-image). Basic installation with the same settings as following the manual installation guide. Some additional software is preinstalled to make installation quicker and easier. Installation uses `homeassistant` user. - [All-in-One Installer](/getting-started/installation-raspberry-pi-all-in-one/). Fabric based installation script that installs and compiles many of the things an advanced Home Assistant install is likely to need. Installation uses `homeassistant` user. From 549a1df85818d19c1fc4d0d9ab51374739f13272 Mon Sep 17 00:00:00 2001 From: chris-thorn Date: Fri, 30 Dec 2016 19:39:56 +0000 Subject: [PATCH 110/190] Corrected code block formatting for yaml in step 8 (#1678) --- source/_components/switch.wake_on_lan.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/switch.wake_on_lan.markdown b/source/_components/switch.wake_on_lan.markdown index bc7e314ccb1..510299accbc 100644 --- a/source/_components/switch.wake_on_lan.markdown +++ b/source/_components/switch.wake_on_lan.markdown @@ -51,7 +51,7 @@ from Home Assistant running on another Linux computer (the **server**). 6. On the **target**, we need to let the hass user execute the program needed to suspend/shut down the target computer. I'm using `pm-suspend`, use `poweroff` to turn off the computer. First, get the full path: `which pm-suspend`. On my system, this is `/usr/sbin/pm-suspend`. 7. On the **target**, using an account with sudo access (typically your main account), `sudo visudo`. Add this line last in the file: `hass ALL=NOPASSWD:/usr/sbin/pm-suspend`, where you replace `hass` with the name of your user on the target, if different, and `/usr/sbin/pm-suspend` with the command of your choice, if different. 8. On the **server**, add the following to your configuration, replacing TARGET with the target's name: -``` yaml +```yaml switch: - platform: wake_on_lan name: "TARGET" From 0253fb5738ea045ddcdddc524d0a4d77ec2d8afc Mon Sep 17 00:00:00 2001 From: MrMep Date: Fri, 30 Dec 2016 20:40:41 +0100 Subject: [PATCH 111/190] Update keyboard_remote.markdown (#1677) The option name is "type", not "key_value", see source. --- source/_components/keyboard_remote.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/keyboard_remote.markdown b/source/_components/keyboard_remote.markdown index f5fdf73b1e0..62dd5844035 100644 --- a/source/_components/keyboard_remote.markdown +++ b/source/_components/keyboard_remote.markdown @@ -24,13 +24,13 @@ The `evdev` package is used to interface with the keyboard and thus this is Linu # Example configuration.yaml entry keyboard_remote: device_descriptor: '/dev/input/by-id/foo' - key_value: 'key_up' + type: 'key_up' ``` Configuration variables: - **device_descriptor** (*Required*): List of URLS for your feeds. -- **key_value** (*Required*): Possible values are `key_up`, `key_down`, and `key_hold`. Be careful, `key_hold` will fire a lot of events. +- **type** (*Required*): Possible values are `key_up`, `key_down`, and `key_hold`. Be careful, `key_hold` will fire a lot of events. And an automation rule to breathe life into it: From 6b51f396be32f168e41e07a2518ad10bc5fba743 Mon Sep 17 00:00:00 2001 From: chris-thorn Date: Fri, 30 Dec 2016 19:42:33 +0000 Subject: [PATCH 112/190] Changed "sensor.sab_..." to "sensor.sabnzbd_..." (#1679) --- source/_components/sensor.sabnzbd.markdown | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/_components/sensor.sabnzbd.markdown b/source/_components/sensor.sabnzbd.markdown index f769a862920..8b2a7fe0c8c 100644 --- a/source/_components/sensor.sabnzbd.markdown +++ b/source/_components/sensor.sabnzbd.markdown @@ -48,15 +48,15 @@ Configuration variables: - **disk_size**: Disk size of the storage location - **disk_free**: Free disk space at the storage location -Note that this will create sensors under the name 'sab' and NOT 'sabnzbd' as follows: +Note that this will create the following sensors: ``` - - sensor.sab_status - - sensor.sab_speed - - sensor.sab_queue - - sensor.sab_left - - sensor.sab_disk - - sensor.sab_disk_free + - sensor.sabnzbd_status + - sensor.sabnzbd_speed + - sensor.sabnzbd_queue + - sensor.sabnzbd_left + - sensor.sabnzbd_disk + - sensor.sabnzbd_disk_free ``` As always, you can determine the names of sensors by looking at the dev-state page `< >` in the web interface. From acae93aa36d2e88b28c59152905096a9cc8b4cee Mon Sep 17 00:00:00 2001 From: Jim Rollenhagen Date: Sun, 1 Jan 2017 14:59:00 -0500 Subject: [PATCH 113/190] Fix formatting error in Samsung TV component docs --- source/_components/media_player.samsungtv.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index 0374c23a708..7d7daa2b89b 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -29,7 +29,7 @@ media_player: Configuration variables: -- **host** (*Required*): The IP of the Samsung Smart TV, eg. `192.168.0.10^. +- **host** (*Required*): The IP of the Samsung Smart TV, eg. `192.168.0.10`. - **port** (*Optional*): The port of the Samsung Smart TV. Defaults to 55000. - **name** (*Optional*): The name you would like to give to the Samsung Smart TV. - **timeout** (*Optional*): The time-out for the communication with the TV. Defaults to 0. From 92d8054f31d74e909e566047bf85f201f0e83d33 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 3 Jan 2017 19:33:38 +0100 Subject: [PATCH 114/190] Add script s we no longer host it in the main repo (fixes #1682) --- .../autostart-upstart.markdown | 108 +++++++++++++++++- 1 file changed, 107 insertions(+), 1 deletion(-) diff --git a/source/getting-started/autostart-upstart.markdown b/source/getting-started/autostart-upstart.markdown index f11daea8cff..3db73e5591f 100644 --- a/source/getting-started/autostart-upstart.markdown +++ b/source/getting-started/autostart-upstart.markdown @@ -17,7 +17,113 @@ $ 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 could look like the sample below. + +```bash +#!/bin/sh +### BEGIN INIT INFO +# Provides: hass +# Required-Start: $local_fs $network $named $time $syslog +# Required-Stop: $local_fs $network $named $time $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Description: Home\ Assistant +### END INIT INFO + +# /etc/init.d Service Script for Home Assistant +# Created with: https://gist.github.com/naholyr/4275302#file-new-service-sh +# +# Installation: +# 1) If any commands need to run before executing hass (like loading a +# virutal environment), put them in PRE_EXEC. This command must end with +# a semicolon. +# 2) Set RUN_AS to the username that should be used to execute hass. +# 3) Copy this script to /etc/init.d/ +# sudo cp hass-daemon /etc/init.d/hass-daemon +# sudo chmod +x /etc/init.d/hass-daemon +# 4) Register the daemon with Linux +# sudo update-rc.d hass-daemon defaults +# 5) Install this service +# sudo service hass-daemon install +# 6) Restart Machine +# +# After installation, HA should start automatically. If HA does not start, +# check the log file output for errors. +# /var/opt/homeassistant/home-assistant.log + +PRE_EXEC="" +RUN_AS="USER" +PID_FILE="/var/run/hass.pid" +CONFIG_DIR="/var/opt/homeassistant" +FLAGS="-v --config $CONFIG_DIR --pid-file $PID_FILE --daemon" +REDIRECT="> $CONFIG_DIR/home-assistant.log 2>&1" + +start() { + if [ -f $PID_FILE ] && kill -0 $(cat $PID_FILE) 2> /dev/null; then + echo 'Service already running' >&2 + return 1 + fi + echo 'Starting service…' >&2 + local CMD="$PRE_EXEC hass $FLAGS $REDIRECT;" + su -c "$CMD" $RUN_AS + echo 'Service started' >&2 +} + +stop() { + if [ ! -f "$PID_FILE" ] || ! kill -0 $(cat "$PID_FILE") 2> /dev/null; then + echo 'Service not running' >&2 + return 1 + fi + echo 'Stopping service…' >&2 + kill -3 $(cat "$PID_FILE") + while ps -p $(cat "$PID_FILE") > /dev/null 2>&1; do sleep 1;done; + echo 'Service stopped' >&2 +} + +install() { + echo "Installing Home Assistant Daemon (hass-daemon)" + echo "999999" > $PID_FILE + chown $RUN_AS $PID_FILE + mkdir -p $CONFIG_DIR + chown $RUN_AS $CONFIG_DIR +} + +uninstall() { + echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] " + local SURE + read SURE + if [ "$SURE" = "yes" ]; then + stop + rm -fv "$PID_FILE" + echo "Notice: The config directory has not been removed" + echo $CONFIG_DIR + update-rc.d -f hass-daemon remove + rm -fv "$0" + echo "Home Assistant Daemon has been removed. Home Assistant is still installed." + fi +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + install) + install + ;; + uninstall) + uninstall + ;; + restart) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart|install|uninstall}" +esac +``` 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: From e0f1b354eed56986ea83604d25e7239488f23f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Arnauts?= Date: Tue, 3 Jan 2017 19:41:12 +0100 Subject: [PATCH 115/190] Overriding build-components within subfolders. (#1705) It was not explained that you had to create a folder inside `config/custom_components` if the original component was also in a subfolder. --- source/developers/component_loading.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/component_loading.markdown b/source/developers/component_loading.markdown index 35b50ee975c..f57148ec8b5 100644 --- a/source/developers/component_loading.markdown +++ b/source/developers/component_loading.markdown @@ -17,7 +17,7 @@ A component will be loaded on start if a section (ie. `light:`) for it exists in Once loaded, a component will only be setup if all dependencies can be loaded and are able to setup. Keep an eye on the logs to see if your component could be loaded and initialized.

-You can override a built-in component by having a component with the same name in your config/custom_components folder. This is not recommended and will probably break things! +You can override a built-in component by having a component with the same name in your config/custom_components folder. If the build-in component is inside a subfolder, take care to place your customization in a folder with the same name in config/custom_components/*folder*. Note that overriding build-in components is not recommended and will probably break things!

From b6ff4e607cb062781dfca7d78d902b6ea7777e06 Mon Sep 17 00:00:00 2001 From: Joeboyc2 Date: Tue, 3 Jan 2017 18:41:51 +0000 Subject: [PATCH 116/190] Updated Configuration variables text (#1704) The text for the configuration variables was not relevent to the listed variables. i have updated it in my own words, happy for this to be changed to conform to other documents, are there other variables to be added? --- source/_components/light.hyperion.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/light.hyperion.markdown b/source/_components/light.hyperion.markdown index 576f486f1ac..c2a79f5e95a 100644 --- a/source/_components/light.hyperion.markdown +++ b/source/_components/light.hyperion.markdown @@ -24,5 +24,5 @@ light: Configuration variables: -- **host** (*Optional*): To enable the automatic addition of lights on startup. -- **port** (*Optional*): A list of devices with their ip address and a custom name to use in the frontend. +- **host** (*Optional*): IP Address of the device the Hyperion service is running on. +- **port** (*Optional*): The Port used to comunicate with the Hyperion service (defualt is 19444). From 84c4126208c16f0c984f41ff58706508d3e472a4 Mon Sep 17 00:00:00 2001 From: Joeboyc2 Date: Tue, 3 Jan 2017 18:44:52 +0000 Subject: [PATCH 117/190] Final Example was incorrect (#1702) i have updated the example as this was not working in my config --- source/_components/sensor.speedtest.markdown | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source/_components/sensor.speedtest.markdown b/source/_components/sensor.speedtest.markdown index a2a15e02de3..d814ff2b492 100644 --- a/source/_components/sensor.speedtest.markdown +++ b/source/_components/sensor.speedtest.markdown @@ -76,15 +76,15 @@ Everyday at 12:30AM, 6:30AM, 12:30PM, 6:30PM: ```yaml # Example configuration.yaml entry sensor: - platform: speedtest - minute: 30 - hour: - - 0 - - 6 - - 12 - - 18 - monitored_conditions: - - ping - - download - - upload + - platform: speedtest + minute: 30 + hour: + - 0 + - 6 + - 12 + - 18 + monitored_conditions: + - ping + - download + - upload ``` From 73a8a3e883788e8e4fa9eb7723dc8e46d68eced7 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Tue, 3 Jan 2017 18:48:17 +0000 Subject: [PATCH 118/190] Renamed service in description (#1695) Units variable description still referred to forecast.io rather than Dark Sky --- source/_components/sensor.darksky.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.darksky.markdown b/source/_components/sensor.darksky.markdown index b878a599d74..153c29cb12f 100644 --- a/source/_components/sensor.darksky.markdown +++ b/source/_components/sensor.darksky.markdown @@ -84,7 +84,7 @@ Configuration variables: - **apparent_temperature_min**: Today's expected apparent low temperature. - **precip_intensity_max**: Today's expected maximum intensity of precipitation. - **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`. -`auto` will let forecast.io decide the unit system based on location. +`auto` will let Dark Sky decide the unit system based on location. - **update_inverval** (*Optional*): Minimum time interval between updates. Default is 2 minutes. Supported formats: - `update_interval: 'HH:MM:SS'` - `update_interval: 'HH:MM'` From 2a7fb42ae193949effb2352c99937d1c0222b453 Mon Sep 17 00:00:00 2001 From: Georgi Kirichkov Date: Tue, 3 Jan 2017 20:49:13 +0200 Subject: [PATCH 119/190] Updates alarm_control_panel Example (#1688) The example was out of date using 'platform: state' in the condition, instead of 'condition: state' --- source/_components/alarm_control_panel.manual.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/alarm_control_panel.manual.markdown b/source/_components/alarm_control_panel.manual.markdown index fd1807019fd..e500f2603ec 100644 --- a/source/_components/alarm_control_panel.manual.markdown +++ b/source/_components/alarm_control_panel.manual.markdown @@ -54,7 +54,7 @@ automation: entity_id: sensor.window state: 'open' condition: - - platform: state + - condition: state entity_id: alarm_control_panel.ha_alarm state: armed_away action: From e15636c8b051b8850ede6ff1d407bba08f0711d2 Mon Sep 17 00:00:00 2001 From: LightIsLife Date: Tue, 3 Jan 2017 19:50:53 +0100 Subject: [PATCH 120/190] AiO install requires "pip install lxml" (#1686) In addition to the added packages, it is necessary to install lxml within the virtual environment if AiO install has been chosen (I did not verify with other installs). Otherwise HASS will not start and not give any error messages when device_tracker with Fritz is used. --- source/_components/device_tracker.fritz.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.fritz.markdown b/source/_components/device_tracker.fritz.markdown index fa7ae119426..40d7bfa985d 100644 --- a/source/_components/device_tracker.fritz.markdown +++ b/source/_components/device_tracker.fritz.markdown @@ -17,7 +17,7 @@ The `fritz` platform offers presence detection by looking at connected devices t

It might be necessary to install additional packages: $ sudo apt-get install libxslt-dev libxml2-dev python3-lxml -

+If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command pip install lxml; be patient this will take a while.

To use an Fritz!Box router in your installation, add the following to your `configuration.yaml` file: From 11c9f298da31eb8b84b95137329299d14805e42a Mon Sep 17 00:00:00 2001 From: Eric Thompson Date: Tue, 3 Jan 2017 11:10:50 -0800 Subject: [PATCH 121/190] fix "Sonos" typo in discovery docs (#1684) --- source/_components/discovery.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index 276571e3f81..4a97acd53e4 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -21,7 +21,7 @@ Home Assistant can discover and automatically configure zeroconf/mDNS and uPnP d * Plex media server * Panasonic Viera * Roku media player - * Sono Speaker + * Sonos Speakers * Yamaha media player * Logitech media server (Squeezebox) * DirecTV From d9ad86e9272e8453000a244483671220960e2120 Mon Sep 17 00:00:00 2001 From: Brian J King Date: Tue, 3 Jan 2017 13:11:48 -0600 Subject: [PATCH 122/190] Fixing broken formatting on Alexa component page (#1685) Fixes broken formatting on [Alexa Component Page](https://home-assistant.io/components/alexa/) flash briefing skill --- source/_components/alexa.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/alexa.markdown b/source/_components/alexa.markdown index 1c32f9d02fd..db6115b352b 100644 --- a/source/_components/alexa.markdown +++ b/source/_components/alexa.markdown @@ -355,7 +355,7 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf - Hit "Next" - Test - Having passed all validations to reach this screen you can now click on "< Back to All Skills" as your flash briefing is now available as in "Development" service. -- To invoke your flash briefing, open the Alexa app on your phone or go to [Alexa|http://alexa.amazon.com/], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing". +- To invoke your flash briefing, open the Alexa app on your phone or go to the [Alexa Setings Site][alexa-settings-site], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing". [amazon-dev-console]: https://developer.amazon.com [flash-briefing-api]: https://developer.amazon.com/alexa-skills-kit/flash-briefing @@ -364,3 +364,4 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf [small-icon]: /images/components/alexa/alexa-108x108.png [templates]: /topics/templating/ [zero-three-one]: /blog/2016/10/22/flash-briefing-updater-hacktoberfest/ +[alexa-settings-site]: http://alexa.amazon.com/ From 06e0181ec2f4b03c07701a6d48faf5b709d34d71 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 3 Jan 2017 22:52:44 +0100 Subject: [PATCH 123/190] Add bruh tree post --- ...3-control-my-christmas-tree-stats.markdown | 44 ++++++++++++++++++ .../2017-01-bruh-christmas/christmas-tree.gif | Bin 0 -> 4007019 bytes .../blog/2017-01-bruh-christmas/stats.png | Bin 0 -> 18828 bytes 3 files changed, 44 insertions(+) create mode 100644 source/_posts/2017-01-03-control-my-christmas-tree-stats.markdown create mode 100644 source/images/blog/2017-01-bruh-christmas/christmas-tree.gif create mode 100644 source/images/blog/2017-01-bruh-christmas/stats.png diff --git a/source/_posts/2017-01-03-control-my-christmas-tree-stats.markdown b/source/_posts/2017-01-03-control-my-christmas-tree-stats.markdown new file mode 100644 index 00000000000..8303520eedd --- /dev/null +++ b/source/_posts/2017-01-03-control-my-christmas-tree-stats.markdown @@ -0,0 +1,44 @@ +--- +layout: post +title: "Control My Christmas Tree Stats" +description: "I used Home Assistant for a publicly controllable Christmas tree and it worked great!" +date: 2017-01-03 18:00:00 +0000 +date_formatted: "January 3, 2017" +author: Ben +author_twitter: bruhautomation +comments: true +categories: community +og_image: /images/blog/2017-01-bruh-christmas/christmas-tree.gif +--- + +Hello and Happy New Year! + +I am not Paulus. My name is Ben. I’m the creator of the [BRUH Automation YouTube channel][bruh]. If you’ve ever seen any of my videos then you’ll know I love home automation and Home Assistant. + +I wanted to share some exciting stats from one of my latest projects - [Control My Christmas tree!](https://github.com/bruhautomation/BRUH-Christmas-Tree-2016) For this project, I created a Home Assistant instance on a Raspberry Pi 2 that was publically accessible via DuckDNS. Paulus was great in helping me disable several of the developer services that could have been exploited to disable the Home Assistant instance. + +I added three devices to the Home Assistant instance - a Wemo Insight, Sonoff Switch (running MQTT firmware), and a DIY MQTT Digital LED strip. After adding a few 3D printed Star War decorations, the tree was ready to go! + +

+ + The Christmas tree in action. +

+ +During the time by tree was set up, I had 7,366 visitors from 88 countries connect to my Home Assistant instance. This generated an estimated 100,000 clicks on the switches in my Home Assistant instance - thanks in part to some folks who posted up with macros for 6-8 hour stretches. + +

+ + View counts of the video. +

+ +I’m very excited to report that Home Assistant didn’t crash a single time. In fact, it didn’t even bog down or need to be restarted. The Wemo Insight and Sonoff relays were incredibly resilient, as well. I only had one Sonoff failure and two Wemo Insight failures both of which were resolved by power cycling them. The digital LED strips also fared pretty well, hanging up only twice, aside from a loose connector. + +I would like to send a big thank you to the Home Assistant developers who have worked so hard on making Home Assistant run so well. This project is a testament to your hard work on making Home Assistant one of the best home automation platforms out there. Thank you! + +I’m looking forward to continuing my home automation adventures with Home Assistant and I can’t wait for next Christmas with an even bigger and badder tree. :) + +Wishing everyone the best in 2017! + +Cheers! -Ben + +[bruh]: https://www.youtube.com/channel/UCLecVrux63S6aYiErxdiy4w diff --git a/source/images/blog/2017-01-bruh-christmas/christmas-tree.gif b/source/images/blog/2017-01-bruh-christmas/christmas-tree.gif new file mode 100644 index 0000000000000000000000000000000000000000..28b6e2b19ba89a0cdb5f884b7954539a57dca7e1 GIT binary patch literal 4007019 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 &pAQS@^%An`BJZy;ax5*7R)~N-rb6a@o3J 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%0DErZaWqfod*9Ut?P6B=#Vz%`Q=)@UgqrO z>pVW`ln$T%3T$iMffqIeneHuaUWg~NX;_`wF0@*n+~I{~-JuR|JC*EKNYyD3R?N<9 zyw16$Zt6Fi>K|B2J19?HL?^(z!!F8L+r#x z~#KG99QS$c+>ShYW7Cr&8ApomC?D0>yvfLXZ3+iaB_P%hiz~L zaDWGRc!zh`1w`0_IOy_~Yv_kAIp>XS`%ElSHX;9K@`Rh?=nU6zH_ruk9&VBL@RG*k zH?z`}K3W#GW~HU!+fum0ex<2eZ0{!69=F;XKXe`E)$$(EthI%(N^dw%YHJvBDGjn` zcxqQ56OEz(XzimWZ`A5@g?o^4YUqc1Fb94xhf3)3I6!chb=h5>^=AWInT_ZbyiXV4 zgd<&ZHcy5(uj>mRcAmXP>&0HjRc@clbLgJjOffB00V@V;(^4d4(Uo!N#A(N7iJm5J z@m};D_bUALS%H~!WiSRIuk@qV?0Dv1v*Ob|jix~T^iXf|`UW(VQ)qLb2YN7vU2yd- ze{BgqYg)JU>Fd#!v%9LMgx?1CV1IaGzia=!bLq0`q=4({KlE|ez z0vOOJJ3s_jcn5s=_g&EPNw-ic%n@xI3RjBj?&!*9Chp=V!lkk@W9MIan5Q_}5Fz~6Rn2lBye`IvwCMkiKE z_SsW#U8FwubXNv$KJn?qk2Zj272HJd3btPXM{MQ z`WL`ECa{Fr-euZmg4ln3HTD4U(#rn|0DuZe1+p)DvzK^dH}>4462{FmW@l;UkM6rq z5f;z2GX*Z|-o3`wsx=LK?ce@J22rCve8k`2@CX0H-#uG+e8|Un$!GVbHpBK>;)C@3 zIx{90`+SzOwy{Qid7uYi0EjpO5m`clB!a;R5i9{?qVOR?gfHgId9j3vBs!hy(3lY7 zzyTAqd<}zUa+}F%DOa*=Y0_8ATrg$QJXXurO`JMgs8OdqD$=@{ma(r z)H-3BF75g?>{f}D(zIsGHtv|XcJmIDLyD(YuY3op;KDcsAIT|Da52HT1n16u7?hrH z#tci>%+cdV?^>lergl}I5upPUCI(-ux9C2igghFbWc0wCzyuUI3b|C-|G#Q830TvB zvHf(QP(>*SnNtl)^afvqGvt&*kfx!3b`6;1{!(fBVR36n=-lC#*H%1NIB({uSiir z3xR04hFi=*w;T)hg&F@{bYXVE-g#lV00DM0Fd`2>amsTIEW20|M|nt4q-T2Sx%UEm z0X(!s9ZyWq07w8(u-{DnLFp)@0G{SjfCM6V>7|w}xT%8>dMY8P6^c44g&Ug6VOk!- zB_gYJm3U%`IubP_jI^?dL#&hC_@k_t`O52Oj*QkBf=9*{+bxwEOJI?+J;EezxxHjl zm9ISGTLn-+(LxS6F!$}D9$6qJxfWft#6c3JIfI^W#_63r!0aMWd2;~6P(gp92~l(y zxiJTuKV54o(euqE3w(9E8eaxPA)WHgmYdjbV>EntZp zxFCr;E)9R?(FryU?F${d?E=#sKXcky2@-hf3CuO}SfXB^`||4^9U>sAC`c8o!p)SA z9{i}IQ6?Ny&`90{G2s$Z+-b#$TMQQC8ETAb#~pgS>Z>g~5o5_F$GCaQjp4v@&6M*er9Y{ z>3JhX=QtX=)&!;eh z1=9bIMuOm`xY$K6P6&*?B;&@;h(EWa5p%t2%*o(LtIz3bfT1%A9dS9NJ4TS2eazrB zYsn;S!cH-T{NO8ZCkCdi5+p0&ohrZg0!dgTBkD=hL1s|OIh?0ml>kQb(l)114sjt2 z$!FWlRlG(9p$8S9fF~OD%A?7Wma=20Lm!IGhYc=4TP(^hdD+WfW(=6ZOw}+yc9*jCcpr}O^K@;tx zE`^*4Q0v*A4K=AJufZv7@VeI!yMTza#SnU^WY71&X9h~BK^Cy|kI~W^QHh#FqEY{H zt1WBt8j5N$qZ$1osXQ9Yk4~;cHz=u!fI^uYO^AR26wFF})y%`XRGNAW5(Z@_S)2ax ztvJ1+PV?xDZ$7D^CK1lkejv4j9@VI&eWdr6YLSCnr=Djrh*r;5)ptRUJZG|m+R}E7 z>b-M&OEhN{^pK2jKI{Q zde^W4?B8LSso2Gu*Rc_d=>#LI<791iy~begk1PA$n_4!rq>%4?DU}E*2*L_e`+d~Z>yKr3=JEawiZm&mP~ zt7z!zGWSgvrC&txbyF--Vy+lR&?GEjlzHgPjF+V~hUs~0y5mXjxV=G6O{FmnWXp0| zHornLhIKQDLfnB2cnCt%hzc%M_wET#0Pyyj3RWVHQU zK%u_|;G=CE>GV=s89a73yfeMr9$VVZ9d7F{S_Cs_AF@hVQbSrsKs8nqoN8cj^}ZnR z5PhL3h?anb5A9T7=s{0jqI@k=*LK8-1OrhA|E(Cr(d;-gl;3lXcD*}&M?a?S+Stza zMmajhZhQONA@Zvi4Bg^#H*>tYQs7I2zV2$W``svScf3*VV`-;+!%OO5le8iAp0=bA z2klk{1b*6rudoiyC`R{+mu7V#;REanA`i`R>s{<3h_udRz5)!9|N7txSNLsk658xg zWBA!8S9;SmO;c-!xP340v&?A@Qk#ni=Qn^0l5(!2S1QKk0)k!GEJ%T|Wc2Y#)zMpkJ^DHPwlz?KH82X?HBCe;&`am^C_+xU0`^_k%H^`CkP_vHf2=$WQ` zpREYSwsD*IEuIbn!485O2c!Utogbp{T;&x3MV z#vi053;j7^3!+9LLgD^}Uelc(3&Pu>-NfqYMlFQa7OooAbcB5bLj>N#J#<10%t3ve z$3qB_+f3DZxFOpJqe8@CfOSFFD4#O=9{9K!v-OlW3}7_~BKFbS(iNi6#2^gLRW8lo zo^{bi-C!d+Vv3cYNm(9cyr1N$pU=TxCB`EJ&0hn7BBf#fV8ffqvEFUbVE6=2Q3ydgidEi(O?ZOS z4Ap+EKn;b-Is7dEO*WR%TFQ z9@34dd%~xW+Gmf2=zIdH3gRa=Y6CQA;ngYs+en1NvJng|0H_&6S;39Tn5YZ8^cF zUMRSbz!cD)R$AGt8Ie}?mNP0ugzbxaq(}9*>KO{-5g>vxYR5J3LLPJv5v-|xNI@C! zr<@k6rBdodmbfW5Q_UVdDR6D>Hcpcm}1;q-PUCYO*Gs zq!MYRBCD}VrC*q4kRoYRJc5#PAuFl>L@MCIG^B!lEFcjiiRwg|PWqM}jkDjZ}9x2Z{171d*#(oefG=;kY?Kr?76=bE|q(VXw z1I701lulTc5~!N^7MJP^TTWmEq}CZSRhNz_ng|hke2v8NLqEU+N9aelbj2QU=$i)Z z#(pL!E~}*FsolEdWMrqGmddnZ=nj^M1}H(!HKvW`WTN`Y%+8AW$s=Yq?n+`%xk{nB z_N>nyE8Nnhr@`Q9Qh}1bCJL$lP+Sf}TzG^zwV5M9lH4ii8wMCVIV0EV<`G3e0Hnv( z`U%_2fIRpEKfFUf(8D|A-Ww!=NJRxqyzS-2tzNpP$9i5&UDUHGV&a`F%BF0KqT|c{ zK0@caBCpY2E@^5Ok`ACxNP!6);80B|1D>wbC{e5ZPA6#1 zz~0L|MVP|H0PI4+=}APrmOjaDEhW5YBVP_)Iu1{ zE0m#=1O&_wD-qm00oWk_Fs!-<_R#9qJ~6)pfd86h+eicw+=~qXgF(oHIS@oF$ii@p z8q?xI!BFFdp0Tl_@eS{6bXpMiJr^8D7tHA`2$!S%fYcq6uyzS9cd-GsKBm5{upl4C zqMhFh-|Y7qoeWQ|4I?j-{sIP1WBO_?NuIGv+<`#~aaa|A{TlJ_z)+mfi9;|btZfef z)2b8;ilBhyJc(($6a);|!8^=?96&)MfEF#R!l~(<8GGnB{IV~rF$OPkq_!~!x11b{ z?8wsb^osBZ_aNYwrymEM_TI{`RN}WDG9v4rQL?dTuCXKIFb30x+XC~{nS^4-BI$N= zzIr(vp1_G^ERsoGjkn3bInm}G`sAL{iKWva^Vs(x~-!&Cvpr|G%-`I<-YVd ztMB zK^52yF-*fmOEhz8HCHpTQflx9cd+-(G0FC+9seny?hi?cbOZ&9nR|_*=XK*oxwSgdW$dYwg zm+V>hHXiR_NB`{}@1*JcPg~11TPsH5VsoS3b@=XeBg3?GU#?6KHk|s0DtPK3$bi$> z!0y={9k`m9=D}jWKx#dlm{w0v%PKaE>DKnN6Z>ycGeHkAfm&X%ztEZ-5CRJX!#NyW z+M2;Ih{FZ9Hf$d_f>X398uLYaV{Sk1GE3`5r%G^hG#;058l3QP8>)=PbzCp^jb?L> zsx;(wv$>*cbkDY>%IQpNtR<_jb;~JsFIg0r!PC|Oj)V7Pm(s!F<~2N6D>uXe%g{iX zw~^=n^F7yYC&*R{i?#C( zA@oXk-wOAj5_d=w#fJN_anE^-nsgyI_fX<2bh|X4ulS0KIdk%5P#l?TU-u<@!Y5z? zM_d6Ib^;g%L!tciy_EMv{MtMPbp%|4KhVQ@n{rWeHVo;mJkJT*gtkMpi4DCLHDE(V zbV7chb~2C}R)e{h*Sf8TxofZSf_H40n|VfmaBr8|nydBxoQQEZP-9_pPg3)-kGON2 zxa{nCimUivS9=e*-^Y14CYqcvpm&j> zfZ@1*T`^!oGmN1>u)25ySlQWbyBGbWgQ*X=?%ct9cZk_{d=l|g1eVGZ3}M3+jLEp5 z_P<^5!Z*Cb=eqf_G15`|uk+HyqqQ?5fCCho$45}1ntXDH7l@0zv)_Uy>?q5R@4Hd^ zbZ7O;U%MoOe9;7RIrkVdT(vISxZ;Dt*EPevE6-O2Fho>wrC&ocxKKQWC2iLKW+zxa zKj_oLMSUIio(lwn)$g=@Sg2xVsMohXIeh(?GdQ!}_KDsVgq;1buRX^b`yq$8?_V>? zGq;V_eV!|F-oI;n_Bq6Z{ogacFmt1}tAd*fU^fuMA!tP!sJ;#`_AWYlFod$7IA7OF z{=xx6ds~78P8A}!!19${rE3S;(1Sco)x9tT9cDfgVf}!HWIO;wI)MWTjw5IAAVP)R z7&g@Quo}dO5+ORXcoA7fjT>)u^!U-EEs-Nhj;uxMWJ;8$RS2*zbvj_<+ve93$kQ< zur2AsY-~R!P5n9fa1u1BoM8a3MGrSes)>V6%%2J&#ZsS7Z-G6XAatYHX{rOx2J>5KiS#L=xo+Y0y;Si)A-GS%a* zLbi}($K`qz^OQSMdEl0B9Sq=J%Ym8Km4Y2?5S=MlduIulK+QDNt|{iYYxr>z>1&-! zI!dLP?!=#akPMTMd-^d)>a4l$S`KR3yhfgP!`xl}?X*FY!HXt@&|^mvHd7@YxWx}W z;EHH<5B_j9BOd$k2AVM0vP=TM+;vwN1pWMh-zVj_G zeR;EyN!<57_yNvgmJ;Lq40k`od5S@c3svLTNI9~gN`N0)mF3*RsJSR`RAdeC%$vC80g4#L=22jX>1zeb( zaL(qn9eS+`ZZgL^cGHCz7I6iMw81RRz$YatF(Tv$RH3FgC@Ws^F6j%V7PsgqE+)*2 zegj-j#z;o`J@bAB;#3+hhN1rbPh)c=U;qJFGCL*^k9lO^9tFv(TuD$e=RAx{Y?Mxh zsG?YhOkxszMjRtGGKBK*2S4}$j4Mr&NoZP^*J8lQJ9!Noyii`4q;tdGWMX+VASgD# z@eXRt!ECWy9R=Pnh9JD520f@HA2zcC4q(DR9Ds%tdr8GUrU#fRBPRRWhs-Z7GmOo2 zW;A&!1^qdpfY-#P8?{MPqaLu1;0&k#I5k2}bNX=|f!Wm`sfrj<)aZ18nT98N)KwuV z(FPZ|=N0%sPaVwCYnG4)J@`qjqv^(4uOZVbJIJ%*EL2R&%L5^J;{$BruoLjO2RyLR zymRpN2Y$^$Br@$qE~@CP>Tm;Ni$I=d72e|j4{mTvk`mzx zQ{Y1}SOJQ&UKf?Xpocv8vDSITCa%)DlR=4dg@W$zt_$UB7uf5AIoy>7bbtpx?qRM> z5LOq9$*w4*I8{8*9-oT65>t7Ywh zpz86oSGM}vRKuh@@B&HA@C|>oqaW=c14wfq(OJL?7}#iz zK&_R+G1&{(v5YQydFUMfak)~w_O$14a2O0-@bwQq_yH7{or6GZBN@Xuh!xrvq(DFd z7t?_Aw&M)riOiYKb>5;KB|Kr%?wKd4-HD%(0-!(tv@3(AZK2;7K#qOIWJ+CeqaO|F zNXwYgGo^18~eX780>nMvjm!pc*~LK^@fhF&}a3U}aywuhl+1qk2(99V-CPN5JtlZV@c za;cm_E6h4SeYE8^_qqApXLkRYDew+)z7b9Du3rx9D9bIQS=?_vPWs;k0XT67PViqK zTnfrqLj_7e6&`>80e^g;gvBo|i*0E92X=5nlHGI-Mz9=8F4!cQPR^{xQ($>r%Y+wN0976+)dZm5U~ z`HC;z!cNiu?r7im?Zwg#`UZmfV2m+D!aceH``}K~NC6d;3oE|Qdnm3S`T+{KVEu$4 z8{DrF7=a0A01DG3hB6_cA|VOzF9h^Yd6Wkp;KAd7p-tRspjK|LbVJ!buh{~jJ6<6H zyQeaILE9cM0_AW5nQok14+CRw>h$cw;^*pm0t8u0>xgf}yzaK-tp#5Y2A%Kho~jPj zZu+R|2D2(ac(Cps0Q^dz2+$zY$e<9CAs_A`@a&-d+z%GA0TwD@l!zyVx?ry)VakSM z1!7VEL}^TdfjO>$9<~b>Q=?0Op%aiJu;}51px_KgArRCM3fM3Qbj%Nk0Rjnv+oWh3 zS+Di~@X*fiOanKN1OIUMHVodvLc|JD1r3b_$4(I!kr5kF2BA;-C~XoA#xJlyxugK$ zG%XWl<`N3&2Re!ipa3240Uefb33q{P$cA`ijTfll*amO_;Y$!q?*1ln|KM-F_DLSh z@XBC8O?crQ`hg$d!M@aw6QV&F{Ei)-fej~%7{Ftf<`5>Mkq+UEbiU2eDiG?>2liTF z66a$NE36N@QMK+M1Un=6hHtj!&G>A~#FP&m({UYRupO!D9jlVKWQGz+fgTG<(=M?x zyg?O6&yXZ4hg=~P@1efT!5rcw$=*ddz=0uoAPe=;bA zvI9X7Vgm7uMDQrZaU74T934lCo)Rjf5`t=T1|iWZb5k*@vVyL!46MN(@sS>J;46`ti4pL@9PWW1vVpDMVXfqWI-r*h;ldUXCF_%Fk(efVhK_Bkn8z$2-F;hTgQZprRZmtoF7Hubu z$tT^1>e7ugjt%z>Y>;UoK@3(=AnL@6(4K@N!22i9*dZ?vKolD-g= z9}rV9b@3fw;T?MPFs(E(%|Wofg`YsOKbZl*;&4DOvp@rMGrg@dJu{|qa@-bFH2E+> zOY<}*^nMgajac&p-Kb+WR5t&V>_Aj1Z*u}q)KLG((rf_@h?7O_5jY>A9Ks>MdcYW0 zU<(D$6kOr`c7eP22|Ig~8oos>_vxaL08H{y{kT95&cO@q03NIcA1?A9(e^l;T`ZHVbKyDJ~BE9K~=2`GN%R}^kMz*0VK22Y7R3>?b96K z4;FTTU{SFWO4dhD(G`|W80|sBNl^BL$xyZD$!U0+dG+JMZO=U_!;WSQ_DO=~X z_r5hXjdDSRPfxk-T-~T=pHfgW!r!LyUxF)MtG3_@BuO*Qy}3|FKN^j(DF!K0T%3lYT!0j>FXZsE7UH4^l&cb{fJKkN;q-tKbb$=Wa(RBu z6yAYTlz^22dJ!K`*hlJF5%{852KQwFn7o8MK!Rq@xSOWd2HSetD$xf}lGTpejZU zGxk6TVs;3c>jqG7fC;#O4S1MBS9C`=Xt|Y6Kagl6CW2Y_bzPU6ELg=d_-Px69i`TT ztrCQZi&Si;?ykyva)CwnLU}yb%_!jaXC*3(KRhtLKIYkH`tE<@3@2CY>%z>L<31tFL7Vp(5tjV z%m_-Hr={Z#Z+xkDlC4)7YHk1tK@v=PM$^lZ756;dKp2b%NSgs1G&vS{K^OuM%jSR% zs)GO}GM5$msqTzB(19UXeC zl26hKAM!hc;s53qpeK(If}sm_;n?aj7O2pYm!UV)5g=$Yx8n9D3Hluk~IJlZ!`lUyw9`sl@ zEzKBw8;JQbLASC$at9Vx}($h z8$nuiO92r}IrNa(metnHzNfLDOfg^;+>duaEhdvo54Vp${qqj^Q|VjcSf( z)3CogkH>qDeH_Rc+q{1vJZhSjjpf31TDO>Iw88C{HK%TNZ^~Z9Wn}#@px~W zEJtI?O$ok`APo6WoS(Xf3W}a09EWTG%FoMZuHb`I;0YAx=e9!wh=4)5SREcap~3Gf z;o3kgT8uBkxlvrjp}WODdX0&;ud&xbAwsj7)7J)8qxa@jX5z>T>ODIrLRZY zb!{BdQ*6;znlIk9$1h#EH$AH4eNcQs6+9ii6J+RGOW935kr;^%puDaCeyM-pUt?Xd zbjVDqjAPqvrd#J)O0=U|j z+r-(U(4Tu7878{DRS;u*#?kR)(EY|)r6XP?P+4qEzs=p>y;)c9$H#lIxdDoX3m0T! z6&!FL1ndmJw$w-9oBe&f3gGcvy=Q`5A}129%xk>-3ci317~VlO*h{Bp$}T&-RQ-8vlbf?fIwSo#2x$>$ku=r`0mu6tLo#)&UIkIvv66m zu%5gg%zs_Y!yE#P=C0;o7ZE{RfPtUn0UKc3*z#c5eMk2hsabBH@8$f>i=h}mffYzz zmJ1A1z5^N!|L`yRbDi$x7oYJVL0cam^2hy{C!eI1)|nM3^Vf0c31ucbKe2%v=PJ|_ zeD4$h!dES3LdtmY(r%wWf9=dP(UE~d0tFQ!TEsvBqlge5I(iIYL&O4)Ppl+Xa_N2N+Xe2C$cLDZ2OMSxPb z?;EQVN^YcZa$}E@fyBs}jdvEU+O%iKxqS<_o7}nD=+?c9*O}hE$dvUp<~Ok5TfYeB zDttJxty+s2w{rYAGAYKVCRe`v2s36#oI86i1UmGZJ)}qLL1X$%YJ;q)tZ|JcOl#P* zYtwdsJ2wwBp$ut3Wf+yF;lYPHGLAgC^5vR}2RHmTy7a$!tKqeaoo>4A+`F^=?k@b= z@#58%?=HR`E-5CUaPYLA0~JWx_MkX(|C>H_polyKIRZrjT4VtU99i(ufmKzN#1aj5 z)WQlUN%)cfgI&Bp6B0&Q0?bfIFwq4QmdFE?Kl}t^NheH1;1p9Xy4WIAP*Ek7R7^Cp z&^P~`@Rbsz5d$Q6LV9ObT-jBJBwtD@Iarg3J*ikOkTnKbm6~0-*=M3bVp?fluBIB8 zv#DkqnX;8xTW%O=Am10m{q~n|#NEQ&adp~>r*d>Y2OVM4{izKy)*(6Qkw%h-XrhXm zR}Z7-H5y(mubChp6&zG_N;NqQ@enJ_fWik6D%hZds2EjL;6+tcxN1i+lvGD2G*mbt z4YNvUp-eVy$kT_uT5^p%*QCe$Z2%H87OmNg=3KObzTvta- zIHKu6y3R3cP|DuEj#D}U3DcTNGN}e$fO6&su6#gCN!9eAf=8j0l7*dg5)3vyUFh@w zhd-}4G|?-!iu8guEDZ`P->74jAFDWA_`}`?&b7E+e+_nHVy9~v*=D1y<=XPHO+CI+ zz^1PQIPg|?DRBxX@N#+TJ?Gti|IKjvhISi#`xH;?$@TIJ!2_iV@VmpBqgGyO29_&0 zJI=L4bVi|>gILfM(7m7-{ZJk2An=k4ImIZu3IMWVrn#xm$aWVnnhKf#if=SycV?m5 zTiiFK;ccyW#yeiQl6Q>dNv3)1dfwUKB|X$kuWk0~A>8nlJ-XQqVE-Zv`NnrA^Y!g~ z>T6My5kCl`>N&tY#3S(400SXUP?h3lgRy&{=ysQzAg)Ib(BfSPg8P3poHnd?5 zci5U8S`T}3}X__ zGn%b#HO2wb;0l>=nyh*zN0+=rS4JsDF;s-W($!Iqg5<~m^hnKMvI-<7S-}5vNrI4I zpb4xX2QvR@{M3XbB%(G zAk6B>f-Klkn=O@4=Wd!5U}`f7RRNVaP4ZE3h9DW9GUp-i5Qb?ilsxRznmgYK&v;I9 zZ1k*W^zw;S9&XZ7bMu0~q~i#Lm13ZI1CCiuiB|L>^oi+QDl4ammRc|_1$0e=C`928 zQHbgxP2j74DDeppf(jI!@Ms-kg~rg;q@;EDMo^m3iH?8)nMC_#8ud6U&()ME0~jey zLn7J39=1P+4W~#((AQxkgBXcuPo|d2mZm!OsV*GM3&F-b8dlY+_|#!m_xZyz_46_Q z6l)QSLq0hX^sEOvA9Vt?*0vN0cnWo^#2jj#X|JBwG_+rlunyXCDtd;8n1a#c-S35BG>`aSOvF}Y=B zE@4FB+~)$0x;*Bwb=`;Ed<3~20^z}KX!(U?d|_H_(jq39A&w{);~pYx20ZRz<#}Ku zzZMDs7$`9X^-g&n_t3{ZeEKTFZtw~z3vf62sLTWAvCE!anHfIO40Sj-zd|ig8pyfY zRn&rhr%>vKIo#nz()N)dmMV!$Y~mC9cG4-Hmuu#iy$k#Q%eZ_ZYZ6PD;~l4Ox;?J$ zj}Is0R5J=lML+{4jNF70^p(j<0EHhYp;U3)qaXV?$FBA9wEFe~9-ulM3-+svWIQd( z;&>XLEeF~SW{xHB)#*~s2-DBexz53CfG$lE5|2jM29#jM7OgM|TpY$3rcShnKm0eS z+SbvJ)@= zH5A2-v7ZS3>4SwL)X`n|!Vi7wh|9fE5O=6IRN;%lpaIrH;5)2Yafwy5Lmc+V$H{rk zYivlX6ZJi2GMEkJD3b%sfM+rR%82uuKgDQM;HeCf(D?@GBCsnEgo9x=fitFFr!6r$ zOM-xO3IyTYe?9|z#6jJuSADi1#(LK44e5I3JF6;ojo1(IPfnj*xddmvjYHj+wYFVb z443;M>u&vsVSnxwvqm?V;hVnSpq5?PfbZ1M>r|Yh8D*w2mLuV^1(Tc(6EK6vmHl#p z0D3E<62Rq627m_8Ij%=i9TaXIl?<`qG$qylG(06to_8QP)n5nFO#}38um=QQa4p90 zeM2G+@c>J()D7$OZoCIBz9(Yl0(|Nce9v=FmBw#iM+KPHRmZ^wFcxFT;CwWuC!{1+ zI>>gS##V1P9@l4t*>{BPkPq{)gxlvR+h=!)lXq7%OGSVKSNH%00VHJb27=HC+c0{< z@JudKM~($YE1(PFU~a?!bK*b@I&f>^#UuXrfBq+cYeIku5+M|jY`BJH;t&l#(10p| zD=IMt%BBy`Msz46fhZFppXVRvRTg=tEnBD>xHox@^9xL+LMFIqDENCT7-=pze3}$D z{l;P%XbZogd^6U3&S!8zC@9mHN>tbXK1kSvN|=OBNO!zwcLD(zY;a*!XoV)=TM+^U zo1l!cAPZw?E9|#&p!aG-P*Fgl6+7T5N`O%+zyJYghXmk1m=|9mKn7A)cu}T+!1ecFrwCFHIxQivJizexdy$FR41&qdEA4XOJ zR(OS8p6 zAP!(A2)IH4Zvc&f1$t8eAszt#dNZ<95EzeLcv!2TUBduoD1eM%kOLfJ0^TP)38|31 z$7q4kkPfLB4|#80Cy^*tk;3I~K7x_0IB*<^H-{OE2q%QKNRqgSk|!ydk;#24$&$4Y zjF7O3U*UJIp^s_+1?$)YJz$oAlsj(#5hBAl0(l72xQ!=plt$Tq-DrRe;(3(t4fa3| zQCWD1XJ*YH2BjB|Y1j~18Cc0s2Vj|Br?WXlQv>lwdkGknYsr=zGa8_ACstX$w{ergME;Z0R@B`Sz|k>b|JYJZD)%LHJQ0cnNXOLkP>nt=nFhR z8AwKU;#UxQpjw{52{@VmkG01|AM=`F!CkN^p%^teuqhS2WLc#*47%nHx|t8YNoAp# zjDGkD3Aot|m|&HunFBcr1gVgB^{JiPX_t37Z{WFg z5E+r>sZ|ttX_t19Z173oql51GiU)T}BI%=Wcb{1bnRUmdDcKMCAcAsb3%~G>evlAS z6QMc4kHf%!n^Im3Dg+$hF%!CRY5Jf%G8SHBIjbj{V-N}b$e~MEctVy8!D*9DnF(fu zZ18Yj9+pa+Fc`XVOzwO z&3aVhCl*C{r*=xG;w3dIzzQUA08Id#+%yIg!U@|zcpXZphG!4S@B?iS2!GIpefkMb zqif9osXFomD+N*tG+D3`37`;i?MG%EWd^G?4;}WYp~{_lNvfr4s;3%*OFDxqrY3~> z2(2nmqvW2l3VpL!s|WiXxhk2sDzdtYizyj#ytW<#`6Fe~59$!H%lfP_TLi4o3gkzi zDWCxxK&?AFp&F+FPqvdFM6biNqABsGALya%APZoc55uqm$rzfV2_Sd|55-hiD6#~g zU^9@quRzEDwU+903=|apush%I34nLDALy~Rim>4lVtA>rlEi`x>vaxmo)WvN$!B&^ zDy2ObtBE-sAE{%r$gv66L~C1wTRO6fo1Z7SpW^YQoVG>}yVK~Mprixz^zwm-U^R~NS= zMpZ@1bvIPEb}NIZNSl?Sw;I{E$nm!t3zCdUpL6-KAj`P>JF*bxzbc7~`tXvp;bLZ? z1RyZ~lc;ODS@^kH-~{R^QI4Pv#?W0^sIv>Kz^FSdIx7m=m^%!h3x!0kWtItjItZgM z4IelRZvdu+YLh<@mcQhc*OqcBB?&hJ4<=F+r~^%9d79U2w$2(6CeV*^L4pWri=HUH z;~SpmJDzEyzQH9oo%Fu&8^7~wW9w2g#7TzP1g(`@1;*< z#Odb5PpofWm#S3UJ$tK|7&|9e45d^mlB|rlN$AC3oTXu`i~p;VmM{KaJoUlx+ zb>>^kwtUN(^su?iVs5g_yxhwf3(SjIr3s~QLc+?&JekO>%nqk&yf_b$YXS>wWZ5DL z>Tp-m4AgLJCt6_5AYg+?=EmiWrx$EXa+t?oK+OQz3(x${O}h>7{JW^hm7#b4kA1ch zlWZ$l+sX8>$@HMf2hCoh+Ot^)6zaEQD`76`-$-nqX+5ekrANZjSF{heqe&?hRyu&+nEX}N_ z3D+#mY>dDMTmsU}$F{`U<#z%gV17Vd29mM{SIukxnriy64d5<`bU zS!=^L+#&vO4aE`+@Q|Xoq)U|0G)e~%+Y5|yjc7g^zR<-aQH9re&DYmSo*y03Xad+b zSlWagtA>r(?AqF>1iYjF5M#R#Siw8h zAlltb)YxoGNnJ}&?bCf_&U>sbqmg&NdJn&<58tpmpzwJko>-AgA^eO%Te~_h@yVS$ z)`VpSW`tVI;MPNYJsVog+Rfc2xWsxn%XyVCNV<7{#NCu8g>&Y#Jo6 z)wXWiLK;0!bKB8E9_oVGzPRB8m|*HNmgMgJ-grZ+uD&p@j^83H(-?p28^7^Q*q@*g z4~w${#IO$pL8rw2?9yDvqHs>2jm9_z^JvZx`oR#|QtUq+)Wz;2wieXj>74mmH-s|a1Ap-6B5$@maGuFD2|q@K)GdMk|^}= zoi6Yj{pp~7@I^kD$Y-$^%jEDo@#o~Gy&2~epP3>B?&fLCL1~=|6WpwT4 zx@$}CUcR;b{yjx1@L#++F*6)c=PduHGuv}g_{ zoESo-MH4dCw@_(9<@)t(+O=)V#+|$MZr0U$`v%T7c-pjMjUU&l&g*jK%;!Ca9$or$ zebudBx1KNGt5?(1ps2thya^zx_WAO|Ov#u3FHMwaIB~*3dxiV_sbdcUgqHnU^0QY? zl!n^-Vn5{q6vZEgFnP!yOf0%DK?VC!@E{5&)JPwUG|Eszalk2t7hWUmIUiK;)H|pH@W7T zvM$%~!m_Vcv;?e6!3ujM%*Dp+BQZ84n=DN=FJp5v&pvz8GAc$Jtu!=HQ*Afea=Xno z*!r}Mx89_TayYb*L)5rx4s6aV>K=tOI_$8^ryq8tXd%<^q~P?9GJMgenuL^KrM+et z_yUv@K%q~e0rxAgKmKM_sK5>M(~mv>_LNXUK=!JcNEBn#5w*byE%b*UWRbnF*$nxS zhMHM)qROe9VsXkIaHKg0A8^chC){`Bk;kZOU~%zA7hH(toMKF*YK*Ij6h}LIl`N9U zCC_@YP=BkWGPk_AB=}2%!8D9ah08>9P08GZ7-G)o%)kLV@my`UKl$7kP>*GUO;AEd zHng}y6GgdE=OSf!QkS*c=$T$-#)X@5pz&oIa^_*i7+zClHtY z?blGb01kLyEeqb#ON7N-n9PP>Z!_XJ;j~ONiaEf-kJKE|b7PJ_23~BDNrtjylT${H zQI%VES<>cV&b*#`kJP!NQcEQ@z)qTYLhAP1Yfpo$xsDa;r*G97*QUMxdOt@T(Sp=w z>{I8P`zmjya)Rpr2qTy8!ARap1Ubn407$a%0Tg_2H*mNDAN}x_-`-)4z~O@)fioNz zX3#ftNJ|b0bVG{jAdX~+gM`z#S9Yf1iSiJ`b6-h^lR_uDC|RR)H_TEFQFpM_u`Xe) zV^|Pj7ds-(?oFKn4F+!iR|MU$fp@+8UB`mAC$Yt5c*HAS=wx`jEo2@S<2^2)Y^m%Z8-0lE6&2Lsjsw zhd>nK5FJ)T+0kxJ7g%BwpV%7TQ89{B)D3TfgGJ+U@npzb85o`Sybg(xjF+&JZ&=aB zCe%>{ps3$^ROQeAI{ML%xx&@f^7F@oa!o%xzyT9gqXj4SPe7!Mkslg!UGb2x9QAr7OdLu&HSn%Bf;W3;)=ZhG@g;6!W1aOcD_ zLGc#Iup&C8SVh;s)rz|T4m;bqD85#;i(UldJ|-nt!eXbMlqw_7I3>ktO4z{-(#Q(If}&J>V1=kAD#-DbfHOeA z!*_ttgC0=-0$Wrm;3rcw6EVnSMW}Rz9bl2c#4V1eh(p|RDcBEq3@}BXtN>FpHw^LE zNoQ2`t5u!(Osz`ubg5GvV0^gVux9g2?;UGd&6>n;?(VJRjB9@BD%W%lkA{17Cp>qi zyud<7jMh0UV#hc=5_b1Jnw6}@DqANKxCg?dT@N1{nyUgCl(Z-4r-d=F)?_?H6nt1u zsjL8!e$kSZ{0(Ye{sKIbUS+|^;;t$`7mK)>{6rn&@DAYjm<0i0F-nM`i z_Z$yrhy>p7ig&!_I3fA_zH@@Fn~#QUZ*iXi*lnf*(sELJ1H0{&|}3vAft zB{+Kj!+g#v#)E=_YL)>LrlWi0BjFEob_2TF8hk+8M?c1gSMKR2d|=Creei(~?SYNd z;Kv{Rq>pMaPQeXQ3mzL|7staLL#h*4H(?}q87jGlJyHrerPMkpHo{Rb6H$j8U`h{` z69+4Hn;BnFxyn|~Dm14#&Gc^hhtKY^m&rP9`A#gYc4VS`-Kt-1n^V7h@-Kh^4Cgq@ zdCqmVXY>}V9dVGlyP}b794Bm94NSP+8u$WyPP?n|ttV=Tj!zScQMrBcA+?uQhk723 z13wr;KvQ!u{5lQl$okU;769(4gD{3q$U@aWs2e(5;Xt+NgBLuR^^IPD1PMfdDJ-D> zL8|L8jHF7T#FgYTBrM~H&P7LM$Nuk?vAk?8I~&^3{&Ka$EM|%gL3i-mcAEM7?Qo0x z&3%O@fzMsod2(IB>jwK&hY%hGB!I$`wcQg24PjobeLwp4qttqpm1>~YJ(RwWr2t$& zqrV}&@ia7n2oP=BdKOZRe8ZU2G43v(N1()bhalrR*myEDQjAR)_Xo+fgDcPh4okuO zB{*8j$~~V4($j$wp!kFtF!6~I0D;oHCi@O*(ep1(_2)38JF=6lY@!#P%ST6g(v^-x zEHJ+5P1Hh}_bc_ens@o?WV3j$URAAEA5va7FxTyT=fpbIscBGa*(p}>(5QVhYB!qg z|0G;^5U+Tf76zfE>H7jpMD2 zvmXk%2W)ACk=v=9^0+0dF{!YLU6O=ifQN7BKz)FRWT*p!(}7?L0!$c&6U;8Ynhuz` zy)Dwc-Q&I9L$4e3s^9A}YU9D-V>&wFfjwZcXGU%c7$$EI;n4qtS4!NK*oJ00ku=h<%DJN@%@~D3<$zdI0PaT zmghUdUgVf1Y(jT(!sID8D0Cjd%D(HE!hE;~uqz`9xk5iQyR_m$?x7zYtRaM}vC zIfT4K`N27#fV1+o$u@#^+OVYKZTEKGa5~FL$9ehbyl*x*r$stre;aR@a)X7~e zGre*%t7@jpBt~P5LS>v3%UQ5(U*31M~&ml zzRUurG6z>^15Ub$1!zczd`P|og$;SiePD%0giIBnw1qg3>+m`4uuRz;NzF7#&P2)2 zq)=&t#fI4o9~@0PG0h^JI&kZ+s&gi*lg(nJ&DyjMarlIG$e(stuvJ(EP7#NvRHL?2 z0Rsq)X$%c|BLT{?#s^eRJu z1LOl^xk6@8l_^LDHpIA=f=`;z2}Hc5O~B6++0O%zfCHcj$BTi86oF>w1dHUKDR5IA zZO4A11O#Q726fN}C9gs?2CX{Dg1IJ^tk74y&>nH)$;=(z@5FhLer?x6JP~a000~{ zJ2_+k{rrFhkRv7-(qahDVEq6lfZ1mK*5_P;Bw$jV|1C?IO&V;BEMB=V$)ZOs#Xt3| z12}{{8hE@MYtp_9uHsr3!+g^MxLTKe&gG2APMFJgjVwOpP9jjjpt09`wM=Fr)O}6V z&P>UFbyR?bR1F=?|HFh(C|I7PfUh|69r#z03P_p8_m@PxB?=bO3P~5II>yN{Q!CE1eiTiIZc9ZB#|ee z0bK}&Z@35NR9U0_0xa!Q`RFG)>a)=BQt}%y9gr*>TQV|@%lND@KonQ0z*_y>Q_N~z z=49DF3tO>0&v0A_?5j+C%~yTZ%(fK_RrJ?J|CQUhg~<&y4NKiNgza0uMNJWXSi&vb zp`2LgC@f@5xMA3+eVW`o@YvG0fp?2s0XR5)5VnhHh(Y^;Z)gS;IN1xZ%GE`y>%Cdj zty!B@2Y!%U+09Q-2!^vfON%r_UX$GsBhPu1ENRuh2y24*3%>(I-Z8bb)9X0CY+hA^ z9IL(FAC_I0eHVHI$mw-F9l+MgIWV++A+=rG8YEx6c-wzvuk=-4Fk|1-z}rhz%|G$t z<^vwyXjs>L*x4l26D5a)7?2@AJOya92Vf#UXpb`RgI6_R$R!UO<$(0)SktnfV#rm; z1BD}v-qO`z)SXlN7-X8=SvXABu2oEk|1jYYsTJxKchKe z*G=8hHRN?}=hT&>X82(4Y~)VpgeBYA(0xFE7`S9n&g^wW+acXLx<(R6y%4C*cnwQF zK-Zg?x%MPsM0Q#qzN~Az-s7!<9F^YbokOc+7FuTFw7q4a%Vk||HXcG>A+q8tp06x^ zA1C1AZi`8ocR(t;BPB7j04A!N+0y(OKW?k6@c-%tXQA{R* zVqmR-ddv~{1QL|fM=nIb{|0PF9BixwfC3F9wX3+Y>A;P?|6;LC6Y4vfX4N+8qh{1ER`5a50uPI*J#4=_ zTJ3OltSDVmln$4eY2x6AqTEU{M?TOl)&EN}|(@u!2fVOV8jyKH0 zR`Jfll%-B^m5SH>XF1$jUIVA}u5QeFh;NAUc#YS@7UTeI>@B}Ei#CU)_aY<@-dw^erdQh8>dFXH87r_(kgl=ixM zxVNhLpvD14|1+pR@1yb2qdz|r2)9W=$E&>}7UK~JJ=Zs0IT|>eV*n%vcZ3fCUA}2 z#4Z4ghxqB$NQHkuWL#R15BYro^N}}2Lyge>K51TF_6(&qZz{gvRV$d!6V{aJsq^ez zd}&V8`F7`XIF2ZWBYmJZeU+@M2IuM3H&{uhLmUx)M#CG{^#e>N=87rtmIfvWp;-0y+`%WB>?Wc0KPBm zeZ1Z}|4LGd_X_V%-2+axP@wzfBV!i+vo4g2_+gFG*qB~SWXlbGK8?uVns1lHgpvOrL|5ctqVLzXz+DG zfe$f0lpX6K23rwk-F}D*c5VW-b?@S3koQ8JD-7Ve9YG?hU_PLl)X3WwE?u>7(-w#< znE>U=l-(W}OTY$+ubi)nu(5C7r@>c}jZQsJ-|E)$+U0{CPd2&PwbR|sJ#IJeZr*;A z|Fjm|*>Gjfj3fW0EZ1`7&Y9bS9({VN>ZEF2&#wK{^+(>ngYP3gJf!g&(G*&9zRY^| z=-<1KFCPp2`h$-`%|GOeE%Bj3{znip0)9lGBL`8m0YecN~fdycN))o^g$VFCJPdrfvU{TtYmzGOz$x0mr=w%vbghkcYV0SrrR+ei{ z)~1^W0ALxMp)qiUomU*z%s$EJz?V9zu@V&7>cR_xF?H7s`j@&ZffEd!s(W?nL_z(gRG1wr4 z3Q362LEjaa;f4UldaOwrde|&XB!+krGu2q7K?)@p^#wC8iXzmEH9Dw(2CVR@gN}8O z#>Wa~=)x{*-xPzSXKy`8<(*OvP*!M9Fs9j?b8bn2V$Fz<8JUF9^;y3j*f}PfnL!+} zoD<^}acE8W^;a_Rj>*b5f({z8p}HlysL73@d|ad}PipC5(H?0cwADk4B#N=h8pENp{~$)|VTtOr zL}O7$iSor4O2jxLt_tpo0Aj2#Qw0%yO<~3qF|_+*pver$FPHXmbwykLj)fV-|4JM% zmmxSjZ(~tSAlBoaePX2z4i5;wGOoWv0Q&0 zwn@`MOSbvvk8kaY3L@S1L`**~fB;ZZ@Nwq+((zdmbpTHGC&?6}Pha6zCz_!Scv0yB zSn6DyCg!=zU9K2ra7 zz+8g?g;ngRsvu;nPASA#5TZi2%x%kjt|L?oWj90M;If90vLWsSlEWPWlZV&yVR?WT z#32?B3nI(_5|v2BSkdQqcX8@-TIA3!Xq>z(N{Q zarlzVL>cMGFg>!927L>Y)Wjo?rY;5+^gJ)^nm$H|m`0YhL3{c*b)NI=#d@hp>Y~V8U8v zyJtR|A)ykS04Wa8AKn}aiWOXrM|=>Sz!s2%Beiri|KAXtT-5YQi#86UK10moqJmS9 zHiiZujni64TGGy;X_TfTogG)Bm1I~YUaSBGA@`&|9ZXg!C=fygq+lCb234rHBx){= zdQ=?xGO58_YEzy1RH>FKnaW&d65**;vli%yW37OBB??L+8n z=QQ34SiSBP6TTouH_S*3W=ul}LijI=?1?QNv`9uO;(^&hnZGJ6fn5akK@ti|xys3a zOPv6UI{2a4ZxC#S@q$c6LAaMwmeh!6T3EtRJJL!%vSJIZs_8&MwyYe6TrdTojr-wa z(&Uk+Kk*R~hnvpi%5b^OU9xkJDqS5?_q^7<|1NfkmrNCKH)`MYW_Y`*Wh$yItYH3X zLHe*w_KMScXZ~h<Ryx>T zRB|XhIKu)*PoM@>m_TVJV1~?oBhy0yag*56i7QZ4N^k=0=NxC%6i;pfALz>kCAy{< zi&`%;zE2Z^B98m1G>35|x-kYZ{_F?6N`VUM83upveC*i_0~ga+ z1)u5G(#*P>75eZ=HNv1%f!awDT~YKC|FFX9gC1ZELH@)6^rUH`O(N+QqE4wXd9IOgxi&MYC1&#)@7oCXdTnC--{Moo*5Jw-x-OS7A(jL4xG4xc@BOGb>wQgRs89m1WkNI(!J3*EOWJ&_y^>lM}MGnd- zQ0k0S=#|z1W*g>RP9`8ptEE~;U5V#;63FGz=8Qnz$kaF7!)k2cJZwxeOv5)!!(mLt z2vERqrGhxr9ZH1Qv z+c!+m6aY{$ki$KQAPBBbJ50d|n&1eKA#SaL6}F)5l|yfg;tRqc(cKVq(O?Zq*$v|0 zdqhDL^`OH5gu!YH4jF9jI*{Go-f<+Brg#oD`&4D09;?xP60Ur!Q zDkQ@ShT?2&WGV87|3{kQDW)RtsiMo+pesVvE5@Smm0ndTR*LlCtE|~TgxfHUSrv`j z^XX){aglmmA7U*Cwp^1E3S%{pj}{h&V zUTS5Gl&po|uthQ49O^)fq{U%v-2=f`8YP$kLlOz=MdUDGg#hgcE7S&|)I)N0BuIiL z?kSr{l4MCr*GZzJN(vv(w4~;7fC(6%EzYDSAPu|7XqyXVzRIgg~53g-`9k`b}qb>OpVy1U5Xur%A#Xd>Vx@;90x?Av%-< zMV{xig^eM}W64?~ZWKQ1<33`ZOIG8q-CtWmU=k4ISZq)+c%?{=6M~O63_~VP{I{XBJgRS|}=xq-jDKYNn=YuI7Za=BmJ^A^6~#Aw&}zp)MB4 zPBP*3F~s{EBXB}fd$rkzfM0Ur=u*bUj<$nDLRMW^0o@Qm22AH`9vT%0nNRqH9YN$6 zfI-4Nmi`qKSg@mcRuX!KMmeej6Ie;-j7eaiR%yxSe5L_nfJrly2ESy`3W)&B(Th5= z<2U@>|6HotBvl}1@En=~2_<|&u;CVfHD_d2<5j63j&9_Hu0v>A=!MFlDr%_iup&oD zTZek6EQY9Xji_uQpFjYi7UAR->EzMyrZLv$FK!iDbxl#$XiS71T^(nRD(8;o!v@+z zlRBxua3b;9jR_cB68#S$<=s69s|10;5)`W&E`bY3fD0@^Fc{8R#s!v!#_HT3Y>^Ve zO(Y^d#h4Zb#@OAE(&FTR)MA+2!i7K^;$=hGWr6lZyGR(|DBd*Usti~G&*g(YNN8*z zYA7aZzbdL|GHRnf>I_0Ehf?Z?g6Nl8)oaG)Z_Z?=dYf)~1VW6euas(T9^v!}=Z1*U z|BbpTtS+al*24zI!#$9Lla@vWOn}O6YYy<)be@4gxsXo?Yd`422Es$(`GEc*!3*>( z3pBu!X3%)L7MS8mAU*-&NCh8cnj=0d=nN{i66s{YY<2F4!MNoedeS`7!B)IQ$T7^P z@x(ViZ9~N&pT?fz0gfcit0xxfJxnMI`s=>}Y`_ZaDn{z0Qfj4ss3>h>erQ0${^GcS z6@)ZM(_Cy$u2*i-=*B`y$9k+%itOadD#^;i7}P;?N>&x7FW1hB9vnI&K^DZxten|Kx%!<=%rm z*m12AN$B>GAS9kRL_;|A!bMW!RCw;7(X0@+!5_GSFvP+#3|#8I!!mp@637AT#%@@c zFy*Ci=oHQhG0Ccl0PlYBjyMG=W1DK#@P+M7SJ+W75Z>|L<0y+jR;rk9nXs|9wgFW;EIN(D+@Pj0Sa0oYmvNlF0V@bxXrSf_f|0dIEd_s;?j`H5T zFe-!IU0T3PWkoTpa2=2f;D~f&R-j5Hkfh~JL^dZ@FasY@C0_hM91idR!!6tjxjeAp^Bar{?dvUfps{4k&PDf0GI5@ zs&iV~@jJisJK)1RxHUXyFejia+Co7z*f9auDqa6G;^EN>xPTbkYw9+#D^No}*n>Ib zYzR|yV_(T9XY%Hp#wnQzWMA?^Lh!uG07K?3K-VdlMi`dzXW!`-2!2|;0H9O^fknpD zNAm~;P{KFVs;{A`j)4hJCxQx6Vmu5m&4t4sKmioI!Zsx8|1l@EQrqqBIWrbR^Hbf- z7IU!|9}g0VF%$jZ)phf10%JGH3U~LUSdTRv8?`-q9)dLKZN>GAzSA^us;4f+R3P>rS*AzJLT; z5a0O4T6~&iC6HP$!J^?D*q&MlpsAFS^k>rxVVd-v02`XF5^$vfikSwY?Mssk^h2`r z&H>47;{_#b!#r=py$bVv2X{}4!#WuEaU=OsGj&sMUEa2$bMtLY{pyfdA@^D;yNAk=rw z^|&mUHv#8EG(-aw3~~!(fyD91KR3cA{J1_y!yj+~BY*=xD0UsYK}1Wq>|%1_G+Yb> zfG2M{CQmpM1cN_dLl1+v?qV)T_w|onm}~D}=B?O3Q7tu>Ug>#8NVnrWL*)gM*2hr* z2Fk)YoUT0piJt4+KDz@uEIYp@IZ_|DlE+{(m+uuXu9HV~bfXFpTq*`=pOvo}SKlwU zsqtEIths~v_!wn36uEEv_BpUayzBG4zd4+BI~mq_&}r^wvU+u|1}i2>q>a26XM}?I3m5F>~;bc{bd`Lo-6d5bwRJH3)qanvt2 za|;tzlSd&0pEPrOw*yU9Z?)Htd)Tj40{?dc(uq z^E+G1xxVv1K+wa751u({(%|WXhb-o;>8oALyHboN;HB5qQQbiSo*?- z(iI_SV6C&{N~TU%#+aEBVuFRTVw*J4fx&a;VCvKg@b*E9MR-JBjxpA&x zdy_p|TW#CcZs*4BjJGvqzk%oaHJrF`(5x}kflz$WxHcGyl2NV&%8?2TaSk?NP*8k z`S9yjKX14FPh9!{H1I$J32abZVkGpX7I$%h_d*J}+2*niIs7n05J^>@kA=` zkx?3OZoDxciSQXk)fQZx<{oh(8N-c`mLy4zmt1hc4mlXH14=@uiIET`y<`drCL{?) z5+;y%p^GQPe0kvB*lm&%XqPO8`RYx}k{@5@m%I zW|Cn>iAgo!n$oZToM#@StBs2Q5jd@5g=KcUXBbw00P?d~Wfg6mb8gKW*S+`V)mLBv z7gpHgiWL{xWR-O`yJi`09NNdFJ&)Q?uhm3b0Kd(gzs))CT)+hnBv5p78B9>#c;8L^ zn0YlkXBvDvB*;S$Y43L+6$L^OV1Wms(j0U~Oqe2cHlZ=eb295koIETRDakAt$>OEy zxv0KLE_k7akd9w)p^Gkx>H-*SfB}XDd4geLj+(*u`KgS_tDbP&I=UO#sCwFylID zbmV!maGi!CBARWKhBfZc8{c5)x4->Oa5W@c;f{s4#O+XVJ&e{5fhf5MasUI@!h|8> zgE{0(BXfwuq`3plHT1zafqpX+<$&D5b+@6_FW5BOdH<;R|D!O&QK`H#Rg* zaBhgh9O{sVK7`ykgNOwkgi4r=xq*8w=Nv<1PIJ%MT3o2d_Ud^$Z7FpND2@P}` z;Q(Xo@-;>`x=}7rtfW1lRJG<%wh&U@Bx)5c>;qQaKgNtI8T*+%7FxV z`IZ6>sxGf&&s&_0CQPi%DzibZ?59E9?i@~flckoFq)7ck zNuV%+97v%8ydnZlV%ho$U6fXt zJd(w$?0U_+>UFQ&^s6_?71(hOww#4EtYOs|gsKE)vDwjV8)Vh$iydv0Xux7SklFUmwX{RW!S1-*V00i8Cc6nR zmf(V>Aa#9Ru*6K^Ayecsx4SclfJ(*3k4eJg9X17qCE1742y~au+%2z{=b$E%Mu`!~ z{R2+s3b7mvnusPa^q}6$9=qH{EzI!8H?HQF2~uimH%P%P`Cz8|-y*m9dds;yjUE z&lhJlb)Ka$bZ(quE{fI{q@5Qxytr!E;e)mMYO-r{x8x<)mdR(7=D~D}|BZJzG8pin z2R0n}f~G*A3po|9CFnskHCxiV{WkMSfzf7csN1^bt63+2!N~6+mk}ooB%TrR<~c}w zkbwM{D`2q;F_gH#z|bz3kNKM63t&zOK;aA8@D0@vn98ufHqHBD=??J_{2YJ)riztVi3a{a zGy0*`dLbMnjQyC-!n(;^;&1-w&;IT&|AJ`$s-@7n?(5(~05x$FIWYkhZ~>hSv>0%8 z9kPCf; z5c2%Nk|yt`wyOiY%;042xX6q3s9}(-WV*6Jy6C|i0l*z3QvHfN(5p@GNo~{uck=G#c*YGdcgpCpvEBL+&6Em?T zrv>c?zNDJ?{4R}NlcwSMqigLDW3n|O(??B{t1P|S2 zfqZt$rlboVSO9*yj0u{e6KG1`yb&73#}Z~hr=A2F3l6(P>bvA1-(aL0)yy2;fd;Q( z7ap&Y+>#%%AujL1ATk3VvcZj_LE}Q=6_V#3)L|cJVr+=$0TgH;IfxZR0Te``z9N$q zs!s_ZbNg-%TfTrC{9zyXBKnBo`RuSX)8m&I{{sb7bG@oSEI2Bylt~=o0TH!{BRdi# zb?p&FG7?KN|1N0KR`U`wF(wzsC5iI@z0TQ`b2&$m6m?Rde5|z4K^0Z20)@;KYq2Pq ztQKW)DLt^ZP){1xF?(j=1g{|l>ERyY?Mq@1W{OI>YA_kaB;j5v;aG3XzKlLcPfVsU zEx#+es-(?0Z{5T(9Kq2W^YSgT;U4(GFY!Si2Er8<;Tbp~9BPmT^XD^tLFY7p`Mv=$ z)!{G?v%Z>PGPlnSMZxAY%@ITaF_|GmL)0J@XhutOfD$Dc{t2wCpbCbqDK-Dirbp*2k3%Owv zl7T_zfgTWZAMR^0lW#I#6&Z;}9hyNM{K5K|4>FlS6o3_2uSOJD0Y=p!(}<5o5h&;A zLJ9c5f%pPPDd8{tX9e)!6AG#vgmg8CR5gq=aNrNaLUQVulsBJL>vj}ShQJEU<5{dU zCS4K|kkcmVwM)ZvC+TkPFa%B0|I`)XQcm48Ks)g7Xpy$Ga|AJB8EhhZpkg7g;TrHr z%0h{G)Td&<3>2W^DAs4ro@CCDs{`&+85OR$gi5>e%<^(j2UT{=2B{KkuM%!=7b;<9 z7Xc1jVHa9}BVM5gdLXT)57LnD$lNhqbA6H>oM@``TuIVNB@s%~m0i6c zZ%b|s^g<8b6-%=evS_jOLK{&h9fx zSQcci5(?~~b zE+IQj44oiFGp)ZO|I^WM6?#E)Q5+3>u{eA8!C09WShr6yn;}StAr&r2!75}LASlFdO8U{+L34}&Gww&*mI^I)TX6da%e zPfa*u^@x9lq8La;-fkI{EjXd!U<-@@W=#)rWsw%mA@_i{0l**<(kCimp(L1ROOjxeL<|szqL@U$Cr+89 zL0hyz|GTuqN6(Dnm4ksE@JJcOOqJzL%Ve7cRBEQr%*^J^1CDBwc-jU0un*gd5{5<{ z)S|ym0BggS6~3StL;+9IrU{n&L?P2M-4HS(lUVs8nGW++w-{Kp)|U99pd2I|z_}g# z5v++1jn&nvZ3&{0LZZ@3~&>_3iF;f%jUk0lI+&dIWvP z9N}`H1N0qY)(8}-&+@XiD7<%IVfAQ0%NjtpOCl3^K>|7;07QHzG&_}strL<#DVQJt zRynsr`^86^lU{JQN$LiV&~&@3q#?k?C16Xo*J56k;&d(}Z}m(^)4V(7%dt+sfK$C;efo4wDxz1=oRtP02A13~2`9z!G+$ z93A}hc0s`_+mBp)2_#z=mSDphU;uUkV?$uGLxm6Si%u4Rq}dz-KMkQ)RDGDW}lF0Mv4!`xBYL2Rm_SgQfe!&=SR+`Zox&f{Co=bX;%|NPG5 zn!owH&;1)G6By71y}&!ewebGulYrofv znLq=WH>>mk?BgNqVbm91l}{>A8Sz}sdhOfZ?cYA`6DwY9xG~|!keykRJh?J5WtcN-zLkr!XIr2{ zw;D~FldyUW$Qeu*Ur7Wc4))EZyPqgy!mbCz@bym-W)!B?#;c64`06gclh(;dxuZn z{CB`u0?dHGkQ6}&5F{9ZO#?LO-~@Hlk g5MTx?K@g>(M>TQO5l0J#l+p(fNMhAU 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ãTWLBu4~b5GGI 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%0D{>I6-KPO$1eLT-vY4kl}>9n3l# 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 z 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 From 698c3f2dc331ac8b703b8e13d3aa4d4e16a0bb58 Mon Sep 17 00:00:00 2001 From: Robbie Trencheny Date: Thu, 12 Jan 2017 17:15:17 -0800 Subject: [PATCH 157/190] Update _config.yml now, not index.html --- source/developers/releasing.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/releasing.markdown b/source/developers/releasing.markdown index 10cffe47535..1525f30b0e6 100644 --- a/source/developers/releasing.markdown +++ b/source/developers/releasing.markdown @@ -24,7 +24,7 @@ This page describes the steps for publishing a new Home Assistant release. 1. Create a blog post in `next` and base it on the text of the PR in the main repository. Add images, additional text, links, etc. if it adds value. Tag each platform/component in a message to documentation. 2. Create missing documentation as stumbs in `next`. -3. Update the link on the frontpage (`source/index.html`) to link to the new release blog post and version number. +3. Update `config.yml` with link to the new release blog post and version number (at the bottom of the file). 4. Create a pull request from `next` to `current` with the upcoming release number as the title. 5. Merge `current` into `next` (`$ git checkout next && git merge current`) to make the PR mergeable. 6. Merge pull request (blog post, updated frontpage, and all new documentation) to `current`. From 49d7f23f4f98b0b9878c4c83efb2929440fbcca5 Mon Sep 17 00:00:00 2001 From: godloth Date: Fri, 13 Jan 2017 17:50:56 -0500 Subject: [PATCH 158/190] made it more usable (#1761) updated the file to make it more usable and readable on the website --- source/_components/device_tracker.gpslogger.markdown | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/source/_components/device_tracker.gpslogger.markdown b/source/_components/device_tracker.gpslogger.markdown index cbba3e16f65..e49430a54b4 100644 --- a/source/_components/device_tracker.gpslogger.markdown +++ b/source/_components/device_tracker.gpslogger.markdown @@ -25,7 +25,11 @@ device_tracker: - [GPSLogger for Android](https://play.google.com/store/apps/details?id=com.mendhak.gpslogger) -To configure GPSLogger, you must set up the app to send a `GET` request to your Home Assistant server at `http:///api/gpslogger?latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT`. Make sure to include the API password if you have configured a password in Home Assistant (add `&api_password=` to the end of the URL). Configure that options under "General Options": +To configure GPSLogger, you must set up the app to send a `GET` request to your Home Assistant server at +```yaml +`http:///api/gpslogger?latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT` +``` +. Make sure to include the API password if you have configured a password in Home Assistant (add `&api_password=` to the end of the URL). Configure that options under "General Options": - Start on boot: yes - Start on app launch: yes @@ -34,7 +38,10 @@ Set the URL under "General Options -> Logging details": - Log to GPX: no - Log to KML: no -- Log to custom URL: yes and set `http:///api/gpslogger?latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT` (be sure you include API password (`&api_password=`) if needed, or you can also use HTTP Basic authentication `http://:@/api/gpslogger...`) +- Log to custom URL: yes and set +```yaml +`http:///api/gpslogger?latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT` (be sure you include API password (`&api_password=`) if needed, or you can also use HTTP Basic authentication `http://:@/api/gpslogger...`) +``` - Log to OpenGTS Server: no - Log to Plain Text: no - Log to NMEA: no From 6ce3ab93b385108f9874dcbe5f184973197dfc78 Mon Sep 17 00:00:00 2001 From: SilvrrGIT Date: Fri, 13 Jan 2017 16:54:04 -0600 Subject: [PATCH 159/190] Clarification of formatting and options (#1759) Added main component (light:) as many are missing this requirement when adding the yeelights to their config files. Also expanded the example config to include two entries, also to demonstrate proper config setup for this platform. --- source/_components/light.yeelight.markdown | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/_components/light.yeelight.markdown b/source/_components/light.yeelight.markdown index 568a6364693..d8077071cc7 100644 --- a/source/_components/light.yeelight.markdown +++ b/source/_components/light.yeelight.markdown @@ -18,10 +18,13 @@ To enable those lights, add the following lines to your `configuration.yaml` fil ```yaml # Example configuration.yaml entry - - platform: yeelight +light: + platform: yeelight devices: 192.168.1.25: - name: palier + name: Front Door + 192.168.1.13 + name: Living Room ``` Configuration variables: From 84fe4911000468ee11ba5730ab05d4302d41345e Mon Sep 17 00:00:00 2001 From: Joeboyc2 Date: Sat, 14 Jan 2017 09:28:50 +0000 Subject: [PATCH 160/190] Amendments to the open paragraph (#1764) I have made some amendments to the top section to ensure the right process gets followed, before it was too easy to just copy the code without reading further --- source/getting-started/updating.markdown | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source/getting-started/updating.markdown b/source/getting-started/updating.markdown index cceed8df558..532723cb6d0 100644 --- a/source/getting-started/updating.markdown +++ b/source/getting-started/updating.markdown @@ -9,20 +9,18 @@ sharing: true footer: true --- +The upgrade process differed depending on the installtion you have, review the documentaion specific to your install [HASSbian](/getting-started/installation-raspberry-pi-image/#update-home-assistant-on-hassbian), [Raspberry Pi All-In-One Installer](/getting-started/installation-raspberry-pi-all-in-one/#upgrading), [Vagrant](/getting-started/installation-vagrant/), or [Virtualenv](/getting-started/installation-virtualenv/#upgrading-home-assistant). The default way to update Home Assistant to the latest release, when available, is: ```bash $ pip3 install --upgrade homeassistant -``` - -Different installation methods as [HASSbian](/getting-started/installation-raspberry-pi-image/#update-home-assistant-on-hassbian), [Raspberry Pi All-In-One Installer](/getting-started/installation-raspberry-pi-all-in-one/#upgrading), [Vagrant](/getting-started/installation-vagrant/), or [Virtualenv](/getting-started/installation-virtualenv/#upgrading-home-assistant) may have an alternative way for updating Home Assistant. +``` After updating, you must restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/getting-started/autostart/) daemon (if applicable) -

- To avoid permission errors, the upgrade must be run as the same user as the installation was completed. + To avoid permission errors, the upgrade must be run as the same user as the installation was completed, again review the documentation specific to your install [HASSbian](/getting-started/installation-raspberry-pi-image/), [Raspberry Pi All-In-One Installer](/getting-started/installation-raspberry-pi-all-in-one/), [Vagrant](/getting-started/installation-vagrant/), or [Virtualenv](/getting-started/installation-virtualenv)t.

[BRUH automation](http://www.bruhautomation.com) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant. From 8795b9b2382918cdcac9cb9ff3c6be9d0c8e50a2 Mon Sep 17 00:00:00 2001 From: Britton Clapp Date: Sat, 14 Jan 2017 03:36:38 -0600 Subject: [PATCH 161/190] Update z-wave.markdown (#1754) Added a short section to clearly explain how to add non-secure Z-Wave devices. --- source/getting-started/z-wave.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/getting-started/z-wave.markdown b/source/getting-started/z-wave.markdown index 8ed1676e145..b7c2b7381b7 100644 --- a/source/getting-started/z-wave.markdown +++ b/source/getting-started/z-wave.markdown @@ -110,6 +110,10 @@ $ ls /dev/cu.usbmodem* Depending on what's plugged into your USB ports, the name found above may change. You can lock in a name, such as `/dev/zwave`, by following [these instructions](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/).

+### {% linkable_title Adding Devices %} + +To add a Z-Wave device to your system, go to the Services menu and select the `zwave` domain, and select the `add-node` service. Then find your device's add button and press that as well. + ### {% linkable_title Adding Security Devices %} Security Z-Wave devices require a network key before being added to the network using the `zwave.add_node_secure` service. You must edit the `options.xml` file, located in your `python-openzwave config_path` to use a network key before adding these devices. From 607d9427af7b4adfd6876939e6f2294cb72fdeaf Mon Sep 17 00:00:00 2001 From: nordlead2005 Date: Sat, 14 Jan 2017 04:39:20 -0500 Subject: [PATCH 162/190] HTML5 notification install and usage clarification (#1758) Added additional requirements and clarification to getting HTML 5 push notifications working. These were stumbling blocks for me and some of the information I gathered in the forums, some I just guessed at. --- source/_components/notify.html5.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index a5c935f16a1..744788753b0 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -46,7 +46,9 @@ The `html5` platform can only function if all of the following requirements are * You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android. * Your Home Assistant instance is exposed to the world. -* You have configured SSL for your Home Assistant. It doesn't need to be configured in Home Assistant though, i.e. you can be running nginx in front of Home Assistant and this will still work. +* If using a proxy, basic auth must be off for registering or unregistering for push notifications. It can be re-enabled afterwards. +* pywebpush must be installed. libffi-dev, libpython-dev, and libssl-dev must be installed prior to pywebpush (i.e. pywebpush probably won't automatically install). +* You have configured SSL for your Home Assistant. It doesn't need to be configured in Home Assistant though, i.e. you can be running nginx in front of Home Assistant and this will still work. The certificate must be trustworthy (i.e. not self signed) * You are willing to accept the notification permission in your browser. ### {% linkable_title Setting up %} @@ -64,6 +66,8 @@ Assuming you have already added the platform to your configuration: The `html5` platform accepts a standard notify payload. However, there are also some special features built in which you can control in the payload. +Any json examples below can be [converted to YAML](https://www.json2yaml.com/) for automations. + #### {% linkable_title Actions %} Chrome supports notification actions, which are configurable buttons that arrive with the notification and can cause actions on Home Assistant to happen when pressed. You can send [up to 2 actions](https://cs.chromium.org/chromium/src/third_party/WebKit/public/platform/modules/notifications/WebNotificationConstants.h?q=maxActions&sq=package:chromium&dr=CSs&l=14). From 2f67b76ae03ebc1ff78a551819be5090be51e04b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 10:44:53 +0100 Subject: [PATCH 163/190] Update formatting --- source/_components/notify.html5.markdown | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index 744788753b0..6d618ba4e1f 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -32,23 +32,23 @@ Configuration variables: - **gcm_sender_id** (*Required if pushing to Chrome*): The sender ID provided to you by Google for Google Cloud Messaging (GCM). Required to push to Chrome. ### {% linkable_title Getting ready for Chrome %} -Create new project at [https://console.cloud.google.com/home/dashboard](https://console.cloud.google.com/home/dashboard) -Go to [https://console.cloud.google.com/apis/credentials/domainverification](https://console.cloud.google.com/apis/credentials/domainverification) and verify your domain -After that, go to [https://console.firebase.google.com](https://console.firebase.google.com) and select import Google project, select the project you created -Then, click the clogwheel on top left and select Project settings -Select Cloud messaging tab -if under server key is button Regenerate key, click that + +- Create new project at [https://console.cloud.google.com/home/dashboard](https://console.cloud.google.com/home/dashboard). +- Go to [https://console.cloud.google.com/apis/credentials/domainverification](https://console.cloud.google.com/apis/credentials/domainverification) and verify your domain. +- After that, go to [https://console.firebase.google.com](https://console.firebase.google.com) and select import Google project, select the project you created. +- Then, click the clogwheel on top left and select "Project settings". +- Select Cloud messaging tab if under server key is button Regenerate key, click that. ### {% linkable_title Requirements %} The `html5` platform can only function if all of the following requirements are met: -* You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android. +* You are using Chrome and/or Firefox on any desktop platform, ChromeOS, or Android. * Your Home Assistant instance is exposed to the world. -* If using a proxy, basic auth must be off for registering or unregistering for push notifications. It can be re-enabled afterwards. -* pywebpush must be installed. libffi-dev, libpython-dev, and libssl-dev must be installed prior to pywebpush (i.e. pywebpush probably won't automatically install). -* You have configured SSL for your Home Assistant. It doesn't need to be configured in Home Assistant though, i.e. you can be running nginx in front of Home Assistant and this will still work. The certificate must be trustworthy (i.e. not self signed) +* If using a proxy, HTTP basic authentication must be off for registering or unregistering for push notifications. It can be re-enabled afterwards. +* `pywebpush` must be installed. `libffi-dev`, `libpython-dev`, and `libssl-dev` must be installed prior to `pywebpush` (i.e. `pywebpush` probably won't automatically install). +* You have configured SSL for your Home Assistant. It doesn't need to be configured in Home Assistant though, i.e. you can be running [NGINX](/ecosystem/nginx/) in front of Home Assistant and this will still work. The certificate must be trustworthy (i.e. not self signed). * You are willing to accept the notification permission in your browser. ### {% linkable_title Setting up %} @@ -66,7 +66,7 @@ Assuming you have already added the platform to your configuration: The `html5` platform accepts a standard notify payload. However, there are also some special features built in which you can control in the payload. -Any json examples below can be [converted to YAML](https://www.json2yaml.com/) for automations. +Any JSON examples below can be [converted to YAML](https://www.json2yaml.com/) for automations. #### {% linkable_title Actions %} From 3d9709610a4b1699b1b74415ac6ece352f6b3965 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 11:26:48 +0100 Subject: [PATCH 164/190] Update for 0.36 --- _config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index 89a36728017..a1b0cabf635 100644 --- a/_config.yml +++ b/_config.yml @@ -130,9 +130,9 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 35 -current_patch_version: 3 -date_released: 2016-12-23 +current_minor_version: 36 +current_patch_version: 0 +date_released: 2017-01-15 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. From c2b0a7007709fbb2b765918be31206a426271bae Mon Sep 17 00:00:00 2001 From: "Craig J. Ward" Date: Sat, 14 Jan 2017 09:34:13 -0600 Subject: [PATCH 165/190] Insteon local (#1623) * add documentation * insteon switch * update documentation --- source/_components/insteon_local.markdown | 54 +++++++++++++++++++ .../_components/light.insteon_local.markdown | 34 ++++++++++++ .../_components/switch.insteon_local.markdown | 33 ++++++++++++ source/developers/credits.markdown | 3 ++ 4 files changed, 124 insertions(+) create mode 100644 source/_components/insteon_local.markdown create mode 100644 source/_components/light.insteon_local.markdown create mode 100644 source/_components/switch.insteon_local.markdown diff --git a/source/_components/insteon_local.markdown b/source/_components/insteon_local.markdown new file mode 100644 index 00000000000..7a6b1fcb251 --- /dev/null +++ b/source/_components/insteon_local.markdown @@ -0,0 +1,54 @@ +--- +layout: page +title: "Insteon(local)" +description: "Instructions how to setup the Insteon Hub locally within Home Assistant." +date: 2016-12-18 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: insteon.png +ha_category: Hub +ha_iot_class: "Local Polling" +ha_version: 0.36 +--- + +The `insteon-local` component lets you use your [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant. + +To integrate your Insteon(local) with Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml platform entry +insteon_local: + host: YOUR HUB IP + username: YOUR HUB USERNAME + password: YOUR HUB PASSWORD + timeout: 10 + port: 25105 +``` + +The Insteon(local) component currently supports both lights(dimmers) and switches. A full configuration may look like so: + +```yaml +# Example configuration.yaml platform entry +insteon_local: + host: YOUR HUB IP + username: YOUR HUB USERNAME + password: YOUR HUB PASSWORD + timeout: 10 + port: 25105 + +light: + - platform: insteon_local + +switch: + - platform: insteon_local +``` + +Configuration variables: + +- **username** (*Required*): The username used to access the Insteon interface (find in your Insteon app). +- **password** (*Required*): The password used to access the Insteon interface. +- **host** (*Required*): The ip address of your hub. +- **timeout** (*Optional*): Timeout to wait for connection. (default: 10) +- **port** (*Optional*): The port your hub is configured to listen to. (default: 25105) \ No newline at end of file diff --git a/source/_components/light.insteon_local.markdown b/source/_components/light.insteon_local.markdown new file mode 100644 index 00000000000..87f8e0271aa --- /dev/null +++ b/source/_components/light.insteon_local.markdown @@ -0,0 +1,34 @@ +--- +layout: page +title: "Insteon (Local) Light" +description: "Instructions how to setup the Insteon Hub Lights locally within Home Assistant." +date: 2016-12-18 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: insteon.png +ha_category: Light +ha_version: 0.36 +--- + +The `insteon_local` light component lets you control your lights connected to an [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant. + +To integrate add a light, configure your hub Insteon(local) with Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml platform entry +insteon_local: + host: YOUR HUB IP + username: YOUR HUB USERNAME + password: YOUR HUB PASSWORD + timeout: 10 + port: 25105 +``` + +To add lights (dimmers) to your set-up, add the platform to your light configuration: +```yaml +light: + - platform: insteon_local +``` + diff --git a/source/_components/switch.insteon_local.markdown b/source/_components/switch.insteon_local.markdown new file mode 100644 index 00000000000..0200b5cd439 --- /dev/null +++ b/source/_components/switch.insteon_local.markdown @@ -0,0 +1,33 @@ +--- +layout: page +title: "Insteon (Local) Switch" +description: "Instructions how to setup the Insteon Hub switches locally within Home Assistant." +date: 2016-12-18 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: insteon.png +ha_category: Switch +ha_version: 0.36 +--- + +The `insteon_local` switch component lets you control your switches connected to an [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant. + +To integrate add a switch, configure your hub Insteon(local) with Home Assistant, add the following section to your `configuration.yaml` file: +```yaml +# Example configuration.yaml platform entry +insteon_local: + host: YOUR HUB IP + username: YOUR HUB USERNAME + password: YOUR HUB PASSWORD + timeout: 10 + port: 25105 +``` + +To add switches to your set-up, add the platform to your light configuration: +```yaml +switch: + - platform: insteon_local +``` + diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index a521adc9304..5449a00aefe 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -50,6 +50,7 @@ This page contains a list of people who have contributed in one way or another t - [Brent](https://github.com/bah2830) - [Bruno Adele](https://github.com/badele) - [Cameron Bulock](https://github.com/cbulock) +- [Cameron Llewellyn](https://github.com/camrun91) - [Carlo Costanzo](https://github.com/CCOSTAN) - [cawilliamson](https://github.com/cawilliamson) - [Charles Spirakis](https://github.com/srcLurker) @@ -59,6 +60,7 @@ This page contains a list of people who have contributed in one way or another t - [chrom3](https://github.com/chrom3) - [Corban Mailloux](https://github.com/corbanmailloux) - [coteyr](https://github.com/coteyr/) +- [Craig Ward](https://github.com/wardcraigj) - [dainok](https://github.com/dainok) - [Dale Higgs](https://github.com/dale3h) - [Dan Cinnamon](https://github.com/Cinntax) @@ -192,6 +194,7 @@ This page contains a list of people who have contributed in one way or another t - [Michael Gilbert](https://github.com/Zyell) - [Michael Kutý](https://github.com/michaelkuty) - [Micha LaQua](https://github.com/milaq) +- [Michael Long](https://github.com/phareous) - [miniconfig](https://github.com/miniconfig) - [molobrakos](https://github.com/molobrakos) - [Moon Shot](https://github.com/moonshot) From 0aed317b1daea84df5056524e2fd37f50b183789 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 14:26:01 +0100 Subject: [PATCH 166/190] Fix typo --- source/_components/sensor.usps.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.usps.markdown b/source/_components/sensor.usps.markdown index 0ef96a5c84c..fe81ff01c5a 100644 --- a/source/_components/sensor.usps.markdown +++ b/source/_components/sensor.usps.markdown @@ -12,7 +12,7 @@ ha_category: Sensor ha_release: 0.36 --- -The `usps` platform allows one to track [US POstal Service (USPS)](https://www.usps.com/). +The `usps` platform allows one to track deliveries by the [US Postal Service (USPS)](https://www.usps.com/). To enable this sensor, add the following lines to your `configuration.yaml`: From f5dbb8378150c20df8b64e7d7c29c1774ae6924a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 16:45:52 +0100 Subject: [PATCH 167/190] Minor changes --- source/_components/insteon_local.markdown | 30 +++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/source/_components/insteon_local.markdown b/source/_components/insteon_local.markdown index 7a6b1fcb251..10172c55460 100644 --- a/source/_components/insteon_local.markdown +++ b/source/_components/insteon_local.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Insteon(local)" +title: "Insteon (local)" description: "Instructions how to setup the Insteon Hub locally within Home Assistant." date: 2016-12-18 08:00 sidebar: true @@ -13,9 +13,9 @@ ha_iot_class: "Local Polling" ha_version: 0.36 --- -The `insteon-local` component lets you use your [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant. +The `insteon_local` component let you use your [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant. -To integrate your Insteon(local) with Home Assistant, add the following section to your `configuration.yaml` file: +To integrate your Insteon local setup with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml platform entry @@ -23,14 +23,21 @@ insteon_local: host: YOUR HUB IP username: YOUR HUB USERNAME password: YOUR HUB PASSWORD - timeout: 10 - port: 25105 ``` -The Insteon(local) component currently supports both lights(dimmers) and switches. A full configuration may look like so: +Configuration variables: + +- **host** (*Required*): The IP address of your hub. +- **username** (*Required*): The username used to access the Insteon interface (find in your Insteon app). +- **password** (*Required*): The password used to access the Insteon interface. +- **timeout** (*Optional*): Timeout to wait for connections. Defaults to 10 seconds. +- **port** (*Optional*): The port your hub is configured to listen to. Defaults to `25105`. + +### {% linkable_title Full configuration %} + +The `insteon_local` component currently supports both lights (dimmers) and switches. A full configuration may look like so: ```yaml -# Example configuration.yaml platform entry insteon_local: host: YOUR HUB IP username: YOUR HUB USERNAME @@ -42,13 +49,6 @@ light: - platform: insteon_local switch: - - platform: insteon_local + - platform: insteon_local ``` -Configuration variables: - -- **username** (*Required*): The username used to access the Insteon interface (find in your Insteon app). -- **password** (*Required*): The password used to access the Insteon interface. -- **host** (*Required*): The ip address of your hub. -- **timeout** (*Optional*): Timeout to wait for connection. (default: 10) -- **port** (*Optional*): The port your hub is configured to listen to. (default: 25105) \ No newline at end of file From 442c8cb1fc03e276112bb1bfe8106e6177bdc5bc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 17:32:28 +0100 Subject: [PATCH 168/190] Add Wink fan docs --- source/_components/fan.wink.markdown | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 source/_components/fan.wink.markdown diff --git a/source/_components/fan.wink.markdown b/source/_components/fan.wink.markdown new file mode 100644 index 00000000000..66183bbebb3 --- /dev/null +++ b/source/_components/fan.wink.markdown @@ -0,0 +1,19 @@ +--- +layout: page +title: "Wink Fan" +description: "Instructions how to setup the Wink fans within Home Assistant." +date: 2017-01-14 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: wink.png +ha_category: Fan +ha_release: 0.36 +--- + + +The Wink fan platform allows you to control your [Wink](http://www.wink.com/) fans. + +The requirement is that you have setup your [Wink hub](/components/wink/). + From 85f0b5e1f77192306ada2b6a2b8ad379850e664e Mon Sep 17 00:00:00 2001 From: Touliloup Date: Sat, 14 Jan 2017 18:17:03 +0100 Subject: [PATCH 169/190] Add Xiaomi router device tracker documentation (#1751) --- .../device_tracker.xiaomi.markdown | 35 ++++++++++++++++++ source/images/supported_brands/xiaomi.png | Bin 0 -> 4089 bytes 2 files changed, 35 insertions(+) create mode 100644 source/_components/device_tracker.xiaomi.markdown create mode 100644 source/images/supported_brands/xiaomi.png diff --git a/source/_components/device_tracker.xiaomi.markdown b/source/_components/device_tracker.xiaomi.markdown new file mode 100644 index 00000000000..7e837785427 --- /dev/null +++ b/source/_components/device_tracker.xiaomi.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: "Xiaomi Router" +description: "Instructions how to integrate Xiaomi routers into Home Assistant." +date: 2017-01-12 12:04 +sidebar: true +comments: false +sharing: true +footer: true +logo: xiaomi.png +ha_category: Presence Detection +--- + + +The `xiaomi` platform offers presence detection by looking at connected devices to a [Xiaomi](http://miwifi.com) router. + +To use an Xiaomi router in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +device_tracker: + - platform: xiaomi + host: YOUR_ROUTER_IP + username: YOUR_ADMIN_USERNAME + password: YOUR_ADMIN_PASSWORD +``` + +Configuration variables: + +- **host** (*Required*): The IP address of your router, eg. `192.168.0.1`. +- **username** (*Optional*: The admin username. By default `admin`. +- **password** (*Required*): The password for the admin account. + +See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. + diff --git a/source/images/supported_brands/xiaomi.png b/source/images/supported_brands/xiaomi.png new file mode 100644 index 0000000000000000000000000000000000000000..fffc268c385db9807c91d27c75401ceeebe6a7ad GIT binary patch literal 4089 zcmeHKdsLH07M}zqpbKcBDDsF8kcthl*n%`b)D>bZ5G}P}K#0dGAW{%iOdybI(OO;- zUg2S&MqpVGvK5SI0&%fT1JN|%A|eDVc~OCA5@11u9kgxi>8aFbSxiL~Zm`R%a>6;3x^z^R> z0vt`#cd(4RvW&@=Rjepgau_)04fWo36LFX3G;wj?b)N zJYp7!GVs8;aeI9^Idz{QyYq@3aZVv3SO7{m`Kx=`ix7|L92D4q4U$e6EF$BeM57+T z-F`bu4ut&o$>S|Er2A;W;D;kAz<^96fUbtV)(0r1U=wol7D$#w?*Op#8~}`y3jnZk z1fXIi0)U040KB&yfImh4pZjw3paFmuL5+IGS0~ii2k$@Bd_31H!C>yN8i0cpPOaa! zw#Rak!m>CAp!$-+8>6T<2dF#0 z1>kg4ZOR%kAuq)+?UoauyBwq|@zq_t(OI!TiU6l^y!NzVv?>-wl5{es{b{3i0@LH? z0l4CK-P2+etvVH%rw!Eoy+*yB<8h<@9U$zAt_|zKOSJNGugeqs*pf-3c#5qlpv2Jc zxe%aJH5lD6d-|5foBPQEz#TLH@>b+{GP{)RK@wNWk}1nf0L8k;rE|um^+=WSOqHS@ zejHr@Hmtvg)em{C#Gi7UueP_Vknn zvw?sFtfo_Ky?2sRqYdUPTLh5EZ@6eR-VJDhk!l+NxQCR2q_xe*;N)Ti7|wjw#{WnR zLngF?FsjQ&sC{?!)$sL-B@hNi*ZNyH;tSZ)Y&r6QKU}Q-M{Qa8xbBWT@rc2?`*S4d zCaR%3p}JpXI7%o)7&+3Akj%8mks}_!+NrV7#0NfYS(CC8g^R5lgjZ3GCvC17*(Q_@cn2<9k%Dqo zRTz#&h|UNL_n%ZLeMbX2T1O&^u3NVbr;nx`@=)L4w55D3))V5s3U~*Uee0v7Us8U+ zNy_ialQVtOG!qkh{cmIS%Esxw3+jey1=gIMPvVv82Q)RI13^oH)f!N7&bK2k&&v~o z4RLJ#cR_FB%m#D}hNtZ>!N+0fh98&GIwG2wX^Ae0#^BKPeYt%8Sc>i!m-6c;Sfx+h z?qxbOMHf|1k7&%e(MYgqT*Bt7x9ZXtpP3wz?ROtKy?c~Ro1wzkz)hU?fC)*~p$Hu* zx)z?QN|x+irM%2>7Oph~1EDdKxkCvvGt+K(Pg?uh_h~+On$ck<05f>CH3r?xm4y0P zc*X|l(q*=kyanKKY*S&VtDQ<9sLqlnkjI%=c<`4x0)}O@SZaSsH!8yg-U@H=q9Ny$ z1lBp>(;6iWS@I(;t}q2(*!M-e2MRem1IAbsRjx4=ied6#$kIeY90-J(9{mys zSW6M0?uUFY0XFfL#$G6f35v1CB*U{Yh@b_5&_K*(mM&jr%g9>_ggwJfISvBECL6dY zKIYLlA;~!+8AR zQ46<|>sP+$1nP3uN3qNhAYQWfFIKQhz11CrpwDP15WMgM-Upw;_Hw>nW_z}6hWJC! z<=?fvglDHWH-?bsTZ^}iO9;zfHA9J=>P27NIPolg;VVu-FyN)sOMtIAHNZk4cKrs1 z>r-Dbx4Ulvba4M2g!2uLsBB-w5=e%eAj1aR-|LgIJ#TJ*?jKKfLC_oyR{5*#7t>LEY{M>cEaFTdfo}27#To zQNj!AjT{enUCCfedAnU<9V&s6G~E-KEnpSN6GR%b=l7ydb;(1MQyP09Y0FR9-=N;h zNh-T?-hyEp++5A$A2*l-)puk3$*J9=DdNxQ#x zrwP~Y-6ZKCOXI4QM>ssd^`(u*V&c4#Srggp@7Gl#R}x#UNoK|{4N>BZPW`i>j;x`v z8GEoJW++3E!c6m*+7~e=`nm0WoJg3kfAn}9@yt0s+RFaHnuLTo+eF{MZS`9zC;tPb C#)b9( literal 0 HcmV?d00001 From 37cbd07f1b7c9de7cd0e6c9e91d273abd1017f70 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 18:56:05 +0100 Subject: [PATCH 170/190] Beaglebone Black GPIO docs (#1765) * Fix typo * Add initial docs for Beaglebone Black * Fix name --- source/_components/bbb_gpio.markdown | 16 +++++++ source/_components/switch.bbb_gpio.markdown | 41 ++++++++++++++++++ .../supported_brands/beaglebone-black.png | Bin 0 -> 29761 bytes 3 files changed, 57 insertions(+) create mode 100644 source/_components/bbb_gpio.markdown create mode 100644 source/_components/switch.bbb_gpio.markdown create mode 100644 source/images/supported_brands/beaglebone-black.png diff --git a/source/_components/bbb_gpio.markdown b/source/_components/bbb_gpio.markdown new file mode 100644 index 00000000000..96ee54010ee --- /dev/null +++ b/source/_components/bbb_gpio.markdown @@ -0,0 +1,16 @@ +--- +layout: page +title: "BeagleBone Black GPIO" +description: "Instructions how to integrate the GPIO capability of a BeagleBone Black into Home Assistant." +date: 2017-01-14 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: beaglebone-black.png +ha_category: DIY +ha_release: 0.36 +--- + +The `bbb_gpio` component is the base for all [BeagleBone Black][https://beagleboard.org/black] related GPIO platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding pages. + diff --git a/source/_components/switch.bbb_gpio.markdown b/source/_components/switch.bbb_gpio.markdown new file mode 100644 index 00000000000..e03354ef118 --- /dev/null +++ b/source/_components/switch.bbb_gpio.markdown @@ -0,0 +1,41 @@ +--- +layout: page +title: "BeagleBone Black GPIO Switch" +description: "Instructions how to integrate the GPIO of a BeagleBone Black into Home Assistant as a switch." +date: 2017-01-14 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: beaglebone-black.png +ha_category: Switch +ha_release: 0.36 +--- + +The `bbb_gpio` switch platform allows you to control the GPIOs of your [BeagleBone Black](https://beagleboard.org/black). + +To use yourBeagleBone Black's GPIO in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +switch: + - platform: bbb_gpio + pins: + GPIO0_7: + name: LED Red + P9_12: + name: LED Green + initial: true + invert_logic: true +``` + +Configuration variables: + +- **pins** array (*Required*): Array of used ports. + - **pin_name** (*Required*): Port numbers and corresponding names. + - **name** (*Optional*): Friendly name to use for the frontend. + - **initial** (*Optional*): Initial state of the pin. Defaults to `False`. + - **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH). + +For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. + diff --git a/source/images/supported_brands/beaglebone-black.png b/source/images/supported_brands/beaglebone-black.png new file mode 100644 index 0000000000000000000000000000000000000000..7613a4011e716d0fd9c14b9af6721841dd484af1 GIT binary patch literal 29761 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 S6rqiDOhZLW8Lw#m?Ee6+_DS&o literal 0 HcmV?d00001 From a782fa8a49250c665aac292506c87f1e127d1c01 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 14 Jan 2017 19:19:28 +0100 Subject: [PATCH 171/190] Image processing (#1742) * Add image_processing * add to demo --- source/_components/demo.markdown | 1 + source/_components/image_processing.markdown | 36 +++++++++++++ .../image_processing.openalpr_cloud.markdown | 35 +++++++++++++ .../image_processing.openalpr_local.markdown | 52 +++++++++++++++++++ 4 files changed, 124 insertions(+) create mode 100644 source/_components/image_processing.markdown create mode 100644 source/_components/image_processing.openalpr_cloud.markdown create mode 100644 source/_components/image_processing.openalpr_local.markdown diff --git a/source/_components/demo.markdown b/source/_components/demo.markdown index 1fd904862af..5210b128839 100644 --- a/source/_components/demo.markdown +++ b/source/_components/demo.markdown @@ -22,6 +22,7 @@ Available demo platforms: - [Climate](/components/climate/) (`climate`) - [Cover](/components/cover/) (`cover`) - [Fan](/components/fan/) (`fan`) +- [Image Processing](/components/image_processing/) (`image_processing`) - [Light](/components/light/) (`light`) - [Lock](/components/lock/) (`lock`) - [Notification](/components/notify/) (`notify`) diff --git a/source/_components/image_processing.markdown b/source/_components/image_processing.markdown new file mode 100644 index 00000000000..4da68663f4f --- /dev/null +++ b/source/_components/image_processing.markdown @@ -0,0 +1,36 @@ +--- +layout: page +title: "Image Processing" +description: "Instructions how to setup image processing with Home Assistant." +date: 2017-01-09 00:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_release: 0.36 +--- + +Image processing enables Home Assistant to process image from cameras. +As source is only supported camera entities. + +For interval controll, use `scan_interval` in platform. + +## {% linkable_title Alpr %} + +Alpr entities attribute have a vehicle counter `vehicles` and all found plates as `plates`. + +This event is trigger after openalpr found a new licence plate. +```yaml +# Example configuration.yaml automation entry +automation: +- alias: Open garage door + trigger: + platform: event + event_type: openalpr.found + event_data: + entity_id: openalpr.camera_garage_1 + plate: BE2183423 +... +``` + +follow event data while be present: `entity_id`, `plate`, `confidence` diff --git a/source/_components/image_processing.openalpr_cloud.markdown b/source/_components/image_processing.openalpr_cloud.markdown new file mode 100644 index 00000000000..b7147a65368 --- /dev/null +++ b/source/_components/image_processing.openalpr_cloud.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: "OpenAlpr Cloud" +description: "Instructions how to integrate licences plates with OpenAlpr cloud into Home Assistant." +date: 2017-01-09 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: openalpr.png +ha_category: Image_Processing +featured: false +ha_release: 0.36 +--- + +[OpenAlpr](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). + +### {% linkable_title Configuration Home Assistant %} + +```yaml +# Example configuration.yaml entry +image_processing: + - platform: openalpr_cloud + region: eu + source: + - entity_id: camera.garage +``` +Configuration variables: + +- **region** (*Required*): Country or region. List of Supported [value](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). +- **alpr_bin** (*Optional*): Default `alpr`. The command line tool alpr from OpenAlpr software for local processing. +- **confidence** (*Optional*): Default 80. The minimum of confidence in percent to process with Home-Assistant. +- **source** (*Required*): + - **entities** (*Required*): A list of device to add in Home-Assistant. + - **name** (*Optional*): This parameter allows you to override the name of your openalpr entity. diff --git a/source/_components/image_processing.openalpr_local.markdown b/source/_components/image_processing.openalpr_local.markdown new file mode 100644 index 00000000000..8102ac0c851 --- /dev/null +++ b/source/_components/image_processing.openalpr_local.markdown @@ -0,0 +1,52 @@ +--- +layout: page +title: "OpenAlpr Local" +description: "Instructions how to integrate licences plates with OpenAlpr local into Home Assistant." +date: 2017-01-09 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: openalpr.png +ha_category: Image_Processing +featured: false +ha_release: 0.36 +--- + +[OpenAlpr](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). + +### {% linkable_title Local installation %} + +If you want process all data local you need the command line tool `alpr` in version > 2.3.1 + +If you don't find binaries for your distribution you can compile from source. Documention of how to build openalpr is found [here](https://github.com/openalpr/openalpr/wiki). + +On a debian system you can use this cmake command to build only the command line tool (which second part on linux build instruction - ubuntu 14.04+): +```bash +cmake -DWITH_TEST=FALSE -DWITH_BINDING_JAVA=FALSE --DWITH_BINDING_PYTHON=FALSE --DWITH_BINDING_GO=FALSE -DWITH_DAEMON=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr .. +``` + +Verify your alpr installation with: +``` +wget -O- -q http://plates.openalpr.com/h786poj.jpg | alpr - +``` + +### {% linkable_title Configuration Home Assistant %} + +```yaml +# Example configuration.yaml entry +image_processing: + - platform: openalpr_cloud + api_key: 'sk_abcxyz123456' + region: eu + source: + - entity_id: camera.garage +``` +Configuration variables: + +- **region** (*Required*): Country or region. List of Supported [value](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). +- **api_key** (*Required*): You need a api key from [OpenAlpr Cloud](https://cloud.openalpr.com/). +- **confidence** (*Optional*): Default 80. The minimum of confidence in percent to process with Home-Assistant. +- **source** (*Required*): + - **entities** (*Required*): A list of device to add in Home-Assistant. + - **name** (*Optional*): This parameter allows you to override the name of your openalpr entity. From 64bdfd9279a411f6fc1f75fc6ffa2f9ec840cea8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 18:10:46 +0100 Subject: [PATCH 172/190] Add docs for Zengge bulbs --- source/_components/light.zengge.markdown | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 source/_components/light.zengge.markdown diff --git a/source/_components/light.zengge.markdown b/source/_components/light.zengge.markdown new file mode 100644 index 00000000000..d19d2eacdf6 --- /dev/null +++ b/source/_components/light.zengge.markdown @@ -0,0 +1,30 @@ +--- +layout: page +title: "Zengge" +description: "Instructions how to integrate Zengge Bluetooth bulbs into Home Assistant." +date: 2017-01-14 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: zengge.png +ha_category: Light +ha_iot_class: "Local Polling" +ha_release: 0.36 +--- + +The `zengge` platform allows you to integrate your [Zengge Bluetooth bulbs](http://www.zengge.com/) into Home Assistant. + +```yaml +# Example configuration.yaml entry +light: + - platform: zengge + devices: + C4:BE:84:51:54:8B: + name: Living Room +``` +Configuration variables: + +- **devices** array (*Required*): List of your devices/bulbs. + - **MAC address** (*Required*): The MAC address of the bulb. + - **MAC address** (*Optional*): Friendly name for the frontend. From da425d9304fcdb79049684d00c45971e616c76cb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 18:18:32 +0100 Subject: [PATCH 173/190] Add ha_release and minimize configuration sample --- source/_components/device_tracker.xiaomi.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.xiaomi.markdown b/source/_components/device_tracker.xiaomi.markdown index 7e837785427..9a8f6a43fd1 100644 --- a/source/_components/device_tracker.xiaomi.markdown +++ b/source/_components/device_tracker.xiaomi.markdown @@ -9,6 +9,7 @@ sharing: true footer: true logo: xiaomi.png ha_category: Presence Detection +ha_release: 0.36 --- @@ -21,7 +22,6 @@ To use an Xiaomi router in your installation, add the following to your `configu device_tracker: - platform: xiaomi host: YOUR_ROUTER_IP - username: YOUR_ADMIN_USERNAME password: YOUR_ADMIN_PASSWORD ``` From 07c7a41fc70b85de75cf507bbb10beb6f46b3de6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 18:21:21 +0100 Subject: [PATCH 174/190] Remove white spaces --- source/_components/sensor.sma.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/sensor.sma.markdown b/source/_components/sensor.sma.markdown index 9f2abe053db..2744a5a57ed 100644 --- a/source/_components/sensor.sma.markdown +++ b/source/_components/sensor.sma.markdown @@ -14,7 +14,7 @@ ha_release: 0.36 --- -The `sma` sensor will poll a SMA solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant. +The `sma` sensor will poll a [SMA][http://www.sma-america.com/] solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant. To enable this sensor, add the following lines to your `configuration.yaml` file: @@ -38,7 +38,7 @@ Configuration variables: - **sensors** (*Required*): A dictionary of sensors that will be added. The value of the dictionary can include sensor names that will be shown as attributes. - **custom** (*Optional*): A dictionary of custom sensor key values and units -Sensor configuration: +Sensors configuration: The sensors can be any one of the following: - current_power @@ -61,6 +61,6 @@ Example: yesterday_consumption: key: 6400_00543A01 unit: W -``` +``` Over time more sensors will be added as standard sensors to the [pysma library](https://github.com/kellerza/pysma/blob/master/pysma/__init__.py#L18). Feel free to submit additional sensors on that repository. From d90c4a4bafbdc81b08f0787aa3180429e7926b95 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 18:40:20 +0100 Subject: [PATCH 175/190] Minor changes --- source/_topics/packages.markdown | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/source/_topics/packages.markdown b/source/_topics/packages.markdown index 94d58f294a3..30358b1ea1b 100644 --- a/source/_topics/packages.markdown +++ b/source/_topics/packages.markdown @@ -9,9 +9,7 @@ sharing: true footer: true --- -## {% linkable_title About %} - -Packages in Home Assistant provides a way to bundle different component's configuration together. We were already introduced to the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/getting-started/devices) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or parts of configuration using any of the `!include` directives introduced in [splitting the configuration](/topics/splitting_configuration). +Packages in Home Assistant provides a way to bundle different component's configuration together. We were already introduced to the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/getting-started/devices/) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or parts of configuration using any of the `!include` directives introduced in [splitting the configuration](/topics/splitting_configuration). Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a packages name (no spaces, all lower case) followed by a dictionary with the package config. For example, package `pack_1` would be created as: @@ -20,12 +18,12 @@ homeassistant: ... packages: pack_1: - ...package config here... + ...package configuration here... ``` The package configuration can include: `switch`, `light`, `automation`, `groups` or the majority of the Home Assistant components. -It can be specified inline, or in a seperate yaml file using `!include` +It can be specified inline, or in a seperate YAML file using `!include` Inline example, main `configuration.yaml`: @@ -43,13 +41,16 @@ homeassistant: ``` Include example, main `configuration.yaml`: + ```yaml homeassistant: ... packages: pack_1: !include my_package.yaml ``` + The file `my_package.yaml` contains the "top-level" configuration: + ``` switch: - platform: rest @@ -73,15 +74,13 @@ There are some rules for packages that will be merged: ``` 4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main config -

Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name.

- ### {% linkable_title Create a packages folder %} -One way to organise packages would be to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a yaml file. This entry in your `configuration.yaml` will load all packages: +One way to organise packages would be to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a YAML file. This entry in your `configuration.yaml` will load all packages: ```yaml homeassistant: @@ -89,4 +88,4 @@ homeassistant: ``` This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames. -See the documentation about [splitting the configuration](/topics/splitting_configuration) for more information about `!include_dir_named` and other include statements that might be helpful. +See the documentation about [splitting the configuration](/topics/splitting_configuration/) for more information about `!include_dir_named` and other include statements that might be helpful. From 7f0c26f72fafed8d06242f00617871828e829cf5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 18:46:29 +0100 Subject: [PATCH 176/190] Add periods --- source/_topics/packages.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_topics/packages.markdown b/source/_topics/packages.markdown index 30358b1ea1b..369ba6d3443 100644 --- a/source/_topics/packages.markdown +++ b/source/_topics/packages.markdown @@ -23,7 +23,7 @@ homeassistant: The package configuration can include: `switch`, `light`, `automation`, `groups` or the majority of the Home Assistant components. -It can be specified inline, or in a seperate YAML file using `!include` +It can be specified inline or in a seperate YAML file using `!include`. Inline example, main `configuration.yaml`: @@ -62,8 +62,8 @@ light: There are some rules for packages that will be merged: -1. Component names may only use the basic form (e.g. `switch` and `switch 1` or `switch aa` is not accepted) -2. Platform based components (`light`, `switch`, etc) can always be merged +1. Component names may only use the basic form (e.g. `switch` and `switch 1` or `switch aa` is not accepted). +2. Platform based components (`light`, `switch`, etc) can always be merged. 3. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file. For example if we have the following in the main config. You are not allowed to re-use "my_input" again for `input_boolean` in a package: @@ -72,7 +72,7 @@ There are some rules for packages that will be merged: input_boolean: my_input: ``` -4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main config +4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main configuration.

Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name. From 52ecbc7efd3e89496c1e4352bd1b54a52bdcc1a3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 19:04:58 +0100 Subject: [PATCH 177/190] Minor changes --- source/_components/openalpr.markdown | 46 +++++++++++++++------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/source/_components/openalpr.markdown b/source/_components/openalpr.markdown index d78b931cb78..8efabd0522b 100644 --- a/source/_components/openalpr.markdown +++ b/source/_components/openalpr.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "OpenAlpr" -description: "Instructions how to integrate licences plates with OpenAlpr into Home Assistant." +title: "OpenALPR" +description: "Instructions how to integrate licences plates with OpenALPR into Home Assistant." date: 2016-09-22 00:00 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: 0.29 ha_iot_class: "Local Push" --- -[OpenAlpr](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). +[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates recorded with a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/).

If you want use a video stream. You need setup the [ffmpeg](/components/ffmpeg) component. See also there for troubleshooting local ffmpeg installation. @@ -22,18 +22,20 @@ If you want use a video stream. You need setup the [ffmpeg](/components/ffmpeg) ### {% linkable_title Local installation %} -If you want process all data local you need the command line tool `alpr` in version > 2.3.1 +If you want process all data local you need the commandline tool `alpr` in version > 2.3.1 -If you don't find binaries for your distribution you can compile from source. Documention of how to build openalpr is found [here](https://github.com/openalpr/openalpr/wiki). +If you don't find binaries for your distribution you can compile from source. Documention of how to build OpenALPR is found [here](https://github.com/openalpr/openalpr/wiki). + +On a Debian system you can use this `cmake` command to build only the command line tool (which second part on linux build instruction - ubuntu 14.04+): -On a debian system you can use this cmake command to build only the command line tool (which second part on linux build instruction - ubuntu 14.04+): ```bash -cmake -DWITH_TEST=FALSE -DWITH_BINDING_JAVA=FALSE --DWITH_BINDING_PYTHON=FALSE --DWITH_BINDING_GO=FALSE -DWITH_DAEMON=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr .. +$ cmake -DWITH_TEST=FALSE -DWITH_BINDING_JAVA=FALSE --DWITH_BINDING_PYTHON=FALSE --DWITH_BINDING_GO=FALSE -DWITH_DAEMON=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr .. ``` Verify your alpr installation with: + ``` -wget -O- -q http://plates.openalpr.com/h786poj.jpg | alpr - +$ wget -O- -q http://plates.openalpr.com/h786poj.jpg | alpr - ``` ### {% linkable_title Configuration Home Assistant %} @@ -57,19 +59,20 @@ openalpr: username: admin password: bla ``` + Configuration variables: - **engine** (*Required*): `local` or `cloud` for processing -- **region** (*Required*): Country or region. List of Supported [value](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). -- **confidence** (*Optional*): Default 80. The minimum of confidence in percent to process with Home-Assistant. -- **entities** (*Required*): A list of device to add in Home-Assistant. -- **name** (*Optional*): This parameter allows you to override the name of your openalpr entity. -- **interval** (*Optional*): Default 2. Time in seconds to poll a picture. If the interval is 0 It don't poll and it only process data with `openalpr.scan` service. -- **render** (*Optional*): default is with ffmpeg. How is Home-Assistant to get a picture from. It support `ffmpeg` for video streams and `image` for a still image. -- **input** (*Required*): The source from getting pictures. With ffmpeg it could by all supported input. Image only support a url. -- **extra_arguments** (*Optional*): Only available with ffmpeg. -- **username** (*Optional*): Only available with image for http authentification. -- **password** (*Optional*): Only available with image for http authentification. +- **region** (*Required*): Country or region. List of supported [value](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). +- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. +- **entities** (*Required*): A list of device to add in Home Assistant. +- **name** (*Optional*): This parameter allows you to override the name of your OpenALPR entity. +- **interval** (*Optional*): Time in seconds to poll a picture. If the interval is 0 It don't poll and it only process data with `openalpr.scan` service. Default is 2 seconds. +- **render** (*Optional*): How is Home Assistant to get a picture from. It support `ffmpeg` for video streams and `image` for a still image. Default is with `ffmpeg`. +- **input** (*Required*): The source from getting pictures. With `ffmpeg` it could by all supported input. Image only support an URL. +- **extra_arguments** (*Optional*): Only available with `ffmpeg`. +- **username** (*Optional*): Only available with image for HTTP authentification. +- **password** (*Optional*): Only available with image for HTTP authentification. ### {% linkable_title Configuration Home Assistant local processing %} @@ -84,7 +87,7 @@ openalpr: ``` Configuration variables: -- **alpr_binary** (*Optional*): Default `alpr`. The command line tool alpr from OpenAlpr software for local processing. +- **alpr_binary** (*Optional*): Default `alpr`. The command line tool `alpr` from OpenALPR software for local processing. ### {% linkable_title Configuration Home Assistant cloud processing %} @@ -97,9 +100,10 @@ openalpr: entities: ... ``` + Configuration variables: -- **api_key** (*Required*): You need a api key from [OpenAlpr Cloud](https://cloud.openalpr.com/). +- **api_key** (*Required*): You need an API key from [OpenALPR Cloud](https://cloud.openalpr.com/). #### {% linkable_title Service %} @@ -121,4 +125,4 @@ automation: ... ``` -This event is trigger after openalpr found a new licence plate. +This event is trigger after OpenALPR found a new licence plate. From be4517c2491a00f05abd901b073465f67dc26398 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 19:05:44 +0100 Subject: [PATCH 178/190] Add contributors --- source/developers/credits.markdown | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 5449a00aefe..1146cb15a5b 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -60,6 +60,7 @@ This page contains a list of people who have contributed in one way or another t - [chrom3](https://github.com/chrom3) - [Corban Mailloux](https://github.com/corbanmailloux) - [coteyr](https://github.com/coteyr/) +- [Craig J. Ward](https://github.com/wardcraigj) - [Craig Ward](https://github.com/wardcraigj) - [dainok](https://github.com/dainok) - [Dale Higgs](https://github.com/dale3h) @@ -75,6 +76,7 @@ This page contains a list of people who have contributed in one way or another t - [Dan Sullivan](https://github.com/dansullivan86/) - [Daren Lord](https://github.com/Xorso) - [dasos](https://github.com/dasos) +- [dasos](https://github.com/dasos) - [Dave Banks](https://github.com/djbanks) - [David-Leon Pohl](https://github.com/DavidLP) - [David Straub](https://github.com/DavidMStraub) @@ -185,6 +187,7 @@ This page contains a list of people who have contributed in one way or another t - [Markus Peter](https://github.com/bimbar) - [Markus Stenberg](https://github.com/fingon) - [Martin Hjelmare](https://github.com/MartinHjelmare) +- [Martin Vacula](https://github.com/MatoKafkac) - [Matteo Lampugnani](https://github.com/t30) - [Matthew Bowen](https://github.com/mgbowen) - [Matthew Treinish](https://github.com/mtreinish) @@ -193,8 +196,8 @@ This page contains a list of people who have contributed in one way or another t - [Michaël Arnauts](https://github.com/michaelarnauts) - [Michael Gilbert](https://github.com/Zyell) - [Michael Kutý](https://github.com/michaelkuty) -- [Micha LaQua](https://github.com/milaq) - [Michael Long](https://github.com/phareous) +- [Micha LaQua](https://github.com/milaq) - [miniconfig](https://github.com/miniconfig) - [molobrakos](https://github.com/molobrakos) - [Moon Shot](https://github.com/moonshot) @@ -250,18 +253,21 @@ This page contains a list of people who have contributed in one way or another t - [Theb-1](https://github.com/Theb-1) - [Theodor Lindquist](https://github.com/theolind) - [Thomas Friedel](https://github.com/tfriedel) +- [Thom Troy](https://github.com/ttroy50) - [tilutza](https://github.com/tilutza) - [Tim Harton](https://github.com/timharton) - [Tim](https://github.com/tinglis1) - [Tobie Booth](https://github.com/tobiebooth) - [toddeye](https://github.com/toddeye) - [Tom Duijf](https://github.com/tomduijf) +- [Touliloup]https://github.com/RiRomain - [trollkarlen](https://github.com/trollkarlen) - [Valentin Alexeev](https://github.com/valentinalexeev) - [vitorespindola](https://github.com/vitorespindola) - [Vlad Korniev](https://github.com/vkorn) - [vladonemo](https://github.com/vladonemo) - [Warren Konkel](https://github.com/wkonkel) +- [webworxshop](https://github.com/webworxshop) - [Willems Davy](https://github.com/joyrider3774) - [William Scanlon](https://github.com/w1ll1am23) - [wind-rider](https://github.com/wind-rider) From 052aa9f1a3763e5af1bd00be271a43ff1f01a361 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 19:06:03 +0100 Subject: [PATCH 179/190] Initital blof post for 0.36 --- ...16-01-14-iss-usps-images-packages.markdown | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 source/_posts/2016-01-14-iss-usps-images-packages.markdown diff --git a/source/_posts/2016-01-14-iss-usps-images-packages.markdown b/source/_posts/2016-01-14-iss-usps-images-packages.markdown new file mode 100644 index 00000000000..15aae9eefd4 --- /dev/null +++ b/source/_posts/2016-01-14-iss-usps-images-packages.markdown @@ -0,0 +1,140 @@ +--- +layout: post +title: "0.36: ISS, USPS, Image processing, " +description: "Track packages, space stations, TrackR devices, Xiaomi, and UPC" +date: 2017-01-14 08:04:05 +0000 +date_formatted: "January 15, 2017" +author: Fabian Affolter +author_twitter: fabaff +comments: true +categories: Release-Notes +og_image: /images/blog/2016-12-0.35/social.png +--- + +Welcome to 2017 and 0.36. We are proud to announce the first release for this year. While we are still migrating parts to async but 0.36 is focusing on new features and bug fixes. + +## Packages +[Packages][packages] are providing a new way to organize different component's configuration parts together. With packages we offer the option to include different components or parts of configuration using any of the `!include` directives. + +## International Space Station (ISS) +No, unfortunately we are not going to space. The `iss` sensor is tracking the position of the International Space Station and gives your some details. + +## Insteon local +The support for Insteon was removed due to issues. With the `insteon_local` component support for [Insteon][insteon] is back. + +## Image processing +The new [image processing component][image] currently works with [number plates][plates]. But this could level the way to integrate feature like facial recognition or gestures control. + +## All changes +- Sensor: Support for [HydroQuebec][quebec] ([@titilambert]) +- Sensor: Tracking the [ISS][iss] ([@HydrelioxGitHub]) +- Sensor: [USPS][usps] deliveries tracking ([@happyleavesaoc]) +- Device tracker: New [ping-based][ping] tracker ([@michaelarnauts]) +- TTS: Support for [Pico][pico] ([@doudz]) +- Switch: [BeagleBone Black][beaglebone] GPIO are supported now ([@MatoKafkac]) +- Light: New support for [Tikteck][tik] Bluetooth bulbs ([@mjg59]) +- Switch: Support for customised [Kankun SP3 Wifi][kankun] switches ([@webworxshop]) +- Insteon local: Local [insteon][insteon] support([@wardcraigj]) +- `rest_command`: Support for using [REST][rest] ([@pvizeli]) +- Sensor: Show details of the [Dublin RTPI][dublin] information ([@ttroy50]) +- Light: [Zengge Bluetooth][zengge] bulbs ([@mjg59]) +- Fan: Wink support for [fans][wink-fan] ([@w1ll1am23]) +- Device tracker: New [TrackR][trackr] device tracker support ([@w1ll1am23]) +- Device tracker: Support for [Xiaomi router][xiaomi] ([@RiRomain]) +- Sensor: New [SMA Solar Webconnect][sma] sensor ([@kellerza]) +- Notify: [Lannouncer][lannouncer] TTS support ([@michaelarnauts]) +- Image processing: Support for [Image processing][image] ([@pvizeli]) +- Device tracker: [UPC][upc] connect box platform ([@pvizeli]) + +- Sensor - sonarr: Add `urlbase` to [Sonarr][] ([@quadportnick]) +- Switch - broadlink: Support for [SP][bl-switch] devices ([@Danielhiversen]) +- Homematic: Support for HMIP-PSM or HMWIOSwitch ([@danielperna84], [@pvizeli]) +- Light - flux: Ledenet protocol support by Flux LED ([@bah2830]) +- Device tracker: Support for longer intervals ([@partofthething]) +- ISY994: Weather sensors added ([@rmkraus]) +- Light - Yeelight: Auto discovery support and color temperature feature for [Yeelight][yeelight] ([@jjensn]) +- Media player - SqueezeBox: Switch to JSON-RPC ([@dasos]) +- Scripts: Support for `last_triggered` ([@Danielhiversen]) +- Media player: Support for `SUPPORT_PLAY` flag ([@armills]) +- Minor and not so minor features and bug fixes by [@balloob], [@pvizeli], [@fabaff], [@mezz64], [@andrey-git], [@aequitas], [@abmantis], [@turbokongen], [@jabesq], [@michaelarnauts], [@kellerza], [@titilambert], [@btorresgil], [@henworth], [@armills], [@mjg59], [@Giannie], [@n8henrie], [@magicus], [@florianholzapfel], [@MrMep], [@bah2830], [@happyleavesaoc], [@lwis], [@glance-], [@markferry], and [@nikdoof]. + +### If you need help... +...don't hesitate to use our [Forum](https://community.home-assistant.io/) or join us for a little [chat](https://gitter.im/home-assistant/home-assistant). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. + +### Reporting Issues +Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template. + +[@abmantis]: https://github.com/abmantis +[@aequitas]: https://github.com/aequitas +[@andrey-git]: https://github.com/andrey-git +[@armills]: https://github.com/armills +[@bah2830]: https://github.com/bah2830 +[@balloob]: https://github.com/balloob +[@brandonweeks]: https://github.com/brandonweeks +[@btorresgil]: https://github.com/btorresgil +[@Danielhiversen]: https://github.com/Danielhiversen +[@danieljkemp]: https://github.com/danieljkemp +[@danielperna84]: https://github.com/danielperna84 +[@dasos]: https://github.com/dasos +[@DavidLP]: https://github.com/DavidLP +[@doudz]: https://github.com/doudz +[@eieste]: https://github.com/eieste +[@fabaff]: https://github.com/fabaff +[@florianholzapfel]: https://github.com/florianholzapfel +[@Giannie]: https://github.com/Giannie +[@glance-]: https://github.com/glance- +[@happyleavesaoc]: https://github.com/happyleavesaoc +[@henworth]: https://github.com/henworth +[@HydrelioxGitHub]: https://github.com/HydrelioxGitHub +[@jabesq]: https://github.com/jabesq +[@jjensn]: https://github.com/jjensn +[@kellerza]: https://github.com/kellerza +[@kk7ds]: https://github.com/kk7ds +[@lwis]: https://github.com/lwis +[@magicus]: https://github.com/magicus +[@markferry]: https://github.com/markferry +[@MatoKafkac]: https://github.com/MatoKafkac +[@mezz64]: https://github.com/mezz64 +[@michaelarnauts]: https://github.com/michaelarnauts +[@mjg59]: https://github.com/mjg59 +[@MrMep]: https://github.com/MrMep +[@n8henrie]: https://github.com/n8henrie +[@nikdoof]: https://github.com/nikdoof +[@partofthething]: https://github.com/partofthething +[@pvizeli]: https://github.com/pvizeli +[@quadportnick]: https://github.com/quadportnick +[@RiRomain]: https://github.com/RiRomain +[@rmkraus]: https://github.com/rmkraus +[@scmmmh]: https://github.com/scmmmh +[@technicalpickles]: https://github.com/technicalpickles +[@ttroy50]: https://github.com/ttroy50 +[@turbokongen]: https://github.com/turbokongen +[@w1ll1am23]: https://github.com/w1ll1am23 +[@wardcraigj]: https://github.com/wardcraigj +[@webworxshop]: https://github.com/webworxshop +[@titilambert]: https://github.com/titilambert + +[beaglebone]: https://home-assistant.io/components/bbb_gpio/ +[bl-switch]: https://home-assistant.io/components/switch.broadlink/ +[dublin]: https://home-assistant.io/components/sensor.dublin_public_transport/ +[image]: https://home-assistant.io/components/image_processing/ +[insteon]: https://home-assistant.io/components/insteon_local/ +[kankun]: https://home-assistant.io/components/switch.kankun/ +[lannouncer]: https://home-assistant.io/components/notify.lannouncer/ +[packages]: https://home-assistant.io/topics/packages/ +[pico]: https://home-assistant.io/components/tts.picotts/ +[ping]: https://home-assistant.io/components/device_tracker.ping/ +[plates]: https://home-assistant.io/components/openalpr/ +[quebec]: https://home-assistant.io/components/sensor.hydroquebec/ +[rest]: https://home-assistant.io/components/rest_command/ +[sma]: https://home-assistant.io/components/sensor.sma/ +[sonarr]: https://home-assistant.io/components/sensor.sonarr/ +[tik]: https://home-assistant.io/components/light.tikteck/ +[trackr]: https://home-assistant.io/components/device_tracker.trackr/ +[upc]: https://home-assistant.io/components/device_tracker.upc_connect/ +[usps]: https://home-assistant.io/components/sensor.usps/ +[wink-fan]: https://home-assistant.io/components/fan.wink/ +[xiaomi]: https://home-assistant.io/components/device_tracker.xiaomi/ +[yeelight]: https://home-assistant.io/components/light.yeelight/ +[zengge]: https://home-assistant.io/components/light.zengge/ + From b01f70083a9e2a58f6a18a000691621021ad012d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Jan 2017 19:28:24 +0100 Subject: [PATCH 180/190] Address comments from #1742 --- source/_components/image_processing.markdown | 12 ++++---- .../image_processing.openalpr_cloud.markdown | 18 +++++------ .../image_processing.openalpr_local.markdown | 30 ++++++++++--------- source/_components/openalpr.markdown | 8 ++--- 4 files changed, 35 insertions(+), 33 deletions(-) diff --git a/source/_components/image_processing.markdown b/source/_components/image_processing.markdown index 4da68663f4f..9c07aff9bac 100644 --- a/source/_components/image_processing.markdown +++ b/source/_components/image_processing.markdown @@ -10,16 +10,16 @@ footer: true ha_release: 0.36 --- -Image processing enables Home Assistant to process image from cameras. -As source is only supported camera entities. +Image processing enables Home Assistant to process image from [cameras][/components/#camera]. Only camera entities are supported as sources. -For interval controll, use `scan_interval` in platform. +For interval control, use `scan_interval` in platform. -## {% linkable_title Alpr %} +## {% linkable_title ALPR %} Alpr entities attribute have a vehicle counter `vehicles` and all found plates as `plates`. -This event is trigger after openalpr found a new licence plate. +This event is trigger after OpenALPR found a new licence plate. + ```yaml # Example configuration.yaml automation entry automation: @@ -33,4 +33,4 @@ automation: ... ``` -follow event data while be present: `entity_id`, `plate`, `confidence` +The following event attributes will be present: `entity_id`, `plate`, `confidence` diff --git a/source/_components/image_processing.openalpr_cloud.markdown b/source/_components/image_processing.openalpr_cloud.markdown index b7147a65368..cb856a44890 100644 --- a/source/_components/image_processing.openalpr_cloud.markdown +++ b/source/_components/image_processing.openalpr_cloud.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "OpenAlpr Cloud" -description: "Instructions how to integrate licences plates with OpenAlpr cloud into Home Assistant." +title: "OpenALPR Cloud" +description: "Instructions how to integrate licences plates with OpenALPR cloud into Home Assistant." date: 2017-01-09 00:00 sidebar: true comments: false @@ -13,7 +13,7 @@ featured: false ha_release: 0.36 --- -[OpenAlpr](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). +[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). ### {% linkable_title Configuration Home Assistant %} @@ -27,9 +27,9 @@ image_processing: ``` Configuration variables: -- **region** (*Required*): Country or region. List of Supported [value](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). -- **alpr_bin** (*Optional*): Default `alpr`. The command line tool alpr from OpenAlpr software for local processing. -- **confidence** (*Optional*): Default 80. The minimum of confidence in percent to process with Home-Assistant. -- **source** (*Required*): - - **entities** (*Required*): A list of device to add in Home-Assistant. - - **name** (*Optional*): This parameter allows you to override the name of your openalpr entity. +- **region** (*Required*): Country or region. List of supported [values](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). +- **alpr_bin** (*Optional*): The command line tool alpr from OpenALPR software for local processing. Defaults to `alpr`. +- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. +- **source** array (*Required*): List of image sources. + - **entities** (*Required*): A list of devices to add in Home Assistant. + - **name** (*Optional*): This parameter allows you to override the name of your OpenALPR entity. diff --git a/source/_components/image_processing.openalpr_local.markdown b/source/_components/image_processing.openalpr_local.markdown index 8102ac0c851..11e8818445a 100644 --- a/source/_components/image_processing.openalpr_local.markdown +++ b/source/_components/image_processing.openalpr_local.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "OpenAlpr Local" -description: "Instructions how to integrate licences plates with OpenAlpr local into Home Assistant." +title: "OpenALPR Local" +description: "Instructions how to integrate licences plates with OpenALPR local into Home Assistant." date: 2017-01-09 00:00 sidebar: true comments: false @@ -13,22 +13,24 @@ featured: false ha_release: 0.36 --- -[OpenAlpr](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). +[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). ### {% linkable_title Local installation %} -If you want process all data local you need the command line tool `alpr` in version > 2.3.1 +If you want process all data locally, you need version 2.3.1 or higher of the `alpr` commandline tool. If you don't find binaries for your distribution you can compile from source. Documention of how to build openalpr is found [here](https://github.com/openalpr/openalpr/wiki). -On a debian system you can use this cmake command to build only the command line tool (which second part on linux build instruction - ubuntu 14.04+): +On a Debian system you can use this `cmake` command to build only the command line tool: + ```bash -cmake -DWITH_TEST=FALSE -DWITH_BINDING_JAVA=FALSE --DWITH_BINDING_PYTHON=FALSE --DWITH_BINDING_GO=FALSE -DWITH_DAEMON=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr .. +$ cmake -DWITH_TEST=FALSE -DWITH_BINDING_JAVA=FALSE --DWITH_BINDING_PYTHON=FALSE --DWITH_BINDING_GO=FALSE -DWITH_DAEMON=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr .. ``` -Verify your alpr installation with: +Verify your `alpr` installation with: + ``` -wget -O- -q http://plates.openalpr.com/h786poj.jpg | alpr - +$ wget -O- -q http://plates.openalpr.com/h786poj.jpg | alpr - ``` ### {% linkable_title Configuration Home Assistant %} @@ -44,9 +46,9 @@ image_processing: ``` Configuration variables: -- **region** (*Required*): Country or region. List of Supported [value](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). -- **api_key** (*Required*): You need a api key from [OpenAlpr Cloud](https://cloud.openalpr.com/). -- **confidence** (*Optional*): Default 80. The minimum of confidence in percent to process with Home-Assistant. -- **source** (*Required*): - - **entities** (*Required*): A list of device to add in Home-Assistant. - - **name** (*Optional*): This parameter allows you to override the name of your openalpr entity. +- **region** (*Required*): Country or region. List of supported [values](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). +- **api_key** (*Required*): You need an API key from [OpenALPR Cloud](https://cloud.openalpr.com/). +- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. +- **source** array (*Required*): List of image sources. + - **entities** (*Required*): A list of devices to add in Home Assistant. + - **name** (*Optional*): This parameter allows you to override the name of your OpenALPR entity. diff --git a/source/_components/openalpr.markdown b/source/_components/openalpr.markdown index 8efabd0522b..f99797d6d20 100644 --- a/source/_components/openalpr.markdown +++ b/source/_components/openalpr.markdown @@ -22,17 +22,17 @@ If you want use a video stream. You need setup the [ffmpeg](/components/ffmpeg) ### {% linkable_title Local installation %} -If you want process all data local you need the commandline tool `alpr` in version > 2.3.1 +If you want process all data locally, you need version 2.3.1 or higher of the `alpr` commandline tool. If you don't find binaries for your distribution you can compile from source. Documention of how to build OpenALPR is found [here](https://github.com/openalpr/openalpr/wiki). -On a Debian system you can use this `cmake` command to build only the command line tool (which second part on linux build instruction - ubuntu 14.04+): +On a Debian system you can use this `cmake` command to build only the command line tool: ```bash $ cmake -DWITH_TEST=FALSE -DWITH_BINDING_JAVA=FALSE --DWITH_BINDING_PYTHON=FALSE --DWITH_BINDING_GO=FALSE -DWITH_DAEMON=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr .. ``` -Verify your alpr installation with: +Verify your `alpr` installation with: ``` $ wget -O- -q http://plates.openalpr.com/h786poj.jpg | alpr - @@ -63,7 +63,7 @@ openalpr: Configuration variables: - **engine** (*Required*): `local` or `cloud` for processing -- **region** (*Required*): Country or region. List of supported [value](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). +- **region** (*Required*): Country or region. List of supported [values](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). - **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. - **entities** (*Required*): A list of device to add in Home Assistant. - **name** (*Optional*): This parameter allows you to override the name of your OpenALPR entity. From c80d9b5e291ffbbe5f9903c71c288400b16bef83 Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Sun, 15 Jan 2017 03:53:51 +0100 Subject: [PATCH 181/190] Add mysensors notify platform (#1736) --- source/_components/notify.mysensors.markdown | 100 +++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 source/_components/notify.mysensors.markdown diff --git a/source/_components/notify.mysensors.markdown b/source/_components/notify.mysensors.markdown new file mode 100644 index 00000000000..e465afe63d3 --- /dev/null +++ b/source/_components/notify.mysensors.markdown @@ -0,0 +1,100 @@ +--- +layout: page +title: "MySensors Notify" +description: "Instructions how to integrate MySensors notifications into Home Assistant." +date: 2017-01-07 15:00 +0100 +sidebar: true +comments: false +sharing: true +footer: true +logo: mysensors.png +ha_category: Notifications +ha_release: 0.36 +ha_iot_class: "Local Push" +--- + +Integrates MySensors notifications into Home Assistant. See the [main component] for configuration instructions. + +Setting the `target` key in the service call will target the name of the MySensors device in Home Assistant. MySensors device names follow the notation: "[Sketch name] [Node id] [Child id]". + +### {% linkable_title Automation example %} + +```yaml +... +action: + service: notify.mysensors + data: + message: Welcome home! + target: 'TextSensor 254 1' +``` + +The following sensor types are supported: + +##### MySensors version 2.0 and higher + +S_TYPE | V_TYPE +----------------|-------------------------- +S_INFO | V_TEXT + +For more information, visit the [api] page of MySensors. + +### {% linkable_title Example sketch %} + +```cpp +/* + * Documentation: http://www.mysensors.org + * Support Forum: http://forum.mysensors.org + */ + + #define MY_DEBUG + #define MY_RADIO_NRF24 + #define MY_REPEATER_FEATURE + + #include + #include + + #define SN "TextSensor" + #define SV "1.0" + #define CHILD_ID 1 + + MyMessage textMsg(CHILD_ID, V_TEXT); + bool initialValueSent = false; + + void setup(void) { + } + + void presentation() { + sendSketchInfo(SN, SV); + present(CHILD_ID, S_INFO, "TextSensor1"); + } + + void loop() { + if (!initialValueSent) { + Serial.println("Sending initial value"); + // Send initial values. + send(textMsg.set("-")); + Serial.println("Requesting initial value from controller"); + request(CHILD_ID, V_TEXT); + wait(2000, C_SET, V_TEXT); + } + } + + void receive(const MyMessage &message) { + if (message.type == V_TEXT) { + if (!initialValueSent) { + Serial.println("Receiving initial value from controller"); + initialValueSent = true; + } + // Dummy print + Serial.print("Message: "); + Serial.print(message.sensor); + Serial.print(", Message: "); + Serial.println(message.getString()); + // Send message to controller + send(textMsg.set(message.getString())); + } + } +``` + +[main component]: /components/mysensors/ +[api]: http://www.mysensors.org/download/ From f72a7838e718aa1b1330b8af61446a44d7c7b052 Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Sun, 15 Jan 2017 03:54:32 +0100 Subject: [PATCH 182/190] Change name of apns notify service (#1772) * Both apns notify services are now found under the notify domain. * Update required configuration. --- source/_components/notify.apns.markdown | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/source/_components/notify.apns.markdown b/source/_components/notify.apns.markdown index 2bafb470826..354a1897cb2 100644 --- a/source/_components/notify.apns.markdown +++ b/source/_components/notify.apns.markdown @@ -22,17 +22,19 @@ notify: name: NOTIFIER_NAME platform: apns cert_file: cert_file.pem + topic: topic ``` Configuration variables: - **name** (*Required*): The name of the notifier. The notifier will bind to the service `notify.NOTIFIER_NAME`. -- **sandbox** (*Optional*): If true notifications will be sent to the sandbox (test) notification service. Default false. - **cert_file** (*Required*): The certificate to use to authenticate with the APNS service. +- **topic** (*Required*): The app bundle ID specified in the certificate. +- **sandbox** (*Optional*): If true notifications will be sent to the sandbox (test) notification service. Default false. -The APNS platform will register two services, `notify.NOTIFIER_NAME` and `apns.NOTIFIER_NAME`. +The APNS platform will register two services, `notify.NOTIFIER_NAME` and `notify.apns_NOTIFIER_NAME`. -### apns.NOTIFIER_NAME +### notify.apns_NOTIFIER_NAME This service will register device id's with home assistant. In order to receive a notification a device must be registered. The app on the device can use this service to send an ID to Home Assistant during startup, the ID will be stored in `[NOTIFIER_NAME]_apns.yaml`. @@ -47,7 +49,7 @@ This service will send messages to a registered device. The following parameters - **target**: The desired state of the device, only devices that match the state will receive messages. To enable state tracking a registered device must have a `tracking_device_id` attribute added to the `[NOTIFIER_NAME]_apns.yaml` file. If this ID matches a device in `known_devices.yaml` the device state will be tracked. - **data**: - * **badge**: The number to display as the badge of the app ic. - * **sound**: The name of a sound file in the app bundle or in the Library/Sounds folder. - * **category**: Provide this key with a string value that represents the identifier property of the UIMutableUserNotificationCategory. - * **content_available**: Provide this key with a value of 1 to indicate that new content is available. + * **badge**: The number to display as the badge of the app ic. + * **sound**: The name of a sound file in the app bundle or in the Library/Sounds folder. + * **category**: Provide this key with a string value that represents the identifier property of the UIMutableUserNotificationCategory. + * **content_available**: Provide this key with a value of 1 to indicate that new content is available. From 3696c004dca377af7bef2b33161483962261e964 Mon Sep 17 00:00:00 2001 From: Zac Hatfield Dodds Date: Sun, 15 Jan 2017 22:13:48 +1100 Subject: [PATCH 183/190] Improved and new docs for BOM weather (#1703) --- source/_components/sensor.bom.markdown | 44 +++++++++---------------- source/_components/weather.bom.markdown | 32 ++++++++++++++++++ 2 files changed, 48 insertions(+), 28 deletions(-) create mode 100644 source/_components/weather.bom.markdown diff --git a/source/_components/sensor.bom.markdown b/source/_components/sensor.bom.markdown index 5c24034aeb5..793da252e66 100644 --- a/source/_components/sensor.bom.markdown +++ b/source/_components/sensor.bom.markdown @@ -12,25 +12,11 @@ ha_category: Weather ha_release: 0.29 --- -The `bom` platform allows you to get the current weather conditions from the [Bureau of Meteorology (BOM)](http://www.bom.gov.au/) Australia. +The `bom` sensor platform uses the [Australian Bureau of Meteorology (BOM)](http://www.bom.gov.au) as a source for current (half-hourly) meteorological data. - Each sensor will be given the `device_id` of "bom [optionalname] friendlyname units" - A name is optional but if multiple BOM weather stations are used a name will be required. -- The sensor will update every minute 35 minutes after last data timestamp. This allows for the 30 minute observation cycle and the approximate 5 minute update delay in publishing the data. - -To get the station ID `[zone_id]` and `[wmo_id]` for your local BOM station: -- Find your station on these maps: - - NSW: http://www.bom.gov.au/nsw/observations/map.shtml - - QLD: http://www.bom.gov.au/qld/observations/map.shtml - - VIC: http://www.bom.gov.au/vic/observations/map.shtml - - WA: http://www.bom.gov.au/wa/observations/map.shtml - - SA: http://www.bom.gov.au/sa/observations/map.shtml - - TAS: http://www.bom.gov.au/tas/observations/map.shtml - - ACT: http://www.bom.gov.au/act/observations/canberramap.shtml - - NT: http://www.bom.gov.au/nt/observations/map.shtml - - alternatively, from the [BOM website](http://www.bom.gov.au/), navigate to State -> Observations -> Latest Observations -> Choose the station. -- The URL will look like: http://www.bom.gov.au/products/[zone_id]/[zone_id].[wmo_id].shtml - - For Adelaide, the URL will look like http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml. +- The sensor checks for new data every minute, starting 30 minutes after the timestamp of the most recent data as the data is updated every half-hour. To add the BOM weather observation to your installation, add the following to your `configuration.yaml` file: @@ -38,17 +24,9 @@ To add the BOM weather observation to your installation, add the following to yo # Example configuration.yaml entry sensor: - platform: bom - zone_id: IDS60801 - wmo_id: 94675 + station: IDS60801.94675 + name: Adelaide monitored_conditions: - - wmo - - name - - history_product - - local_date_time - - local_date_time_full - - aifstime_utc - - lat - - lon - apparent_t - cloud - cloud_base_m @@ -77,9 +55,19 @@ sensor: - wind_spd_kt ``` +To get the station ID for any BOM station: +- Find your station on these maps: [NSW](http://www.bom.gov.au/nsw/observations/map.shtml), [QLD](http://www.bom.gov.au/qld/observations/map.shtml), [VIC](http://www.bom.gov.au/vic/observations/map.shtml), [WA](http://www.bom.gov.au/wa/observations/map.shtml), [SA](http://www.bom.gov.au/sa/observations/map.shtml), [TAS](http://www.bom.gov.au/tas/observations/map.shtml), [ACT](http://www.bom.gov.au/act/observations/canberramap.shtml), [NT](http://www.bom.gov.au/nt/observations/map.shtml). + - alternatively, from the [BOM website](http://www.bom.gov.au/), navigate to State -> Observations -> Latest Observations -> Choose the station. +- The URL will look like: http://www.bom.gov.au/products/IDx60801/[station].shtml + - For Adelaide, the URL will look like `http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml`; the station ID is `IDS60801.94675`. + Configuration variables: -- **zone_id** (*Required*): The zone_id as identified from the BOM website. -- **wmo_id** (*Required*): The wmo as identified from the BOM website. +- **station** (*Optional*): The station ID string as identified from the BOM website. If not given, defaults to the closest station. - **name** (*Optional*): The name you would like to give to the weather station. - **monitored_conditions** (*Required*): A list of the conditions to monitor. + +

+This sensor is an alternative to the [`bom`](/components/weather.bom/) weather platform. +The weather platform is easier to configure but less customisable. +

diff --git a/source/_components/weather.bom.markdown b/source/_components/weather.bom.markdown new file mode 100644 index 00000000000..ac0c378a7e1 --- /dev/null +++ b/source/_components/weather.bom.markdown @@ -0,0 +1,32 @@ +--- +layout: page +title: "Bureau of Meteorology (BOM) Australia" +description: "Instructions on how to integrate Bureau of Meteorology Australia weather conditions into Home Assistant." +date: 2016-09-29 09:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: bom.png +ha_category: Weather +ha_release: 0.36 +--- + +The `bom` weather platform uses the [Australian Bureau of Meteorology (BOM)](http://www.bom.gov.au) as a source for current (half-hourly) meteorological data. + +To add the BOM weather platform to your installation, add the following to your `configuration.yaml` file: + +```yaml +weather: + - platform: bom +``` + +Configuration variables: + +- **name** (*Optional*): The name you would like to give to the weather station. +- **station** (*Optional*): The station ID string; defaults to the closest station. See the [`sensor.bom` docs](/components/sensor.bom/) for details on how to find the ID of a station. + +

+This platform is an alternative to the [`bom`](/components/sensor.bom/) sensor. +The weather platform is easier to configure but less customisable. +

From 27d03a3b9d600d761dcfe454e38981968b012891 Mon Sep 17 00:00:00 2001 From: Gianluca Barbaro Date: Sun, 15 Jan 2017 13:09:24 +0100 Subject: [PATCH 184/190] Update media_player.vlc.markdown (#1771) * Update media_player.vlc.markdown Integration consequent to update #5334 * Update media_player.vlc.markdown --- source/_components/media_player.vlc.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_components/media_player.vlc.markdown b/source/_components/media_player.vlc.markdown index 59940f6f323..a779b435f47 100644 --- a/source/_components/media_player.vlc.markdown +++ b/source/_components/media_player.vlc.markdown @@ -22,11 +22,14 @@ To add a VLC media player to your installation, add the following to your `confi # Example configuration.yaml entry media_player: - platform: vlc + name: speaker_1 + arguments: '--alsa-audio-device=hw:1,0' ``` Configuration variables: - **name** (*Optional*): The name to use in the frontend. +- **arguments** (*Optional*): Additional arguments to be passed to VLC. Only "music" media type is supported for now. From e02aa422e98c247711e1635a86d69f017b1a10f0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 15 Jan 2017 13:11:52 +0100 Subject: [PATCH 185/190] Minimize the configuration sample --- source/_components/media_player.vlc.markdown | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/source/_components/media_player.vlc.markdown b/source/_components/media_player.vlc.markdown index a779b435f47..78d2971daee 100644 --- a/source/_components/media_player.vlc.markdown +++ b/source/_components/media_player.vlc.markdown @@ -22,8 +22,6 @@ To add a VLC media player to your installation, add the following to your `confi # Example configuration.yaml entry media_player: - platform: vlc - name: speaker_1 - arguments: '--alsa-audio-device=hw:1,0' ``` Configuration variables: @@ -34,3 +32,15 @@ Configuration variables: Only "music" media type is supported for now. This service will control a background VLC instance, therefore you cannot use this to control a VLC instance launched on your desktop, unlike the Kodi media player for example. + +## {% linkable_title Full configuration %} + +A full configuration for VLC could llok like the one below: + +```yaml +# Example configuration.yaml entry +media_player: + - platform: vlc + name: speaker_1 + arguments: '--alsa-audio-device=hw:1,0' +``` From b96655b471e230e6b58f3cb70c0895ec952457bb Mon Sep 17 00:00:00 2001 From: Lupin Demid Date: Sun, 15 Jan 2017 18:43:23 +0400 Subject: [PATCH 186/190] Added yandex tts doc (#1775) --- source/_components/tts.yandextts.markdown | 46 ++++++++++++++++++++++ source/images/supported_brands/yandex.png | Bin 0 -> 5559 bytes 2 files changed, 46 insertions(+) create mode 100644 source/_components/tts.yandextts.markdown create mode 100644 source/images/supported_brands/yandex.png diff --git a/source/_components/tts.yandextts.markdown b/source/_components/tts.yandextts.markdown new file mode 100644 index 00000000000..f331c8065e6 --- /dev/null +++ b/source/_components/tts.yandextts.markdown @@ -0,0 +1,46 @@ +--- +layout: page +title: "Yandex TTS" +description: "Instructions how to setup Yandex SpeechKit TTS with Home Assistant." +date: 2017-01-05 03:04 +sidebar: true +comments: false +sharing: true +footer: true +logo: yandex.png +ha_category: Text-to-speech +ha_release: 0.36 +--- + +The `yandextts` text-to-speech platform uses [Yandex SpeechKit](https://tech.yandex.com/speechkit/) Text-to-Speech engine to read a text with natural sounding voices. + +To enable text-to-speech with Yandex SpeechKit, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +tts: + - platform: yandextts + api_key: 'XXXXXXXX' +``` + +Configuration variables: + +- **api_key** (*Requered*): API Key for use this service. +- **language** (*Optional*): The language to use. Defaults to `en-us`. Supported en-EN, ru-RU, uk-UK, tr-TR +- **codec** (*Optional*): Audo codec. Default is 'mp3'. Supported us mp3, wav, opus. +- **voice** (*Optional*): Speaker voice. Default is 'zahar'. Supported female voices are jane, oksana, alyss, omazh and male voices are zahar and ermil + + +See on api [documentation](https://tech.yandex.com/speechkit/cloud/doc/dg/concepts/speechkit-dg-tts-docpage/) for details. N.B. english version of documentation is outdated. So you could receive api key [here](https://developer.tech.yandex.ru/) + +A full configuration sample: + +```yaml +# Example configuration.yaml entry +tts: + - platform: yandextts + api_key: 'XXXXX' + language: 'ru-RU' + codec: mp3 + voice: oksana +``` diff --git a/source/images/supported_brands/yandex.png b/source/images/supported_brands/yandex.png new file mode 100644 index 0000000000000000000000000000000000000000..73f1132ac90e7fff2ca15c73a029603318d9e0e7 GIT binary patch literal 5559 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 Date: Sun, 15 Jan 2017 17:59:30 +0100 Subject: [PATCH 187/190] Add details about migration --- source/_components/influxdb.markdown | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/_components/influxdb.markdown b/source/_components/influxdb.markdown index dbab0954430..c6154faf5f4 100644 --- a/source/_components/influxdb.markdown +++ b/source/_components/influxdb.markdown @@ -38,6 +38,23 @@ Configuration variables: - **tags** (*Optional*): Tags to mark the data. +Starting with 0.36 the InfluxDB component has a new schema to store values in the InfluxDB databases. + +- There will not be any tags/fields named time anymore. +- All numeric fields (int/float/bool) will be stored as float inside InfluxDB database. +- All string fields corresponding to state attributes will be renamed as `FIELDNAME_str`, where `FIELDNAME` is the state attribute, to avoid type conflicts. +- All string fields corresponding to a state will be renamed as state (former value). +- Fields named value will always be stored as float. +- Fields named state will always be stored as string. + +If you need to migrate your database, you may require to run the `influxdb_migrator` script. + +```bash +$ hass --script influxdb_migrator \ + -H IP_INFLUXDB_HOST -u INFLUXDB_USERNAME -p INFLUXDB_PASSWORD \ + -o test_series -d INFLUXDB_DB_NAME +``` + ## {% linkable_title Examples %} From 45cda48e92d8381f36fb95835b71e8b887b225a3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 15 Jan 2017 18:06:32 +0100 Subject: [PATCH 188/190] Update date --- ...es.markdown => 2017wq-01-14-iss-usps-images-packages.markdown} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/_posts/{2016-01-14-iss-usps-images-packages.markdown => 2017wq-01-14-iss-usps-images-packages.markdown} (100%) diff --git a/source/_posts/2016-01-14-iss-usps-images-packages.markdown b/source/_posts/2017wq-01-14-iss-usps-images-packages.markdown similarity index 100% rename from source/_posts/2016-01-14-iss-usps-images-packages.markdown rename to source/_posts/2017wq-01-14-iss-usps-images-packages.markdown From a9f75268d53efcb1ea3da77c4266c73ffc62f785 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 15 Jan 2017 18:08:37 +0100 Subject: [PATCH 189/190] Fix filename --- ...ages.markdown => 2017-01-14-iss-usps-images-packages.markdown} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/_posts/{2017wq-01-14-iss-usps-images-packages.markdown => 2017-01-14-iss-usps-images-packages.markdown} (100%) diff --git a/source/_posts/2017wq-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown similarity index 100% rename from source/_posts/2017wq-01-14-iss-usps-images-packages.markdown rename to source/_posts/2017-01-14-iss-usps-images-packages.markdown From 94f7c7e8462b3fef8b1472a47227b791376ad890 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 Jan 2017 09:09:33 -0800 Subject: [PATCH 190/190] fixes --- ...17-01-14-iss-usps-images-packages.markdown | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index 15aae9eefd4..0b20d8a8e98 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -13,19 +13,19 @@ og_image: /images/blog/2016-12-0.35/social.png Welcome to 2017 and 0.36. We are proud to announce the first release for this year. While we are still migrating parts to async but 0.36 is focusing on new features and bug fixes. -## Packages +## {% linkable_title Packages %} [Packages][packages] are providing a new way to organize different component's configuration parts together. With packages we offer the option to include different components or parts of configuration using any of the `!include` directives. -## International Space Station (ISS) -No, unfortunately we are not going to space. The `iss` sensor is tracking the position of the International Space Station and gives your some details. +## {% linkable_title International Space Station (ISS) %} +No, unfortunately we are not going to space. The `iss` sensor is tracking the position of the International Space Station and gives your some details. -## Insteon local -The support for Insteon was removed due to issues. With the `insteon_local` component support for [Insteon][insteon] is back. +## {% linkable_title Insteon local %} +The support for Insteon was removed due to issues. With the `insteon_local` component support for [Insteon][insteon] is back. -## Image processing +## {% linkable_title Image processing %} The new [image processing component][image] currently works with [number plates][plates]. But this could level the way to integrate feature like facial recognition or gestures control. -## All changes +## {% linkable_title All changes %} - Sensor: Support for [HydroQuebec][quebec] ([@titilambert]) - Sensor: Tracking the [ISS][iss] ([@HydrelioxGitHub]) - Sensor: [USPS][usps] deliveries tracking ([@happyleavesaoc]) @@ -57,11 +57,24 @@ The new [image processing component][image] currently works with [number plates] - Scripts: Support for `last_triggered` ([@Danielhiversen]) - Media player: Support for `SUPPORT_PLAY` flag ([@armills]) - Minor and not so minor features and bug fixes by [@balloob], [@pvizeli], [@fabaff], [@mezz64], [@andrey-git], [@aequitas], [@abmantis], [@turbokongen], [@jabesq], [@michaelarnauts], [@kellerza], [@titilambert], [@btorresgil], [@henworth], [@armills], [@mjg59], [@Giannie], [@n8henrie], [@magicus], [@florianholzapfel], [@MrMep], [@bah2830], [@happyleavesaoc], [@lwis], [@glance-], [@markferry], and [@nikdoof]. - -### If you need help... + +### {% linkable_title Breaking Changes %} + +- [APNS][apns] service was moved to the `notify` domain. Use `notify.apns_NOTIFIER_NAME` instead of `apns.NOTIFIER_NAME`. +- InfluxDB component has a new schema to store values in the influx db. You may require to run the `influxdb_migrator` script. + You have to note: + - There will not be any tags/fields named time anymore. + - All numeric fields (int/float/bool) will be stored as float inside influx db. + - All string fields corresponding to state attributes will be renamed as FIELDNAME_str, where FIELDNAME is the state attribute, to avoid type conflicts. + - All string fields corresponding to a state will be renamed as state (former value). + - Fields named value will always be stored as float. + - Fields named state will always be stored as string. + + +### {% linkable_title If you need help... %} ...don't hesitate to use our [Forum](https://community.home-assistant.io/) or join us for a little [chat](https://gitter.im/home-assistant/home-assistant). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. -### Reporting Issues +### {% linkable_title Reporting Issues %} Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template. [@abmantis]: https://github.com/abmantis @@ -137,4 +150,4 @@ Experiencing issues introduced by this release? Please report them in our [issue [xiaomi]: https://home-assistant.io/components/device_tracker.xiaomi/ [yeelight]: https://home-assistant.io/components/light.yeelight/ [zengge]: https://home-assistant.io/components/light.zengge/ - +[apns]: https://home-assistant.io/components/notify.apns/

There is a known issue in urllib3 that you will get error messages in your logs like [StartBoundaryNotFoundDefect(), MultipartInvariantViolationDefect()], unparsed data: '' but the component still works fine. You can ignore the messages.