From 81e866bd66a456745e922e945b4baaa39fb008f7 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Sat, 16 Jul 2016 19:26:29 +0000 Subject: [PATCH] Site updated at 2016-07-16 19:26:29 UTC --- atom.xml | 91 +++-- 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 | 12 +- .../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 | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../06/01/community-highlights/index.html | 12 +- .../08/super-fast-web-enocean-lirc/index.html | 12 +- .../home-assistant-at-pycon-2016/index.html | 8 +- .../index.html | 12 +- .../usb-webcams-and-home-assistant/index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../sqlalchemy-knx-join-simplisafe/index.html | 311 ++++++++++++++++++ blog/archives/index.html | 44 ++- blog/categories/community/atom.xml | 2 +- blog/categories/community/index.html | 12 +- blog/categories/device-tracking/atom.xml | 2 +- blog/categories/device-tracking/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 | 170 ++++------ 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 | 178 +++++----- blog/posts/2/index.html | 133 +++++--- blog/posts/3/index.html | 130 +++----- blog/posts/4/index.html | 126 ++++--- blog/posts/5/index.html | 109 +++--- blog/posts/6/index.html | 150 ++++----- blog/posts/7/index.html | 130 +++++--- blog/posts/8/index.html | 242 ++++++++++++++ .../index.html | 3 + .../alarm_control_panel.envisalink/index.html | 3 + .../alarm_control_panel.manual/index.html | 3 + .../alarm_control_panel.mqtt/index.html | 3 + .../alarm_control_panel.nx584/index.html | 3 + .../alarm_control_panel.simplisafe/index.html | 207 ++++++++++++ .../alarm_control_panel.verisure/index.html | 3 + components/alarm_control_panel/index.html | 3 + components/apcupsd/index.html | 3 + components/arduino/index.html | 3 + components/binary_sensor.apcupsd/index.html | 3 + components/binary_sensor.arest/index.html | 3 + components/binary_sensor.bloomsky/index.html | 3 + .../binary_sensor.command_line/index.html | 3 + components/binary_sensor.enocean/index.html | 3 + .../binary_sensor.envisalink/index.html | 3 + components/binary_sensor.homematic/index.html | 3 + components/binary_sensor.http/index.html | 3 + components/binary_sensor.knx/index.html | 229 +++++++++++++ components/binary_sensor.mqtt/index.html | 3 + components/binary_sensor.mysensors/index.html | 3 + components/binary_sensor.nest/index.html | 3 + components/binary_sensor.nx584/index.html | 3 + components/binary_sensor.octoprint/index.html | 3 + components/binary_sensor.rest/index.html | 3 + components/binary_sensor.rpi_gpio/index.html | 3 + components/binary_sensor.tcp/index.html | 3 + components/binary_sensor.template/index.html | 3 + components/binary_sensor.vera/index.html | 3 + components/binary_sensor.wink/index.html | 3 + components/binary_sensor.zigbee/index.html | 3 + components/binary_sensor.zwave/index.html | 3 + components/binary_sensor/index.html | 3 + components/bloomsky/index.html | 3 + components/device_tracker.asuswrt/index.html | 4 +- components/device_tracker.tplink/index.html | 8 + components/ecobee/index.html | 3 + components/enocean/index.html | 3 + components/envisalink/index.html | 3 + components/homematic/index.html | 27 +- components/index.html | 112 +++++++ components/insteon_hub/index.html | 3 + components/isy994/index.html | 3 + components/joaoapps_join/index.html | 299 +++++++++++++++++ components/knx/index.html | 206 ++++++++++++ components/media_player.samsungtv/index.html | 2 + components/media_player/index.html | 2 +- components/modbus/index.html | 3 + components/mqtt/index.html | 3 + components/mysensors/index.html | 3 + components/nest/index.html | 3 + components/netatmo/index.html | 3 + components/notify.aws_lambda/index.html | 3 + components/notify.aws_sns/index.html | 3 + components/notify.aws_sqs/index.html | 3 + components/notify.command_line/index.html | 3 + components/notify.ecobee/index.html | 3 + components/notify.file/index.html | 3 + components/notify.free_mobile/index.html | 3 + components/notify.gntp/index.html | 3 + components/notify.google_voice/index.html | 3 + components/notify.instapush/index.html | 3 + components/notify.joaoapps_join/index.html | 246 ++++++++++++++ components/notify.message_bird/index.html | 3 + components/notify.mqtt/index.html | 3 + components/notify.nma/index.html | 3 + components/notify.pushbullet/index.html | 3 + components/notify.pushetta/index.html | 3 + components/notify.pushover/index.html | 3 + components/notify.rest/index.html | 3 + components/notify.sendgrid/index.html | 3 + components/notify.slack/index.html | 3 + components/notify.smtp/index.html | 3 + components/notify.syslog/index.html | 3 + components/notify.telegram/index.html | 32 ++ components/notify.twilio_sms/index.html | 3 + components/notify.twitter/index.html | 3 + components/notify.webostv/index.html | 3 + components/notify.xmpp/index.html | 3 + components/notify/index.html | 8 + components/octoprint/index.html | 3 + components/qwikswitch/index.html | 3 + components/recorder/index.html | 50 ++- components/rfxtrx/index.html | 3 + components/scsgate/index.html | 3 + components/sensor.apcupsd/index.html | 47 ++- components/sensor.arduino/index.html | 3 + components/sensor.dht/index.html | 3 + components/sensor.forecast/index.html | 3 + .../sensor.google_travel_time/index.html | 35 ++ components/sensor.nest_weather/index.html | 3 + components/sensor.netatmo/index.html | 3 + components/sensor.openweathermap/index.html | 3 + components/sensor.yr/index.html | 3 + components/sensor.yweather/index.html | 233 +++++++++++++ components/sensor/index.html | 3 + components/simple_alarm/index.html | 3 + components/statsd/index.html | 2 + components/sun/index.html | 3 + components/switch.acer_projector/index.html | 6 + components/switch.arduino/index.html | 3 + components/switch.arest/index.html | 6 + components/switch.command_line/index.html | 6 + components/switch.dlink/index.html | 6 + components/switch.edimax/index.html | 6 + components/switch.enocean/index.html | 6 + components/switch.flux/index.html | 6 + components/switch.hikvision/index.html | 6 + components/switch.homematic/index.html | 6 + components/switch.knx/index.html | 275 ++++++++++++++++ components/switch.mfi/index.html | 6 + components/switch.modbus/index.html | 6 + components/switch.mqtt/index.html | 6 + components/switch.mysensors/index.html | 6 + components/switch.mystrom/index.html | 6 + components/switch.orvibo/index.html | 6 + .../switch.pulseaudio_loopback/index.html | 6 + components/switch.qwikswitch/index.html | 6 + components/switch.rest/index.html | 6 + components/switch.rfxtrx/index.html | 6 + components/switch.rpi_gpio/index.html | 6 + components/switch.rpi_rf/index.html | 6 + components/switch.scsgate/index.html | 6 + components/switch.tellduslive/index.html | 6 + components/switch.tellstick/index.html | 6 + components/switch.template/index.html | 6 + components/switch.thinkingcleaner/index.html | 6 + components/switch.tplink/index.html | 296 +++++++++++++++++ components/switch.transmission/index.html | 6 + components/switch.vera/index.html | 6 + components/switch.verisure/index.html | 6 + components/switch.wake_on_lan/index.html | 6 + components/switch.wemo/index.html | 6 + components/switch.wink/index.html | 6 + components/switch.zigbee/index.html | 6 + components/switch.zwave/index.html | 6 + components/switch/index.html | 6 + components/tellduslive/index.html | 3 + components/tellstick/index.html | 3 + components/vera/index.html | 3 + components/verisure/index.html | 3 + components/wemo/index.html | 3 + components/wink/index.html | 3 + components/zigbee/index.html | 3 + components/zwave/index.html | 3 + .../configuration_yaml_by_bah2830/index.html | 179 ++++++++++ .../configuration_yaml_by_brusc/index.html | 6 + .../index.html | 6 + .../configuration_yaml_by_cbulock/index.html | 6 + .../index.html | 6 + .../index.html | 6 + .../index.html | 6 + .../index.html | 179 ++++++++++ .../index.html | 6 + .../index.html | 6 + cookbook/index.html | 6 + developers/credits/index.html | 4 +- images/supported_brands/joaoapps_join.png | Bin 0 -> 20517 bytes images/supported_brands/knx.png | Bin 0 -> 57605 bytes images/supported_brands/simplisafe.png | Bin 0 -> 3057 bytes images/supported_brands/yahooweather.png | Bin 0 -> 19214 bytes index.html | 16 +- sitemap.xml | 56 +++- topics/platform_options/index.html | 12 +- 281 files changed, 5053 insertions(+), 1179 deletions(-) create mode 100644 blog/2016/07/16/sqlalchemy-knx-join-simplisafe/index.html create mode 100644 blog/posts/8/index.html create mode 100644 components/alarm_control_panel.simplisafe/index.html create mode 100644 components/binary_sensor.knx/index.html create mode 100644 components/joaoapps_join/index.html create mode 100644 components/knx/index.html create mode 100644 components/notify.joaoapps_join/index.html create mode 100644 components/sensor.yweather/index.html create mode 100644 components/switch.knx/index.html create mode 100644 components/switch.tplink/index.html create mode 100644 cookbook/configuration_yaml_by_bah2830/index.html create mode 100644 cookbook/configuration_yaml_by_gstevenson/index.html create mode 100644 images/supported_brands/joaoapps_join.png create mode 100644 images/supported_brands/knx.png create mode 100644 images/supported_brands/simplisafe.png create mode 100644 images/supported_brands/yahooweather.png diff --git a/atom.xml b/atom.xml index 2971141b69..a4fcb199bc 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ @@ -13,6 +13,69 @@ Octopress + + <![CDATA[0.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe.]]> + + 2016-07-16T12:00:00+00:00 + https://home-assistant.io/blog/2016/07/16/sqlalchemy-knx-join-simplisafe + It’s time for Home Assistant 0.24 and it’s full of new integration for your Home. It contains some structural changes to our history which requires action from your end, so please keep reading.

+ +

MapQuest discontinued their free and direct tile access by Monday, July 11, 2016. With CARTO we found a very cool and suitable solution. They allow us to use their tile for the map. Thank you, CARTO.

+ +

Roy Hooper did an amazing job migrating the history support from being tied to SQLite to use the ORM SQLAlchemy instead. This means that you can now use any SQL backend for the history. So besides SQLite you can now databases like MySQL or PostgreSQL. However, this does require that you install SQLAlchemy and run a command to migrate your existing history over. We tried to make the process as seamless as possible by introducing a new command line script:

+ +
+
$ pip3 install SQLAlchemy
+$ hass --script db_migrator --config /path/to/config
+
+
+
+ +

You can omit the --config option if you use the default configuration directory. Run the script with --help to get more options.

+ +

+ + + +

Breaking changes

+ +
    +
  • Migrating existing databases (see above).
  • +
  • The APCUPSd Sensor was updated. This will need that you modify your configuration.yaml file.
  • +
  • Entity IDs of Verisure locks will change. This is a one time change but should improve readability.
  • +
+ +

FAQ

+ +
    +
  • Frequently asked questions about this release will show up here…
  • +
+ +]]>
+
+ <![CDATA[PocketCHIP running Home Assistant]]> @@ -1151,32 +1214,6 @@ For example, my wife works next door - and I couldn’t detect whether she’s a

Breaking changes

As of now we are not aware of any breaking changes. However, it might be that Home Assistant will not start for you because of an invalid configuration. A common mistake that people are making is that they are still referring to execute_service in their script configs. This should be service.

-]]> -
- - - <![CDATA[Static website]]> - - 2016-04-07T06:28:00+00:00 - https://home-assistant.io/blog/2016/04/07/static-website - 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.

- -

- -

- - - -

In the past the buzz word “Smart mirror” was used a couple of times in our chatroom and even made it into the issue tracker. The existing solutions (Smart mirror, MagicMirror, and HomeMirror) seems to be overkill if you already have Home Assistant running somewhere in your house or apartment. Why not simple display a web page served by Home Assistant on the tablet? No app and no Raspberry Pi running in the background.

- -

There are plenty of ways to achieve this…RESTful API, Python API, or one of the history components. If it is to be a web page I’m using the MQTT Eventstream component and mqttws31.js.

- -

The HBMQTT broker provides websockets support for MQTT and mqttws31.js included in web page gives you access to the MQTT messages. It’s a matter of minutes. OK, it took a little longer because I’m not a Javascript guy to create the software part that will show details about your environment. The source is available at https://github.com/fabaff/home-assistant-display and the screenshot above shows the result. I guess that every person who is familiar with Javascript would be able to reduce the amount of code and to make it more flexible. Well, it’s a only prototype and showcase to include an image in this blog post.

- -

I hope that this little article could give you an idea of extending Home Assistant in an unconventional way.

- ]]>
diff --git a/blog/2014/12/18/website-launched/index.html b/blog/2014/12/18/website-launched/index.html index 03a99dab56..6ba7888f79 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 f52c00da58..c21d35cd17 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 3c343506e4..34ef10b5bc 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 60d9a5eda9..a03289cabb 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 b55282239d..0c681d909c 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 3254aded07..c72cf723ac 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 86cfac2561..f6864c73ba 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 cdc018f501..89f3898393 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 85cfbe352a..8f108f87ab 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 4fa7e9e2f8..99ca489b62 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 c2d5ec7a3a..64a246881d 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 332d0b4e21..357a918373 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 b62a4a1256..653ff46bde 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 3e16e24e59..6995041213 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 8220da5789..35008e27e3 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 4ca4f440d6..c85d66c658 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 6515e39ba2..0e445c3773 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 df7607c8af..7c6e7cd253 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.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe. +
  • + + +
  • PocketCHIP running Home Assistant
  • @@ -317,12 +323,6 @@ Support for Temper temperature sensors has been contributed by - Home Assistant at PyCon 2016 - - - 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 1f6d111585..48778003a3 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 7eb813957c..aaa48a7efe 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 da487106a1..69053b0f83 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 b67d37396c..ad6a8c6557 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 37825c7d73..c204d50f51 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 5541cd5656..29eba6cc5d 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 c7a6b5a85c..3bf9bf8d7c 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 6aa20fc8ec..25851bc1f2 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 e5776698e4..f522d122b9 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 @@ -553,6 +553,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 6f7e8ffa73..d5f81a78e4 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 b14652073a..0a5cde6485 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 64e537275e..a9af41be24 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 ffe88765c9..cd77d53505 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 1f7116d034..8495a3c6ad 100644 --- a/blog/2015/12/05/community-highlights/index.html +++ b/blog/2015/12/05/community-highlights/index.html @@ -191,6 +191,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 c2b77a30ab..e375ae99db 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 152a5576b1..16e58a916c 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 1981c284b0..90d3d46c61 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.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe. +
  • + + +
  • PocketCHIP running Home Assistant
  • @@ -262,12 +268,6 @@ requests.get(' - Home Assistant at PyCon 2016 - - - 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 8b5c331e87..2c2d291f15 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 5b5994f795..5b898bf9d5 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 @@ -278,6 +278,12 @@ sudo docker run -it --rm -p 80:80 --name certbot \ 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 d778a3699b..23fd5d341a 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 1f8caa26b4..81525819fd 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 2b7635692b..da3beaabb5 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 748f34544f..e9ed3666fc 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 3161550093..41e635248c 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 f948aec5f6..39e941f09a 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 aa41031a3c..cb957a7463 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 e5e3eaca05..83908bf5b6 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 13a6d33045..54910c0121 100644 --- a/blog/2016/02/20/community-highlights/index.html +++ b/blog/2016/02/20/community-highlights/index.html @@ -231,6 +231,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 8849185ae5..82430e5f54 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 131102306d..b12ef10e97 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.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe. +
  • + + +
  • PocketCHIP running Home Assistant
  • @@ -249,12 +255,6 @@ player state attributes. This change affects automations, scripts and scenes. - -
  • - Home Assistant at PyCon 2016 -
  • - - 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 eef83472bd..8a0ba66f00 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 662bf1c353..1d636a9d36 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 2cabfdb816..66c3b6af69 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 07209b6da2..b48ad38fb0 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 30d04afa53..56a9b0d5ed 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 ffd841f5f6..62377f85a1 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 314e66f3c6..a46c8385a4 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 64ecd36f01..bb5d8e2cb4 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 39c03d550c..af2abf9cbd 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 2959f63e86..bfa1479519 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 6206c827dc..49cbabda33 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 ac1f5f4b7e..9a4157a66d 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 index e443020c43..09598cb511 100644 --- a/blog/2016/05/21/release-020/index.html +++ b/blog/2016/05/21/release-020/index.html @@ -220,6 +220,12 @@ diff --git a/blog/2016/05/22/get-started-with-all-in-one-installer/index.html b/blog/2016/05/22/get-started-with-all-in-one-installer/index.html index fbfceefe59..8213fa1f2b 100644 --- a/blog/2016/05/22/get-started-with-all-in-one-installer/index.html +++ b/blog/2016/05/22/get-started-with-all-in-one-installer/index.html @@ -191,6 +191,12 @@ diff --git a/blog/2016/05/26/ibeacons-how-to-track-things-that-cant-track-themselves-part-ii/index.html b/blog/2016/05/26/ibeacons-how-to-track-things-that-cant-track-themselves-part-ii/index.html index 22056dbdbf..8fba3cc7c1 100644 --- a/blog/2016/05/26/ibeacons-how-to-track-things-that-cant-track-themselves-part-ii/index.html +++ b/blog/2016/05/26/ibeacons-how-to-track-things-that-cant-track-themselves-part-ii/index.html @@ -329,6 +329,12 @@ diff --git a/blog/2016/06/01/community-highlights/index.html b/blog/2016/06/01/community-highlights/index.html index 5f61ba941e..e1f09eee2d 100644 --- a/blog/2016/06/01/community-highlights/index.html +++ b/blog/2016/06/01/community-highlights/index.html @@ -205,6 +205,12 @@ diff --git a/blog/2016/06/08/super-fast-web-enocean-lirc/index.html b/blog/2016/06/08/super-fast-web-enocean-lirc/index.html index d6c032b8b0..e9f8463dc0 100644 --- a/blog/2016/06/08/super-fast-web-enocean-lirc/index.html +++ b/blog/2016/06/08/super-fast-web-enocean-lirc/index.html @@ -239,6 +239,12 @@ diff --git a/blog/2016/06/13/home-assistant-at-pycon-2016/index.html b/blog/2016/06/13/home-assistant-at-pycon-2016/index.html index 527f6086b1..f4a6ef9586 100644 --- a/blog/2016/06/13/home-assistant-at-pycon-2016/index.html +++ b/blog/2016/06/13/home-assistant-at-pycon-2016/index.html @@ -210,6 +210,12 @@ diff --git a/blog/2016/06/18/pandora-bt-home-hub-5-and-local-file-camera/index.html b/blog/2016/06/18/pandora-bt-home-hub-5-and-local-file-camera/index.html index 19ac5c4530..1dc06a4a33 100644 --- a/blog/2016/06/18/pandora-bt-home-hub-5-and-local-file-camera/index.html +++ b/blog/2016/06/18/pandora-bt-home-hub-5-and-local-file-camera/index.html @@ -234,6 +234,12 @@ diff --git a/blog/2016/06/23/usb-webcams-and-home-assistant/index.html b/blog/2016/06/23/usb-webcams-and-home-assistant/index.html index 27c2f155f7..ec34b1cc6d 100644 --- a/blog/2016/06/23/usb-webcams-and-home-assistant/index.html +++ b/blog/2016/06/23/usb-webcams-and-home-assistant/index.html @@ -300,6 +300,12 @@ target_dir /tmp diff --git a/blog/2016/07/01/envisalink-homematic-hdmi-cec-and-sony-bravia-tv/index.html b/blog/2016/07/01/envisalink-homematic-hdmi-cec-and-sony-bravia-tv/index.html index a877aeeb55..f6457d5261 100644 --- a/blog/2016/07/01/envisalink-homematic-hdmi-cec-and-sony-bravia-tv/index.html +++ b/blog/2016/07/01/envisalink-homematic-hdmi-cec-and-sony-bravia-tv/index.html @@ -233,6 +233,12 @@ diff --git a/blog/2016/07/06/pocketchip-running-home-assistant/index.html b/blog/2016/07/06/pocketchip-running-home-assistant/index.html index 2c51b8988e..272f46948f 100644 --- a/blog/2016/07/06/pocketchip-running-home-assistant/index.html +++ b/blog/2016/07/06/pocketchip-running-home-assistant/index.html @@ -236,6 +236,12 @@ $ hass --open-ui diff --git a/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/index.html b/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/index.html new file mode 100644 index 0000000000..bdeb6d2d1e --- /dev/null +++ b/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/index.html @@ -0,0 +1,311 @@ + + + + + + + + + + 0.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe. - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + +
    + +

    0.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe.

    + + + +
    + + + two minutes reading time + + + + + + Comments + +
    + +
    + + +

    It’s time for Home Assistant 0.24 and it’s full of new integration for your Home. It contains some structural changes to our history which requires action from your end, so please keep reading.

    + +

    MapQuest discontinued their free and direct tile access by Monday, July 11, 2016. With CARTO we found a very cool and suitable solution. They allow us to use their tile for the map. Thank you, CARTO.

    + +

    Roy Hooper did an amazing job migrating the history support from being tied to SQLite to use the ORM SQLAlchemy instead. This means that you can now use any SQL backend for the history. So besides SQLite you can now databases like MySQL or PostgreSQL. However, this does require that you install SQLAlchemy and run a command to migrate your existing history over. We tried to make the process as seamless as possible by introducing a new command line script:

    + +
    +
    $ pip3 install SQLAlchemy
    +$ hass --script db_migrator --config /path/to/config
    +
    +
    +
    + +

    You can omit the --config option if you use the default configuration directory. Run the script with --help to get more options.

    + +

    + + + +

    Breaking changes

    + +
      +
    • Migrating existing databases (see above).
    • +
    • The APCUPSd Sensor was updated. This will need that you modify your configuration.yaml file.
    • +
    • Entity IDs of Verisure locks will change. This is a one time change but should improve readability.
    • +
    + +

    FAQ

    + +
      +
    • Frequently asked questions about this release will show up here…
    • +
    +
    + + +
    +

    Comments

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

    2016

    + + + +
    @@ -2435,6 +2467,12 @@ diff --git a/blog/categories/community/atom.xml b/blog/categories/community/atom.xml index cff5d2dd3d..9343d70d83 100644 --- a/blog/categories/community/atom.xml +++ b/blog/categories/community/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Community | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/community/index.html b/blog/categories/community/index.html index cd13295eb0..fd81ae6819 100644 --- a/blog/categories/community/index.html +++ b/blog/categories/community/index.html @@ -268,6 +268,12 @@ diff --git a/blog/categories/device-tracking/atom.xml b/blog/categories/device-tracking/atom.xml index 7d7aefd300..f74758d887 100644 --- a/blog/categories/device-tracking/atom.xml +++ b/blog/categories/device-tracking/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Device-Tracking | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/device-tracking/index.html b/blog/categories/device-tracking/index.html index 212dc8861f..b387f2339e 100644 --- a/blog/categories/device-tracking/index.html +++ b/blog/categories/device-tracking/index.html @@ -199,6 +199,12 @@ diff --git a/blog/categories/esp8266/atom.xml b/blog/categories/esp8266/atom.xml index ba049d3815..84ebc6d3ae 100644 --- a/blog/categories/esp8266/atom.xml +++ b/blog/categories/esp8266/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: ESP8266 | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/esp8266/index.html b/blog/categories/esp8266/index.html index 2681ee1a07..44e616acca 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 f20526cd0d..305c1cf16b 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-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/how-to/index.html b/blog/categories/how-to/index.html index 0ed922203c..4178bda032 100644 --- a/blog/categories/how-to/index.html +++ b/blog/categories/how-to/index.html @@ -560,6 +560,12 @@ diff --git a/blog/categories/ibeacons/atom.xml b/blog/categories/ibeacons/atom.xml index 799f6fb78f..b5ac9a473e 100644 --- a/blog/categories/ibeacons/atom.xml +++ b/blog/categories/ibeacons/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: iBeacons | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/ibeacons/index.html b/blog/categories/ibeacons/index.html index eb424622cd..def0704810 100644 --- a/blog/categories/ibeacons/index.html +++ b/blog/categories/ibeacons/index.html @@ -235,6 +235,12 @@ diff --git a/blog/categories/internet-of-things/atom.xml b/blog/categories/internet-of-things/atom.xml index 1ad7634ccf..98c5e5c5b3 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-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+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 7ede92c59f..068bb6e1f4 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 6a495ec149..12b85bf122 100644 --- a/blog/categories/mqtt/atom.xml +++ b/blog/categories/mqtt/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: MQTT | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/mqtt/index.html b/blog/categories/mqtt/index.html index dc3671e11d..7d4de24b65 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 bf2b5038ab..e3d5dc007f 100644 --- a/blog/categories/organisation/atom.xml +++ b/blog/categories/organisation/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Organisation | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/organisation/index.html b/blog/categories/organisation/index.html index c031699d52..ae33a9e097 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 284ca67f96..102e9379ee 100644 --- a/blog/categories/owntracks/atom.xml +++ b/blog/categories/owntracks/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: OwnTracks | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/owntracks/index.html b/blog/categories/owntracks/index.html index 7e1b18724d..9b9f56381d 100644 --- a/blog/categories/owntracks/index.html +++ b/blog/categories/owntracks/index.html @@ -235,6 +235,12 @@ diff --git a/blog/categories/presence-detection/atom.xml b/blog/categories/presence-detection/atom.xml index 597fe0203c..5be76b43de 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-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/presence-detection/index.html b/blog/categories/presence-detection/index.html index f52c32c970..b99b566c95 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 c8cb88cfca..de04396642 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-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+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 91b8b23fe9..39b4a9d8f9 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 c2ab9ef51d..aaf9749307 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-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ @@ -13,6 +13,69 @@ Octopress + + <![CDATA[0.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe.]]> + + 2016-07-16T12:00:00+00:00 + https://home-assistant.io/blog/2016/07/16/sqlalchemy-knx-join-simplisafe + It’s time for Home Assistant 0.24 and it’s full of new integration for your Home. It contains some structural changes to our history which requires action from your end, so please keep reading.

    + +

    MapQuest discontinued their free and direct tile access by Monday, July 11, 2016. With CARTO we found a very cool and suitable solution. They allow us to use their tile for the map. Thank you, CARTO.

    + +

    Roy Hooper did an amazing job migrating the history support from being tied to SQLite to use the ORM SQLAlchemy instead. This means that you can now use any SQL backend for the history. So besides SQLite you can now databases like MySQL or PostgreSQL. However, this does require that you install SQLAlchemy and run a command to migrate your existing history over. We tried to make the process as seamless as possible by introducing a new command line script:

    + +
    +
    $ pip3 install SQLAlchemy
    +$ hass --script db_migrator --config /path/to/config
    +
    +
    +
    + +

    You can omit the --config option if you use the default configuration directory. Run the script with --help to get more options.

    + +

    + + + +

    Breaking changes

    + +
      +
    • Migrating existing databases (see above).
    • +
    • The APCUPSd Sensor was updated. This will need that you modify your configuration.yaml file.
    • +
    • Entity IDs of Verisure locks will change. This is a one time change but should improve readability.
    • +
    + +

    FAQ

    + +
      +
    • Frequently asked questions about this release will show up here…
    • +
    + +]]>
    +
    + <![CDATA[0.23: Envisalink, Homematic, HDMI-CEC and Sony Bravia TV]]> @@ -260,111 +323,6 @@
    -]]> - - - - <![CDATA[0.19: Empowering scripts and Alexa]]> - - 2016-05-07T18:06:00+00:00 - https://home-assistant.io/blog/2016/05/07/empowering-scripts-and-alexa - This release is big. Until now, our automations and scripts have been very static. Starting today it should all be a bit more dynamic.

    - -

    Scripts are now available in automations and when responding to Alexa/Amazon Echo. Both of these components will now expose data to be used in script templates (including from_state !). Passing data to script entities is available by passing the data to the script services.

    - -
    -
    automation:
    -  trigger:
    -    platform: mqtt
    -    topic: some/notify/topic
    -  action:
    -    service: notify.notify
    -    data_template:
    -      message: 
    -
    -automation 2:
    -  trigger:
    -    platform: state
    -    entity_id: light.hue
    -  action:
    -    service: notify.notify
    -    data_template:
    -      message:  is now 
    -
    -
    -
    - -

    Entity Namespaces allow you to influence the entity ids for a specific platform. For example you can turn light.living_room into light.holiday_home_living_room with the following config:

    - -
    -
    light:
    -  platform: hue
    -  entity_namespace: holiday_home
    -
    -
    -
    - - - -

    Deprecations

    -
      -
    • Conditions in automations should now specify which condition to use with condition: instead of platform:. For example condition: state.
    • -
    • RFXtrx has a new config format.
    • -
    - -

    Old RFXtrx config format:

    - -
    -
      devices:
    -    123efab1:
    -      name: My DI.0 light device
    -      packetid: 1b2200000890efab1213f60
    -
    -
    -
    - -

    New RFXtrx config format:

    - -
    -
      devices:
    -    1b2200000890efab1213f60:
    -      name: My DI.0 light device
    -
    -
    -
    ]]>
    diff --git a/blog/categories/release-notes/index.html b/blog/categories/release-notes/index.html index ff3a1fc224..578d0f2b25 100644 --- a/blog/categories/release-notes/index.html +++ b/blog/categories/release-notes/index.html @@ -98,6 +98,38 @@

    2016

    + + + +
    @@ -1384,6 +1416,12 @@ diff --git a/blog/categories/survey/atom.xml b/blog/categories/survey/atom.xml index 7417cbb0bb..52849ba8db 100644 --- a/blog/categories/survey/atom.xml +++ b/blog/categories/survey/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Survey | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/survey/index.html b/blog/categories/survey/index.html index 7d0e472fa0..9849c8b9b9 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 10d1d92a6a..5754e6a40e 100644 --- a/blog/categories/talks/atom.xml +++ b/blog/categories/talks/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Talks | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/talks/index.html b/blog/categories/talks/index.html index 8ac0a2fb8d..ff624d98cb 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 7e3d037334..43b72e862a 100644 --- a/blog/categories/technology/atom.xml +++ b/blog/categories/technology/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Technology | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/technology/index.html b/blog/categories/technology/index.html index 5489690f53..b1adbbd8bd 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 322a604bd9..b98cb52657 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-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/user-stories/index.html b/blog/categories/user-stories/index.html index efe93abd45..bd9753cc11 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 e7ea464957..e53226930e 100644 --- a/blog/categories/video/atom.xml +++ b/blog/categories/video/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Video | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/video/index.html b/blog/categories/video/index.html index 32b6ddd174..070e70e7c6 100644 --- a/blog/categories/video/index.html +++ b/blog/categories/video/index.html @@ -398,6 +398,12 @@ diff --git a/blog/categories/website/atom.xml b/blog/categories/website/atom.xml index cfae720af3..38cc2e1983 100644 --- a/blog/categories/website/atom.xml +++ b/blog/categories/website/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Website | Home Assistant]]> - 2016-07-16T15:39:26+00:00 + 2016-07-16T19:25:45+00:00 https://home-assistant.io/ diff --git a/blog/categories/website/index.html b/blog/categories/website/index.html index 1c0dfb0a4e..5acb6cab0a 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 a61237c7ee..d79a4bc0d3 100644 --- a/blog/index.html +++ b/blog/index.html @@ -78,6 +78,101 @@ +
    +
    + +

    + 0.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe. +

    + + + +
    + + + two minutes reading time + + + + + + Comments + +
    + +
    + + +
    +

    It’s time for Home Assistant 0.24 and it’s full of new integration for your Home. It contains some structural changes to our history which requires action from your end, so please keep reading.

    + +

    MapQuest discontinued their free and direct tile access by Monday, July 11, 2016. With CARTO we found a very cool and suitable solution. They allow us to use their tile for the map. Thank you, CARTO.

    + +

    Roy Hooper did an amazing job migrating the history support from being tied to SQLite to use the ORM SQLAlchemy instead. This means that you can now use any SQL backend for the history. So besides SQLite you can now databases like MySQL or PostgreSQL. However, this does require that you install SQLAlchemy and run a command to migrate your existing history over. We tried to make the process as seamless as possible by introducing a new command line script:

    + +
    +
    $ pip3 install SQLAlchemy
    +$ hass --script db_migrator --config /path/to/config
    +
    +
    +
    + +

    You can omit the --config option if you use the default configuration directory. Run the script with --help to get more options.

    + +

    + + + +

    Breaking changes

    + +
      +
    • Migrating existing databases (see above).
    • +
    • The APCUPSd Sensor was updated. This will need that you modify your configuration.yaml file.
    • +
    • Entity IDs of Verisure locks will change. This is a one time change but should improve readability.
    • +
    + +

    FAQ

    + +
      +
    • Frequently asked questions about this release will show up here…
    • +
    + + + +
    +
    +
    +
    @@ -706,89 +801,6 @@ In the past month I was thinking about ways to integrate USB webcams into Home A -
    -
    -
    - -
    -
    - -

    - 0.20: Roku, Last.fm, AWS, Twilio -

    - - - -
    - - - two minutes 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
    • -
    - -
    -
    device_tracker:
    -  platform: asuswrt
    -  protocol: telnet
    -
    -
    -
    - - -

    diff --git a/blog/posts/2/index.html b/blog/posts/2/index.html index 660ee02300..b35869cf59 100644 --- a/blog/posts/2/index.html +++ b/blog/posts/2/index.html @@ -78,6 +78,89 @@ +
    +
    + +

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

    + + + +
    + + + two minutes 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
    • +
    + +
    +
    device_tracker:
    +  platform: asuswrt
    +  protocol: telnet
    +
    +
    +
    + + + +
    +
    +
    +
    @@ -683,56 +766,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 → - -
    -
    -
    -
    @@ -235,6 +257,9 @@ The name depends on if you chose to resolve names or not. If not, it will be the
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/index.html b/components/index.html index 8376f4b050..399a2f0151 100644 --- a/components/index.html +++ b/components/index.html @@ -1738,6 +1738,76 @@ Support for these components is provided by the Home Assistant community. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • Joaoapps Join +
  • MQTT
  • diff --git a/components/isy994/index.html b/components/isy994/index.html index 3cfb16ca94..ef41754b58 100644 --- a/components/isy994/index.html +++ b/components/isy994/index.html @@ -217,6 +217,9 @@ The ISY994 controller is manufactured by + + + + + + + + Joaoapps Join - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + Joaoapps Join +

    +
    +
    + + +

    The Join platform exposes services from Join. In Home Assistant, the Join features are divided up in two locations, the Join component, and the Join notify platform. The notify platform allows us to send messages to Join devices, the the component allows us to access the other special features that Join offers.

    + +

    In the configuartion.yaml you need to provide the device id of the target device. If you want to send to a group of devices, you need to provide an api key. You can find you device id and api key here.

    + +

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

    + +
    +
    notify:
    +  - platform: joaoapps_join
    +    device_id: d5asdfasdf54645h45h368761dfe5gt8a
    +    name: droid                                       *optional
    +    api_key: asd97823jb628a34fwsdfwefd5384345tf2d     *optional
    +
    +joaoapps_join:
    +  device_id: group.android
    +  name: droid                                       
    +  api_key: asd97823jb628a34fwsdfwefd5384345tf2d
    +
    +
    +
    + +

    The notify service has a few optional parameters such as icon and smallicon. You can use them like so:

    + +
    +
    {"message":"Hello!","title":"From Hass","data":{"icon":"https://goo.gl/KVqcYi","smallicon":"http://goo.gl/AU4Wf1"}}
    +
    +
    +
    + +

    The services exposed in the joaoapps_join component can be used with the service data described below:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ServiceData
    ————————————————————————————————
    joaoapps_join/ring 
    joaoapps_join/send_sms{“number”:”5553334444”, “message”:”Hello!”}
    joaoapps_join/send_tasker{“command”:”test”}
    joaoapps_join/send_url{“url”:”http://google.com”}
    joaoapps_join/send_wallpaper{“url”:”http://www.planwallpaper.com/static/images/ZhGEqAP.jpg”}
    joaoapps_join/send_file{“url”:”http://download.thinkbroadband.com/5MB.zip”}
    + + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/components/knx/index.html b/components/knx/index.html new file mode 100644 index 0000000000..2919613b90 --- /dev/null +++ b/components/knx/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + KNX - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + KNX +

    +
    +
    + + +

    KNX/EIB integration for Home Assistant allows you to connect to a KNX bus. The component requires a local KNX/IP interface like the Weinzierl 730. Through this it will send and receive commands to and from other devices to the KNX bus.

    + +

    There is currently support for the following device types within Home Assistant:

    + + + +

    The local ZigBee device (assuming XBee) must have an up to date Router or Coordinator API firmware installed.

    + +

    A knx section must be present in the configuration.yaml file and contain the following options as required:

    + +
    +
    knx:
    +  host: IP_ADDRESS
    +  port: PORT
    +
    +
    +
    + +
      +
    • host (Required): The IP address of the KNX/IP interface to use. You can use “0.0.0.0” if your KNX/IP gateway supports discovery.
    • +
    • port (Optional): The UDP port number. Defaults to 3671.
    • +
    + + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/components/media_player.samsungtv/index.html b/components/media_player.samsungtv/index.html index 1605b18f37..f8d880c55b 100644 --- a/components/media_player.samsungtv/index.html +++ b/components/media_player.samsungtv/index.html @@ -121,6 +121,8 @@
  • ES5500
  • ES6800
  • F6500
  • +
  • EH5600
  • +
  • F6400AF
  • 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.
    diff --git a/components/media_player/index.html b/components/media_player/index.html index c6b2890cb9..ae7e6a8d3c 100644 --- a/components/media_player/index.html +++ b/components/media_player/index.html @@ -94,7 +94,7 @@

    Services

    Media control services

    -

    Available services: turn_on, turn_off, toggle, volume_up, volume_down, media_play_pause, media_play, media_pause, media_next_track, media_previous_track

    +

    Available services: turn_on, turn_off, toggle, volume_up, volume_down, media_play_pause, media_play, media_pause, media_next_track, media_previous_track, clear_playlist

    diff --git a/components/modbus/index.html b/components/modbus/index.html index dc0f63a953..2b4dcaa256 100644 --- a/components/modbus/index.html +++ b/components/modbus/index.html @@ -206,6 +206,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/mqtt/index.html b/components/mqtt/index.html index d5515cf9d3..ded7004e46 100644 --- a/components/mqtt/index.html +++ b/components/mqtt/index.html @@ -495,6 +495,9 @@ Home Assistant will automatically load the correct certificate if you connect to
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/mysensors/index.html b/components/mysensors/index.html index 091f69414e..3cec5faa4f 100644 --- a/components/mysensors/index.html +++ b/components/mysensors/index.html @@ -220,6 +220,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/nest/index.html b/components/nest/index.html index 47f83387e7..1164a714b4 100644 --- a/components/nest/index.html +++ b/components/nest/index.html @@ -167,6 +167,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/netatmo/index.html b/components/netatmo/index.html index 5199ea3328..0962f24f5e 100644 --- a/components/netatmo/index.html +++ b/components/netatmo/index.html @@ -194,6 +194,9 @@ The Home Assistant NetAtmo platform has only be tested with the classic indoor,
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/notify.aws_lambda/index.html b/components/notify.aws_lambda/index.html index cb364bb1d6..4e61fe2ffa 100644 --- a/components/notify.aws_lambda/index.html +++ b/components/notify.aws_lambda/index.html @@ -221,6 +221,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.aws_sns/index.html b/components/notify.aws_sns/index.html index c49692b927..06cd031e44 100644 --- a/components/notify.aws_sns/index.html +++ b/components/notify.aws_sns/index.html @@ -181,6 +181,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.aws_sqs/index.html b/components/notify.aws_sqs/index.html index 37453f0806..67c8c4a152 100644 --- a/components/notify.aws_sqs/index.html +++ b/components/notify.aws_sqs/index.html @@ -194,6 +194,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.command_line/index.html b/components/notify.command_line/index.html index 3fb192c1a1..7f63c3456e 100644 --- a/components/notify.command_line/index.html +++ b/components/notify.command_line/index.html @@ -188,6 +188,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.ecobee/index.html b/components/notify.ecobee/index.html index 410d394954..0c21d05f1e 100644 --- a/components/notify.ecobee/index.html +++ b/components/notify.ecobee/index.html @@ -184,6 +184,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.file/index.html b/components/notify.file/index.html index a2ffb295eb..8f3a428ebf 100644 --- a/components/notify.file/index.html +++ b/components/notify.file/index.html @@ -173,6 +173,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.free_mobile/index.html b/components/notify.free_mobile/index.html index 823e73d681..edc0d25713 100644 --- a/components/notify.free_mobile/index.html +++ b/components/notify.free_mobile/index.html @@ -181,6 +181,9 @@ If you disable and re-enable the SMS API option, please be sure to update your t
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.gntp/index.html b/components/notify.gntp/index.html index 7d61bd15dc..e04afd260c 100644 --- a/components/notify.gntp/index.html +++ b/components/notify.gntp/index.html @@ -174,6 +174,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.google_voice/index.html b/components/notify.google_voice/index.html index a5b3bad5a6..5939978769 100644 --- a/components/notify.google_voice/index.html +++ b/components/notify.google_voice/index.html @@ -191,6 +191,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.instapush/index.html b/components/notify.instapush/index.html index 43b400cdfa..f773bac4ec 100644 --- a/components/notify.instapush/index.html +++ b/components/notify.instapush/index.html @@ -214,6 +214,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.joaoapps_join/index.html b/components/notify.joaoapps_join/index.html new file mode 100644 index 0000000000..02c721f4e4 --- /dev/null +++ b/components/notify.joaoapps_join/index.html @@ -0,0 +1,246 @@ + + + + + + + + + + Join Notify - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + Join Notify +

    +
    +
    + + +

    See the Joaoapps Join component page for information how to get the join notify platform running.

    + + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/components/notify.message_bird/index.html b/components/notify.message_bird/index.html index 9b40fb0ba7..2b9fe71346 100644 --- a/components/notify.message_bird/index.html +++ b/components/notify.message_bird/index.html @@ -186,6 +186,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.mqtt/index.html b/components/notify.mqtt/index.html index 1452a837cf..7e369c8d6f 100644 --- a/components/notify.mqtt/index.html +++ b/components/notify.mqtt/index.html @@ -206,6 +206,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.nma/index.html b/components/notify.nma/index.html index 5577876ab2..5b3a0e3e53 100644 --- a/components/notify.nma/index.html +++ b/components/notify.nma/index.html @@ -173,6 +173,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.pushbullet/index.html b/components/notify.pushbullet/index.html index 910fee8692..79cae38bb4 100644 --- a/components/notify.pushbullet/index.html +++ b/components/notify.pushbullet/index.html @@ -218,6 +218,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.pushetta/index.html b/components/notify.pushetta/index.html index fb3ad58132..baac16185f 100644 --- a/components/notify.pushetta/index.html +++ b/components/notify.pushetta/index.html @@ -186,6 +186,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.pushover/index.html b/components/notify.pushover/index.html index 98cb70b1b2..fb0d3a1b1b 100644 --- a/components/notify.pushover/index.html +++ b/components/notify.pushover/index.html @@ -179,6 +179,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.rest/index.html b/components/notify.rest/index.html index 012d4fa518..846e9eff90 100644 --- a/components/notify.rest/index.html +++ b/components/notify.rest/index.html @@ -193,6 +193,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.sendgrid/index.html b/components/notify.sendgrid/index.html index 961af69f25..50d41f2fa8 100644 --- a/components/notify.sendgrid/index.html +++ b/components/notify.sendgrid/index.html @@ -172,6 +172,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.slack/index.html b/components/notify.slack/index.html index a4248aaa0f..fa20695e16 100644 --- a/components/notify.slack/index.html +++ b/components/notify.slack/index.html @@ -176,6 +176,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.smtp/index.html b/components/notify.smtp/index.html index f6464f540f..92ec0a7c80 100644 --- a/components/notify.smtp/index.html +++ b/components/notify.smtp/index.html @@ -192,6 +192,9 @@ which need special attention. By default, the usage by external applications, es
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.syslog/index.html b/components/notify.syslog/index.html index 14ef4b2517..e84a66f195 100644 --- a/components/notify.syslog/index.html +++ b/components/notify.syslog/index.html @@ -280,6 +280,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.telegram/index.html b/components/notify.telegram/index.html index 0d2e6238a3..f44dbe2246 100644 --- a/components/notify.telegram/index.html +++ b/components/notify.telegram/index.html @@ -153,6 +153,35 @@ print(chat_id)

    To use notifications, please see the getting started with automation page.

    +

    Photo support

    + +
    +
    ...
    +
    +action:
    +  service: notify.NOTIFIER_NAME
    +  data:
    +    title: test notify
    +    message: That's a exemple
    +    data:
    +      photo:
    +        - url: http://192.168.1.28/camera.jpg
    +          username: admin
    +          password: secrete
    +        - file: /tmp/picture.jpg
    +          caption: Picture Title xy
    +        - url: http://somebla.ie/video.png
    +          caption: I.e. for a Title
    +
    +
    +
    + +
      +
    • url or file (Required): For local or remote path to a picture
    • +
    • caption (Optional: Picture title
    • +
    • username and password (Optional: For URL they require a basic auth
    • +
    + @@ -212,6 +241,9 @@ print(chat_id)
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.twilio_sms/index.html b/components/notify.twilio_sms/index.html index 64380ff2c4..d5bebc35ad 100644 --- a/components/notify.twilio_sms/index.html +++ b/components/notify.twilio_sms/index.html @@ -195,6 +195,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.twitter/index.html b/components/notify.twitter/index.html index c14527b460..bb74987d54 100644 --- a/components/notify.twitter/index.html +++ b/components/notify.twitter/index.html @@ -179,6 +179,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.webostv/index.html b/components/notify.webostv/index.html index a95aadc378..f9213e2d9a 100644 --- a/components/notify.webostv/index.html +++ b/components/notify.webostv/index.html @@ -200,6 +200,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify.xmpp/index.html b/components/notify.xmpp/index.html index b531c07810..da018f7adf 100644 --- a/components/notify.xmpp/index.html +++ b/components/notify.xmpp/index.html @@ -177,6 +177,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/notify/index.html b/components/notify/index.html index 69a365d2a8..dc2a36cf7c 100644 --- a/components/notify/index.html +++ b/components/notify/index.html @@ -135,6 +135,11 @@ + + + + +
    yes Some platforms will allow specifying a recipient that will receive the notification. See your platform page if it is supported.
    datayesOn platforms who have extended functionality. See your platform page if it is supported.
    @@ -214,6 +219,9 @@
  • Jabber (XMPP)
  • +
  • + Join Notify +
  • LG WebOS TV notifications
  • diff --git a/components/octoprint/index.html b/components/octoprint/index.html index 89b688e50a..26e1e6feec 100644 --- a/components/octoprint/index.html +++ b/components/octoprint/index.html @@ -165,6 +165,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/qwikswitch/index.html b/components/qwikswitch/index.html index d8055ff85d..31abe0a47b 100644 --- a/components/qwikswitch/index.html +++ b/components/qwikswitch/index.html @@ -195,6 +195,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/recorder/index.html b/components/recorder/index.html index 4c991cfb99..915c17231b 100644 --- a/components/recorder/index.html +++ b/components/recorder/index.html @@ -89,14 +89,20 @@
    -

    The recorder component is storing details in the local database which then are handled by the history component.

    +

    The recorder component is storing details in a database which then are handled by the history component.

    -

    To setup the recorder component in your installation, add the following to your configuration.yaml file:

    +

    Home Assistant uses SQLAlchemy as Object Relational Mapper (ORM). This means that you can now use any SQL backend for the recorder that is supported by SQLAlchemy, like MySQL, MariaDB, or PostgreSQL.

    + +

    The default database engine is SQLite which doesn’t require any configuration. The database is stored in your Home Assistant configuration directory (.homeassistant) and called home-assistant.db.

    -
    # Example configuration.yaml entry
    -recorder:
    -  purge_days: 14
    +  
    +To setup the `recorder` component in your installation, add the following to your `configuration.yaml` file:
    +
    +```yaml
    +# Example configuration.yaml entry
    +recorder:
    +  purge_days: 14
     
    @@ -105,8 +111,40 @@
    • purge_days (Optional): Delete events and states older than x days.
    • +
    • db_url (Optional): The URL which point to your database.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Database enginedb_url
    SQLitesqlite:///PATH/TO/DB_NAME
    MySQLmysql://SERVER_IP/DB_NAME
    MySQLmysql://user:password@SERVER_IP/DB_NAME
    PostgreSQLpostgresql://SERVER_IP/DB_NAME
    PostgreSQLpostgresql://scott:tiger@SERVER_IP/DB_NAME
    + @@ -125,7 +163,7 @@
    - Introduced in release: 0.20 + Introduced in release: pre 0.7

    Category History

    diff --git a/components/rfxtrx/index.html b/components/rfxtrx/index.html index 22bd9015bb..f8a6c8c4f7 100644 --- a/components/rfxtrx/index.html +++ b/components/rfxtrx/index.html @@ -174,6 +174,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/scsgate/index.html b/components/scsgate/index.html index aeae9bd8e9..3f9ca946b4 100644 --- a/components/scsgate/index.html +++ b/components/scsgate/index.html @@ -175,6 +175,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/sensor.apcupsd/index.html b/components/sensor.apcupsd/index.html index 76f4bb184c..da0878a038 100644 --- a/components/sensor.apcupsd/index.html +++ b/components/sensor.apcupsd/index.html @@ -89,12 +89,33 @@
    -

    Any of the lines of output from the apcaccess command can be used as a sensor device in Home Assistant. In order to create a sensor for a value, create an entity within a sensor section of your configuration. The following parameters may be used:

    +

    The apcupsd sensor platform to allow you to monitor a UPS (battery backup) by using data from the apcaccess command.

    + +

    To add this platform to your installation, add the following to your configuration.yaml file:

    + +
    +
    # Example configuration.yaml entry
    +sensor:
    +  - platform: apcupsd
    +    resources:
    +      - bcharge
    +      - linev
    +      - loadpct
    +      - nominv
    +      - nompower
    +      - numxfers
    +      - outputv
    +      - status
    +      - timeleft
    +      - tonbatt
    +
    +
    +
    + +

    Configuration variables:

      -
    • name (Required): The name you’d like to give the sensor in Home Assistant.
    • -
    • platform (Required): Set to apcupsd.
    • -
    • type (Required): The label for the value you’d like to track based on the output of apcaccess. Refer to the examples for ideas.
    • +
    • resources array (Required): Contains all entries to display.

    Example

    @@ -158,21 +179,15 @@
    -

    Use the (case insensitive) values from the left hand column as your type:

    +

    Use the (case insensitive) values from the left hand column:

    sensor:
    -  - name: Mains Voltage
    -    platform: apcupsd
    -    type: linev
    -
    -  - name: UPS Load
    -    platform: apcupsd
    -    type: loadpct
    -
    -  - name: UPS Temperature
    -    platform: apcupsd
    -    type: itemp
    +  - platform: apcupsd
    +    resources:
    +      - linev
    +      - loadpct
    +      - itemp
     
    diff --git a/components/sensor.arduino/index.html b/components/sensor.arduino/index.html index 01d5ff18f1..823adb12f3 100644 --- a/components/sensor.arduino/index.html +++ b/components/sensor.arduino/index.html @@ -167,6 +167,9 @@
  • DHT Sensor
  • +
  • + KNX +
  • ZigBee
  • diff --git a/components/sensor.dht/index.html b/components/sensor.dht/index.html index d3129d04da..307ace0fcb 100644 --- a/components/sensor.dht/index.html +++ b/components/sensor.dht/index.html @@ -164,6 +164,9 @@ As this requires access to the GPIO, you will need to run Home Assistant as root
  • DHT Sensor
  • +
  • + KNX +
  • ZigBee
  • diff --git a/components/sensor.forecast/index.html b/components/sensor.forecast/index.html index 6f2745856e..82ad0f1a45 100644 --- a/components/sensor.forecast/index.html +++ b/components/sensor.forecast/index.html @@ -200,6 +200,9 @@
  • YR
  • +
  • + Yahoo Weather +
  • diff --git a/components/sensor.google_travel_time/index.html b/components/sensor.google_travel_time/index.html index 67f3f72961..2b118e1730 100644 --- a/components/sensor.google_travel_time/index.html +++ b/components/sensor.google_travel_time/index.html @@ -124,6 +124,41 @@ +

    ###Dynamic Configuration
    +Tracking can be setup to track entities of type device_tracker, zone, and sensor. If an entity is placed in the origin or destination then every 5 minutes when the component updates it will use the latest location of that entity.

    + +
    +
    # Example entry for configuration.yaml
    +sensor:
    +  # Tracking entity to entity
    +  - platform: google_travel_time
    +    name: Phone To Home
    +    api_key: XXXX_XXXXX_XXXXX
    +    origin: device_tracker.mobile_phone
    +    destination: zone.home
    +
    +  # Tracking entity to zone friendly name
    +  - platform: google_travel_time
    +    name: Home To Eddie's House
    +    api_key: XXXX_XXXXX_XXXXX
    +    origin: zone.home
    +    destination: Eddies House    # Friendly name of a zone
    +
    +
    +
    + +

    ####Entity Tracking
    +- device_tracker
    + - If state is a zone then the zone location will be used
    + - If state is not a zone it will look for the longitude and latitude attributes
    +- zone
    + - Uses the longitude and latitude attributes
    + - Can also be referenced by just the zone’s friendly name found in the attributes.
    +- sensor
    + - If state is a zone or zone friendly name then will use the zone location
    + - All other states will be passed directly into the google API
    + - This includes all valid locations listed in the Configuration Variables

    + diff --git a/components/sensor.nest_weather/index.html b/components/sensor.nest_weather/index.html index 37ba268eb5..b2999dfb50 100644 --- a/components/sensor.nest_weather/index.html +++ b/components/sensor.nest_weather/index.html @@ -162,6 +162,9 @@
  • YR
  • +
  • + Yahoo Weather +
  • diff --git a/components/sensor.netatmo/index.html b/components/sensor.netatmo/index.html index b65c5b6363..9f01133865 100644 --- a/components/sensor.netatmo/index.html +++ b/components/sensor.netatmo/index.html @@ -219,6 +219,9 @@ You have to provide these name in your Home Assistant configuration file.

  • YR
  • +
  • + Yahoo Weather +
  • diff --git a/components/sensor.openweathermap/index.html b/components/sensor.openweathermap/index.html index 8cd109be8e..7932696f2d 100644 --- a/components/sensor.openweathermap/index.html +++ b/components/sensor.openweathermap/index.html @@ -178,6 +178,9 @@
  • YR
  • +
  • + Yahoo Weather +
  • diff --git a/components/sensor.yr/index.html b/components/sensor.yr/index.html index 8dfa5fa7c5..f6dca9d33f 100644 --- a/components/sensor.yr/index.html +++ b/components/sensor.yr/index.html @@ -190,6 +190,9 @@ weather forecast is delivered by the Norwegian Meteorological Institute and the
  • YR
  • +
  • + Yahoo Weather +
  • diff --git a/components/sensor.yweather/index.html b/components/sensor.yweather/index.html new file mode 100644 index 0000000000..6983b48108 --- /dev/null +++ b/components/sensor.yweather/index.html @@ -0,0 +1,233 @@ + + + + + + + + + + Yahoo Weather - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + Yahoo Weather +

    +
    +
    + + +

    The yweather platform uses Yahoo Weather as an source for current meteorological data. The forecast will show you the condition for 5 days, 0 is the current day. You can use only weather, temp_min, and temp_max with forecast.

    + +

    +Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2,000 signed calls per day. +

    + +

    The woeid (Where On Earth ID) for your location, as shown in the example below. You can find your woeid by copying the numeric digits at the end of the URL for your location at Yahoo Weather. If you don’t add a woeid it generate it from Home Assistant’s latitude and longitude.

    + +

    To add Yahoo Weather to your installation, add the following to your configuration.yaml file:

    + +
    +
    # Example configuration.yaml entry
    +sensor:
    +  platform: yweather
    +  woeid: YOUR_WOEID
    +  forecast: 0 until 5
    +  monitored_conditions:
    +   - weather
    +   - weather_current
    +   - temp_min
    +   - temp_max
    +   - wind_speed
    +   - pressure
    +   - visibility
    +   - humidity
    +   - temperature
    +
    +# Example configuration.yaml entry with forecast
    +sensor:
    +  platform: yweather
    +  woeid: YOUR_WOEID
    +  forecast: 3
    +  monitored_conditions:
    +   - weather
    +   - temp_min
    +   - temp_max
    +
    +
    +
    + +

    Configuration variables:

    + +
      +
    • woeid (Optional): See above.
    • +
    • forecast (Optional): Day of forecast. The default is the current day to display conditions.
    • +
    • monitored_conditions array (Required): Conditions to display in the frontend. +
        +
      • weather: A human-readable text summary with picture from yahoo.
      • +
      • weather_current: A human-readable text summary with picture from yahoo from current conditon.
      • +
      • temperature: The current temperature.
      • +
      • temp_min: The minimal temperature of this day.
      • +
      • temp_max: The maximum temperature of this day.
      • +
      • wind_speed: The wind speed.
      • +
      • humidity: The relative humidity.
      • +
      • pressure: The sea-level air pressure in millibars.
      • +
      • visibility: The average visibility.
      • +
      +
    • +
    + +

    Details about the API are available in the Yahoo! EDeveloper Network.

    + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/components/sensor/index.html b/components/sensor/index.html index d20e24b611..93e2bc5c6f 100644 --- a/components/sensor/index.html +++ b/components/sensor/index.html @@ -306,6 +306,9 @@
  • YR
  • +
  • + Yahoo Weather +
  • Z-Wave Sensor
  • diff --git a/components/simple_alarm/index.html b/components/simple_alarm/index.html index 22bdfe74b8..272ebf4d19 100644 --- a/components/simple_alarm/index.html +++ b/components/simple_alarm/index.html @@ -152,6 +152,9 @@
  • NX584 Alarm Control Panel
  • +
  • + SimpliSafe Alarm Control Panel +
  • Verisure Alarm
  • diff --git a/components/statsd/index.html b/components/statsd/index.html index 314382ff79..b0ffb0c357 100644 --- a/components/statsd/index.html +++ b/components/statsd/index.html @@ -100,6 +100,7 @@ port: 20000 prefix: DB_TO_STORE_EVENTS rate: 1 + log_attributes: true @@ -111,6 +112,7 @@
  • port (Optional): Port to use. Defaults to 8125.
  • prefix (Optional): Prefix to use. Defaults to hass.
  • rate (Optional): The sample rate. Defaults to 1.
  • +
  • log_attributes (Optional): Log state and attribute changes. This changes the default stats path.
  • StatsD supports various backends.

    diff --git a/components/sun/index.html b/components/sun/index.html index 3fbb6053db..093e2f6f24 100644 --- a/components/sun/index.html +++ b/components/sun/index.html @@ -215,6 +215,9 @@
  • YR
  • +
  • + Yahoo Weather +
  • diff --git a/components/switch.acer_projector/index.html b/components/switch.acer_projector/index.html index 013fb2d1d5..29320403e7 100644 --- a/components/switch.acer_projector/index.html +++ b/components/switch.acer_projector/index.html @@ -171,6 +171,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -204,6 +207,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.arduino/index.html b/components/switch.arduino/index.html index b929b81090..6f4ea945b4 100644 --- a/components/switch.arduino/index.html +++ b/components/switch.arduino/index.html @@ -175,6 +175,9 @@
  • DHT Sensor
  • +
  • + KNX +
  • ZigBee
  • diff --git a/components/switch.arest/index.html b/components/switch.arest/index.html index dc185e271e..d1b4a3909f 100644 --- a/components/switch.arest/index.html +++ b/components/switch.arest/index.html @@ -223,6 +223,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -256,6 +259,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.command_line/index.html b/components/switch.command_line/index.html index 7ddf59a666..0373344329 100644 --- a/components/switch.command_line/index.html +++ b/components/switch.command_line/index.html @@ -272,6 +272,9 @@ This switch will shutdown your host immediately, there will be no confirmation.
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -305,6 +308,9 @@ This switch will shutdown your host immediately, there will be no confirmation.
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.dlink/index.html b/components/switch.dlink/index.html index 20405799f7..e093f7e16f 100644 --- a/components/switch.dlink/index.html +++ b/components/switch.dlink/index.html @@ -178,6 +178,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -211,6 +214,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.edimax/index.html b/components/switch.edimax/index.html index e25979b9dd..0c76060f44 100644 --- a/components/switch.edimax/index.html +++ b/components/switch.edimax/index.html @@ -168,6 +168,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -201,6 +204,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.enocean/index.html b/components/switch.enocean/index.html index 8f3ad6e1bf..a0dd8ebf1e 100644 --- a/components/switch.enocean/index.html +++ b/components/switch.enocean/index.html @@ -181,6 +181,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -214,6 +217,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.flux/index.html b/components/switch.flux/index.html index a9f9554fbd..c3acd5116c 100644 --- a/components/switch.flux/index.html +++ b/components/switch.flux/index.html @@ -183,6 +183,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -216,6 +219,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.hikvision/index.html b/components/switch.hikvision/index.html index ea10b7bed1..4fd1f0d57b 100644 --- a/components/switch.hikvision/index.html +++ b/components/switch.hikvision/index.html @@ -171,6 +171,9 @@ Currently works using default https port only.
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -204,6 +207,9 @@ Currently works using default https port only.
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.homematic/index.html b/components/switch.homematic/index.html index 0e4c051803..4322af6663 100644 --- a/components/switch.homematic/index.html +++ b/components/switch.homematic/index.html @@ -169,6 +169,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -202,6 +205,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.knx/index.html b/components/switch.knx/index.html new file mode 100644 index 0000000000..db9c74d793 --- /dev/null +++ b/components/switch.knx/index.html @@ -0,0 +1,275 @@ + + + + + + + + + + KNX Switch - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + KNX Switch +

    +
    +
    + + +

    To get your KNX switches working with Home Assistant, follow the instructions for the KNX component.

    + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/components/switch.mfi/index.html b/components/switch.mfi/index.html index 61660a0994..a15968db95 100644 --- a/components/switch.mfi/index.html +++ b/components/switch.mfi/index.html @@ -176,6 +176,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -209,6 +212,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.modbus/index.html b/components/switch.modbus/index.html index ea45e5154c..637b8c7636 100644 --- a/components/switch.modbus/index.html +++ b/components/switch.modbus/index.html @@ -209,6 +209,9 @@ Each named bit will create a switch.
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -242,6 +245,9 @@ Each named bit will create a switch.
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.mqtt/index.html b/components/switch.mqtt/index.html index cd9f53ce6b..e78c726859 100644 --- a/components/switch.mqtt/index.html +++ b/components/switch.mqtt/index.html @@ -225,6 +225,9 @@ Make sure that your topic match exact. some-topic/ and some-t
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -258,6 +261,9 @@ Make sure that your topic match exact. some-topic/ and some-t
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.mysensors/index.html b/components/switch.mysensors/index.html index 2680691592..dfc0cb3c83 100644 --- a/components/switch.mysensors/index.html +++ b/components/switch.mysensors/index.html @@ -412,6 +412,9 @@ MyMessage msgSendCode(CHILD_ID, V_LIGHT);
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -445,6 +448,9 @@ MyMessage msgSendCode(CHILD_ID, V_LIGHT);
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.mystrom/index.html b/components/switch.mystrom/index.html index cba8984b5f..4ce742e712 100644 --- a/components/switch.mystrom/index.html +++ b/components/switch.mystrom/index.html @@ -181,6 +181,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -214,6 +217,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.orvibo/index.html b/components/switch.orvibo/index.html index 6da6879a78..9301492d1c 100644 --- a/components/switch.orvibo/index.html +++ b/components/switch.orvibo/index.html @@ -161,6 +161,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -194,6 +197,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.pulseaudio_loopback/index.html b/components/switch.pulseaudio_loopback/index.html index ebc8e910e4..14785b04b1 100644 --- a/components/switch.pulseaudio_loopback/index.html +++ b/components/switch.pulseaudio_loopback/index.html @@ -183,6 +183,9 @@ this component, module-cli-protocol must be loaded on the PulseAudio server.
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -216,6 +219,9 @@ this component, module-cli-protocol must be loaded on the PulseAudio server.
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.qwikswitch/index.html b/components/switch.qwikswitch/index.html index 530917d141..2d53a178e2 100644 --- a/components/switch.qwikswitch/index.html +++ b/components/switch.qwikswitch/index.html @@ -162,6 +162,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -195,6 +198,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.rest/index.html b/components/switch.rest/index.html index ff1d8dcf84..1d2e6fbbcb 100644 --- a/components/switch.rest/index.html +++ b/components/switch.rest/index.html @@ -185,6 +185,9 @@ Make sure that the URL matches exactly your endpoint or resource.
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -218,6 +221,9 @@ Make sure that the URL matches exactly your endpoint or resource.
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.rfxtrx/index.html b/components/switch.rfxtrx/index.html index 449ab990f5..3a5a13784a 100644 --- a/components/switch.rfxtrx/index.html +++ b/components/switch.rfxtrx/index.html @@ -221,6 +221,9 @@ Then you should update your configuration to:

  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -254,6 +257,9 @@ Then you should update your configuration to:

  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.rpi_gpio/index.html b/components/switch.rpi_gpio/index.html index 36db07235e..b8b187be83 100644 --- a/components/switch.rpi_gpio/index.html +++ b/components/switch.rpi_gpio/index.html @@ -186,6 +186,9 @@ If you are not running Raspbian Jessie, you will need to run Home Assistant as r
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -219,6 +222,9 @@ If you are not running Raspbian Jessie, you will need to run Home Assistant as r
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.rpi_rf/index.html b/components/switch.rpi_rf/index.html index d788fbf72e..012f34a3e7 100644 --- a/components/switch.rpi_rf/index.html +++ b/components/switch.rpi_rf/index.html @@ -189,6 +189,9 @@ For more info see the PyPi module description: SCSGate Switch +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.scsgate/index.html b/components/switch.scsgate/index.html index ac47e20471..b14bf7532c 100644 --- a/components/switch.scsgate/index.html +++ b/components/switch.scsgate/index.html @@ -178,6 +178,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -211,6 +214,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.tellduslive/index.html b/components/switch.tellduslive/index.html index 84559002df..152c98af2a 100644 --- a/components/switch.tellduslive/index.html +++ b/components/switch.tellduslive/index.html @@ -153,6 +153,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -186,6 +189,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.tellstick/index.html b/components/switch.tellstick/index.html index eaa9c9b7b8..062c9769e9 100644 --- a/components/switch.tellstick/index.html +++ b/components/switch.tellstick/index.html @@ -168,6 +168,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -201,6 +204,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.template/index.html b/components/switch.template/index.html index f15782cb38..24f5ea0d25 100644 --- a/components/switch.template/index.html +++ b/components/switch.template/index.html @@ -258,6 +258,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -291,6 +294,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.thinkingcleaner/index.html b/components/switch.thinkingcleaner/index.html index 31b1567607..87957fc984 100644 --- a/components/switch.thinkingcleaner/index.html +++ b/components/switch.thinkingcleaner/index.html @@ -167,6 +167,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -200,6 +203,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.tplink/index.html b/components/switch.tplink/index.html new file mode 100644 index 0000000000..eda546a948 --- /dev/null +++ b/components/switch.tplink/index.html @@ -0,0 +1,296 @@ + + + + + + + + + + TPLink Switch - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + TPLink Switch +

    +
    +
    + + +

    The tplink switch platform allows you to control the state of your TPLink smart switch.

    + +

    Supported units:

    + +
      +
    • HS100
    • +
    • HS110
    • +
    + +

    To use your TPLink switch in your installation, add the following to your configuration.yaml file:

    + +
    +
    # Example configuration.yaml entry
    +switch:
    +  platform: tplink
    +  host: IP_ADRRESS
    +  name: TP-Link Switch
    +
    +
    +
    + +

    Configuration variables:

    + +
      +
    • host (Required): The IP address of your myStrom switch, eg. http://192.168.1.32
    • +
    • name (Optional): The name to use when displaying this switch.
    • +
    + + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/components/switch.transmission/index.html b/components/switch.transmission/index.html index 5046a78b78..fee6fa5ac4 100644 --- a/components/switch.transmission/index.html +++ b/components/switch.transmission/index.html @@ -178,6 +178,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -211,6 +214,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.vera/index.html b/components/switch.vera/index.html index 508e9cb8ee..396b37b0bc 100644 --- a/components/switch.vera/index.html +++ b/components/switch.vera/index.html @@ -168,6 +168,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -201,6 +204,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.verisure/index.html b/components/switch.verisure/index.html index da567c384f..e8f1b2ac64 100644 --- a/components/switch.verisure/index.html +++ b/components/switch.verisure/index.html @@ -161,6 +161,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -194,6 +197,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.wake_on_lan/index.html b/components/switch.wake_on_lan/index.html index 71aebbfc5b..a77d4e1736 100644 --- a/components/switch.wake_on_lan/index.html +++ b/components/switch.wake_on_lan/index.html @@ -170,6 +170,9 @@ The WOL switch can only turn on your computer and monitor the state. There is no
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -203,6 +206,9 @@ The WOL switch can only turn on your computer and monitor the state. There is no
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.wemo/index.html b/components/switch.wemo/index.html index 5c2332a3f9..46c492271a 100644 --- a/components/switch.wemo/index.html +++ b/components/switch.wemo/index.html @@ -159,6 +159,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -192,6 +195,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.wink/index.html b/components/switch.wink/index.html index 86f0c3445f..16618477f8 100644 --- a/components/switch.wink/index.html +++ b/components/switch.wink/index.html @@ -170,6 +170,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -203,6 +206,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.zigbee/index.html b/components/switch.zigbee/index.html index 3e6e9ebec6..60f8080dcd 100644 --- a/components/switch.zigbee/index.html +++ b/components/switch.zigbee/index.html @@ -181,6 +181,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -214,6 +217,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch.zwave/index.html b/components/switch.zwave/index.html index 9db08e5662..3b5a81440d 100644 --- a/components/switch.zwave/index.html +++ b/components/switch.zwave/index.html @@ -173,6 +173,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -206,6 +209,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/switch/index.html b/components/switch/index.html index 0e6d0b3a01..04908aa633 100644 --- a/components/switch/index.html +++ b/components/switch/index.html @@ -170,6 +170,9 @@
  • Homematic Switch
  • +
  • + KNX Switch +
  • MQTT Switch
  • @@ -203,6 +206,9 @@
  • SCSGate Switch
  • +
  • + TPLink Switch +
  • TellStick Switch
  • diff --git a/components/tellduslive/index.html b/components/tellduslive/index.html index d8931424d5..9aa52c00c8 100644 --- a/components/tellduslive/index.html +++ b/components/tellduslive/index.html @@ -181,6 +181,9 @@ API requests to certain methods are limited to one request every 10 minutes.
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/tellstick/index.html b/components/tellstick/index.html index 86bcea1a26..e70a33f095 100644 --- a/components/tellstick/index.html +++ b/components/tellstick/index.html @@ -165,6 +165,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/vera/index.html b/components/vera/index.html index 600f227d54..d55bf9ccd4 100644 --- a/components/vera/index.html +++ b/components/vera/index.html @@ -183,6 +183,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/verisure/index.html b/components/verisure/index.html index 2a4512a3ec..012a1b0f72 100644 --- a/components/verisure/index.html +++ b/components/verisure/index.html @@ -197,6 +197,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/wemo/index.html b/components/wemo/index.html index 3cb949ccc4..0444ff697c 100644 --- a/components/wemo/index.html +++ b/components/wemo/index.html @@ -172,6 +172,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/wink/index.html b/components/wink/index.html index feefacd980..e5eea04fd3 100644 --- a/components/wink/index.html +++ b/components/wink/index.html @@ -191,6 +191,9 @@ The Wink hub can only be accessed via the cloud. This means it requires an activ
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/components/zigbee/index.html b/components/zigbee/index.html index 4741e4b0ab..0df02bf3b5 100644 --- a/components/zigbee/index.html +++ b/components/zigbee/index.html @@ -196,6 +196,9 @@ The port may also appear as /dev/ttyACM* if you’re communicating with the ZigB
  • DHT Sensor
  • +
  • + KNX +
  • ZigBee
  • diff --git a/components/zwave/index.html b/components/zwave/index.html index df4d9fb03b..b58cd6036b 100644 --- a/components/zwave/index.html +++ b/components/zwave/index.html @@ -167,6 +167,9 @@
  • Insteon Hub
  • +
  • + Joaoapps Join +
  • MQTT
  • diff --git a/cookbook/configuration_yaml_by_bah2830/index.html b/cookbook/configuration_yaml_by_bah2830/index.html new file mode 100644 index 0000000000..b3e300f681 --- /dev/null +++ b/cookbook/configuration_yaml_by_bah2830/index.html @@ -0,0 +1,179 @@ + + + + + + + + + + Configuration.yaml by bah2830 - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + Configuration.yaml by Bah2830 +

    +
    +
    + + + + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/cookbook/configuration_yaml_by_brusc/index.html b/cookbook/configuration_yaml_by_brusc/index.html index 41cf0e0a43..b04da74ec6 100644 --- a/cookbook/configuration_yaml_by_brusc/index.html +++ b/cookbook/configuration_yaml_by_brusc/index.html @@ -119,6 +119,9 @@
  • Configuration.yaml by GreenTurtwig
  • +
  • + Configuration.yaml by bah2830 +
  • Configuration.yaml by bassclarinetl2
  • @@ -131,6 +134,9 @@
  • Configuration.yaml by geekofweek
  • +
  • + Configuration.yaml by gstevenson +
  • Configuration.yaml by happyleavesaoc
  • diff --git a/cookbook/configuration_yaml_by_carlo_costanzo/index.html b/cookbook/configuration_yaml_by_carlo_costanzo/index.html index b90bc90bc9..68566f6d9c 100644 --- a/cookbook/configuration_yaml_by_carlo_costanzo/index.html +++ b/cookbook/configuration_yaml_by_carlo_costanzo/index.html @@ -119,6 +119,9 @@
  • Configuration.yaml by GreenTurtwig
  • +
  • + Configuration.yaml by bah2830 +
  • Configuration.yaml by bassclarinetl2
  • @@ -131,6 +134,9 @@
  • Configuration.yaml by geekofweek
  • +
  • + Configuration.yaml by gstevenson +
  • Configuration.yaml by happyleavesaoc
  • diff --git a/cookbook/configuration_yaml_by_cbulock/index.html b/cookbook/configuration_yaml_by_cbulock/index.html index c7ab2b6938..443242a5b3 100644 --- a/cookbook/configuration_yaml_by_cbulock/index.html +++ b/cookbook/configuration_yaml_by_cbulock/index.html @@ -119,6 +119,9 @@
  • Configuration.yaml by GreenTurtwig
  • +
  • + Configuration.yaml by bah2830 +
  • Configuration.yaml by bassclarinetl2
  • @@ -131,6 +134,9 @@
  • Configuration.yaml by geekofweek
  • +
  • + Configuration.yaml by gstevenson +
  • Configuration.yaml by happyleavesaoc
  • diff --git a/cookbook/configuration_yaml_by_danichispa/index.html b/cookbook/configuration_yaml_by_danichispa/index.html index d96601fbe3..253c8ce67a 100644 --- a/cookbook/configuration_yaml_by_danichispa/index.html +++ b/cookbook/configuration_yaml_by_danichispa/index.html @@ -119,6 +119,9 @@
  • Configuration.yaml by GreenTurtwig
  • +
  • + Configuration.yaml by bah2830 +
  • Configuration.yaml by bassclarinetl2
  • @@ -131,6 +134,9 @@
  • Configuration.yaml by geekofweek
  • +
  • + Configuration.yaml by gstevenson +
  • Configuration.yaml by happyleavesaoc
  • diff --git a/cookbook/configuration_yaml_by_geekofweek/index.html b/cookbook/configuration_yaml_by_geekofweek/index.html index 80a706ba42..251ee9bcda 100644 --- a/cookbook/configuration_yaml_by_geekofweek/index.html +++ b/cookbook/configuration_yaml_by_geekofweek/index.html @@ -119,6 +119,9 @@
  • Configuration.yaml by GreenTurtwig
  • +
  • + Configuration.yaml by bah2830 +
  • Configuration.yaml by bassclarinetl2
  • @@ -131,6 +134,9 @@
  • Configuration.yaml by geekofweek
  • +
  • + Configuration.yaml by gstevenson +
  • Configuration.yaml by happyleavesaoc
  • diff --git a/cookbook/configuration_yaml_by_greenturtwig/index.html b/cookbook/configuration_yaml_by_greenturtwig/index.html index 70b9abe98b..c9974761de 100644 --- a/cookbook/configuration_yaml_by_greenturtwig/index.html +++ b/cookbook/configuration_yaml_by_greenturtwig/index.html @@ -119,6 +119,9 @@
  • Configuration.yaml by GreenTurtwig
  • +
  • + Configuration.yaml by bah2830 +
  • Configuration.yaml by bassclarinetl2
  • @@ -131,6 +134,9 @@
  • Configuration.yaml by geekofweek
  • +
  • + Configuration.yaml by gstevenson +
  • Configuration.yaml by happyleavesaoc
  • diff --git a/cookbook/configuration_yaml_by_gstevenson/index.html b/cookbook/configuration_yaml_by_gstevenson/index.html new file mode 100644 index 0000000000..6848e19de2 --- /dev/null +++ b/cookbook/configuration_yaml_by_gstevenson/index.html @@ -0,0 +1,179 @@ + + + + + + + + + + Configuration.yaml by gstevenson - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + + + + +
    +

    + Configuration.yaml by Gstevenson +

    +
    +
    + + + + + +
    + + +
    + + + + +
    +
    + + + + + + \ No newline at end of file diff --git a/cookbook/configuration_yaml_by_happyleavesaoc/index.html b/cookbook/configuration_yaml_by_happyleavesaoc/index.html index 643291deb8..8ee8550fc1 100644 --- a/cookbook/configuration_yaml_by_happyleavesaoc/index.html +++ b/cookbook/configuration_yaml_by_happyleavesaoc/index.html @@ -119,6 +119,9 @@
  • Configuration.yaml by GreenTurtwig
  • +
  • + Configuration.yaml by bah2830 +
  • Configuration.yaml by bassclarinetl2
  • @@ -131,6 +134,9 @@
  • Configuration.yaml by geekofweek
  • +
  • + Configuration.yaml by gstevenson +
  • Configuration.yaml by happyleavesaoc
  • diff --git a/cookbook/configuration_yaml_from_bassclarinetl2/index.html b/cookbook/configuration_yaml_from_bassclarinetl2/index.html index 2ba0162e46..ebb5648395 100644 --- a/cookbook/configuration_yaml_from_bassclarinetl2/index.html +++ b/cookbook/configuration_yaml_from_bassclarinetl2/index.html @@ -568,6 +568,9 @@
  • Configuration.yaml by GreenTurtwig
  • +
  • + Configuration.yaml by bah2830 +
  • Configuration.yaml by bassclarinetl2
  • @@ -580,6 +583,9 @@
  • Configuration.yaml by geekofweek
  • +
  • + Configuration.yaml by gstevenson +
  • Configuration.yaml by happyleavesaoc
  • diff --git a/cookbook/index.html b/cookbook/index.html index 6dc45dc24a..d5749ec928 100644 --- a/cookbook/index.html +++ b/cookbook/index.html @@ -169,6 +169,9 @@
  • Configuration.yaml by GreenTurtwig

  • +
  • +

    Configuration.yaml by bah2830

    +
  • Configuration.yaml by bassclarinetl2

  • @@ -181,6 +184,9 @@
  • Configuration.yaml by geekofweek

  • +
  • +

    Configuration.yaml by gstevenson

    +
  • Configuration.yaml by happyleavesaoc

  • diff --git a/developers/credits/index.html b/developers/credits/index.html index 6d866eb038..1ca556288b 100644 --- a/developers/credits/index.html +++ b/developers/credits/index.html @@ -136,6 +136,7 @@
  • Daniel Perna
  • Daniel Iversen
  • Daniel J. Kemp
  • +
  • Daniel Matuschek
  • Dan Smith
  • Dan Sullivan
  • Daren Lord
  • @@ -151,6 +152,7 @@
  • Finbarr Brady
  • Flavio Castelli
  • Florian Holzapfel
  • +
  • GadgetReactor
  • Geoff Norton
  • goir
  • gottsman
  • @@ -186,6 +188,7 @@
  • Justin Moy
  • Justyn Shull
  • Karen Goode
  • +
  • Keaton Taylor
  • kennedyshead
  • kixam
  • Kyle Hendricks
  • @@ -202,7 +205,6 @@
  • Matteo Lampugnani
  • Matthew Treinish
  • Michaël Arnauts
  • -
  • Michael Auchter
  • Michael Gilbert
  • Michael Kutý
  • Micha LaQua
  • diff --git a/images/supported_brands/joaoapps_join.png b/images/supported_brands/joaoapps_join.png new file mode 100644 index 0000000000000000000000000000000000000000..28fa7c48b29bff93c1a45c17afe6969e199cccda GIT binary patch literal 20517 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

    *FYyQ-}Xw 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%0D&%f?n;X((q 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 literal 0 HcmV?d00001 diff --git a/images/supported_brands/simplisafe.png b/images/supported_brands/simplisafe.png new file mode 100644 index 0000000000000000000000000000000000000000..38b81353da698a44824f74f4a126d02dcbb79671 GIT binary patch literal 3057 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 literal 0 HcmV?d00001 diff --git a/images/supported_brands/yahooweather.png b/images/supported_brands/yahooweather.png new file mode 100644 index 0000000000000000000000000000000000000000..479ffb06ec3ba4b264051c58b17ef275bbfc00ef GIT binary patch literal 19214 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 1e2aa3c29a..ea2d05601c 100644 --- a/index.html +++ b/index.html @@ -115,11 +115,11 @@ Home Assistant is an open-source home automation platform running on Python 3. T

    diff --git a/sitemap.xml b/sitemap.xml index 781c07f1ce..25db0f3079 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,5 +1,9 @@ + + https://home-assistant.io/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/ + 2016-07-16T12:00:00+00:00 + https://home-assistant.io/blog/2016/07/06/pocketchip-running-home-assistant/ 2016-07-06T05:00:00+00:00 @@ -585,6 +589,9 @@ https://home-assistant.io/blog/posts/7/ + + + https://home-assistant.io/blog/posts/8/ https://home-assistant.io/components/automation/ @@ -1528,6 +1535,9 @@ https://home-assistant.io/components/sensor.dte_energy_bridge/ + + https://home-assistant.io/components/knx/ + https://home-assistant.io/components/media_player.pandora/ @@ -1603,6 +1613,27 @@ https://home-assistant.io/components/sensor.envisalink/ + + https://home-assistant.io/components/alarm_control_panel.simplisafe/ + + + https://home-assistant.io/components/sensor.yweather/ + + + https://home-assistant.io/components/notify.joaoapps_join/ + + + https://home-assistant.io/components/joaoapps_join/ + + + https://home-assistant.io/components/binary_sensor.knx/ + + + https://home-assistant.io/components/switch.knx/ + + + https://home-assistant.io/components/switch.tplink/ + https://home-assistant.io/cookbook/automation_for_rainy_days/ @@ -1684,6 +1715,12 @@ https://home-assistant.io/cookbook/tor_configuration/ + + https://home-assistant.io/cookbook/configuration_yaml_by_gstevenson/ + + + https://home-assistant.io/cookbook/configuration_yaml_by_bah2830/ + https://home-assistant.io/topics/templating/ @@ -1912,36 +1949,39 @@ https://home-assistant.io/blog/2016/07/06/pocketchip-running-home-assistant/ + + https://home-assistant.io/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/ + https://home-assistant.io/demo/dev-tools.html - 2016-07-16T15:38:33+00:00 + 2016-07-16T19:25:02+00:00 https://home-assistant.io/demo/frontend.html - 2016-07-16T15:38:33+00:00 + 2016-07-16T19:25:02+00:00 https://home-assistant.io/demo/index.html - 2016-07-16T15:38:33+00:00 + 2016-07-16T19:25:02+00:00 https://home-assistant.io/demo/partial-map.html - 2016-07-16T15:38:33+00:00 + 2016-07-16T19:25:02+00:00 https://home-assistant.io/googlef4f3693c209fe788.html - 2016-07-16T15:38:33+00:00 + 2016-07-16T19:25:02+00:00 https://home-assistant.io/static/fonts/roboto/DESCRIPTION.en_us.html - 2016-07-16T15:38:33+00:00 + 2016-07-16T19:25:02+00:00 https://home-assistant.io/static/fonts/robotomono/DESCRIPTION.en_us.html - 2016-07-16T15:38:33+00:00 + 2016-07-16T19:25:02+00:00 https://home-assistant.io/static/mdi-demo.html - 2016-07-16T15:38:33+00:00 + 2016-07-16T19:25:02+00:00 diff --git a/topics/platform_options/index.html b/topics/platform_options/index.html index a687a54d1f..2e7a02b69f 100644 --- a/topics/platform_options/index.html +++ b/topics/platform_options/index.html @@ -184,6 +184,12 @@