From cc19822b046d73af0e7b67694f390ab4eef70dbd Mon Sep 17 00:00:00 2001 From: Travis CI Date: Sat, 21 May 2016 22:00:31 +0000 Subject: [PATCH] Site updated at 2016-05-21 22:00:31 UTC --- atom.xml | 98 ++--- blog/2014/12/18/website-launched/index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- blog/2015/01/13/nest-in-da-house/index.html | 12 +- blog/2015/01/24/release-notes/index.html | 12 +- .../2015/02/08/looking-at-the-past/index.html | 12 +- blog/2015/02/24/streaming-updates/index.html | 12 +- .../index.html | 12 +- blog/2015/03/08/new-logo/index.html | 12 +- blog/2015/03/11/release-notes/index.html | 12 +- blog/2015/03/22/release-notes/index.html | 12 +- blog/2015/04/25/release-notes/index.html | 12 +- .../05/09/utc-time-zone-awareness/index.html | 12 +- blog/2015/05/14/release-notes/index.html | 12 +- blog/2015/06/10/release-notes/index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../13/home-assistant-meets-ifttt/index.html | 12 +- .../index.html | 12 +- .../alarm-sonos-and-itunes-support/index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../11/22/survey-november-2015/index.html | 12 +- .../12/05/community-highlights/index.html | 12 +- .../index.html | 12 +- .../12/07/influxdb-and-grafana/index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../01/19/perfect-home-automation/index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../multi-room-audio-with-snapcast/index.html | 12 +- .../02/20/community-highlights/index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- blog/2016/04/07/static-website/index.html | 12 +- .../index.html | 12 +- .../04/17/updated-documentation/index.html | 12 +- .../04/19/to-infinity-and-beyond/index.html | 12 +- .../index.html | 12 +- .../index.html | 8 +- .../05/06/open-iot-summit-talk/index.html | 12 +- .../empowering-scripts-and-alexa/index.html | 12 +- .../index.html | 12 +- blog/2016/05/18/why-we-use-polymer/index.html | 12 +- blog/2016/05/21/release-020/index.html | 295 +++++++++++++++ blog/archives/index.html | 44 ++- blog/categories/community/atom.xml | 2 +- blog/categories/community/index.html | 12 +- blog/categories/esp8266/atom.xml | 2 +- blog/categories/esp8266/index.html | 12 +- blog/categories/how-to/atom.xml | 2 +- blog/categories/how-to/index.html | 12 +- blog/categories/ibeacons/atom.xml | 2 +- blog/categories/ibeacons/index.html | 12 +- blog/categories/internet-of-things/atom.xml | 2 +- blog/categories/internet-of-things/index.html | 12 +- blog/categories/mqtt/atom.xml | 2 +- blog/categories/mqtt/index.html | 12 +- blog/categories/organisation/atom.xml | 2 +- blog/categories/organisation/index.html | 12 +- blog/categories/owntracks/atom.xml | 2 +- blog/categories/owntracks/index.html | 12 +- blog/categories/presence-detection/atom.xml | 2 +- blog/categories/presence-detection/index.html | 12 +- .../public-service-announcement/atom.xml | 2 +- .../public-service-announcement/index.html | 12 +- blog/categories/release-notes/atom.xml | 107 +++--- blog/categories/release-notes/index.html | 44 ++- blog/categories/survey/atom.xml | 2 +- blog/categories/survey/index.html | 12 +- blog/categories/talks/atom.xml | 2 +- blog/categories/talks/index.html | 12 +- blog/categories/technology/atom.xml | 2 +- blog/categories/technology/index.html | 12 +- blog/categories/user-stories/atom.xml | 2 +- blog/categories/user-stories/index.html | 12 +- blog/categories/video/atom.xml | 2 +- blog/categories/video/index.html | 12 +- blog/categories/website/atom.xml | 2 +- blog/categories/website/index.html | 12 +- blog/index.html | 130 ++++--- blog/posts/2/index.html | 130 +++---- blog/posts/3/index.html | 126 ++++--- blog/posts/4/index.html | 109 +++--- blog/posts/5/index.html | 150 ++++---- blog/posts/6/index.html | 130 ++++--- blog/posts/7/index.html | 239 ++++++++++++ components/apcupsd/index.html | 3 + components/binary_sensor.rpi_gpio/index.html | 9 + components/bloomsky/index.html | 3 + components/device_tracker.asuswrt/index.html | 12 +- components/dweet/index.html | 6 + components/ecobee/index.html | 6 + components/graphite/index.html | 6 + components/history/index.html | 11 +- components/index.html | 224 +++++++++++ components/influxdb/index.html | 6 + components/insteon_hub/index.html | 3 + components/isy994/index.html | 3 + components/light.blinksticklight/index.html | 3 + components/light.hue/index.html | 3 + components/light.hyperion/index.html | 3 + components/light.lifx/index.html | 3 + components/light.limitlessled/index.html | 3 + components/light.mqtt/index.html | 3 + components/light.mysensors/index.html | 3 + components/light.qwikswitch/index.html | 222 +++++++++++ components/light.rfxtrx/index.html | 3 + components/light.scsgate/index.html | 3 + components/light.tellstick/index.html | 3 + components/light.vera/index.html | 3 + components/light.wemo/index.html | 3 + components/light.wink/index.html | 3 + components/light.zigbee/index.html | 3 + components/light.zwave/index.html | 3 + components/light/index.html | 10 +- components/logbook/index.html | 6 + components/logentries/index.html | 190 ++++++++++ components/media_player.cast/index.html | 9 + components/media_player.denon/index.html | 9 + components/media_player.firetv/index.html | 9 + components/media_player.gpmdp/index.html | 240 ++++++++++++ components/media_player.itunes/index.html | 9 + components/media_player.kodi/index.html | 9 + components/media_player.lg_netcast/index.html | 248 +++++++++++++ components/media_player.mpd/index.html | 9 + components/media_player.onkyo/index.html | 9 + .../media_player.panasonic_viera/index.html | 9 + components/media_player.pioneer/index.html | 9 + components/media_player.plex/index.html | 9 + components/media_player.roku/index.html | 232 ++++++++++++ components/media_player.samsungtv/index.html | 9 + components/media_player.snapcast/index.html | 9 + components/media_player.sonos/index.html | 9 + components/media_player.squeezebox/index.html | 9 + components/media_player.universal/index.html | 9 + components/media_player.webostv/index.html | 9 + components/media_player.yamaha/index.html | 9 + components/media_player/index.html | 9 + components/modbus/index.html | 3 + components/mqtt/index.html | 17 + components/mysensors/index.html | 3 + components/nest/index.html | 3 + components/notify.aws_lambda/index.html | 301 +++++++++++++++ components/notify.aws_sns/index.html | 261 +++++++++++++ components/notify.aws_sqs/index.html | 274 ++++++++++++++ components/notify.command_line/index.html | 12 + components/notify.ecobee/index.html | 192 ++++++++++ components/notify.file/index.html | 12 + components/notify.free_mobile/index.html | 12 + components/notify.gntp/index.html | 12 + components/notify.google_voice/index.html | 12 + components/notify.instapush/index.html | 12 + components/notify.message_bird/index.html | 12 + components/notify.mqtt/index.html | 12 + components/notify.nma/index.html | 12 + components/notify.pushbullet/index.html | 12 + components/notify.pushetta/index.html | 12 + components/notify.pushover/index.html | 12 + components/notify.rest/index.html | 12 + components/notify.sendgrid/index.html | 12 + components/notify.slack/index.html | 12 + components/notify.smtp/index.html | 12 + components/notify.syslog/index.html | 12 + components/notify.telegram/index.html | 12 + components/notify.twilio_sms/index.html | 275 ++++++++++++++ components/notify.twitter/index.html | 12 + components/notify.webostv/index.html | 12 + components/notify.xmpp/index.html | 12 + components/notify/index.html | 15 + components/octoprint/index.html | 3 + components/qwikswitch/index.html | 265 +++++++++++++ components/recorder/index.html | 195 ++++++++++ components/rfxtrx/index.html | 3 + components/scsgate/index.html | 3 + components/sensor.apcupsd/index.html | 9 + components/sensor.arest/index.html | 9 + components/sensor.bitcoin/index.html | 9 + components/sensor.bloomsky/index.html | 9 + components/sensor.command_line/index.html | 9 + components/sensor.cpuspeed/index.html | 9 + components/sensor.deutsche_bahn/index.html | 9 + components/sensor.dweet/index.html | 9 + components/sensor.ecobee/index.html | 12 + components/sensor.efergy/index.html | 9 + components/sensor.eliqonline/index.html | 9 + components/sensor.fitbit/index.html | 9 + components/sensor.glances/index.html | 9 + .../sensor.google_travel_time/index.html | 35 +- components/sensor.gtfs/index.html | 9 + components/sensor.http/index.html | 9 + components/sensor.lastfm/index.html | 347 ++++++++++++++++++ components/sensor.loop_energy/index.html | 9 + components/sensor.mfi/index.html | 9 + components/sensor.modbus/index.html | 9 + components/sensor.moldindicator/index.html | 341 +++++++++++++++++ components/sensor.mqtt/index.html | 9 + components/sensor.mysensors/index.html | 9 + components/sensor.nest/index.html | 22 +- components/sensor.netatmo/index.html | 9 + components/sensor.neurio_energy/index.html | 9 + components/sensor.nzbget/index.html | 9 + components/sensor.octoprint/index.html | 9 + components/sensor.onewire/index.html | 9 + components/sensor.rest/index.html | 9 + components/sensor.rfxtrx/index.html | 9 + components/sensor.sabnzbd/index.html | 9 + components/sensor.speedtest/index.html | 9 + components/sensor.steam_online/index.html | 9 + components/sensor.supervisord/index.html | 333 +++++++++++++++++ .../sensor.swiss_public_transport/index.html | 9 + components/sensor.systemmonitor/index.html | 9 + components/sensor.tcp/index.html | 9 + components/sensor.tellduslive/index.html | 9 + components/sensor.tellstick/index.html | 9 + components/sensor.temper/index.html | 9 + components/sensor.template/index.html | 9 + components/sensor.thinkingcleaner/index.html | 9 + components/sensor.time_date/index.html | 9 + components/sensor.torque/index.html | 9 + components/sensor.transmission/index.html | 9 + components/sensor.twitch/index.html | 9 + components/sensor.uber/index.html | 9 + components/sensor.vera/index.html | 9 + components/sensor.verisure/index.html | 9 + components/sensor.wink/index.html | 9 + components/sensor.worldclock/index.html | 9 + components/sensor.zigbee/index.html | 9 + components/sensor.zwave/index.html | 9 + components/sensor/index.html | 9 + components/splunk/index.html | 6 + components/statsd/index.html | 6 + components/switch.acer_projector/index.html | 3 + components/switch.arest/index.html | 3 + components/switch.command_line/index.html | 3 + components/switch.dlink/index.html | 3 + components/switch.edimax/index.html | 3 + components/switch.hikvision/index.html | 3 + components/switch.mfi/index.html | 3 + components/switch.modbus/index.html | 3 + components/switch.mqtt/index.html | 3 + components/switch.mysensors/index.html | 3 + components/switch.mystrom/index.html | 3 + components/switch.orvibo/index.html | 3 + .../switch.pulseaudio_loopback/index.html | 3 + components/switch.qwikswitch/index.html | 268 ++++++++++++++ components/switch.rest/index.html | 3 + components/switch.rfxtrx/index.html | 3 + components/switch.rpi_gpio/index.html | 3 + components/switch.rpi_rf/index.html | 3 + components/switch.scsgate/index.html | 3 + components/switch.tellduslive/index.html | 3 + components/switch.tellstick/index.html | 3 + components/switch.template/index.html | 3 + components/switch.thinkingcleaner/index.html | 3 + components/switch.transmission/index.html | 3 + components/switch.vera/index.html | 3 + components/switch.verisure/index.html | 3 + components/switch.wake_on_lan/index.html | 3 + components/switch.wemo/index.html | 3 + components/switch.wink/index.html | 3 + components/switch.zigbee/index.html | 3 + components/switch.zwave/index.html | 3 + components/switch/index.html | 3 + components/tellduslive/index.html | 3 + components/tellstick/index.html | 3 + components/thermostat.ecobee/index.html | 3 + components/vera/index.html | 3 + components/verisure/index.html | 3 + components/wemo/index.html | 3 + components/wink/index.html | 3 + components/zwave/index.html | 3 + developers/add_new_platform/index.html | 1 + developers/architecture/index.html | 1 + developers/architecture_components/index.html | 1 + developers/component_deps_and_reqs/index.html | 1 + developers/component_discovery/index.html | 1 + developers/component_events/index.html | 1 + .../component_generic_discovery/index.html | 273 ++++++++++++++ .../component_initialization/index.html | 1 + developers/component_loading/index.html | 1 + developers/creating_components/index.html | 1 + developers/credits/index.html | 1 + developers/development_environment/index.html | 1 + developers/frontend/index.html | 1 + developers/frontend_add_card/index.html | 1 + developers/frontend_add_more_info/index.html | 1 + developers/helpers/index.html | 1 + developers/index.html | 1 + developers/multiple_instances/index.html | 1 + developers/platform_example_light/index.html | 1 + developers/platform_example_sensor/index.html | 1 + developers/python_api/index.html | 1 + developers/rest_api/index.html | 1 + developers/server_sent_events/index.html | 1 + developers/website/index.html | 1 + getting-started/automation-action/index.html | 22 ++ images/supported_brands/aws_lambda.png | Bin 0 -> 1310 bytes images/supported_brands/aws_sns.png | Bin 0 -> 1168 bytes images/supported_brands/aws_sqs.png | Bin 0 -> 1408 bytes images/supported_brands/google_maps.png | Bin 0 -> 38871 bytes images/supported_brands/gpmdp.png | Bin 0 -> 12714 bytes images/supported_brands/lastfm.png | Bin 0 -> 15667 bytes images/supported_brands/lg.png | Bin 0 -> 34855 bytes images/supported_brands/qwikswitch.png | Bin 0 -> 27201 bytes images/supported_brands/roku.png | Bin 0 -> 3600 bytes images/supported_brands/twilio.png | Bin 0 -> 4894 bytes sitemap.xml | 73 +++- topics/platform_options/index.html | 12 +- topics/splitting_configuration/index.html | 11 + topics/templating/index.html | 1 + 328 files changed, 7619 insertions(+), 978 deletions(-) create mode 100644 blog/2016/05/21/release-020/index.html create mode 100644 blog/posts/7/index.html create mode 100644 components/light.qwikswitch/index.html create mode 100644 components/logentries/index.html create mode 100644 components/media_player.gpmdp/index.html create mode 100644 components/media_player.lg_netcast/index.html create mode 100644 components/media_player.roku/index.html create mode 100644 components/notify.aws_lambda/index.html create mode 100644 components/notify.aws_sns/index.html create mode 100644 components/notify.aws_sqs/index.html create mode 100644 components/notify.ecobee/index.html create mode 100644 components/notify.twilio_sms/index.html create mode 100644 components/qwikswitch/index.html create mode 100644 components/recorder/index.html create mode 100644 components/sensor.lastfm/index.html create mode 100644 components/sensor.moldindicator/index.html create mode 100644 components/sensor.supervisord/index.html create mode 100644 components/switch.qwikswitch/index.html create mode 100644 developers/component_generic_discovery/index.html create mode 100755 images/supported_brands/aws_lambda.png create mode 100755 images/supported_brands/aws_sns.png create mode 100755 images/supported_brands/aws_sqs.png create mode 100644 images/supported_brands/google_maps.png create mode 100644 images/supported_brands/gpmdp.png create mode 100644 images/supported_brands/lastfm.png create mode 100644 images/supported_brands/lg.png create mode 100644 images/supported_brands/qwikswitch.png create mode 100644 images/supported_brands/roku.png create mode 100644 images/supported_brands/twilio.png diff --git a/atom.xml b/atom.xml index c89063cea0..6178c7097f 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ @@ -13,6 +13,54 @@ Octopress + + <![CDATA[0.20: Roku, Last.FM, AWS, Twilio]]> + + 2016-05-21T18:06:00+00:00 + https://home-assistant.io/blog/2016/05/21/release-020 +

+ +

Tons of new supported things in 0.20.

+ + + +

Breaking changes

+ +
    +
  • Asus WRT will now default to SSH with Telnet being an option
    +yaml +device_tracker: +platform: asuswrt +protocol: telnet +
  • +
+ +]]>
+
+ <![CDATA[Why we use web components and Polymer]]> @@ -1355,54 +1403,6 @@ Z-Wave light bulb |
  • Authentication for MQTT Bridge: Right now the bridge expects that anyone subscribing is the SmartThings hub. This could use proper authentication.
  • -]]> -
    - - - <![CDATA[0.12: Insteon, LIFX, Twitter and ZigBee]]> - - 2016-01-30T08:22:00+00:00 - https://home-assistant.io/blog/2016/01/30/insteon-lifx-twitter-and-zigbee - Another sprint has come to an end and it seems that we have not slowed down a single bit 🚀. 0.12 is full of new components, platforms and organizational additions.

    - -

    I would like to give a shout out to Greg Dowling (@pavoni) as every release includes new work from him. He is constantly adding support for new platforms or improving the reliablity of existing components and platforms. Keep up the good work!

    - -

    This release includes a very frequent requested feature: the ability to organize entities in different tabs in the frontend. See the demo to see this in action and read more in the group documentation how to get started.

    - -

    - -Example of the new views in the frontend. Learn more. -

    - -

    - - - -

    Backwards incompatible changes

    -
      -
    • Nest config has moved from thermostat to the Nest component.
    • -
    • Entity IDs for Z-Wave devices are now generated in a deterministic way causing all IDs to change starting this release. This is a one time change.
    • -
    ]]>
    diff --git a/blog/2014/12/18/website-launched/index.html b/blog/2014/12/18/website-launched/index.html index 4d554e1070..645c303ea8 100644 --- a/blog/2014/12/18/website-launched/index.html +++ b/blog/2014/12/18/website-launched/index.html @@ -179,6 +179,12 @@ diff --git a/blog/2014/12/26/home-control-home-automation-and-the-smart-home/index.html b/blog/2014/12/26/home-control-home-automation-and-the-smart-home/index.html index 47c8948866..694afd1ab7 100644 --- a/blog/2014/12/26/home-control-home-automation-and-the-smart-home/index.html +++ b/blog/2014/12/26/home-control-home-automation-and-the-smart-home/index.html @@ -234,6 +234,12 @@ This article will try to explain how they all relate.

    diff --git a/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/index.html b/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/index.html index 128fe91b10..f4d8c2e529 100644 --- a/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/index.html +++ b/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/index.html @@ -218,6 +218,12 @@ api_key=ABCDEFGHJKLMNOPQRSTUVXYZ diff --git a/blog/2015/01/11/bootstrapping-your-setup-with-discovery/index.html b/blog/2015/01/11/bootstrapping-your-setup-with-discovery/index.html index 0fffe0a30c..7b233f53a7 100644 --- a/blog/2015/01/11/bootstrapping-your-setup-with-discovery/index.html +++ b/blog/2015/01/11/bootstrapping-your-setup-with-discovery/index.html @@ -193,6 +193,12 @@ diff --git a/blog/2015/01/13/nest-in-da-house/index.html b/blog/2015/01/13/nest-in-da-house/index.html index 862c1a3303..7b1c37b8d5 100644 --- a/blog/2015/01/13/nest-in-da-house/index.html +++ b/blog/2015/01/13/nest-in-da-house/index.html @@ -196,6 +196,12 @@ password=YOUR_PASSWORD diff --git a/blog/2015/01/24/release-notes/index.html b/blog/2015/01/24/release-notes/index.html index 9e2916301b..31136342bd 100644 --- a/blog/2015/01/24/release-notes/index.html +++ b/blog/2015/01/24/release-notes/index.html @@ -202,6 +202,12 @@ Home Assistant now supports --open-ui and --demo-mode diff --git a/blog/2015/02/08/looking-at-the-past/index.html b/blog/2015/02/08/looking-at-the-past/index.html index a363a50b54..2f58283668 100644 --- a/blog/2015/02/08/looking-at-the-past/index.html +++ b/blog/2015/02/08/looking-at-the-past/index.html @@ -210,6 +210,12 @@ Events are saved in a local database. Google Graphs is used to draw the graph. D diff --git a/blog/2015/02/24/streaming-updates/index.html b/blog/2015/02/24/streaming-updates/index.html index 07d2833b2b..7d1a8b017a 100644 --- a/blog/2015/02/24/streaming-updates/index.html +++ b/blog/2015/02/24/streaming-updates/index.html @@ -195,6 +195,12 @@ diff --git a/blog/2015/03/01/home-assistant-migrating-to-yaml/index.html b/blog/2015/03/01/home-assistant-migrating-to-yaml/index.html index afa36554a0..a9c3525a4d 100644 --- a/blog/2015/03/01/home-assistant-migrating-to-yaml/index.html +++ b/blog/2015/03/01/home-assistant-migrating-to-yaml/index.html @@ -185,6 +185,12 @@ diff --git a/blog/2015/03/08/new-logo/index.html b/blog/2015/03/08/new-logo/index.html index 13e39a3942..0e5c34d7c0 100644 --- a/blog/2015/03/08/new-logo/index.html +++ b/blog/2015/03/08/new-logo/index.html @@ -186,6 +186,12 @@ The old logo, the new detailed logo and the new simple logo. diff --git a/blog/2015/03/11/release-notes/index.html b/blog/2015/03/11/release-notes/index.html index ac0dd26270..44c6336e06 100644 --- a/blog/2015/03/11/release-notes/index.html +++ b/blog/2015/03/11/release-notes/index.html @@ -225,6 +225,12 @@ An initial version of voice control for Home Assistant has landed. The current i diff --git a/blog/2015/03/22/release-notes/index.html b/blog/2015/03/22/release-notes/index.html index 282c8f53fe..12642fe321 100644 --- a/blog/2015/03/22/release-notes/index.html +++ b/blog/2015/03/22/release-notes/index.html @@ -262,6 +262,12 @@ I (Paulus) have contributed a scene component. A user can create scenes that cap diff --git a/blog/2015/04/25/release-notes/index.html b/blog/2015/04/25/release-notes/index.html index 938ca21ec0..9582a8fe30 100644 --- a/blog/2015/04/25/release-notes/index.html +++ b/blog/2015/04/25/release-notes/index.html @@ -273,6 +273,12 @@ diff --git a/blog/2015/05/09/utc-time-zone-awareness/index.html b/blog/2015/05/09/utc-time-zone-awareness/index.html index 46c31b97ad..50741f604e 100644 --- a/blog/2015/05/09/utc-time-zone-awareness/index.html +++ b/blog/2015/05/09/utc-time-zone-awareness/index.html @@ -208,6 +208,12 @@ diff --git a/blog/2015/05/14/release-notes/index.html b/blog/2015/05/14/release-notes/index.html index adf6b11515..59dc3d3225 100644 --- a/blog/2015/05/14/release-notes/index.html +++ b/blog/2015/05/14/release-notes/index.html @@ -300,6 +300,12 @@ Before diving into the newly supported devices and services, I want to highlight diff --git a/blog/2015/06/10/release-notes/index.html b/blog/2015/06/10/release-notes/index.html index 5f39c210d6..cc2097c724 100644 --- a/blog/2015/06/10/release-notes/index.html +++ b/blog/2015/06/10/release-notes/index.html @@ -353,6 +353,12 @@ This switch platform allows you to control your motion detection setting on your diff --git a/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/index.html b/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/index.html index 47fc90ca93..c5810a3f40 100644 --- a/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/index.html +++ b/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/index.html @@ -305,6 +305,12 @@ Fabian has added support for Forecast.io to g diff --git a/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/index.html b/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/index.html index 8547b4d559..22d3afe8d7 100644 --- a/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/index.html +++ b/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/index.html @@ -294,6 +294,12 @@ Support for Temper temperature sensors has been contributed by +
  • + 0.20: Roku, Last.FM, AWS, Twilio +
  • + + +
  • Why we use web components and Polymer
  • @@ -317,12 +323,6 @@ Support for Temper temperature sensors has been contributed by - iBeacons: Making presence detection work better (part I) - - - diff --git a/blog/2015/08/17/verisure-and-modern-tp-link-router-support/index.html b/blog/2015/08/17/verisure-and-modern-tp-link-router-support/index.html index 083262370d..bbeb3a5015 100644 --- a/blog/2015/08/17/verisure-and-modern-tp-link-router-support/index.html +++ b/blog/2015/08/17/verisure-and-modern-tp-link-router-support/index.html @@ -204,6 +204,12 @@ diff --git a/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/index.html b/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/index.html index fdb49db887..c551b5ba81 100644 --- a/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/index.html +++ b/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/index.html @@ -317,6 +317,12 @@ The automation and script syntax here is using a deprecated and no longer suppor diff --git a/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/index.html b/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/index.html index ca6eb3a453..65d998d5a0 100644 --- a/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/index.html +++ b/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/index.html @@ -291,6 +291,12 @@ diff --git a/blog/2015/09/11/different-ways-to-use-mqtt-with-home-assistant/index.html b/blog/2015/09/11/different-ways-to-use-mqtt-with-home-assistant/index.html index 9eb666d3a3..ac32a45aa6 100644 --- a/blog/2015/09/11/different-ways-to-use-mqtt-with-home-assistant/index.html +++ b/blog/2015/09/11/different-ways-to-use-mqtt-with-home-assistant/index.html @@ -494,6 +494,12 @@ PubSubClient client(ethClient); diff --git a/blog/2015/09/13/home-assistant-meets-ifttt/index.html b/blog/2015/09/13/home-assistant-meets-ifttt/index.html index 9092683f0b..653547ad5a 100644 --- a/blog/2015/09/13/home-assistant-meets-ifttt/index.html +++ b/blog/2015/09/13/home-assistant-meets-ifttt/index.html @@ -353,6 +353,12 @@ diff --git a/blog/2015/09/18/monitoring-with-glances-and-home-assistant/index.html b/blog/2015/09/18/monitoring-with-glances-and-home-assistant/index.html index 18cfb8d54a..be6a919680 100644 --- a/blog/2015/09/18/monitoring-with-glances-and-home-assistant/index.html +++ b/blog/2015/09/18/monitoring-with-glances-and-home-assistant/index.html @@ -254,6 +254,12 @@ Glances web server started on http://0.0.0.0:61208/ diff --git a/blog/2015/09/19/alarm-sonos-and-itunes-support/index.html b/blog/2015/09/19/alarm-sonos-and-itunes-support/index.html index ab94b17815..749bcdc8f0 100644 --- a/blog/2015/09/19/alarm-sonos-and-itunes-support/index.html +++ b/blog/2015/09/19/alarm-sonos-and-itunes-support/index.html @@ -233,6 +233,12 @@ Automation has gotten a lot of love. It now supports conditions, multiple trigge diff --git a/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/index.html b/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/index.html index 00be19d7f9..56d26882a6 100644 --- a/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/index.html +++ b/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/index.html @@ -209,6 +209,12 @@ Map in Home Assistant showing two people and three zones (home, school, work) diff --git a/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/index.html b/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/index.html index be18ea1d2e..8f0e8f5790 100644 --- a/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/index.html +++ b/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/index.html @@ -540,6 +540,12 @@ Adafruit_HDC1000 hdc = Adafruit_HDC1000(); diff --git a/blog/2015/10/11/rfxtrx-blinkstick-and-snmp-support/index.html b/blog/2015/10/11/rfxtrx-blinkstick-and-snmp-support/index.html index 5cdc74c96c..5cddce8fdd 100644 --- a/blog/2015/10/11/rfxtrx-blinkstick-and-snmp-support/index.html +++ b/blog/2015/10/11/rfxtrx-blinkstick-and-snmp-support/index.html @@ -198,6 +198,12 @@ diff --git a/blog/2015/10/26/firetv-and-radiotherm-now-supported/index.html b/blog/2015/10/26/firetv-and-radiotherm-now-supported/index.html index 3b98a712ea..69c79109f7 100644 --- a/blog/2015/10/26/firetv-and-radiotherm-now-supported/index.html +++ b/blog/2015/10/26/firetv-and-radiotherm-now-supported/index.html @@ -220,6 +220,12 @@ This makes more sense as most people run Home Assistant as a daemon

    diff --git a/blog/2015/11/16/zwave-switches-lights-and-honeywell-thermostats-now-supported/index.html b/blog/2015/11/16/zwave-switches-lights-and-honeywell-thermostats-now-supported/index.html index 4b87fc9e09..e6cd6b3f76 100644 --- a/blog/2015/11/16/zwave-switches-lights-and-honeywell-thermostats-now-supported/index.html +++ b/blog/2015/11/16/zwave-switches-lights-and-honeywell-thermostats-now-supported/index.html @@ -216,6 +216,12 @@ diff --git a/blog/2015/11/22/survey-november-2015/index.html b/blog/2015/11/22/survey-november-2015/index.html index 0c885f950a..c254aca741 100644 --- a/blog/2015/11/22/survey-november-2015/index.html +++ b/blog/2015/11/22/survey-november-2015/index.html @@ -256,6 +256,12 @@ diff --git a/blog/2015/12/05/community-highlights/index.html b/blog/2015/12/05/community-highlights/index.html index 07f94c4e05..27c3a4a52f 100644 --- a/blog/2015/12/05/community-highlights/index.html +++ b/blog/2015/12/05/community-highlights/index.html @@ -189,6 +189,12 @@ diff --git a/blog/2015/12/06/locks-rollershutters-binary-sensors-and-influxdb-support/index.html b/blog/2015/12/06/locks-rollershutters-binary-sensors-and-influxdb-support/index.html index f237d23a95..efa75c1dee 100644 --- a/blog/2015/12/06/locks-rollershutters-binary-sensors-and-influxdb-support/index.html +++ b/blog/2015/12/06/locks-rollershutters-binary-sensors-and-influxdb-support/index.html @@ -198,6 +198,12 @@ diff --git a/blog/2015/12/07/influxdb-and-grafana/index.html b/blog/2015/12/07/influxdb-and-grafana/index.html index 93ebed2d75..5da20bc9e1 100644 --- a/blog/2015/12/07/influxdb-and-grafana/index.html +++ b/blog/2015/12/07/influxdb-and-grafana/index.html @@ -289,6 +289,12 @@ $ sudo systemctl status grafana-server diff --git a/blog/2015/12/10/activating-tasker-tasks-from-home-assistant-using-command-line-switches/index.html b/blog/2015/12/10/activating-tasker-tasks-from-home-assistant-using-command-line-switches/index.html index 200fae73f7..302dfc07fe 100644 --- a/blog/2015/12/10/activating-tasker-tasks-from-home-assistant-using-command-line-switches/index.html +++ b/blog/2015/12/10/activating-tasker-tasks-from-home-assistant-using-command-line-switches/index.html @@ -239,6 +239,12 @@ requests.get(' +
  • + 0.20: Roku, Last.FM, AWS, Twilio +
  • + + +
  • Why we use web components and Polymer
  • @@ -262,12 +268,6 @@ requests.get(' - iBeacons: Making presence detection work better (part I) - - - diff --git a/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/index.html b/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/index.html index ee6cf52e5c..814ffc4753 100644 --- a/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/index.html +++ b/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/index.html @@ -211,6 +211,12 @@ Philips Hue FAQ entries regarding 3rd party light bulbs. diff --git a/blog/2015/12/13/setup-encryption-using-lets-encrypt/index.html b/blog/2015/12/13/setup-encryption-using-lets-encrypt/index.html index 3104780e9f..1d11816c6e 100644 --- a/blog/2015/12/13/setup-encryption-using-lets-encrypt/index.html +++ b/blog/2015/12/13/setup-encryption-using-lets-encrypt/index.html @@ -276,6 +276,12 @@ sudo docker run -it --rm -p 443:443 -p 80:80 --name letsencrypt \ diff --git a/blog/2015/12/22/amazon-echo-icloud-and-templates/index.html b/blog/2015/12/22/amazon-echo-icloud-and-templates/index.html index 80435cb718..cefdca8056 100644 --- a/blog/2015/12/22/amazon-echo-icloud-and-templates/index.html +++ b/blog/2015/12/22/amazon-echo-icloud-and-templates/index.html @@ -232,6 +232,12 @@ diff --git a/blog/2016/01/17/extended-support-for-diy-solutions/index.html b/blog/2016/01/17/extended-support-for-diy-solutions/index.html index 762a841b90..268a13decf 100644 --- a/blog/2016/01/17/extended-support-for-diy-solutions/index.html +++ b/blog/2016/01/17/extended-support-for-diy-solutions/index.html @@ -212,6 +212,12 @@ diff --git a/blog/2016/01/19/perfect-home-automation/index.html b/blog/2016/01/19/perfect-home-automation/index.html index 816cb1ac8d..9fa1783b38 100644 --- a/blog/2016/01/19/perfect-home-automation/index.html +++ b/blog/2016/01/19/perfect-home-automation/index.html @@ -216,6 +216,12 @@ diff --git a/blog/2016/01/30/insteon-lifx-twitter-and-zigbee/index.html b/blog/2016/01/30/insteon-lifx-twitter-and-zigbee/index.html index bbcab6e751..af83f4f977 100644 --- a/blog/2016/01/30/insteon-lifx-twitter-and-zigbee/index.html +++ b/blog/2016/01/30/insteon-lifx-twitter-and-zigbee/index.html @@ -218,6 +218,12 @@ Example of the new views in the frontend. Learn mor diff --git a/blog/2016/02/09/smarter-smart-things-with-mqtt-and-home-assistant/index.html b/blog/2016/02/09/smarter-smart-things-with-mqtt-and-home-assistant/index.html index c3434db939..8c820726ce 100644 --- a/blog/2016/02/09/smarter-smart-things-with-mqtt-and-home-assistant/index.html +++ b/blog/2016/02/09/smarter-smart-things-with-mqtt-and-home-assistant/index.html @@ -405,6 +405,12 @@ Z-Wave light bulb | diff --git a/blog/2016/02/12/classifying-the-internet-of-things/index.html b/blog/2016/02/12/classifying-the-internet-of-things/index.html index 741e34a81d..c5cc38da6f 100644 --- a/blog/2016/02/12/classifying-the-internet-of-things/index.html +++ b/blog/2016/02/12/classifying-the-internet-of-things/index.html @@ -355,6 +355,12 @@ diff --git a/blog/2016/02/13/speedtest-bloomsky-splunk-and-garage-doors/index.html b/blog/2016/02/13/speedtest-bloomsky-splunk-and-garage-doors/index.html index d16910f7f5..96a75e6d2a 100644 --- a/blog/2016/02/13/speedtest-bloomsky-splunk-and-garage-doors/index.html +++ b/blog/2016/02/13/speedtest-bloomsky-splunk-and-garage-doors/index.html @@ -221,6 +221,12 @@ diff --git a/blog/2016/02/18/multi-room-audio-with-snapcast/index.html b/blog/2016/02/18/multi-room-audio-with-snapcast/index.html index daeac673a4..f76e735fd5 100644 --- a/blog/2016/02/18/multi-room-audio-with-snapcast/index.html +++ b/blog/2016/02/18/multi-room-audio-with-snapcast/index.html @@ -323,6 +323,12 @@ output = audioresample ! audio/x-raw,rate=48000,channels=2,format=S16LE ! audioc diff --git a/blog/2016/02/20/community-highlights/index.html b/blog/2016/02/20/community-highlights/index.html index 8b9c635d05..3904093b96 100644 --- a/blog/2016/02/20/community-highlights/index.html +++ b/blog/2016/02/20/community-highlights/index.html @@ -229,6 +229,12 @@ Hold your NFC tag against the belly of Garfield to unlock the alarm. diff --git a/blog/2016/02/27/steam-d-link-smart-plugs-and-neurio-energy-sensors/index.html b/blog/2016/02/27/steam-d-link-smart-plugs-and-neurio-energy-sensors/index.html index 4094c3375b..d1cd7dd3d0 100644 --- a/blog/2016/02/27/steam-d-link-smart-plugs-and-neurio-energy-sensors/index.html +++ b/blog/2016/02/27/steam-d-link-smart-plugs-and-neurio-energy-sensors/index.html @@ -220,6 +220,12 @@ diff --git a/blog/2016/03/12/z-wave-pep257-templated-service-calls/index.html b/blog/2016/03/12/z-wave-pep257-templated-service-calls/index.html index 4320ba0fda..37e252c2e9 100644 --- a/blog/2016/03/12/z-wave-pep257-templated-service-calls/index.html +++ b/blog/2016/03/12/z-wave-pep257-templated-service-calls/index.html @@ -226,6 +226,12 @@ player state attributes. This change affects automations, scripts and scenes. +
  • + 0.20: Roku, Last.FM, AWS, Twilio +
  • + + +
  • Why we use web components and Polymer
  • @@ -249,12 +255,6 @@ player state attributes. This change affects automations, scripts and scenes. - -
  • - iBeacons: Making presence detection work better (part I) -
  • - - diff --git a/blog/2016/03/26/embedded-mqtt-broker-uber-yamaha-growl/index.html b/blog/2016/03/26/embedded-mqtt-broker-uber-yamaha-growl/index.html index 82e64ca388..553cc28038 100644 --- a/blog/2016/03/26/embedded-mqtt-broker-uber-yamaha-growl/index.html +++ b/blog/2016/03/26/embedded-mqtt-broker-uber-yamaha-growl/index.html @@ -237,6 +237,12 @@ diff --git a/blog/2016/04/05/your-hub-should-be-local-and-open/index.html b/blog/2016/04/05/your-hub-should-be-local-and-open/index.html index f9f25e1ad2..3a53afc5c2 100644 --- a/blog/2016/04/05/your-hub-should-be-local-and-open/index.html +++ b/blog/2016/04/05/your-hub-should-be-local-and-open/index.html @@ -189,6 +189,12 @@ diff --git a/blog/2016/04/07/static-website/index.html b/blog/2016/04/07/static-website/index.html index 8c520a8593..9b10e64779 100644 --- a/blog/2016/04/07/static-website/index.html +++ b/blog/2016/04/07/static-website/index.html @@ -195,6 +195,12 @@ diff --git a/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/index.html b/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/index.html index f36b527024..5c7aa2b130 100644 --- a/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/index.html +++ b/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/index.html @@ -203,6 +203,12 @@ diff --git a/blog/2016/04/17/updated-documentation/index.html b/blog/2016/04/17/updated-documentation/index.html index b1cc678079..0e1b135f7b 100644 --- a/blog/2016/04/17/updated-documentation/index.html +++ b/blog/2016/04/17/updated-documentation/index.html @@ -187,6 +187,12 @@ diff --git a/blog/2016/04/19/to-infinity-and-beyond/index.html b/blog/2016/04/19/to-infinity-and-beyond/index.html index b3cb95cd2f..41c1f6730c 100644 --- a/blog/2016/04/19/to-infinity-and-beyond/index.html +++ b/blog/2016/04/19/to-infinity-and-beyond/index.html @@ -204,6 +204,12 @@ diff --git a/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/index.html b/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/index.html index c1966fbbe0..459a1ea477 100644 --- a/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/index.html +++ b/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/index.html @@ -222,6 +222,12 @@ diff --git a/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/index.html b/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/index.html index bb11506963..b7928cffeb 100644 --- a/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/index.html +++ b/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/index.html @@ -313,6 +313,12 @@ For example, my wife works next door - and I couldn’t detect whether she’s a diff --git a/blog/2016/05/06/open-iot-summit-talk/index.html b/blog/2016/05/06/open-iot-summit-talk/index.html index 9cfc8355c5..dae2817b13 100644 --- a/blog/2016/05/06/open-iot-summit-talk/index.html +++ b/blog/2016/05/06/open-iot-summit-talk/index.html @@ -185,6 +185,12 @@ diff --git a/blog/2016/05/07/empowering-scripts-and-alexa/index.html b/blog/2016/05/07/empowering-scripts-and-alexa/index.html index 9c14b9c399..27a83c6f70 100644 --- a/blog/2016/05/07/empowering-scripts-and-alexa/index.html +++ b/blog/2016/05/07/empowering-scripts-and-alexa/index.html @@ -275,6 +275,12 @@ diff --git a/blog/2016/05/12/video-configuring-home-assistant/index.html b/blog/2016/05/12/video-configuring-home-assistant/index.html index bb2bdf7296..0481c55cd8 100644 --- a/blog/2016/05/12/video-configuring-home-assistant/index.html +++ b/blog/2016/05/12/video-configuring-home-assistant/index.html @@ -185,6 +185,12 @@ diff --git a/blog/2016/05/18/why-we-use-polymer/index.html b/blog/2016/05/18/why-we-use-polymer/index.html index cc59c1f2c2..3d7fafdbbd 100644 --- a/blog/2016/05/18/why-we-use-polymer/index.html +++ b/blog/2016/05/18/why-we-use-polymer/index.html @@ -199,6 +199,12 @@ diff --git a/blog/2016/05/21/release-020/index.html b/blog/2016/05/21/release-020/index.html new file mode 100644 index 0000000000..874906cb60 --- /dev/null +++ b/blog/2016/05/21/release-020/index.html @@ -0,0 +1,295 @@ + + + + + + + + + + 0.20: Roku, Last.FM, AWS, Twilio - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + +
    + +

    0.20: Roku, Last.FM, AWS, Twilio

    + + + +
    + + + 1 minute reading time + + + + + + Comments + +
    + +
    + + +

    + +

    Tons of new supported things in 0.20.

    + + + +

    Breaking changes

    + +
      +
    • Asus WRT will now default to SSH with Telnet being an option
      +yaml +device_tracker: +platform: asuswrt +protocol: telnet +
    • +
    +
    + + +
    +

    Comments

    +
    +
    + + +
    + + + + +
    +
    + + + + + + + \ No newline at end of file diff --git a/blog/archives/index.html b/blog/archives/index.html index 4f1511ac22..dcf920258e 100644 --- a/blog/archives/index.html +++ b/blog/archives/index.html @@ -98,6 +98,38 @@

    2016

    + + + +
    @@ -2105,6 +2137,12 @@ diff --git a/blog/categories/community/atom.xml b/blog/categories/community/atom.xml index 9c61dcd63c..45e4683e2d 100644 --- a/blog/categories/community/atom.xml +++ b/blog/categories/community/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Community | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/community/index.html b/blog/categories/community/index.html index 4ef02e1579..452015aaa5 100644 --- a/blog/categories/community/index.html +++ b/blog/categories/community/index.html @@ -230,6 +230,12 @@ diff --git a/blog/categories/esp8266/atom.xml b/blog/categories/esp8266/atom.xml index 30420e0afe..28421f7f41 100644 --- a/blog/categories/esp8266/atom.xml +++ b/blog/categories/esp8266/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: ESP8266 | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/esp8266/index.html b/blog/categories/esp8266/index.html index ba5540a15e..550cb7bdb0 100644 --- a/blog/categories/esp8266/index.html +++ b/blog/categories/esp8266/index.html @@ -199,6 +199,12 @@ diff --git a/blog/categories/how-to/atom.xml b/blog/categories/how-to/atom.xml index d8517bec0e..b2e09577fa 100644 --- a/blog/categories/how-to/atom.xml +++ b/blog/categories/how-to/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: How-To | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/how-to/index.html b/blog/categories/how-to/index.html index 249032f305..486cbefa20 100644 --- a/blog/categories/how-to/index.html +++ b/blog/categories/how-to/index.html @@ -496,6 +496,12 @@ diff --git a/blog/categories/ibeacons/atom.xml b/blog/categories/ibeacons/atom.xml index a5a8676a3d..7b01084dac 100644 --- a/blog/categories/ibeacons/atom.xml +++ b/blog/categories/ibeacons/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: iBeacons | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/ibeacons/index.html b/blog/categories/ibeacons/index.html index 1b77ec905f..48f7de9e42 100644 --- a/blog/categories/ibeacons/index.html +++ b/blog/categories/ibeacons/index.html @@ -199,6 +199,12 @@ diff --git a/blog/categories/internet-of-things/atom.xml b/blog/categories/internet-of-things/atom.xml index 90f1706373..1a1c6c2b8b 100644 --- a/blog/categories/internet-of-things/atom.xml +++ b/blog/categories/internet-of-things/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Internet-of-Things | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/internet-of-things/index.html b/blog/categories/internet-of-things/index.html index 4d4d9df8e2..812a4c08fe 100644 --- a/blog/categories/internet-of-things/index.html +++ b/blog/categories/internet-of-things/index.html @@ -294,6 +294,12 @@ diff --git a/blog/categories/mqtt/atom.xml b/blog/categories/mqtt/atom.xml index 9e2c2ad5c2..be2b68cdc5 100644 --- a/blog/categories/mqtt/atom.xml +++ b/blog/categories/mqtt/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: MQTT | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/mqtt/index.html b/blog/categories/mqtt/index.html index 1e78150d19..dac8c02441 100644 --- a/blog/categories/mqtt/index.html +++ b/blog/categories/mqtt/index.html @@ -270,6 +270,12 @@ diff --git a/blog/categories/organisation/atom.xml b/blog/categories/organisation/atom.xml index ba48bc3fa2..a65c4ea5c9 100644 --- a/blog/categories/organisation/atom.xml +++ b/blog/categories/organisation/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Organisation | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/organisation/index.html b/blog/categories/organisation/index.html index ea789ce18d..6cf5318719 100644 --- a/blog/categories/organisation/index.html +++ b/blog/categories/organisation/index.html @@ -230,6 +230,12 @@ diff --git a/blog/categories/owntracks/atom.xml b/blog/categories/owntracks/atom.xml index 7be4af862d..f68f418004 100644 --- a/blog/categories/owntracks/atom.xml +++ b/blog/categories/owntracks/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: OwnTracks | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/owntracks/index.html b/blog/categories/owntracks/index.html index 026fb0dd1c..2cbfcfe1db 100644 --- a/blog/categories/owntracks/index.html +++ b/blog/categories/owntracks/index.html @@ -199,6 +199,12 @@ diff --git a/blog/categories/presence-detection/atom.xml b/blog/categories/presence-detection/atom.xml index b8846ce393..f5726b489c 100644 --- a/blog/categories/presence-detection/atom.xml +++ b/blog/categories/presence-detection/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Presence-Detection | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/presence-detection/index.html b/blog/categories/presence-detection/index.html index 19bd294661..9d270bcbdd 100644 --- a/blog/categories/presence-detection/index.html +++ b/blog/categories/presence-detection/index.html @@ -199,6 +199,12 @@ diff --git a/blog/categories/public-service-announcement/atom.xml b/blog/categories/public-service-announcement/atom.xml index 91f1d58780..e9369a1e38 100644 --- a/blog/categories/public-service-announcement/atom.xml +++ b/blog/categories/public-service-announcement/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Public-Service-Announcement | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/public-service-announcement/index.html b/blog/categories/public-service-announcement/index.html index e50c83a713..ee3bdcd18f 100644 --- a/blog/categories/public-service-announcement/index.html +++ b/blog/categories/public-service-announcement/index.html @@ -195,6 +195,12 @@ diff --git a/blog/categories/release-notes/atom.xml b/blog/categories/release-notes/atom.xml index 2b59e4f758..0eaa3138cd 100644 --- a/blog/categories/release-notes/atom.xml +++ b/blog/categories/release-notes/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Release-Notes | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ @@ -13,6 +13,54 @@ Octopress + + <![CDATA[0.20: Roku, Last.FM, AWS, Twilio]]> + + 2016-05-21T18:06:00+00:00 + https://home-assistant.io/blog/2016/05/21/release-020 +

    + +

    Tons of new supported things in 0.20.

    + + + +

    Breaking changes

    + +
      +
    • Asus WRT will now default to SSH with Telnet being an option
      +yaml +device_tracker: +platform: asuswrt +protocol: telnet +
    • +
    + +]]>
    +
    + <![CDATA[0.19: Empowering scripts and Alexa]]> @@ -267,63 +315,6 @@
    -]]> - - - - <![CDATA[0.15: Unforked Open Z-Wave, templated service calls, extended scene support and PEP257 compliance.]]> - - 2016-03-12T18:55:00+00:00 - https://home-assistant.io/blog/2016/03/12/z-wave-pep257-templated-service-calls - Two weeks has past so here is 0.15! We have been focussing a lot on quality. Making sure the system is more stable and reliable. I usually try to highlight one cool thing in the release notes but this release has 4 exciting announcements!

    - -
      -
    • @fabaff has upgraded the codebase to follow the PEP257 documentation standard.
    • -
    • @partofthething has migrated us to use the main Python Open Z-Wave library instead of our forked version.
    • -
    • To make our automations more powerful, @persandstrom added the option to use templates to dynamically create service calls. This works for automation, Alexa, universal media player, template switch. Learn more.
    • -
    • @MartinHjelmare has upgraded our scene support to now support all built-in services and components.
    • -
    - -

    Besides bug fixes, this release also brings:

    - -

    - - - -
    -
    # Example using templates for service and data in service call.
    -# Works for automation, Alexa, universal media player, template switch.
    -automation:
    -  - trigger:
    -      - platform: state
    -        entity_id: switch.bathroom
    -    action:
    -      service_template: >
    -        {% if is_state('switch.bathroom', 'on') %}
    -          switch.turn_on
    -        {% else %}
    -          switch.turn_off
    -        {% endif %}
    -      data_template:
    -        entity_id: switch.{{ states('input_select.is') }}
    -
    -
    -
    - -

    Breaking Changes

    - -
      -
    • Media Player: Attributes to call service play_media has been renamed to
      -media_content_type and media_content_id, to match the corresponding media
      -player state attributes. This change affects automations, scripts and scenes.
    • -
    - ]]>
    diff --git a/blog/categories/release-notes/index.html b/blog/categories/release-notes/index.html index 7f40c2dd67..1a19d9fae9 100644 --- a/blog/categories/release-notes/index.html +++ b/blog/categories/release-notes/index.html @@ -98,6 +98,38 @@

    2016

    + + + +
    @@ -1256,6 +1288,12 @@ diff --git a/blog/categories/survey/atom.xml b/blog/categories/survey/atom.xml index 0c02934817..8c01c24fb0 100644 --- a/blog/categories/survey/atom.xml +++ b/blog/categories/survey/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Survey | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/survey/index.html b/blog/categories/survey/index.html index f4dfbd8cfa..eeebd458e7 100644 --- a/blog/categories/survey/index.html +++ b/blog/categories/survey/index.html @@ -195,6 +195,12 @@ diff --git a/blog/categories/talks/atom.xml b/blog/categories/talks/atom.xml index a1ee485feb..cd771575c0 100644 --- a/blog/categories/talks/atom.xml +++ b/blog/categories/talks/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Talks | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/talks/index.html b/blog/categories/talks/index.html index 4427f72de6..f75e0f4835 100644 --- a/blog/categories/talks/index.html +++ b/blog/categories/talks/index.html @@ -197,6 +197,12 @@ diff --git a/blog/categories/technology/atom.xml b/blog/categories/technology/atom.xml index 267565e384..ad731c4f51 100644 --- a/blog/categories/technology/atom.xml +++ b/blog/categories/technology/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Technology | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/technology/index.html b/blog/categories/technology/index.html index ab8aae303d..8983c3ba12 100644 --- a/blog/categories/technology/index.html +++ b/blog/categories/technology/index.html @@ -195,6 +195,12 @@ diff --git a/blog/categories/user-stories/atom.xml b/blog/categories/user-stories/atom.xml index 4e95467ea2..e311085540 100644 --- a/blog/categories/user-stories/atom.xml +++ b/blog/categories/user-stories/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: User-Stories | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/user-stories/index.html b/blog/categories/user-stories/index.html index 188b0992ac..bbd1e1da88 100644 --- a/blog/categories/user-stories/index.html +++ b/blog/categories/user-stories/index.html @@ -195,6 +195,12 @@ diff --git a/blog/categories/video/atom.xml b/blog/categories/video/atom.xml index f46d993129..7a8f7052d0 100644 --- a/blog/categories/video/atom.xml +++ b/blog/categories/video/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Video | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/video/index.html b/blog/categories/video/index.html index d509f0e23e..6cf10cd5b8 100644 --- a/blog/categories/video/index.html +++ b/blog/categories/video/index.html @@ -229,6 +229,12 @@ diff --git a/blog/categories/website/atom.xml b/blog/categories/website/atom.xml index aaca5945c5..855bb7cb32 100644 --- a/blog/categories/website/atom.xml +++ b/blog/categories/website/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Website | Home Assistant]]> - 2016-05-21T13:48:19+00:00 + 2016-05-21T21:59:59+00:00 https://home-assistant.io/ diff --git a/blog/categories/website/index.html b/blog/categories/website/index.html index cbad2ae5eb..788bb87e9c 100644 --- a/blog/categories/website/index.html +++ b/blog/categories/website/index.html @@ -230,6 +230,12 @@ diff --git a/blog/index.html b/blog/index.html index 297034b151..c06eb76ebc 100644 --- a/blog/index.html +++ b/blog/index.html @@ -78,6 +78,86 @@ +
    +
    + +

    + 0.20: Roku, Last.FM, AWS, Twilio +

    + + + +
    + + + 1 minute reading time + + + + + + Comments + +
    + +
    + + +
    +

    + +

    Tons of new supported things in 0.20.

    + + + +

    Breaking changes

    + +
      +
    • Asus WRT will now default to SSH with Telnet being an option
      +yaml +device_tracker: +platform: asuswrt +protocol: telnet +
    • +
    + + + +
    +
    +
    +
    @@ -683,56 +763,6 @@

    -
    -
    - -

    - Static website -

    - - - -
    - - - 1 minute reading time - - - - - - Comments - -
    - -
    - - -
    -

    The frontend of Home Assistant is served with the help of a local web server. If you have customized 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).

    - -

    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.

    - -

    - -

    - - - - Read on → - -
    -
    -
    -
    @@ -119,6 +138,7 @@
    +
    IoT class: Cloud Polling @@ -171,6 +191,9 @@
  • HTTP Sensor
  • +
  • + Last.fm +
  • Loop Energy
  • @@ -180,6 +203,9 @@
  • Modbus Sensor
  • +
  • + Mold Indicator +
  • MySensors Sensor
  • @@ -222,6 +248,9 @@
  • Steam
  • +
  • + Supervisord +
  • Swiss Public Transport
  • diff --git a/components/sensor.gtfs/index.html b/components/sensor.gtfs/index.html index 083b4ccce7..227a665ffe 100644 --- a/components/sensor.gtfs/index.html +++ b/components/sensor.gtfs/index.html @@ -201,6 +201,9 @@
  • HTTP Sensor
  • +
  • + Last.fm +
  • Loop Energy
  • @@ -210,6 +213,9 @@
  • Modbus Sensor
  • +
  • + Mold Indicator +
  • MySensors Sensor
  • @@ -252,6 +258,9 @@
  • Steam
  • +
  • + Supervisord +
  • Swiss Public Transport
  • diff --git a/components/sensor.http/index.html b/components/sensor.http/index.html index 0aa45dbfb9..7eb10ba793 100644 --- a/components/sensor.http/index.html +++ b/components/sensor.http/index.html @@ -215,6 +215,9 @@ You should choose a unique device name (DEVICE_NAME) to avoid clashes with other
  • HTTP Sensor
  • +
  • + Last.fm +
  • Loop Energy
  • @@ -224,6 +227,9 @@ You should choose a unique device name (DEVICE_NAME) to avoid clashes with other
  • Modbus Sensor
  • +
  • + Mold Indicator +
  • MySensors Sensor
  • @@ -266,6 +272,9 @@ You should choose a unique device name (DEVICE_NAME) to avoid clashes with other
  • Steam
  • +
  • + Supervisord +
  • Swiss Public Transport
  • diff --git a/components/sensor.lastfm/index.html b/components/sensor.lastfm/index.html new file mode 100644 index 0000000000..34a2e443a0 --- /dev/null +++ b/components/sensor.lastfm/index.html @@ -0,0 +1,347 @@ + + + + + + + + + + Last.fm - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + Last.fm +

    +
    +
    + + +

    The lastfm sensor platform will allow you to see whenever a user starts scrobbling, their play count, last song played, and top song played on Last.fm.

    + +

    To get an API key you need to create an API account.

    + +

    To use Last.fm with your installation, add the following to your configuration.yaml file:

    + +
    +
    # Example configuration.yaml entry
    +sensor:
    +  platform: lastfm
    +  api_key: YOUR_API_KEY
    +  users:
    +    - user1
    +    - user2
    +
    +
    +
    + +

    Configuration variables:

    + +
      +
    • api_key (Required): Your API key.
    • +
    • users array (Required): Array of users. +
        +
      • username (Required): Username of the user.
      • +
      +
    • +
    + + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/components/sensor.loop_energy/index.html b/components/sensor.loop_energy/index.html index 10ef7f684e..279cd7e52b 100644 --- a/components/sensor.loop_energy/index.html +++ b/components/sensor.loop_energy/index.html @@ -212,6 +212,9 @@
  • HTTP Sensor
  • +
  • + Last.fm +
  • Loop Energy
  • @@ -221,6 +224,9 @@
  • Modbus Sensor
  • +
  • + Mold Indicator +
  • MySensors Sensor
  • @@ -263,6 +269,9 @@
  • Steam
  • +
  • + Supervisord +
  • Swiss Public Transport
  • diff --git a/components/sensor.mfi/index.html b/components/sensor.mfi/index.html index 84c846f891..145f860af5 100644 --- a/components/sensor.mfi/index.html +++ b/components/sensor.mfi/index.html @@ -188,6 +188,9 @@
  • HTTP Sensor
  • +
  • + Last.fm +
  • Loop Energy
  • @@ -197,6 +200,9 @@
  • Modbus Sensor
  • +
  • + Mold Indicator +
  • MySensors Sensor
  • @@ -239,6 +245,9 @@
  • Steam
  • +
  • + Supervisord +
  • Swiss Public Transport
  • diff --git a/components/sensor.modbus/index.html b/components/sensor.modbus/index.html index ed37d2f78a..66d6abf7d5 100644 --- a/components/sensor.modbus/index.html +++ b/components/sensor.modbus/index.html @@ -224,6 +224,9 @@ Each named register will create an integer sensor and each named bit will create
  • HTTP Sensor
  • +
  • + Last.fm +
  • Loop Energy
  • @@ -233,6 +236,9 @@ Each named register will create an integer sensor and each named bit will create
  • Modbus Sensor
  • +
  • + Mold Indicator +
  • MySensors Sensor
  • @@ -275,6 +281,9 @@ Each named register will create an integer sensor and each named bit will create
  • Steam
  • +
  • + Supervisord +
  • Swiss Public Transport
  • diff --git a/components/sensor.moldindicator/index.html b/components/sensor.moldindicator/index.html new file mode 100644 index 0000000000..633e186935 --- /dev/null +++ b/components/sensor.moldindicator/index.html @@ -0,0 +1,341 @@ + + + + + + + + + + Mold Indicator - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + Mold Indicator +

    +
    +
    + + +

    The Mold Indicator sensor component consumes information of two temperature sensors and a humidity sensor to give an indication for possible mold growth in your home. In case of bad ventilation and insulation, the indoor humidity may lead to condensation on cold surfaces as the windows or even walls. Condensation or a high relative humidity near those cold surfaces leads to a higher risk for mold growth. This sensor component estimates the temperature at a pre-calibrated critical point in the room (the coldest surface) and calculates the relative humidity of the air at that point. If the sensor value rises above approximately 70 percent, mold growth might occur and the room should be ventilated. At 100%, the air humidity condensates at the critical point.

    + +

    The sensor data may be used e.g. to signal bad air quality (too high air humidity) or to automate operation of indoor air humidifiers to keep the indoor humidity at an optimum. To use the Mold Indicator sensor in your installation, add the following to your configuration.yaml file:

    + +
    +
    # Example configuration.yaml entry
    +sensor:
    +  platform: mold_indicator
    +  indoor_temp_sensor: sensor.temp
    +  indoor_humidity_sensor: sensor.humidity
    +  outdoor_temp_sensor: sensor.weather_temperature
    +  calibration_factor: 2.0       # Needs to be calibrated to the critical point in the room
    +
    +
    +
    +

    In this case, the weather forecast temperature sensor is used for the outside temperature.

    + +

    Calibration

    + +

    The Mold Indicator sensor component needs to be calibrated in order to estimate the temperature at the critical point from the outdoor and indoor temperature. First find the coldest surface in the room (critical point), which is typically near the window frames, but depends on the insulation of your home. For calibration you need to measure the temperature at this critical point and simultaneously write down the values for the indoor- and outdoor temperature sensors used for the Mold Indicator. Be sure that there is a significant indoor to outdoor temperature difference to get the best calibration results.
    +With the three measured temperatures (in Celsius or Fahrenheit), the calibration_factor for your configuration file is given by:

    + +
    +
    calibration_factor = (temp_indoor - temp_outdoor) / (temp_criticalpoint - temp_outdoor)
    +
    +
    +
    + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/components/sensor.mqtt/index.html b/components/sensor.mqtt/index.html index 80c46980fc..d4fabc29ae 100644 --- a/components/sensor.mqtt/index.html +++ b/components/sensor.mqtt/index.html @@ -244,6 +244,9 @@
  • HTTP Sensor
  • +
  • + Last.fm +
  • Loop Energy
  • @@ -253,6 +256,9 @@
  • Modbus Sensor
  • +
  • + Mold Indicator +
  • MySensors Sensor
  • @@ -295,6 +301,9 @@
  • Steam
  • +
  • + Supervisord +
  • Swiss Public Transport
  • diff --git a/components/sensor.mysensors/index.html b/components/sensor.mysensors/index.html index 7fd974ad50..0c19816995 100644 --- a/components/sensor.mysensors/index.html +++ b/components/sensor.mysensors/index.html @@ -352,6 +352,9 @@ uint16_t lastlux = 0;
  • HTTP Sensor
  • +
  • + Last.fm +
  • Loop Energy
  • @@ -361,6 +364,9 @@ uint16_t lastlux = 0;
  • Modbus Sensor
  • +
  • + Mold Indicator +
  • MySensors Sensor
  • @@ -403,6 +409,9 @@ uint16_t lastlux = 0;
  • Steam
  • +
  • + Supervisord +
  • Swiss Public Transport
  • diff --git a/components/sensor.nest/index.html b/components/sensor.nest/index.html index 96b6629dd2..4a6a9b21f6 100644 --- a/components/sensor.nest/index.html +++ b/components/sensor.nest/index.html @@ -89,7 +89,7 @@
    -

    The nest sensor platform let you monitor sensors connected to your Nest thermostat.

    +

    The nest sensor platform let you monitor sensors connected to your Nest thermostat and/or your Nest Protect Smoke Alarm.

    To set it up, add the following information to your configuration.yaml file:

    @@ -112,6 +112,8 @@ - 'weather_humidity' - 'wind_speed' - 'wind_direction' + - 'co_status' + - 'smoke_status'
    @@ -136,11 +138,15 @@
  • ‘weather_humidity’
  • ‘wind_speed’
  • ‘wind_direction’
  • +
  • ‘co_status’ # Nest Protect only
  • +
  • ‘smoke_status’ # Nest Protect only
  • -

    You must have the Nest component configured to use this sensor.

    +

    +You must have the Nest component configured to use this sensor. +

    @@ -158,6 +164,9 @@
    +
    + Introduced in release: pre 0.7 +

    Related components

    diff --git a/developers/architecture/index.html b/developers/architecture/index.html index b7f815e675..3fa83fd366 100644 --- a/developers/architecture/index.html +++ b/developers/architecture/index.html @@ -158,6 +158,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/architecture_components/index.html b/developers/architecture_components/index.html index ddbd79ad4b..0def09dd05 100644 --- a/developers/architecture_components/index.html +++ b/developers/architecture_components/index.html @@ -191,6 +191,7 @@ Diagram showing interaction between components and the Home Assistant core.
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/component_deps_and_reqs/index.html b/developers/component_deps_and_reqs/index.html index 9d771be5c1..0d1986096a 100644 --- a/developers/component_deps_and_reqs/index.html +++ b/developers/component_deps_and_reqs/index.html @@ -147,6 +147,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/component_discovery/index.html b/developers/component_discovery/index.html index c2f6974988..8cb6b4436c 100644 --- a/developers/component_discovery/index.html +++ b/developers/component_discovery/index.html @@ -163,6 +163,7 @@ This option is only available to built-in components.
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/component_events/index.html b/developers/component_events/index.html index dea7b13c5f..e9ef07586e 100644 --- a/developers/component_events/index.html +++ b/developers/component_events/index.html @@ -129,6 +129,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/component_generic_discovery/index.html b/developers/component_generic_discovery/index.html new file mode 100644 index 0000000000..1fe6befea7 --- /dev/null +++ b/developers/component_generic_discovery/index.html @@ -0,0 +1,273 @@ + + + + + + + + + + Generic Platform Discovery - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + Generic Platform Discovery +

    +
    +
    + + +

    New controller or hub components often need to add platforms in sub-components (i.e. Lights & Switches) without additional configuration.
    +This can be achieved using the homeassistant.components.discovery.load_platform method:

    + +
    +
    def load_platform(hass, component, platform, info=None, hass_config=None)
    +
    +
    +
    + +

    From more info on how this works, refer to the load_platform method.

    + +

    Example

    + +

    Say you need to implement your new MyFlashyHub that controls both Switches & Lights, you can follow these steps:

    + +

    Configuration required for your new hub component:

    + +
    +
    myflashyhub:
    +   example: setting
    +
    +
    +
    + +

    The source for your component can be located in your configuration directory for now:

    + +
    +
    ~/.homeassistant/custom_components/myflashyhub.py
    +~/.homeassistant/custom_components/light/myflashyhub.py
    +~/.homeassistant/custom_components/switch/myflashyhub.py
    +
    +
    +
    + +

    In the hub component myflashyhub.py you can call your light and switch components. To pass any non-serializable information to the platforms in the sub-component, you can use a global variable.

    + +
    +
    from homeassistant.components.discovery import load_platform
    +DOMAIN = 'myflashyhub'
    +
    +MFH_GLOBAL = None
    +
    +def setup(hass, config):
    +    """Your controller/hub specific code."""
    +    
    +    global MFH_GLOBAL
    +    if MFH_GLOBAL is None:
    +        MFH_GLOBAL = SomeObjectToInitialiseGlobal
    +    #--- snip ---
    +    load_platform(hass, 'light', DOMAIN)
    +    load_platform(hass, 'switch', DOMAIN, {'optional': 'arguments'})
    +
    +
    +
    + +

    Add your custom device specific code to the setup_platform method in light/myflashyhub.py and switch/myflashyhub.

    + +
    +
    import homeassistant.components.myflashyhub as myflashyhub
    +
    +# 'switch' will receive discovery_info={'optional': 'arguments'} 
    +# as passed in above. 'light' will receive discovery_info=None
    +def setup_platform(hass, config, add_devices, discovery_info=None):
    +    """Your switch/light specific code."""
    +    # You can now use myflashyhub.MFH_GLOBAL
    +
    +
    +
    + +

    The load_platform method allows the platforms to be loaded with the need for any additional platform entries in your configuration.yaml file, which normally would have been:

    + +
    +
    #light:
    +#  platform: myflashyhub
    +#switch:
    +#  platform: myflashyhub
    +
    +
    +
    + +

    +In the past, this was achieved by adding your component to the DISCOVERY_PLATFORMS in the target sub-component. Generic discovery through load_platform() allows you to load any sub-component, including custom components, without changing the sub-component. +

    + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/developers/component_initialization/index.html b/developers/component_initialization/index.html index fe5d1fd569..d6d2eed75a 100644 --- a/developers/component_initialization/index.html +++ b/developers/component_initialization/index.html @@ -175,6 +175,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/component_loading/index.html b/developers/component_loading/index.html index 7347574d96..21372011aa 100644 --- a/developers/component_loading/index.html +++ b/developers/component_loading/index.html @@ -144,6 +144,7 @@ Home Assistant will use the directory that contains your config file as the dire
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/creating_components/index.html b/developers/creating_components/index.html index 2c2e43a2cc..b834b3a672 100644 --- a/developers/creating_components/index.html +++ b/developers/creating_components/index.html @@ -146,6 +146,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/credits/index.html b/developers/credits/index.html index b94ce5ee88..253db85243 100644 --- a/developers/credits/index.html +++ b/developers/credits/index.html @@ -270,6 +270,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/development_environment/index.html b/developers/development_environment/index.html index 4f043266aa..672a757131 100644 --- a/developers/development_environment/index.html +++ b/developers/development_environment/index.html @@ -232,6 +232,7 @@ $ git rebase upstream/dev # to put those changes into your feature branch before
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/frontend/index.html b/developers/frontend/index.html index 549add4e9e..f97638b507 100644 --- a/developers/frontend/index.html +++ b/developers/frontend/index.html @@ -203,6 +203,7 @@ Polymer build architecture diagram
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/frontend_add_card/index.html b/developers/frontend_add_card/index.html index 703adbea2f..f55ec63503 100644 --- a/developers/frontend_add_card/index.html +++ b/developers/frontend_add_card/index.html @@ -148,6 +148,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/frontend_add_more_info/index.html b/developers/frontend_add_more_info/index.html index aed4ad5d7b..e40b560375 100644 --- a/developers/frontend_add_more_info/index.html +++ b/developers/frontend_add_more_info/index.html @@ -143,6 +143,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/helpers/index.html b/developers/helpers/index.html index 804536ed5a..93eb3172a3 100644 --- a/developers/helpers/index.html +++ b/developers/helpers/index.html @@ -137,6 +137,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/index.html b/developers/index.html index 13b765920e..acd4afa4bb 100644 --- a/developers/index.html +++ b/developers/index.html @@ -134,6 +134,7 @@ Diagram showing interaction between components and the Home Assistant core.
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/multiple_instances/index.html b/developers/multiple_instances/index.html index 729f8d0fac..c3b2fa2906 100644 --- a/developers/multiple_instances/index.html +++ b/developers/multiple_instances/index.html @@ -162,6 +162,7 @@ Because each slave maintains its own Service Registry it is possible to have mul
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/platform_example_light/index.html b/developers/platform_example_light/index.html index 243da9dc1f..edc96893af 100644 --- a/developers/platform_example_light/index.html +++ b/developers/platform_example_light/index.html @@ -216,6 +216,7 @@ _LOGGER = logging.getLogger(__name__)
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/platform_example_sensor/index.html b/developers/platform_example_sensor/index.html index 6805cc939c..df2266351b 100644 --- a/developers/platform_example_sensor/index.html +++ b/developers/platform_example_sensor/index.html @@ -170,6 +170,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/python_api/index.html b/developers/python_api/index.html index cee371e575..12a2851dbc 100644 --- a/developers/python_api/index.html +++ b/developers/python_api/index.html @@ -290,6 +290,7 @@ remote.call_service(api, domain, '<
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/rest_api/index.html b/developers/rest_api/index.html index 9b9ebc96d6..5f813c2be0 100644 --- a/developers/rest_api/index.html +++ b/developers/rest_api/index.html @@ -672,6 +672,7 @@ If your client does not support DELETE HTTP requests you can add an
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/server_sent_events/index.html b/developers/server_sent_events/index.html index 075e9d8f0e..033fe9740b 100644 --- a/developers/server_sent_events/index.html +++ b/developers/server_sent_events/index.html @@ -168,6 +168,7 @@
  • Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/developers/website/index.html b/developers/website/index.html index 573fceea94..06575a9db1 100644 --- a/developers/website/index.html +++ b/developers/website/index.html @@ -193,6 +193,7 @@ That means that creating a new page is simple. The pages are written in Requirements & Dependencies
  • Initialization
  • Handling events
  • +
  • Loading Platforms
  • Component Discovery
  • diff --git a/getting-started/automation-action/index.html b/getting-started/automation-action/index.html index dbfaac8b8e..4e1a4c0870 100644 --- a/getting-started/automation-action/index.html +++ b/getting-started/automation-action/index.html @@ -127,6 +127,28 @@
    +

    Conditions can also be part of an action:

    + +
    +
    automation:
    +- alias: 'Enciende Despacho'
    +  trigger:
    +    platform: state
    +    entity_id: sensor.mini_despacho
    +    to: 'ON'
    +  action:
    +    - condition: or
    +      conditions:
    +        - condition: template
    +          value_template: ''
    +        - condition: template
    +          value_template: ''
    +    - service: scene.turn_on
    +      entity_id: scene.DespiertaDespacho
    +
    +
    +
    + diff --git a/images/supported_brands/aws_lambda.png b/images/supported_brands/aws_lambda.png new file mode 100755 index 0000000000000000000000000000000000000000..40608d21c75afe29ceb6dfa2e6479d8068b91ad4 GIT binary patch literal 1310 zcmV+(1>yRMP)SscfIGaV?Uf<;_m z4Tl0Tnh;G7>uUC5@no_G-FV)mgrf%~9zCE3&xROJ#!znD=!B6owIvu02(|!SBN$M@XfhR$WHt~@3^1kwlFSBD z0T@#NNe2MLgNJ*?fam~opn&89fbS~@MW^Vy-eLqBt7R0E!Mds`AS;8ZDWH9WQ4=!{ zZ-A8jMw!)(WB`sg0X|F!uYblCLdO_08BhS9XJ1ZQG76+bVn&K!8z)E;(`$79RJrff z5ta1H5Fp7YkV^ldrS)X=_kZGE6Tuh)q{qjM840@%S*n-9P?rzlAu81bkjyd}{6L_d zrU1+Uq?Ga@_yMxVFt(Y=moZObH^VESf+(hxsb#!c|6!K{RyTKfA3++RVYvpi3=e>O zvf#i`RQmV-1neZ!HT@fk6~X*EyAE>*=Xh%aeADHIp7y5fx$VJdTHHv&FK<4VWo<46 z`Z`_E+wO$E4wpT_9CbGYal}x>^lN=;>>~~NOWxrFjr5vjsG+; z8@~44*B%wl1@%Y~HtT=>T-nJsk`a@$v?)D!xGPGk2chuoe5a$^0|??eo_ca4Q==lqu-56vLNH>>%y;ucDxf-7e{R1dNd#)L8k6%p z)=K1Xrvw|08=Q6P-A){m0f1=Xv9nkFl_nH zdYi8cFbws6<@9tPZ4_WwI@j%nwq}O_!xAkXa64rIM&vOS>W|qtY$ehHOs-!3w_VYz zW?O-ofB!M|_ew&TQl27D=C($KkNHwGN!~AO zv2Tk6FE0XN8x)yup|kyAzsvS5`NFNG$q~ftm1g9q`P8GP{%ZWl%aUNudYi}n4_}9K z`{)%d9joyc(z0M!8Vb#Z%iYu2)dkB73-$uTQgZ4(b72u_W#Jtpwl~4C_zJHQe1j-S%h_{oO-boJKaiaIaikas*!_qQ zK97j(sK9GmIA6)t8YpHWnRV4f>>QPhm=0WRiuMhjNMW5gK%z@iv5>4 z22${QY=u#bMTbJRFfAq!TNIH-fEWQoeyHeHN=0j#R3^eI=IRy5UUseb+bh`gLUY)( zGe~%1dX1o1Zqp0hrj+NTH9&hX@Bu=3AT2RMs^(*I0hzs-Up0YL&H1W;xBCND$U%b9YO#P7fEW(fMkThCGziGHn~)kv6ioqQI+%Pw^|sM*-KgHS#{MM00An^N U<2fcUP5=M^07*qoM6N<$f+|i_YybcN literal 0 HcmV?d00001 diff --git a/images/supported_brands/aws_sns.png b/images/supported_brands/aws_sns.png new file mode 100755 index 0000000000000000000000000000000000000000..1a04bd8e0df5544afba4998471436cc87a7527e5 GIT binary patch literal 1168 zcmV;B1aJF^P)1RCwC#+`mr~aTEaXch@UFN?WcX zN=OLB$;5#s{sFcQP9|Pr!d&8_aq3{AlaQEb;vi1C0fUQ)N!?9aCkF>$bU`9WKm{vp zfwuhcz2keN9@o-dDR-9llJl;;qrLm^{l51~dIGp4p4_;vy}SE7>X!47oIZhj!y|<8 zI1~&-uU@%KPo;4gzy10_`b@$YAh_tG1YtnH7~v?8Ts9l3kE0jTr^OBnj%nr_Y)=9!{t#)f={eB)cHB zUeNr~GR!Z22M1wn0m*fsq)xc(x;h87LRD%C&=HvDHxpr(R2fHsq_XJ}79aoPVy;sH zrAqVh%hzwPxU%}fPHu2fj;SjLDFz5Ganpfev1k{1LIiUbMvzhF6S4q_14lWKCbI)q zC5B-bhG7_nVHk#C7=~dO4u)YEhG7_nVHk#C7=~dOhT&ishG7_nVHk#C7=~dOhB_^vJ@9w5fhX>NM}`C9#BnugJnjz#z~A1cZ~xxN!s^<3dTHec zy#d{z6)}I?l17{2@qpKJFiTzVtxbYRR70o<#*8D&5?tyHl~1W5<0c9`Zf3VsiUhiR zu!$f>w0jj8?CEw3Ow7)W7M98PQSuq(oN?OT+uMib-&teVlf76e z0%Y@>kloyZU+bC7Mm|r&I$UkUPys0H?0^qn!)6hPo!V_V74RtEq|7*!X9mx!Ru`4P z6Q00osPtvXs)2lNKI?2ML}qkRlcJxXw+=I7}* zzVat`q(`7BDXL+n)8`xQRzsN%e?XtIYq?E5Ul}NR($8;0u28J^w5DCr;2}=Z3MaQ+ zG+)%q^6DT^V*;#V5b)mqe$8bW-($)(ov%pRLjq{ZxLCR<8a?9iM1>KTsP@`4f-FW~ zr5JDYTAJS0iu|KtFLVogqWAcl9IJBdKRuLH^ai^i100RK*CBA!Uyrp3P0000#(~ literal 0 HcmV?d00001 diff --git a/images/supported_brands/aws_sqs.png b/images/supported_brands/aws_sqs.png new file mode 100755 index 0000000000000000000000000000000000000000..ffb40ee6bf94df8af5dcda722997de71820da69b GIT binary patch literal 1408 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

    cqCAWosO|yA|~U+dD7VdY^6FnzR{R#9`!iz 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 Dglp-x literal 0 HcmV?d00001 diff --git a/images/supported_brands/lastfm.png b/images/supported_brands/lastfm.png new file mode 100644 index 0000000000000000000000000000000000000000..4fde99f3713a4014b033a813162fb3c48a5210e9 GIT binary patch literal 15667 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 literal 0 HcmV?d00001 diff --git a/images/supported_brands/qwikswitch.png b/images/supported_brands/qwikswitch.png new file mode 100644 index 0000000000000000000000000000000000000000..5c310ad4fdafacc4f46b947fe1fce43160e4b701 GIT binary patch literal 27201 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 literal 0 HcmV?d00001 diff --git a/images/supported_brands/roku.png b/images/supported_brands/roku.png new file mode 100644 index 0000000000000000000000000000000000000000..b91be81dfec92de3a846b73489503667c68551c7 GIT binary patch literal 3600 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 Q4gdfE07*qoM6N<$f{_H`KmY&$ literal 0 HcmV?d00001 diff --git a/sitemap.xml b/sitemap.xml index e153e2433a..6c7d9729d3 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,5 +1,9 @@ + + https://home-assistant.io/blog/2016/05/21/release-020/ + 2016-05-21T18:06:00+00:00 + https://home-assistant.io/blog/2016/05/18/why-we-use-polymer/ 2016-05-18T00:09:00+00:00 @@ -300,6 +304,9 @@ https://home-assistant.io/developers/component_events/ + + https://home-assistant.io/developers/component_generic_discovery/ + https://home-assistant.io/developers/component_initialization/ @@ -485,6 +492,9 @@ https://home-assistant.io/blog/posts/6/ + + + https://home-assistant.io/blog/posts/7/ https://home-assistant.io/components/automation/ @@ -1128,6 +1138,9 @@ https://home-assistant.io/components/binary_sensor.apcupsd/ + + https://home-assistant.io/components/sensor.moldindicator/ + https://home-assistant.io/components/lock.verisure/ @@ -1308,9 +1321,21 @@ https://home-assistant.io/components/switch.mysensors/ + + https://home-assistant.io/components/logentries/ + https://home-assistant.io/components/sensor.steam_online/ + + https://home-assistant.io/components/light.qwikswitch/ + + + https://home-assistant.io/components/qwikswitch/ + + + https://home-assistant.io/components/switch.qwikswitch/ + https://home-assistant.io/components/binary_sensor.octoprint/ @@ -1335,12 +1360,45 @@ https://home-assistant.io/components/hvac.zwave/ + + https://home-assistant.io/components/media_player.gpmdp/ + https://home-assistant.io/components/sensor.fitbit/ https://home-assistant.io/components/switch.rpi_rf/ + + https://home-assistant.io/components/notify.ecobee/ + + + https://home-assistant.io/components/media_player.lg_netcast/ + + + https://home-assistant.io/components/sensor.supervisord/ + + + https://home-assistant.io/components/notify.twilio_sms/ + + + https://home-assistant.io/components/notify.aws_lambda/ + + + https://home-assistant.io/components/notify.aws_sns/ + + + https://home-assistant.io/components/notify.aws_sqs/ + + + https://home-assistant.io/components/media_player.roku/ + + + https://home-assistant.io/components/sensor.lastfm/ + + + https://home-assistant.io/components/recorder/ + https://home-assistant.io/cookbook/automation_for_rainy_days/ @@ -1611,28 +1669,31 @@ https://home-assistant.io/blog/2016/05/18/why-we-use-polymer/ + + https://home-assistant.io/blog/2016/05/21/release-020/ + https://home-assistant.io/demo/frontend.html - 2016-05-21T13:47:36+00:00 + 2016-05-21T21:59:20+00:00 https://home-assistant.io/demo/index.html - 2016-05-21T13:47:36+00:00 + 2016-05-21T21:59:20+00:00 https://home-assistant.io/googlef4f3693c209fe788.html - 2016-05-21T13:47:36+00:00 + 2016-05-21T21:59:20+00:00 https://home-assistant.io/static/fonts/roboto/DESCRIPTION.en_us.html - 2016-05-21T13:47:36+00:00 + 2016-05-21T21:59:20+00:00 https://home-assistant.io/static/fonts/robotomono/DESCRIPTION.en_us.html - 2016-05-21T13:47:36+00:00 + 2016-05-21T21:59:20+00:00 https://home-assistant.io/static/mdi-demo.html - 2016-05-21T13:47:36+00:00 + 2016-05-21T21:59:20+00:00 diff --git a/topics/platform_options/index.html b/topics/platform_options/index.html index 71e254bb7a..24309de29d 100644 --- a/topics/platform_options/index.html +++ b/topics/platform_options/index.html @@ -184,6 +184,12 @@

    diff --git a/topics/splitting_configuration/index.html b/topics/splitting_configuration/index.html index 577a23aa14..546366a836 100644 --- a/topics/splitting_configuration/index.html +++ b/topics/splitting_configuration/index.html @@ -273,6 +273,17 @@ customize.yaml

    If you have issues checkout home-assistant.log in the configuration directory as well as your indentations. If all else fails, head over to the Gitter Chatroom and ask away.

    +

    Advanced usage

    + +

    We offer four advanced options to include whole directories at once.

    + +

    !include_dir_list will return content of a directory as a list with each file content being an entry in the list.

    + +

    !include_dir_named will return content of a directory as a dictionary which maps filename => content of file.

    + +

    !include_dir_merge_list will return content of a directory as a list by merging all files (which should contain a list) into 1 big list.

    + +

    !include_dir_merge_named will return content of a directory as a dictionary by loading each file and merging it into 1 big dictionary.

    diff --git a/topics/templating/index.html b/topics/templating/index.html index 93f8af50a4..9956c907cf 100644 --- a/topics/templating/index.html +++ b/topics/templating/index.html @@ -149,6 +149,7 @@ The frontend has a template editor developer tool to help develop and debug temp
  • as_timestamp will convert datetime object or string to UNIX timestamp
  • distance() will measure the distance in meters between home, entity, coordinates.
  • closest() will find the closest entity.
  • +
  • relative_time(timestamp) will format the date time as relative time vs now (ie 7 seconds)
  • Examples