From b6368d34b8b0f06970a3a11ea3a0657e5c66f114 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Sat, 11 Nov 2017 08:44:59 +0000 Subject: [PATCH] Site updated at 2017-11-11 08:44:59 UTC --- atom.xml | 209 +++++++++- blog/2014/12/18/website-launched/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- blog/2015/01/13/nest-in-da-house/index.html | 6 +- blog/2015/01/24/release-notes/index.html | 6 +- .../2015/02/08/looking-at-the-past/index.html | 6 +- blog/2015/02/24/streaming-updates/index.html | 6 +- .../index.html | 6 +- blog/2015/03/08/new-logo/index.html | 6 +- blog/2015/03/11/release-notes/index.html | 6 +- blog/2015/03/22/release-notes/index.html | 6 +- blog/2015/04/25/release-notes/index.html | 6 +- .../05/09/utc-time-zone-awareness/index.html | 6 +- blog/2015/05/14/release-notes/index.html | 6 +- blog/2015/06/10/release-notes/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../13/home-assistant-meets-ifttt/index.html | 6 +- .../index.html | 6 +- .../alarm-sonos-and-itunes-support/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../11/22/survey-november-2015/index.html | 6 +- .../12/05/community-highlights/index.html | 6 +- .../index.html | 6 +- .../12/07/influxdb-and-grafana/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../01/19/perfect-home-automation/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../multi-room-audio-with-snapcast/index.html | 6 +- .../02/20/community-highlights/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- blog/2016/04/07/static-website/index.html | 6 +- .../index.html | 6 +- .../04/17/updated-documentation/index.html | 6 +- .../04/19/to-infinity-and-beyond/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../05/06/open-iot-summit-talk/index.html | 6 +- .../empowering-scripts-and-alexa/index.html | 6 +- .../index.html | 6 +- blog/2016/05/18/why-we-use-polymer/index.html | 6 +- blog/2016/05/21/release-020/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../06/01/community-highlights/index.html | 6 +- .../08/super-fast-web-enocean-lirc/index.html | 6 +- .../home-assistant-at-pycon-2016/index.html | 6 +- .../index.html | 6 +- .../usb-webcams-and-home-assistant/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../sqlalchemy-knx-join-simplisafe/index.html | 6 +- .../19/visualizing-your-iot-data/index.html | 6 +- .../index.html | 6 +- .../esp8266-and-micropython-part1/index.html | 6 +- .../index.html | 6 +- .../03/laundry-automation-update/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- blog/2016/08/16/we-have-apps-now/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../esp8266-and-micropython-part2/index.html | 6 +- .../notify-group-reload-api-pihole/index.html | 6 +- .../async-sleepiq-emoncms-stocks/index.html | 6 +- .../01/we-have-raspberry-image-now/index.html | 6 +- blog/2016/10/02/hacktoberfest/index.html | 6 +- .../08/hassbian-rest-digital-ocean/index.html | 6 +- .../index.html | 6 +- .../10/25/explaining-the-updater/index.html | 6 +- .../hacktoberfest-influxdb-weather/index.html | 6 +- .../index.html | 6 +- .../12/03/remote-websockets-sonarr/index.html | 6 +- .../index.html | 6 +- blog/2016/12/19/thank-you/index.html | 6 +- .../index.html | 6 +- .../01/14/iss-usps-images-packages/index.html | 6 +- blog/2017/01/18/numbers/index.html | 6 +- .../21/home-assistant-governance/index.html | 6 +- blog/2017/01/28/face-coffee-wink/index.html | 6 +- blog/2017/02/03/babyphone/index.html | 6 +- blog/2017/02/04/hassbian-toybox/index.html | 6 +- .../11/alert-appletv-mqtt-yeelight/index.html | 6 +- blog/2017/02/14/clt-workshop/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../2017/03/22/broken-dependencies/index.html | 6 +- .../index.html | 6 +- .../03/25/todo-volumio-workday/index.html | 6 +- .../2017/03/28/http-to-mqtt-bridge/index.html | 6 +- blog/2017/04/01/thomas-krenn-award/index.html | 6 +- .../index.html | 6 +- blog/2017/04/15/ios/index.html | 6 +- .../index.html | 6 +- .../04/22/ikea-tradfri-spotify/index.html | 6 +- .../04/24/hardware-contest-2017/index.html | 6 +- .../04/25/influxdb-grafana-docker/index.html | 6 +- .../hassbian-1.21-its-about-time/index.html | 6 +- .../index.html | 6 +- .../05/05/podcast-init-interview/index.html | 6 +- blog/2017/05/06/zigbee-opencv-dlib/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../06/02/home-assistant-podcast-1/index.html | 6 +- blog/2017/06/04/release-46/index.html | 6 +- .../index.html | 6 +- blog/2017/06/15/zwave-entity-ids/index.html | 6 +- blog/2017/06/17/release-47/index.html | 6 +- .../index.html | 6 +- blog/2017/07/02/release-48/index.html | 6 +- .../index.html | 6 +- blog/2017/07/05/hasspodcast-ep-3/index.html | 6 +- blog/2017/07/15/release-49/index.html | 6 +- blog/2017/07/17/hasspodcast-ep-4/index.html | 6 +- blog/2017/07/25/introducing-hassio/index.html | 6 +- .../2017/07/27/talk-python-podcast/index.html | 6 +- blog/2017/07/29/release-50/index.html | 6 +- blog/2017/08/01/hasspodcast-ep-5/index.html | 6 +- blog/2017/08/12/release-51/index.html | 6 +- blog/2017/08/26/release-0-52/index.html | 6 +- blog/2017/09/09/release-53/index.html | 6 +- .../index.html | 6 +- blog/2017/09/23/release-54/index.html | 6 +- .../09/26/new-hassio-build-system/index.html | 6 +- .../index.html | 6 +- blog/2017/09/29/hacktoberfest/index.html | 6 +- blog/2017/10/01/hass-podcast-ep9/index.html | 6 +- .../deprecating-python-3.4-support/index.html | 6 +- blog/2017/10/07/release-55/index.html | 6 +- .../10/15/templating-date-time/index.html | 6 +- blog/2017/10/18/hasspodcast-ep-10/index.html | 6 +- blog/2017/10/21/release-56/index.html | 6 +- .../10/23/simple-analog-sensor/index.html | 3 + blog/2017/10/28/demo/index.html | 6 +- .../2017/11/02/secure-shell-tunnel/index.html | 6 +- blog/2017/11/04/release-57/index.html | 6 +- .../11/05/frontend-translations/index.html | 6 +- blog/2017/11/10/ttn-with-mqtt/index.html | 377 ++++++++++++++++++ blog/archives/index.html | 27 +- blog/categories/announcements/atom.xml | 2 +- blog/categories/announcements/index.html | 6 +- blog/categories/community/atom.xml | 2 +- blog/categories/community/index.html | 6 +- blog/categories/device-tracking/atom.xml | 2 +- blog/categories/device-tracking/index.html | 6 +- blog/categories/esp8266/atom.xml | 2 +- blog/categories/esp8266/index.html | 6 +- blog/categories/how-to/atom.xml | 324 +++++++++------ blog/categories/how-to/index.html | 27 +- blog/categories/ibeacons/atom.xml | 2 +- blog/categories/ibeacons/index.html | 6 +- blog/categories/internet-of-things/atom.xml | 2 +- blog/categories/internet-of-things/index.html | 6 +- blog/categories/iot-data/atom.xml | 2 +- blog/categories/iot-data/index.html | 6 +- blog/categories/media/atom.xml | 2 +- blog/categories/media/index.html | 6 +- blog/categories/merchandise/atom.xml | 2 +- blog/categories/merchandise/index.html | 6 +- blog/categories/micropython/atom.xml | 2 +- blog/categories/micropython/index.html | 6 +- blog/categories/mqtt/atom.xml | 2 +- blog/categories/mqtt/index.html | 6 +- blog/categories/organisation/atom.xml | 2 +- blog/categories/organisation/index.html | 6 +- blog/categories/owntracks/atom.xml | 2 +- blog/categories/owntracks/index.html | 6 +- blog/categories/presence-detection/atom.xml | 2 +- blog/categories/presence-detection/index.html | 6 +- .../public-service-announcement/atom.xml | 2 +- .../public-service-announcement/index.html | 6 +- blog/categories/release-notes/atom.xml | 2 +- blog/categories/release-notes/index.html | 6 +- blog/categories/survey/atom.xml | 2 +- blog/categories/survey/index.html | 6 +- blog/categories/talks/atom.xml | 2 +- blog/categories/talks/index.html | 6 +- blog/categories/technology/atom.xml | 2 +- blog/categories/technology/index.html | 6 +- blog/categories/user-stories/atom.xml | 2 +- blog/categories/user-stories/index.html | 6 +- blog/categories/video/atom.xml | 2 +- blog/categories/video/index.html | 6 +- blog/categories/website/atom.xml | 2 +- blog/categories/website/index.html | 6 +- blog/index.html | 62 ++- blog/posts/10/index.html | 56 ++- blog/posts/11/index.html | 60 ++- blog/posts/12/index.html | 61 +-- blog/posts/13/index.html | 84 ++-- blog/posts/14/index.html | 89 +++-- blog/posts/15/index.html | 65 +-- blog/posts/16/index.html | 30 ++ blog/posts/2/index.html | 62 +-- blog/posts/3/index.html | 109 ++--- blog/posts/4/index.html | 111 ++++-- blog/posts/5/index.html | 56 +-- blog/posts/6/index.html | 54 +-- blog/posts/7/index.html | 147 ++----- blog/posts/8/index.html | 150 +++++-- blog/posts/9/index.html | 57 +-- .../blog/2017-11-mqtt-ttn/social-ha-ttn.png | Bin 0 -> 81446 bytes index.html | 8 +- sitemap.xml | 84 ++-- 227 files changed, 2066 insertions(+), 1370 deletions(-) create mode 100644 blog/2017/11/10/ttn-with-mqtt/index.html create mode 100644 images/blog/2017-11-mqtt-ttn/social-ha-ttn.png diff --git a/atom.xml b/atom.xml index bc5216536f..5f35423392 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ @@ -13,6 +13,199 @@ Octopress + + <![CDATA[Home Assistant and The Things Network (TTN)]]> + + 2017-11-10T12:00:00+00:00 + https://home-assistant.io/blog/2017/11/10/ttn-with-mqtt + The Home Assistant integration for The Things Network (TTN) uses their Storage feature to get the sensor data. The easiest way to observe TTN sensors would be MQTT as it doesn’t requires any additional configuration.

+ +

At the moment Home Assistant only supports one MQTT broker. This means that you can’t subscribe to topics which are located on different brokers.

+ + + +

Subscribe to the TTN Broker

+ +

To check what your devices are sending, subscribe to the topic +/devices/+/up with a command-line tool like mosquitto_sub. The <Region> is the postfix of the Handler entry in your Application overview. <AppID> is the Application ID and <AppKey> is your access key.

+ +

``bash +$ mosquitto_sub -v -h .thethings.network -t '+/devices/+/up' -u '' -P '' +{ + "app_id": "ha-demo", + "dev_id": "device01", + "hardware_serial": "AJDJENDNHRBFBBT", + "port": 1, + [...]

+

+The payload contains details about the device itself and the sensor data. The sensor data is stored in `payload_fields`. Depending on the device configuration it may contain a single value or multiple values. 
+
+## <a class='title-link' name='the-relay' href='#the-relay'></a> The relay 
+
+To be able to work locally with the MQTT data that is received from the devices connected to TTN, we need to transfer it to the local broker. With this simple script below all messages from a given device are re-published on your local MQTT broker after they are received. Modify the script with your details as outlined in the previous section.
+
+```python
+"""Relay MQTT messages from The Things Network to a local MQTT broker."""
+import paho.mqtt.client as mqtt
+import paho.mqtt.publish as publish
+
+DEVICE_NAME = '<DeviceID>'
+
+TTN_BROKER = '<Region>.thethings.network'
+TTN_USERNAME = '<AppID>'
+TTN_PASSWORD = '<AppKey>'
+TTN_TOPIC = '+/devices/{}/up'.format(DEVICE_NAME)
+
+LOCAL_BROKER = '192.168.0.2'
+LOCAL_TOPIC = 'home/ttn/garden_temp'
+
+
+def on_connect(client, userdata, flags, rc):
+    """Subscribe to topic after connection to broker is made."""
+    print("Connected with result code", str(rc))
+    client.subscribe(TTN_TOPIC)
+
+
+def on_message(client, userdata, msg):
+    """Relay message to a different broker."""
+    publish.single(
+        LOCAL_TOPIC, payload=msg.payload, qos=0, retain=False,
+        hostname=LOCAL_BROKER, port=1883, client_id='ttn-local',
+        keepalive=60, will=None, auth=None, tls=None, protocol=mqtt.MQTTv311)
+
+
+client = mqtt.Client()
+client.username_pw_set(TTN_USERNAME, password=TTN_PASSWORD)
+client.on_connect = on_connect
+client.on_message = on_message
+client.connect(TTN_BROKER, 1883, 60)
+
+client.loop_forever()
+
+
+ +

Save it and run it. As soon as a MQTT message is received from your device you should see it on your local broker (here 192.168.0.2) if you subscribe to # or the topic given in the script above home/ttn/garden_temp.

+ +
$ mosquitto_sub -h 192.168.0.2 -t "#" -d
+
+
+ +

The sensor

+ +

All we would need now, is a mqtt sensor with a value_template. With a sophisticated custom sensor it would be possible to displaying a little more than just the state. The device is only sending the temperature {"temperature": 7.5} but there are other details available which the sensor should show.

+ +
"""Support for The Things Network MQTT sensors."""
+import asyncio
+from datetime import timedelta
+import json
+import logging
+
+import voluptuous as vol
+
+import homeassistant.components.mqtt as mqtt
+from homeassistant.components.mqtt import CONF_STATE_TOPIC
+from homeassistant.const import CONF_NAME, CONF_UNIT_OF_MEASUREMENT
+from homeassistant.core import callback
+import homeassistant.helpers.config_validation as cv
+from homeassistant.helpers.entity import Entity
+
+_LOGGER = logging.getLogger(__name__)
+
+DEFAULT_NAME = 'MQTT TTN Sensor'
+DEFAULT_FORCE_UPDATE = False
+DEPENDENCIES = ['mqtt']
+
+PLATFORM_SCHEMA = mqtt.MQTT_RO_PLATFORM_SCHEMA.extend({
+    vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
+    vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string,
+
+})
+
+
+@asyncio.coroutine
+def async_setup_platform(hass, config, async_add_devices, discovery_info=None):
+    """Set up the TTN MQTT Sensor."""
+    async_add_devices([MqttTtnSensor(
+        config.get(CONF_NAME), config.get(CONF_STATE_TOPIC),
+        config.get(CONF_UNIT_OF_MEASUREMENT))
+    ])
+
+
+class MqttTtnSensor(Entity):
+    """Representation of a sensor."""
+
+    def __init__(self, name, state_topic, unit_of_measurement):
+        """Initialize the sensor."""
+        self._state = None
+        self._name = name
+        self._unit_of_measurement = unit_of_measurement
+        self._attributes = {}
+        self._state_topic = state_topic
+
+    def async_added_to_hass(self):
+        """Subscribe to MQTT events."""
+        @callback
+        def message_received(topic, payload, qos):
+            """Handle new MQTT messages."""
+
+            try:
+                data = json.loads(payload)
+            except json.JSONDecodeError:
+                _LOGGER.error("Invalid JSON data received: %s", data)
+
+            self._state = data['payload_fields'][next(
+                iter(data['payload_fields']))]
+            self._attributes = data
+            del self._attributes['payload_fields']
+            del self._attributes['metadata']
+            self.async_schedule_update_ha_state()
+
+        return mqtt.async_subscribe(
+            self.hass, self._state_topic, message_received, 0)
+
+    @property
+    def should_poll(self):
+        """No polling needed."""
+        return False
+
+    @property
+    def name(self):
+        """Return the name of the sensor."""
+        return self._name
+
+    @property
+    def unit_of_measurement(self):
+        """Return the unit this state is expressed in."""
+        return self._unit_of_measurement
+
+    @property
+    def state_attributes(self):
+        """Return the attributes of the entity."""
+        return self._attributes
+
+    @property
+    def state(self):
+        """Return the state of the entity."""
+        return self._state
+
+
+ +

Store it in <config_dir>/custom_components/sensor/mqtt_ttn.py and it will handle the messages.

+ +

The configuration

+ +

Now create the mqtt_ttn sensor entry for your device.

+ +
sensor:
+  - platform: mqtt_ttn
+    name: TTN Sensor
+    state_topic: "home/ttn/garden_temp"
+
+
+ +

This solution is not production-ready, scalable or stable but it could fill the gape till Home Assistant is able to connect to multiple MQTT brokers. If you have multiple devices relay all messages to your local broker and add an configuration variable to mqtt_ttn sensor which allows you to select the device.

+]]>
+
+ <![CDATA[Translating Home Assistant]]> @@ -1988,20 +2181,6 @@ Screenshot of the new customize editor.
  • Fix SET_TEMPERATURE_SCHEMA in climate component (@MartinHjelmare - #8879) (climate docs)
  • -]]> -
    - - - <![CDATA[Home Assistant Podcast #5]]> - - 2017-08-01T00:01:00+00:00 - https://home-assistant.io/blog/2017/08/01/hasspodcast-ep-5 - We cover off AppDaemon/HADashboard and all the fun stuff introduced in 0.49 and 0.50.

    - -

    Show notes available on the Home Assistant Podcast Website

    - -

    Listen online

    - ]]>
    diff --git a/blog/2014/12/18/website-launched/index.html b/blog/2014/12/18/website-launched/index.html index f0b79f8476..fc7852e96b 100644 --- a/blog/2014/12/18/website-launched/index.html +++ b/blog/2014/12/18/website-launched/index.html @@ -128,6 +128,9 @@

    Recent Posts

    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 7d29c61be6..1fb9bab37c 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 @@ -162,6 +162,9 @@ This article will try to explain how they all relate.

    Recent Posts

    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 cda1f1052b..f1a94948cb 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 @@ -152,6 +152,9 @@

    Recent Posts

    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 e51a7249b6..6e8f7497ff 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 @@ -135,6 +135,9 @@

    Recent Posts

    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 8035c50427..41e700aff0 100644 --- a/blog/2015/01/13/nest-in-da-house/index.html +++ b/blog/2015/01/13/nest-in-da-house/index.html @@ -139,6 +139,9 @@

    Recent Posts

    diff --git a/blog/2015/01/24/release-notes/index.html b/blog/2015/01/24/release-notes/index.html index 9d3024f233..43e12afcb1 100644 --- a/blog/2015/01/24/release-notes/index.html +++ b/blog/2015/01/24/release-notes/index.html @@ -145,6 +145,9 @@ Home Assistant now supports --open-ui and

    Recent Posts

    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 804bb53962..f87aba3e6d 100644 --- a/blog/2015/02/08/looking-at-the-past/index.html +++ b/blog/2015/02/08/looking-at-the-past/index.html @@ -150,6 +150,9 @@ Events are saved in a local database. Google Graphs is used to draw the graph. D

    Recent Posts

    diff --git a/blog/2015/02/24/streaming-updates/index.html b/blog/2015/02/24/streaming-updates/index.html index 8e78af11a5..d4eaff70ea 100644 --- a/blog/2015/02/24/streaming-updates/index.html +++ b/blog/2015/02/24/streaming-updates/index.html @@ -136,6 +136,9 @@

    Recent Posts

    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 61d5aa3001..02b3dd4839 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 @@ -130,6 +130,9 @@

    Recent Posts

    diff --git a/blog/2015/03/08/new-logo/index.html b/blog/2015/03/08/new-logo/index.html index 3f2556eb54..0ad794bb00 100644 --- a/blog/2015/03/08/new-logo/index.html +++ b/blog/2015/03/08/new-logo/index.html @@ -133,6 +133,9 @@ The old logo, the new detailed logo and the new simple logo.

    Recent Posts

    diff --git a/blog/2015/03/11/release-notes/index.html b/blog/2015/03/11/release-notes/index.html index c4886c768c..993cfef108 100644 --- a/blog/2015/03/11/release-notes/index.html +++ b/blog/2015/03/11/release-notes/index.html @@ -158,6 +158,9 @@ An initial version of voice control for Home Assistant has landed. The current i

    Recent Posts

    diff --git a/blog/2015/03/22/release-notes/index.html b/blog/2015/03/22/release-notes/index.html index 475b09c4f9..ada55e309d 100644 --- a/blog/2015/03/22/release-notes/index.html +++ b/blog/2015/03/22/release-notes/index.html @@ -194,6 +194,9 @@ I (Paulus) have contributed a scene component. A user can create scenes that cap

    Recent Posts

    diff --git a/blog/2015/04/25/release-notes/index.html b/blog/2015/04/25/release-notes/index.html index b9e5b5d43c..bd57c0dfe8 100644 --- a/blog/2015/04/25/release-notes/index.html +++ b/blog/2015/04/25/release-notes/index.html @@ -202,6 +202,9 @@

    Recent Posts

    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 0762122170..82c25019b4 100644 --- a/blog/2015/05/09/utc-time-zone-awareness/index.html +++ b/blog/2015/05/09/utc-time-zone-awareness/index.html @@ -146,6 +146,9 @@

    Recent Posts

    diff --git a/blog/2015/05/14/release-notes/index.html b/blog/2015/05/14/release-notes/index.html index 0b9a9eca85..5629cbec83 100644 --- a/blog/2015/05/14/release-notes/index.html +++ b/blog/2015/05/14/release-notes/index.html @@ -216,6 +216,9 @@ Before diving into the newly supported devices and services, I want to highlight

    Recent Posts

    diff --git a/blog/2015/06/10/release-notes/index.html b/blog/2015/06/10/release-notes/index.html index 6f3805a1c5..02716378a9 100644 --- a/blog/2015/06/10/release-notes/index.html +++ b/blog/2015/06/10/release-notes/index.html @@ -262,6 +262,9 @@ This switch platform allows you to control your motion detection setting on your

    Recent Posts

    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 61416e30fc..4530caedbf 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 @@ -226,6 +226,9 @@ Fabian has added support for Forecast.io to g

    Recent Posts

    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 edf05d7bfb..87e9e85c78 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 @@ -209,6 +209,9 @@ Support for Temper temperature sensors has been contributed by

    Recent Posts

    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 42193d2cb2..b491728137 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 @@ -146,6 +146,9 @@

    Recent Posts

    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 3dcd2081d2..60494ed216 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 @@ -246,6 +246,9 @@ The automation and script syntax here is using a deprecated and no longer suppor

    Recent Posts

    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 685c68f221..62780e7bd3 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 @@ -207,6 +207,9 @@

    Recent Posts

    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 4cfefe10a5..aa6da9ef7c 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 @@ -284,6 +284,9 @@

    Recent Posts

    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 0c63632d54..2929fb1aea 100644 --- a/blog/2015/09/13/home-assistant-meets-ifttt/index.html +++ b/blog/2015/09/13/home-assistant-meets-ifttt/index.html @@ -274,6 +274,9 @@

    Recent Posts

    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 92fd1dc8a8..c281b3a070 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 @@ -173,6 +173,9 @@ Glances web server started on http://0.0.0.0:61208/

    Recent Posts

    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 f28113d99b..4e61be9f17 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 @@ -169,6 +169,9 @@ Automation has gotten a lot of love. It now supports conditions, multiple trigge

    Recent Posts

    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 48158a1518..2af3d7e52a 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 @@ -152,6 +152,9 @@ Map in Home Assistant showing two people and three zones (home, school, work)

    Recent Posts

    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 0654809ca1..62b4ccdc4c 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 @@ -337,6 +337,9 @@ Home Assistant will keep track of historical values and allow you to integrate i

    Recent Posts

    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 20cea09a3a..0d021bd9cb 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 @@ -142,6 +142,9 @@

    Recent Posts

    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 3e180c3e59..825dff72b7 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 @@ -159,6 +159,9 @@ This makes more sense as most people run Home Assistant as a daemon

    Recent Posts

    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 b2dac44c89..431bba0a11 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 @@ -157,6 +157,9 @@

    Recent Posts

    diff --git a/blog/2015/11/22/survey-november-2015/index.html b/blog/2015/11/22/survey-november-2015/index.html index 2912501909..3cc6818288 100644 --- a/blog/2015/11/22/survey-november-2015/index.html +++ b/blog/2015/11/22/survey-november-2015/index.html @@ -184,6 +184,9 @@

    Recent Posts

    diff --git a/blog/2015/12/05/community-highlights/index.html b/blog/2015/12/05/community-highlights/index.html index dfde966d39..af15cb26f5 100644 --- a/blog/2015/12/05/community-highlights/index.html +++ b/blog/2015/12/05/community-highlights/index.html @@ -135,6 +135,9 @@

    Recent Posts

    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 183855c3b4..f6ab43c115 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 @@ -143,6 +143,9 @@

    Recent Posts

    diff --git a/blog/2015/12/07/influxdb-and-grafana/index.html b/blog/2015/12/07/influxdb-and-grafana/index.html index b68371dae4..0893ef5d09 100644 --- a/blog/2015/12/07/influxdb-and-grafana/index.html +++ b/blog/2015/12/07/influxdb-and-grafana/index.html @@ -197,6 +197,9 @@ name: binary_sensor

    Recent Posts

    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 c29bdb2d98..8534f058f2 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 @@ -164,6 +164,9 @@ This is where we’ll configure our task, so select the plus icon to select an a

    Recent Posts

    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 2816a92f3f..dd8e1519ff 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 @@ -150,6 +150,9 @@ Philips Hue FAQ entries regarding 3rd party light bulbs.

    Recent Posts

    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 bc710df080..acc790cfd2 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 @@ -192,6 +192,9 @@ sudo docker run -it --rm -p 80:80 --name certbot \

    Recent Posts

    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 d476d59d65..0efebfe751 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 @@ -167,6 +167,9 @@

    Recent Posts

    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 8ada50b393..8459b0965a 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 @@ -158,6 +158,9 @@

    Recent Posts

    diff --git a/blog/2016/01/19/perfect-home-automation/index.html b/blog/2016/01/19/perfect-home-automation/index.html index 97aac2c4fe..94b3683808 100644 --- a/blog/2016/01/19/perfect-home-automation/index.html +++ b/blog/2016/01/19/perfect-home-automation/index.html @@ -147,6 +147,9 @@

    Recent Posts

    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 1b5c24e756..75acb953fd 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 @@ -161,6 +161,9 @@ Example of the new views in the frontend. Learn mor

    Recent Posts

    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 62d902c6c7..3e334d8af5 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 @@ -281,6 +281,9 @@ Z-Wave light bulb |

    Recent Posts

    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 9dd1d436f9..0709c8eb97 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 @@ -255,6 +255,9 @@

    Recent Posts

    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 919d5bb1bd..2e2ecf66ce 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 @@ -166,6 +166,9 @@

    Recent Posts

    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 ff58d5771b..a0202b16f0 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 @@ -220,6 +220,9 @@

    Recent Posts

    diff --git a/blog/2016/02/20/community-highlights/index.html b/blog/2016/02/20/community-highlights/index.html index 0f9f69f328..8faa2bc226 100644 --- a/blog/2016/02/20/community-highlights/index.html +++ b/blog/2016/02/20/community-highlights/index.html @@ -163,6 +163,9 @@ Hold your NFC tag against the belly of Garfield to unlock the alarm.

    Recent Posts

    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 069daa2943..fdc714293c 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 @@ -165,6 +165,9 @@

    Recent Posts

    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 9175cd8a65..d6073c5b4d 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 @@ -166,6 +166,9 @@ player state attributes. This change affects automations, scripts and scenes.

    Recent Posts

    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 94080d2741..1235e87b70 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 @@ -174,6 +174,9 @@

    Recent Posts

    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 43449d0a53..8e6365a004 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 @@ -134,6 +134,9 @@

    Recent Posts

    diff --git a/blog/2016/04/07/static-website/index.html b/blog/2016/04/07/static-website/index.html index 1aaed6bf93..e45394b78a 100644 --- a/blog/2016/04/07/static-website/index.html +++ b/blog/2016/04/07/static-website/index.html @@ -137,6 +137,9 @@

    Recent Posts

    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 154e90a108..e71ce096b9 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 @@ -146,6 +146,9 @@

    Recent Posts

    diff --git a/blog/2016/04/17/updated-documentation/index.html b/blog/2016/04/17/updated-documentation/index.html index 89444acbae..867a4e7127 100644 --- a/blog/2016/04/17/updated-documentation/index.html +++ b/blog/2016/04/17/updated-documentation/index.html @@ -132,6 +132,9 @@

    Recent Posts

    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 1827d6f810..6a4e403be1 100644 --- a/blog/2016/04/19/to-infinity-and-beyond/index.html +++ b/blog/2016/04/19/to-infinity-and-beyond/index.html @@ -144,6 +144,9 @@

    Recent Posts

    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 f0d628c767..f8dc4ff8a6 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 @@ -166,6 +166,9 @@

    Recent Posts

    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 6c821784e3..4882bbf164 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 @@ -208,6 +208,9 @@ For example, my wife works next door - and I couldn’t detect whether she’s a

    Recent Posts

    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 c126bd15a0..670e3c4bdc 100644 --- a/blog/2016/05/06/open-iot-summit-talk/index.html +++ b/blog/2016/05/06/open-iot-summit-talk/index.html @@ -132,6 +132,9 @@

    Recent Posts

    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 a42807fba4..a4a6955ce5 100644 --- a/blog/2016/05/07/empowering-scripts-and-alexa/index.html +++ b/blog/2016/05/07/empowering-scripts-and-alexa/index.html @@ -206,6 +206,9 @@

    Recent Posts

    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 597ca30240..3927a2209d 100644 --- a/blog/2016/05/12/video-configuring-home-assistant/index.html +++ b/blog/2016/05/12/video-configuring-home-assistant/index.html @@ -132,6 +132,9 @@

    Recent Posts

    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 62169acd09..8962bceb37 100644 --- a/blog/2016/05/18/why-we-use-polymer/index.html +++ b/blog/2016/05/18/why-we-use-polymer/index.html @@ -138,6 +138,9 @@

    Recent Posts

    diff --git a/blog/2016/05/21/release-020/index.html b/blog/2016/05/21/release-020/index.html index 42cc7ceaf9..4501639ef3 100644 --- a/blog/2016/05/21/release-020/index.html +++ b/blog/2016/05/21/release-020/index.html @@ -162,6 +162,9 @@

    Recent Posts

    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 9d34524a64..f9a4ff3720 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 @@ -135,6 +135,9 @@

    Recent Posts

    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 1153285d79..ad001bddb5 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 @@ -236,6 +236,9 @@

    Recent Posts

    diff --git a/blog/2016/06/01/community-highlights/index.html b/blog/2016/06/01/community-highlights/index.html index e191a09bd7..2e2bffce98 100644 --- a/blog/2016/06/01/community-highlights/index.html +++ b/blog/2016/06/01/community-highlights/index.html @@ -144,6 +144,9 @@

    Recent Posts

    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 5afcf78afe..9058063688 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 @@ -176,6 +176,9 @@

    Recent Posts

    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 6174b811f0..52772ff747 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 @@ -148,6 +148,9 @@

    Recent Posts

    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 ce1ab62ab6..23f0b39348 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 @@ -170,6 +170,9 @@

    Recent Posts

    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 fa25f6376b..30c39ca254 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 @@ -216,6 +216,9 @@ target_dir /tmp

    Recent Posts

    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 7f124861f1..5b2e396665 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 @@ -171,6 +171,9 @@

    Recent Posts

    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 79c78f893a..323a9c1fdf 100644 --- a/blog/2016/07/06/pocketchip-running-home-assistant/index.html +++ b/blog/2016/07/06/pocketchip-running-home-assistant/index.html @@ -161,6 +161,9 @@ Over a year ago I participated in the

    Recent Posts

    diff --git a/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/index.html b/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/index.html index 919f94a47f..f266ba4cd1 100644 --- a/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/index.html +++ b/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/index.html @@ -167,6 +167,9 @@

    Recent Posts

    diff --git a/blog/2016/07/19/visualizing-your-iot-data/index.html b/blog/2016/07/19/visualizing-your-iot-data/index.html index 8bf796b008..4a24c274a4 100644 --- a/blog/2016/07/19/visualizing-your-iot-data/index.html +++ b/blog/2016/07/19/visualizing-your-iot-data/index.html @@ -204,6 +204,9 @@ SQLite version 3.11.0 2016-02-15 17:29:24

    Recent Posts

    diff --git a/blog/2016/07/23/internet-of-things-data-exploration-with-jupyter-notebooks/index.html b/blog/2016/07/23/internet-of-things-data-exploration-with-jupyter-notebooks/index.html index a5809735cb..191f00a9dd 100644 --- a/blog/2016/07/23/internet-of-things-data-exploration-with-jupyter-notebooks/index.html +++ b/blog/2016/07/23/internet-of-things-data-exploration-with-jupyter-notebooks/index.html @@ -171,6 +171,9 @@ One of the graphs created with this tutorial.

    Recent Posts

    diff --git a/blog/2016/07/28/esp8266-and-micropython-part1/index.html b/blog/2016/07/28/esp8266-and-micropython-part1/index.html index 76b8e128e4..df7f1d4582 100644 --- a/blog/2016/07/28/esp8266-and-micropython-part1/index.html +++ b/blog/2016/07/28/esp8266-and-micropython-part1/index.html @@ -251,6 +251,9 @@ If a module is missing then you need to download it from the

    Recent Posts

    diff --git a/blog/2016/07/30/custom-frontend-panels-jupyter-notebooks-directv/index.html b/blog/2016/07/30/custom-frontend-panels-jupyter-notebooks-directv/index.html index 707ae0e054..f61d458766 100644 --- a/blog/2016/07/30/custom-frontend-panels-jupyter-notebooks-directv/index.html +++ b/blog/2016/07/30/custom-frontend-panels-jupyter-notebooks-directv/index.html @@ -183,6 +183,9 @@

    Recent Posts

    diff --git a/blog/2016/08/03/laundry-automation-update/index.html b/blog/2016/08/03/laundry-automation-update/index.html index 07c73b3eae..426929bc53 100644 --- a/blog/2016/08/03/laundry-automation-update/index.html +++ b/blog/2016/08/03/laundry-automation-update/index.html @@ -215,6 +215,9 @@

    Recent Posts

    diff --git a/blog/2016/08/07/optimizing-the-home-assistant-mobile-web-app/index.html b/blog/2016/08/07/optimizing-the-home-assistant-mobile-web-app/index.html index 5154fbfa5e..aaa9633218 100644 --- a/blog/2016/08/07/optimizing-the-home-assistant-mobile-web-app/index.html +++ b/blog/2016/08/07/optimizing-the-home-assistant-mobile-web-app/index.html @@ -210,6 +210,9 @@

    Recent Posts

    diff --git a/blog/2016/08/13/foursquare-fast-com-ffmpeg-gpsd/index.html b/blog/2016/08/13/foursquare-fast-com-ffmpeg-gpsd/index.html index 2e4073a6f9..e659fa994a 100644 --- a/blog/2016/08/13/foursquare-fast-com-ffmpeg-gpsd/index.html +++ b/blog/2016/08/13/foursquare-fast-com-ffmpeg-gpsd/index.html @@ -183,6 +183,9 @@

    Recent Posts

    diff --git a/blog/2016/08/16/we-have-apps-now/index.html b/blog/2016/08/16/we-have-apps-now/index.html index 8dc0083c54..822dfcd5b8 100644 --- a/blog/2016/08/16/we-have-apps-now/index.html +++ b/blog/2016/08/16/we-have-apps-now/index.html @@ -221,6 +221,9 @@

    Recent Posts

    diff --git a/blog/2016/08/19/github-style-calendar-heatmap-of-device-data/index.html b/blog/2016/08/19/github-style-calendar-heatmap-of-device-data/index.html index 0ceccf4a41..9e2bc67fdf 100644 --- a/blog/2016/08/19/github-style-calendar-heatmap-of-device-data/index.html +++ b/blog/2016/08/19/github-style-calendar-heatmap-of-device-data/index.html @@ -133,6 +133,9 @@ Heatmap

    Recent Posts

    diff --git a/blog/2016/08/28/notifications-hue-fake-unification/index.html b/blog/2016/08/28/notifications-hue-fake-unification/index.html index e9d505708c..0e65cd8154 100644 --- a/blog/2016/08/28/notifications-hue-fake-unification/index.html +++ b/blog/2016/08/28/notifications-hue-fake-unification/index.html @@ -282,6 +282,9 @@

    Recent Posts

    diff --git a/blog/2016/08/31/esp8266-and-micropython-part2/index.html b/blog/2016/08/31/esp8266-and-micropython-part2/index.html index dda6ad7983..3baf21aa2d 100644 --- a/blog/2016/08/31/esp8266-and-micropython-part2/index.html +++ b/blog/2016/08/31/esp8266-and-micropython-part2/index.html @@ -209,6 +209,9 @@ So, part 1 of ESP8266

    Recent Posts

    diff --git a/blog/2016/09/10/notify-group-reload-api-pihole/index.html b/blog/2016/09/10/notify-group-reload-api-pihole/index.html index 2a3f6de500..25bd685eb5 100644 --- a/blog/2016/09/10/notify-group-reload-api-pihole/index.html +++ b/blog/2016/09/10/notify-group-reload-api-pihole/index.html @@ -211,6 +211,9 @@

    Recent Posts

    diff --git a/blog/2016/09/29/async-sleepiq-emoncms-stocks/index.html b/blog/2016/09/29/async-sleepiq-emoncms-stocks/index.html index 7ddd2aa873..04be694822 100644 --- a/blog/2016/09/29/async-sleepiq-emoncms-stocks/index.html +++ b/blog/2016/09/29/async-sleepiq-emoncms-stocks/index.html @@ -216,6 +216,9 @@

    Recent Posts

    diff --git a/blog/2016/10/01/we-have-raspberry-image-now/index.html b/blog/2016/10/01/we-have-raspberry-image-now/index.html index 82c00b008c..befc8fde92 100644 --- a/blog/2016/10/01/we-have-raspberry-image-now/index.html +++ b/blog/2016/10/01/we-have-raspberry-image-now/index.html @@ -137,6 +137,9 @@

    Recent Posts

    diff --git a/blog/2016/10/02/hacktoberfest/index.html b/blog/2016/10/02/hacktoberfest/index.html index a2ad424a8c..1250be0003 100644 --- a/blog/2016/10/02/hacktoberfest/index.html +++ b/blog/2016/10/02/hacktoberfest/index.html @@ -145,6 +145,9 @@

    Recent Posts

    diff --git a/blog/2016/10/08/hassbian-rest-digital-ocean/index.html b/blog/2016/10/08/hassbian-rest-digital-ocean/index.html index e7b135f70d..75810ff51d 100644 --- a/blog/2016/10/08/hassbian-rest-digital-ocean/index.html +++ b/blog/2016/10/08/hassbian-rest-digital-ocean/index.html @@ -227,6 +227,9 @@

    Recent Posts

    diff --git a/blog/2016/10/22/flash-briefing-updater-hacktoberfest/index.html b/blog/2016/10/22/flash-briefing-updater-hacktoberfest/index.html index a9e24554ad..bf6b662e94 100644 --- a/blog/2016/10/22/flash-briefing-updater-hacktoberfest/index.html +++ b/blog/2016/10/22/flash-briefing-updater-hacktoberfest/index.html @@ -399,6 +399,9 @@

    Recent Posts

    diff --git a/blog/2016/10/25/explaining-the-updater/index.html b/blog/2016/10/25/explaining-the-updater/index.html index 4b84cbd208..aa9418518f 100644 --- a/blog/2016/10/25/explaining-the-updater/index.html +++ b/blog/2016/10/25/explaining-the-updater/index.html @@ -155,6 +155,9 @@

    Recent Posts

    diff --git a/blog/2016/11/05/hacktoberfest-influxdb-weather/index.html b/blog/2016/11/05/hacktoberfest-influxdb-weather/index.html index 1687a30de6..f5477ff5c4 100644 --- a/blog/2016/11/05/hacktoberfest-influxdb-weather/index.html +++ b/blog/2016/11/05/hacktoberfest-influxdb-weather/index.html @@ -223,6 +223,9 @@

    Recent Posts

    diff --git a/blog/2016/11/20/calendar-wink-thermostats-cisco-ios/index.html b/blog/2016/11/20/calendar-wink-thermostats-cisco-ios/index.html index 46a6c85bee..dcb30fbb53 100644 --- a/blog/2016/11/20/calendar-wink-thermostats-cisco-ios/index.html +++ b/blog/2016/11/20/calendar-wink-thermostats-cisco-ios/index.html @@ -184,6 +184,9 @@

    Recent Posts

    diff --git a/blog/2016/12/03/remote-websockets-sonarr/index.html b/blog/2016/12/03/remote-websockets-sonarr/index.html index d13992ede2..b835815544 100644 --- a/blog/2016/12/03/remote-websockets-sonarr/index.html +++ b/blog/2016/12/03/remote-websockets-sonarr/index.html @@ -245,6 +245,9 @@

    Recent Posts

    diff --git a/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/index.html b/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/index.html index 883a2ab607..44690f25ea 100644 --- a/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/index.html +++ b/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/index.html @@ -198,6 +198,9 @@

    Recent Posts

    diff --git a/blog/2016/12/19/thank-you/index.html b/blog/2016/12/19/thank-you/index.html index ae12eac376..ca9bd13543 100644 --- a/blog/2016/12/19/thank-you/index.html +++ b/blog/2016/12/19/thank-you/index.html @@ -136,6 +136,9 @@

    Recent Posts

    diff --git a/blog/2017/01/03/control-my-christmas-tree-stats/index.html b/blog/2017/01/03/control-my-christmas-tree-stats/index.html index 1d09f8f9cf..6fd90d12da 100644 --- a/blog/2017/01/03/control-my-christmas-tree-stats/index.html +++ b/blog/2017/01/03/control-my-christmas-tree-stats/index.html @@ -146,6 +146,9 @@

    Recent Posts

    diff --git a/blog/2017/01/14/iss-usps-images-packages/index.html b/blog/2017/01/14/iss-usps-images-packages/index.html index 7332cb4028..f4b8ded547 100644 --- a/blog/2017/01/14/iss-usps-images-packages/index.html +++ b/blog/2017/01/14/iss-usps-images-packages/index.html @@ -215,6 +215,9 @@ You have to note:

    Recent Posts

    diff --git a/blog/2017/01/18/numbers/index.html b/blog/2017/01/18/numbers/index.html index 26b325f27d..ee8b370052 100644 --- a/blog/2017/01/18/numbers/index.html +++ b/blog/2017/01/18/numbers/index.html @@ -138,6 +138,9 @@

    Recent Posts

    diff --git a/blog/2017/01/21/home-assistant-governance/index.html b/blog/2017/01/21/home-assistant-governance/index.html index 969ec45005..7e21179bf8 100644 --- a/blog/2017/01/21/home-assistant-governance/index.html +++ b/blog/2017/01/21/home-assistant-governance/index.html @@ -175,6 +175,9 @@

    Recent Posts

    diff --git a/blog/2017/01/28/face-coffee-wink/index.html b/blog/2017/01/28/face-coffee-wink/index.html index 1556153324..8a13a096d7 100644 --- a/blog/2017/01/28/face-coffee-wink/index.html +++ b/blog/2017/01/28/face-coffee-wink/index.html @@ -261,6 +261,9 @@

    Recent Posts

    diff --git a/blog/2017/02/03/babyphone/index.html b/blog/2017/02/03/babyphone/index.html index 72eec75f8f..1e7b2052e5 100644 --- a/blog/2017/02/03/babyphone/index.html +++ b/blog/2017/02/03/babyphone/index.html @@ -240,6 +240,9 @@ We change the platform name for binary sensor in 0.38 from

    Recent Posts

    diff --git a/blog/2017/02/04/hassbian-toybox/index.html b/blog/2017/02/04/hassbian-toybox/index.html index 1c5e1f8dcf..db25af8989 100644 --- a/blog/2017/02/04/hassbian-toybox/index.html +++ b/blog/2017/02/04/hassbian-toybox/index.html @@ -166,6 +166,9 @@ On the close horizon from @Landrash th

    Recent Posts

    diff --git a/blog/2017/02/11/alert-appletv-mqtt-yeelight/index.html b/blog/2017/02/11/alert-appletv-mqtt-yeelight/index.html index d1079b695b..29b1aedaf1 100644 --- a/blog/2017/02/11/alert-appletv-mqtt-yeelight/index.html +++ b/blog/2017/02/11/alert-appletv-mqtt-yeelight/index.html @@ -253,6 +253,9 @@

    Recent Posts

    diff --git a/blog/2017/02/14/clt-workshop/index.html b/blog/2017/02/14/clt-workshop/index.html index fdd366b816..78ae53f34b 100644 --- a/blog/2017/02/14/clt-workshop/index.html +++ b/blog/2017/02/14/clt-workshop/index.html @@ -136,6 +136,9 @@

    Recent Posts

    diff --git a/blog/2017/02/22/home-assistant-tshirts-have-arrived/index.html b/blog/2017/02/22/home-assistant-tshirts-have-arrived/index.html index 90855db9cf..c060a7b408 100644 --- a/blog/2017/02/22/home-assistant-tshirts-have-arrived/index.html +++ b/blog/2017/02/22/home-assistant-tshirts-have-arrived/index.html @@ -170,6 +170,9 @@

    Recent Posts

    diff --git a/blog/2017/02/25/config-panel-and-state-restoration/index.html b/blog/2017/02/25/config-panel-and-state-restoration/index.html index 89d2b90854..22539a55c4 100644 --- a/blog/2017/02/25/config-panel-and-state-restoration/index.html +++ b/blog/2017/02/25/config-panel-and-state-restoration/index.html @@ -308,6 +308,9 @@

    Recent Posts

    diff --git a/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/index.html b/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/index.html index 09db5d806c..86d99264cf 100644 --- a/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/index.html +++ b/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/index.html @@ -341,6 +341,9 @@ Screenshot of all the different functionality the IP webcam integration offers.

    Recent Posts

    diff --git a/blog/2017/03/22/broken-dependencies/index.html b/blog/2017/03/22/broken-dependencies/index.html index ac33d8c5ac..f6b1c092a7 100644 --- a/blog/2017/03/22/broken-dependencies/index.html +++ b/blog/2017/03/22/broken-dependencies/index.html @@ -138,6 +138,9 @@

    Recent Posts

    diff --git a/blog/2017/03/23/opensourcecraft-interview-with-founder-paulus-schoutsen/index.html b/blog/2017/03/23/opensourcecraft-interview-with-founder-paulus-schoutsen/index.html index 1608fbae55..5ae76eafe9 100644 --- a/blog/2017/03/23/opensourcecraft-interview-with-founder-paulus-schoutsen/index.html +++ b/blog/2017/03/23/opensourcecraft-interview-with-founder-paulus-schoutsen/index.html @@ -131,6 +131,9 @@

    Recent Posts

    diff --git a/blog/2017/03/25/todo-volumio-workday/index.html b/blog/2017/03/25/todo-volumio-workday/index.html index af1dbaba12..87405d1c2b 100644 --- a/blog/2017/03/25/todo-volumio-workday/index.html +++ b/blog/2017/03/25/todo-volumio-workday/index.html @@ -286,6 +286,9 @@

    Recent Posts

    diff --git a/blog/2017/03/28/http-to-mqtt-bridge/index.html b/blog/2017/03/28/http-to-mqtt-bridge/index.html index 5d0e86e259..ad7fae284d 100644 --- a/blog/2017/03/28/http-to-mqtt-bridge/index.html +++ b/blog/2017/03/28/http-to-mqtt-bridge/index.html @@ -179,6 +179,9 @@

    Recent Posts

    diff --git a/blog/2017/04/01/thomas-krenn-award/index.html b/blog/2017/04/01/thomas-krenn-award/index.html index 40c143c2fd..78504b57ae 100644 --- a/blog/2017/04/01/thomas-krenn-award/index.html +++ b/blog/2017/04/01/thomas-krenn-award/index.html @@ -140,6 +140,9 @@

    Recent Posts

    diff --git a/blog/2017/04/08/eddystone-beacons-lockitron-locks-total-connect/index.html b/blog/2017/04/08/eddystone-beacons-lockitron-locks-total-connect/index.html index 2aa9444da5..4eb3ced817 100644 --- a/blog/2017/04/08/eddystone-beacons-lockitron-locks-total-connect/index.html +++ b/blog/2017/04/08/eddystone-beacons-lockitron-locks-total-connect/index.html @@ -339,6 +339,9 @@

    Recent Posts

    diff --git a/blog/2017/04/15/ios/index.html b/blog/2017/04/15/ios/index.html index 25bc7de057..e1af52f752 100644 --- a/blog/2017/04/15/ios/index.html +++ b/blog/2017/04/15/ios/index.html @@ -143,6 +143,9 @@

    Recent Posts

    diff --git a/blog/2017/04/17/ikea-tradfri-internet-of-things-done-right/index.html b/blog/2017/04/17/ikea-tradfri-internet-of-things-done-right/index.html index 21a6dab2bc..6e02c32c2e 100644 --- a/blog/2017/04/17/ikea-tradfri-internet-of-things-done-right/index.html +++ b/blog/2017/04/17/ikea-tradfri-internet-of-things-done-right/index.html @@ -196,6 +196,9 @@ After automatic discovery, Home Assistant will ask the user to finish pairing wi

    Recent Posts

    diff --git a/blog/2017/04/22/ikea-tradfri-spotify/index.html b/blog/2017/04/22/ikea-tradfri-spotify/index.html index 867e658530..761b742d49 100644 --- a/blog/2017/04/22/ikea-tradfri-spotify/index.html +++ b/blog/2017/04/22/ikea-tradfri-spotify/index.html @@ -341,6 +341,9 @@ After automatic discovery, Home Assistant will ask the user to finish pairing wi

    Recent Posts

    diff --git a/blog/2017/04/24/hardware-contest-2017/index.html b/blog/2017/04/24/hardware-contest-2017/index.html index e1fe99337d..5bcd2a4f01 100644 --- a/blog/2017/04/24/hardware-contest-2017/index.html +++ b/blog/2017/04/24/hardware-contest-2017/index.html @@ -136,6 +136,9 @@

    Recent Posts

    diff --git a/blog/2017/04/25/influxdb-grafana-docker/index.html b/blog/2017/04/25/influxdb-grafana-docker/index.html index f4d1fe8c32..5cb491ced2 100644 --- a/blog/2017/04/25/influxdb-grafana-docker/index.html +++ b/blog/2017/04/25/influxdb-grafana-docker/index.html @@ -178,6 +178,9 @@

    Recent Posts

    diff --git a/blog/2017/04/30/hassbian-1.21-its-about-time/index.html b/blog/2017/04/30/hassbian-1.21-its-about-time/index.html index 2f60537e2d..c12cfc86e2 100644 --- a/blog/2017/04/30/hassbian-1.21-its-about-time/index.html +++ b/blog/2017/04/30/hassbian-1.21-its-about-time/index.html @@ -153,6 +153,9 @@

    Recent Posts

    diff --git a/blog/2017/05/01/home-assistant-on-raspberry-pi-zero-in-30-minutes/index.html b/blog/2017/05/01/home-assistant-on-raspberry-pi-zero-in-30-minutes/index.html index 50a32c5a68..091c3a5ba1 100644 --- a/blog/2017/05/01/home-assistant-on-raspberry-pi-zero-in-30-minutes/index.html +++ b/blog/2017/05/01/home-assistant-on-raspberry-pi-zero-in-30-minutes/index.html @@ -167,6 +167,9 @@ $ sudo systemctl start install_homeassistant.service

    Recent Posts

    diff --git a/blog/2017/05/05/podcast-init-interview/index.html b/blog/2017/05/05/podcast-init-interview/index.html index b6594aa81d..cbd3bbef72 100644 --- a/blog/2017/05/05/podcast-init-interview/index.html +++ b/blog/2017/05/05/podcast-init-interview/index.html @@ -132,6 +132,9 @@

    Recent Posts

    diff --git a/blog/2017/05/06/zigbee-opencv-dlib/index.html b/blog/2017/05/06/zigbee-opencv-dlib/index.html index bcd12643a0..a2ba03d358 100644 --- a/blog/2017/05/06/zigbee-opencv-dlib/index.html +++ b/blog/2017/05/06/zigbee-opencv-dlib/index.html @@ -330,6 +330,9 @@

    Recent Posts

    diff --git a/blog/2017/05/07/grazer-linuxtage-2017-talk-python-everywhere/index.html b/blog/2017/05/07/grazer-linuxtage-2017-talk-python-everywhere/index.html index 9eeaf37952..66054f9b54 100644 --- a/blog/2017/05/07/grazer-linuxtage-2017-talk-python-everywhere/index.html +++ b/blog/2017/05/07/grazer-linuxtage-2017-talk-python-everywhere/index.html @@ -133,6 +133,9 @@

    Recent Posts

    diff --git a/blog/2017/05/13/home-assistant-on-orange-pi-zero/index.html b/blog/2017/05/13/home-assistant-on-orange-pi-zero/index.html index b6fad3dce1..fd0f27ba83 100644 --- a/blog/2017/05/13/home-assistant-on-orange-pi-zero/index.html +++ b/blog/2017/05/13/home-assistant-on-orange-pi-zero/index.html @@ -236,6 +236,9 @@ Reading package lists... Done

    Recent Posts

    diff --git a/blog/2017/05/19/home-assistant-at-pycon-us-2017/index.html b/blog/2017/05/19/home-assistant-at-pycon-us-2017/index.html index 77d44938b3..2dfe30707d 100644 --- a/blog/2017/05/19/home-assistant-at-pycon-us-2017/index.html +++ b/blog/2017/05/19/home-assistant-at-pycon-us-2017/index.html @@ -131,6 +131,9 @@

    Recent Posts

    diff --git a/blog/2017/05/20/automation-editor-zwave-panel-ocr/index.html b/blog/2017/05/20/automation-editor-zwave-panel-ocr/index.html index 6206a0f822..e57549d981 100644 --- a/blog/2017/05/20/automation-editor-zwave-panel-ocr/index.html +++ b/blog/2017/05/20/automation-editor-zwave-panel-ocr/index.html @@ -289,6 +289,9 @@ If you have a security key set in your Open Z-Wave

    Recent Posts

    diff --git a/blog/2017/06/02/home-assistant-podcast-1/index.html b/blog/2017/06/02/home-assistant-podcast-1/index.html index 41d4621208..dec343c235 100644 --- a/blog/2017/06/02/home-assistant-podcast-1/index.html +++ b/blog/2017/06/02/home-assistant-podcast-1/index.html @@ -132,6 +132,9 @@

    Recent Posts

    diff --git a/blog/2017/06/04/release-46/index.html b/blog/2017/06/04/release-46/index.html index 9a55b7918e..4052890982 100644 --- a/blog/2017/06/04/release-46/index.html +++ b/blog/2017/06/04/release-46/index.html @@ -275,6 +275,9 @@

    Recent Posts

    diff --git a/blog/2017/06/10/interview-with-jupiter-broadcasting/index.html b/blog/2017/06/10/interview-with-jupiter-broadcasting/index.html index 322765e721..4767d8b1d4 100644 --- a/blog/2017/06/10/interview-with-jupiter-broadcasting/index.html +++ b/blog/2017/06/10/interview-with-jupiter-broadcasting/index.html @@ -131,6 +131,9 @@

    Recent Posts

    diff --git a/blog/2017/06/15/zwave-entity-ids/index.html b/blog/2017/06/15/zwave-entity-ids/index.html index bc6f8f0122..5e909478ec 100644 --- a/blog/2017/06/15/zwave-entity-ids/index.html +++ b/blog/2017/06/15/zwave-entity-ids/index.html @@ -131,6 +131,9 @@

    Recent Posts

    diff --git a/blog/2017/06/17/release-47/index.html b/blog/2017/06/17/release-47/index.html index 906f80dfb2..076e66a8fb 100644 --- a/blog/2017/06/17/release-47/index.html +++ b/blog/2017/06/17/release-47/index.html @@ -372,6 +372,9 @@ trigger:

    Recent Posts

    diff --git a/blog/2017/06/20/things-you-should-know-about-senic-covi/index.html b/blog/2017/06/20/things-you-should-know-about-senic-covi/index.html index 408715284a..77aa958272 100644 --- a/blog/2017/06/20/things-you-should-know-about-senic-covi/index.html +++ b/blog/2017/06/20/things-you-should-know-about-senic-covi/index.html @@ -155,6 +155,9 @@ Core Developer, Home Assistant

    Recent Posts

    diff --git a/blog/2017/07/02/release-48/index.html b/blog/2017/07/02/release-48/index.html index 1038b930bf..91bde64c80 100644 --- a/blog/2017/07/02/release-48/index.html +++ b/blog/2017/07/02/release-48/index.html @@ -342,6 +342,9 @@

    Recent Posts

    diff --git a/blog/2017/07/03/home-assistant-is-moving-to-discord/index.html b/blog/2017/07/03/home-assistant-is-moving-to-discord/index.html index 649baaa090..114d23df5f 100644 --- a/blog/2017/07/03/home-assistant-is-moving-to-discord/index.html +++ b/blog/2017/07/03/home-assistant-is-moving-to-discord/index.html @@ -178,6 +178,9 @@ Community Leader, Home Assistant

    Recent Posts

    diff --git a/blog/2017/07/05/hasspodcast-ep-3/index.html b/blog/2017/07/05/hasspodcast-ep-3/index.html index bd98035c3b..fcfe3e5caf 100644 --- a/blog/2017/07/05/hasspodcast-ep-3/index.html +++ b/blog/2017/07/05/hasspodcast-ep-3/index.html @@ -129,6 +129,9 @@

    Recent Posts

    diff --git a/blog/2017/07/15/release-49/index.html b/blog/2017/07/15/release-49/index.html index 33697339e6..4ec184ec28 100644 --- a/blog/2017/07/15/release-49/index.html +++ b/blog/2017/07/15/release-49/index.html @@ -328,6 +328,9 @@ Screenshot of a green dashboard

    Recent Posts

    diff --git a/blog/2017/07/17/hasspodcast-ep-4/index.html b/blog/2017/07/17/hasspodcast-ep-4/index.html index 9f19313ad3..da6d97a04e 100644 --- a/blog/2017/07/17/hasspodcast-ep-4/index.html +++ b/blog/2017/07/17/hasspodcast-ep-4/index.html @@ -129,6 +129,9 @@

    Recent Posts

    diff --git a/blog/2017/07/25/introducing-hassio/index.html b/blog/2017/07/25/introducing-hassio/index.html index a61a54aab2..bc9f7f2f50 100644 --- a/blog/2017/07/25/introducing-hassio/index.html +++ b/blog/2017/07/25/introducing-hassio/index.html @@ -163,6 +163,9 @@ Hass.io dashboard

    Recent Posts

    diff --git a/blog/2017/07/27/talk-python-podcast/index.html b/blog/2017/07/27/talk-python-podcast/index.html index 071c54c99a..7344f4f48d 100644 --- a/blog/2017/07/27/talk-python-podcast/index.html +++ b/blog/2017/07/27/talk-python-podcast/index.html @@ -132,6 +132,9 @@

    Recent Posts

    diff --git a/blog/2017/07/29/release-50/index.html b/blog/2017/07/29/release-50/index.html index fa30adaf59..fcfd31542c 100644 --- a/blog/2017/07/29/release-50/index.html +++ b/blog/2017/07/29/release-50/index.html @@ -300,6 +300,9 @@

    Recent Posts

    diff --git a/blog/2017/08/01/hasspodcast-ep-5/index.html b/blog/2017/08/01/hasspodcast-ep-5/index.html index 222f621312..2481b091e4 100644 --- a/blog/2017/08/01/hasspodcast-ep-5/index.html +++ b/blog/2017/08/01/hasspodcast-ep-5/index.html @@ -130,6 +130,9 @@

    Recent Posts

    diff --git a/blog/2017/08/12/release-51/index.html b/blog/2017/08/12/release-51/index.html index cefeafe5c0..79113a877e 100644 --- a/blog/2017/08/12/release-51/index.html +++ b/blog/2017/08/12/release-51/index.html @@ -297,6 +297,9 @@

    Recent Posts

    diff --git a/blog/2017/08/26/release-0-52/index.html b/blog/2017/08/26/release-0-52/index.html index 1126dee644..58ab8a9588 100644 --- a/blog/2017/08/26/release-0-52/index.html +++ b/blog/2017/08/26/release-0-52/index.html @@ -286,6 +286,9 @@

    Recent Posts

    diff --git a/blog/2017/09/09/release-53/index.html b/blog/2017/09/09/release-53/index.html index f62e83c53c..a4c0366e1e 100644 --- a/blog/2017/09/09/release-53/index.html +++ b/blog/2017/09/09/release-53/index.html @@ -310,6 +310,9 @@ Screenshot of the new customize editor.

    Recent Posts

    diff --git a/blog/2017/09/16/hassbian-1.3-a-bit-of-a-stretch/index.html b/blog/2017/09/16/hassbian-1.3-a-bit-of-a-stretch/index.html index 77ce3f24de..d79d14c28a 100644 --- a/blog/2017/09/16/hassbian-1.3-a-bit-of-a-stretch/index.html +++ b/blog/2017/09/16/hassbian-1.3-a-bit-of-a-stretch/index.html @@ -139,6 +139,9 @@ Other than that the changes are mostly to our tool

    Recent Posts

    diff --git a/blog/2017/09/23/release-54/index.html b/blog/2017/09/23/release-54/index.html index dad7b9cb61..e9ba36c95a 100644 --- a/blog/2017/09/23/release-54/index.html +++ b/blog/2017/09/23/release-54/index.html @@ -245,6 +245,9 @@

    Recent Posts

    diff --git a/blog/2017/09/26/new-hassio-build-system/index.html b/blog/2017/09/26/new-hassio-build-system/index.html index 2ed73961bd..aa74247676 100644 --- a/blog/2017/09/26/new-hassio-build-system/index.html +++ b/blog/2017/09/26/new-hassio-build-system/index.html @@ -149,6 +149,9 @@ FROM $BUILD_FROM

    Recent Posts

    diff --git a/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/index.html b/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/index.html index 8b80811212..329cbd0020 100644 --- a/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/index.html +++ b/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/index.html @@ -152,6 +152,9 @@

    Recent Posts

    diff --git a/blog/2017/09/29/hacktoberfest/index.html b/blog/2017/09/29/hacktoberfest/index.html index ba83bf31e9..c8ab20c808 100644 --- a/blog/2017/09/29/hacktoberfest/index.html +++ b/blog/2017/09/29/hacktoberfest/index.html @@ -146,6 +146,9 @@

    Recent Posts

    diff --git a/blog/2017/10/01/hass-podcast-ep9/index.html b/blog/2017/10/01/hass-podcast-ep9/index.html index 2d5f9b8623..e6746594a8 100644 --- a/blog/2017/10/01/hass-podcast-ep9/index.html +++ b/blog/2017/10/01/hass-podcast-ep9/index.html @@ -131,6 +131,9 @@

    Recent Posts

    diff --git a/blog/2017/10/06/deprecating-python-3.4-support/index.html b/blog/2017/10/06/deprecating-python-3.4-support/index.html index d90aff1749..dfdf3d9fe8 100644 --- a/blog/2017/10/06/deprecating-python-3.4-support/index.html +++ b/blog/2017/10/06/deprecating-python-3.4-support/index.html @@ -138,6 +138,9 @@

    Recent Posts

    diff --git a/blog/2017/10/07/release-55/index.html b/blog/2017/10/07/release-55/index.html index dc69c46269..9c047f783d 100644 --- a/blog/2017/10/07/release-55/index.html +++ b/blog/2017/10/07/release-55/index.html @@ -272,6 +272,9 @@

    Recent Posts

    diff --git a/blog/2017/10/15/templating-date-time/index.html b/blog/2017/10/15/templating-date-time/index.html index 4e64038dee..d51e8b584b 100644 --- a/blog/2017/10/15/templating-date-time/index.html +++ b/blog/2017/10/15/templating-date-time/index.html @@ -146,6 +146,9 @@

    Recent Posts

    diff --git a/blog/2017/10/18/hasspodcast-ep-10/index.html b/blog/2017/10/18/hasspodcast-ep-10/index.html index 139f374764..fd0aeee212 100644 --- a/blog/2017/10/18/hasspodcast-ep-10/index.html +++ b/blog/2017/10/18/hasspodcast-ep-10/index.html @@ -129,6 +129,9 @@

    Recent Posts

    diff --git a/blog/2017/10/21/release-56/index.html b/blog/2017/10/21/release-56/index.html index 3b55d9a450..ef017689d1 100644 --- a/blog/2017/10/21/release-56/index.html +++ b/blog/2017/10/21/release-56/index.html @@ -327,6 +327,9 @@

    Recent Posts

    diff --git a/blog/2017/10/23/simple-analog-sensor/index.html b/blog/2017/10/23/simple-analog-sensor/index.html index cc0f9f52fb..127aa9d616 100644 --- a/blog/2017/10/23/simple-analog-sensor/index.html +++ b/blog/2017/10/23/simple-analog-sensor/index.html @@ -205,6 +205,9 @@

    Recent Posts

      +
    • + Home Assistant and The Things Network (TTN) +
    • Translating Home Assistant
    • diff --git a/blog/2017/10/28/demo/index.html b/blog/2017/10/28/demo/index.html index d69069ac99..9115bff9b8 100644 --- a/blog/2017/10/28/demo/index.html +++ b/blog/2017/10/28/demo/index.html @@ -197,6 +197,9 @@ Demo is running... -> CTRL + C to shutdown

      Recent Posts

      diff --git a/blog/2017/11/02/secure-shell-tunnel/index.html b/blog/2017/11/02/secure-shell-tunnel/index.html index 8b66d4f928..44231e98a3 100644 --- a/blog/2017/11/02/secure-shell-tunnel/index.html +++ b/blog/2017/11/02/secure-shell-tunnel/index.html @@ -172,6 +172,9 @@ Last login: Fri Oct 27 17:50:09 2017

      Recent Posts

      diff --git a/blog/2017/11/04/release-57/index.html b/blog/2017/11/04/release-57/index.html index 343677c162..7136115774 100644 --- a/blog/2017/11/04/release-57/index.html +++ b/blog/2017/11/04/release-57/index.html @@ -372,6 +372,9 @@ The Home Assistant sidebar in 12 different languages.

      Recent Posts

      diff --git a/blog/2017/11/05/frontend-translations/index.html b/blog/2017/11/05/frontend-translations/index.html index 9173a7da87..5fd9f0a1ea 100644 --- a/blog/2017/11/05/frontend-translations/index.html +++ b/blog/2017/11/05/frontend-translations/index.html @@ -134,6 +134,9 @@ The Home Assistant sidebar in 12 different languages.

      Recent Posts

      diff --git a/blog/2017/11/10/ttn-with-mqtt/index.html b/blog/2017/11/10/ttn-with-mqtt/index.html new file mode 100644 index 0000000000..6c651cb898 --- /dev/null +++ b/blog/2017/11/10/ttn-with-mqtt/index.html @@ -0,0 +1,377 @@ + + + + + + + + + Home Assistant and The Things Network (TTN) - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +
      +
      +
      +

      Home Assistant and The Things Network (TTN)

      +
      + + + six minutes reading time + + +
        +
      • How-To
      • +
      +
      + Comments +
      +
      +

      The Home Assistant integration for The Things Network (TTN) uses their Storage feature to get the sensor data. The easiest way to observe TTN sensors would be MQTT as it doesn’t requires any additional configuration.

      +

      At the moment Home Assistant only supports one MQTT broker. This means that you can’t subscribe to topics which are located on different brokers.

      + +

      Subscribe to the TTN Broker

      +

      To check what your devices are sending, subscribe to the topic +/devices/+/up with a command-line tool like mosquitto_sub. The <Region> is the postfix of the Handler entry in your Application overview. <AppID> is the Application ID and <AppKey> is your access key.

      +

      ``bash +$ mosquitto_sub -v -h .thethings.network -t '+/devices/+/up' -u '' -P '' +{ + "app_id": "ha-demo", + "dev_id": "device01", + "hardware_serial": "AJDJENDNHRBFBBT", + "port": 1, + [...]

      +
      
      +The payload contains details about the device itself and the sensor data. The sensor data is stored in `payload_fields`. Depending on the device configuration it may contain a single value or multiple values. 
      +
      +## <a class='title-link' name='the-relay' href='#the-relay'></a> The relay 
      +
      +To be able to work locally with the MQTT data that is received from the devices connected to TTN, we need to transfer it to the local broker. With this simple script below all messages from a given device are re-published on your local MQTT broker after they are received. Modify the script with your details as outlined in the previous section.
      +
      +```python
      +"""Relay MQTT messages from The Things Network to a local MQTT broker."""
      +import paho.mqtt.client as mqtt
      +import paho.mqtt.publish as publish
      +
      +DEVICE_NAME = '<DeviceID>'
      +
      +TTN_BROKER = '<Region>.thethings.network'
      +TTN_USERNAME = '<AppID>'
      +TTN_PASSWORD = '<AppKey>'
      +TTN_TOPIC = '+/devices/{}/up'.format(DEVICE_NAME)
      +
      +LOCAL_BROKER = '192.168.0.2'
      +LOCAL_TOPIC = 'home/ttn/garden_temp'
      +
      +
      +def on_connect(client, userdata, flags, rc):
      +    """Subscribe to topic after connection to broker is made."""
      +    print("Connected with result code", str(rc))
      +    client.subscribe(TTN_TOPIC)
      +
      +
      +def on_message(client, userdata, msg):
      +    """Relay message to a different broker."""
      +    publish.single(
      +        LOCAL_TOPIC, payload=msg.payload, qos=0, retain=False,
      +        hostname=LOCAL_BROKER, port=1883, client_id='ttn-local',
      +        keepalive=60, will=None, auth=None, tls=None, protocol=mqtt.MQTTv311)
      +
      +
      +client = mqtt.Client()
      +client.username_pw_set(TTN_USERNAME, password=TTN_PASSWORD)
      +client.on_connect = on_connect
      +client.on_message = on_message
      +client.connect(TTN_BROKER, 1883, 60)
      +
      +client.loop_forever()
      +
      +
      +

      Save it and run it. As soon as a MQTT message is received from your device you should see it on your local broker (here 192.168.0.2) if you subscribe to # or the topic given in the script above home/ttn/garden_temp.

      +
      $ mosquitto_sub -h 192.168.0.2 -t "#" -d
      +
      +
      +

      The sensor

      +

      All we would need now, is a mqtt sensor with a value_template. With a sophisticated custom sensor it would be possible to displaying a little more than just the state. The device is only sending the temperature {"temperature": 7.5} but there are other details available which the sensor should show.

      +
      """Support for The Things Network MQTT sensors."""
      +import asyncio
      +from datetime import timedelta
      +import json
      +import logging
      +
      +import voluptuous as vol
      +
      +import homeassistant.components.mqtt as mqtt
      +from homeassistant.components.mqtt import CONF_STATE_TOPIC
      +from homeassistant.const import CONF_NAME, CONF_UNIT_OF_MEASUREMENT
      +from homeassistant.core import callback
      +import homeassistant.helpers.config_validation as cv
      +from homeassistant.helpers.entity import Entity
      +
      +_LOGGER = logging.getLogger(__name__)
      +
      +DEFAULT_NAME = 'MQTT TTN Sensor'
      +DEFAULT_FORCE_UPDATE = False
      +DEPENDENCIES = ['mqtt']
      +
      +PLATFORM_SCHEMA = mqtt.MQTT_RO_PLATFORM_SCHEMA.extend({
      +    vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
      +    vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string,
      +
      +})
      +
      +
      +@asyncio.coroutine
      +def async_setup_platform(hass, config, async_add_devices, discovery_info=None):
      +    """Set up the TTN MQTT Sensor."""
      +    async_add_devices([MqttTtnSensor(
      +        config.get(CONF_NAME), config.get(CONF_STATE_TOPIC),
      +        config.get(CONF_UNIT_OF_MEASUREMENT))
      +    ])
      +
      +
      +class MqttTtnSensor(Entity):
      +    """Representation of a sensor."""
      +
      +    def __init__(self, name, state_topic, unit_of_measurement):
      +        """Initialize the sensor."""
      +        self._state = None
      +        self._name = name
      +        self._unit_of_measurement = unit_of_measurement
      +        self._attributes = {}
      +        self._state_topic = state_topic
      +
      +    def async_added_to_hass(self):
      +        """Subscribe to MQTT events."""
      +        @callback
      +        def message_received(topic, payload, qos):
      +            """Handle new MQTT messages."""
      +
      +            try:
      +                data = json.loads(payload)
      +            except json.JSONDecodeError:
      +                _LOGGER.error("Invalid JSON data received: %s", data)
      +
      +            self._state = data['payload_fields'][next(
      +                iter(data['payload_fields']))]
      +            self._attributes = data
      +            del self._attributes['payload_fields']
      +            del self._attributes['metadata']
      +            self.async_schedule_update_ha_state()
      +
      +        return mqtt.async_subscribe(
      +            self.hass, self._state_topic, message_received, 0)
      +
      +    @property
      +    def should_poll(self):
      +        """No polling needed."""
      +        return False
      +
      +    @property
      +    def name(self):
      +        """Return the name of the sensor."""
      +        return self._name
      +
      +    @property
      +    def unit_of_measurement(self):
      +        """Return the unit this state is expressed in."""
      +        return self._unit_of_measurement
      +
      +    @property
      +    def state_attributes(self):
      +        """Return the attributes of the entity."""
      +        return self._attributes
      +
      +    @property
      +    def state(self):
      +        """Return the state of the entity."""
      +        return self._state
      +
      +
      +

      Store it in <config_dir>/custom_components/sensor/mqtt_ttn.py and it will handle the messages.

      +

      The configuration

      +

      Now create the mqtt_ttn sensor entry for your device.

      +
      sensor:
      +  - platform: mqtt_ttn
      +    name: TTN Sensor
      +    state_topic: "home/ttn/garden_temp"
      +
      +
      +

      This solution is not production-ready, scalable or stable but it could fill the gape till Home Assistant is able to connect to multiple MQTT brokers. If you have multiple devices relay all messages to your local broker and add an configuration variable to mqtt_ttn sensor which allows you to select the device.

      +
      +
      +

      Comments

      +
      +
      +
      + +
      +
      + + + + + + + + diff --git a/blog/archives/index.html b/blog/archives/index.html index 3b93ba7195..1cd2c75bb1 100644 --- a/blog/archives/index.html +++ b/blog/archives/index.html @@ -3439,6 +3439,27 @@
      + + + @@ -3479,6 +3500,9 @@

      Recent Posts

      diff --git a/blog/categories/announcements/atom.xml b/blog/categories/announcements/atom.xml index 6f1541ed1a..74a4c48f0d 100644 --- a/blog/categories/announcements/atom.xml +++ b/blog/categories/announcements/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Announcements | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/announcements/index.html b/blog/categories/announcements/index.html index e70cb099b3..51f1cb35cd 100644 --- a/blog/categories/announcements/index.html +++ b/blog/categories/announcements/index.html @@ -157,6 +157,9 @@

      Recent Posts

      diff --git a/blog/categories/community/atom.xml b/blog/categories/community/atom.xml index fe34244b64..32460e846b 100644 --- a/blog/categories/community/atom.xml +++ b/blog/categories/community/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Community | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/community/index.html b/blog/categories/community/index.html index 777967949b..e63aa1a291 100644 --- a/blog/categories/community/index.html +++ b/blog/categories/community/index.html @@ -457,6 +457,9 @@

      Recent Posts

      diff --git a/blog/categories/device-tracking/atom.xml b/blog/categories/device-tracking/atom.xml index 85ca10a1aa..7f19811dfd 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]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/device-tracking/index.html b/blog/categories/device-tracking/index.html index 31fd5f4db0..61c6fbc51b 100644 --- a/blog/categories/device-tracking/index.html +++ b/blog/categories/device-tracking/index.html @@ -138,6 +138,9 @@

      Recent Posts

      diff --git a/blog/categories/esp8266/atom.xml b/blog/categories/esp8266/atom.xml index bb556e2905..81c4ee2193 100644 --- a/blog/categories/esp8266/atom.xml +++ b/blog/categories/esp8266/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: ESP8266 | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/esp8266/index.html b/blog/categories/esp8266/index.html index e75b13b47e..786fbeb075 100644 --- a/blog/categories/esp8266/index.html +++ b/blog/categories/esp8266/index.html @@ -186,6 +186,9 @@

      Recent Posts

      diff --git a/blog/categories/how-to/atom.xml b/blog/categories/how-to/atom.xml index c103933eea..a846729ddd 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]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ @@ -13,6 +13,199 @@ Octopress + + <![CDATA[Home Assistant and The Things Network (TTN)]]> + + 2017-11-10T12:00:00+00:00 + https://home-assistant.io/blog/2017/11/10/ttn-with-mqtt + + +## Subscribe to the TTN Broker + +To check what your devices are sending, subscribe to the topic `+/devices/+/up` with a command-line tool like `mosquitto_sub`. The `` is the postfix of the **Handler** entry in your **Application overview**. `` is the **Application ID** and `` is your access key. + +``bash +$ mosquitto_sub -v -h .thethings.network -t '+/devices/+/up' -u '' -P '' +{ + "app_id": "ha-demo", + "dev_id": "device01", + "hardware_serial": "AJDJENDNHRBFBBT", + "port": 1, + [...] +``` + +The payload contains details about the device itself and the sensor data. The sensor data is stored in `payload_fields`. Depending on the device configuration it may contain a single value or multiple values. + +## The relay + +To be able to work locally with the MQTT data that is received from the devices connected to TTN, we need to transfer it to the local broker. With this simple script below all messages from a given device are re-published on your local MQTT broker after they are received. Modify the script with your details as outlined in the previous section. + +```python +"""Relay MQTT messages from The Things Network to a local MQTT broker.""" +import paho.mqtt.client as mqtt +import paho.mqtt.publish as publish + +DEVICE_NAME = '' + +TTN_BROKER = '.thethings.network' +TTN_USERNAME = '' +TTN_PASSWORD = '' +TTN_TOPIC = '+/devices/{}/up'.format(DEVICE_NAME) + +LOCAL_BROKER = '192.168.0.2' +LOCAL_TOPIC = 'home/ttn/garden_temp' + + +def on_connect(client, userdata, flags, rc): + """Subscribe to topic after connection to broker is made.""" + print("Connected with result code", str(rc)) + client.subscribe(TTN_TOPIC) + + +def on_message(client, userdata, msg): + """Relay message to a different broker.""" + publish.single( + LOCAL_TOPIC, payload=msg.payload, qos=0, retain=False, + hostname=LOCAL_BROKER, port=1883, client_id='ttn-local', + keepalive=60, will=None, auth=None, tls=None, protocol=mqtt.MQTTv311) + + +client = mqtt.Client() +client.username_pw_set(TTN_USERNAME, password=TTN_PASSWORD) +client.on_connect = on_connect +client.on_message = on_message +client.connect(TTN_BROKER, 1883, 60) + +client.loop_forever() +``` + +Save it and run it. As soon as a MQTT message is received from your device you should see it on your local broker (here 192.168.0.2) if you subscribe to `#` or the topic given in the script above `home/ttn/garden_temp`. + +```bash +$ mosquitto_sub -h 192.168.0.2 -t "#" -d +``` + +## The sensor + +All we would need now, is a [`mqtt` sensor](/components/sensor.mqtt/) with a `value_template`. With a sophisticated custom sensor it would be possible to displaying a little more than just the state. The device is only sending the temperature `{"temperature": 7.5}` but there are other details available which the sensor should show. + +```python +"""Support for The Things Network MQTT sensors.""" +import asyncio +from datetime import timedelta +import json +import logging + +import voluptuous as vol + +import homeassistant.components.mqtt as mqtt +from homeassistant.components.mqtt import CONF_STATE_TOPIC +from homeassistant.const import CONF_NAME, CONF_UNIT_OF_MEASUREMENT +from homeassistant.core import callback +import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.entity import Entity + +_LOGGER = logging.getLogger(__name__) + +DEFAULT_NAME = 'MQTT TTN Sensor' +DEFAULT_FORCE_UPDATE = False +DEPENDENCIES = ['mqtt'] + +PLATFORM_SCHEMA = mqtt.MQTT_RO_PLATFORM_SCHEMA.extend({ + vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, + vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string, + +}) + + +@asyncio.coroutine +def async_setup_platform(hass, config, async_add_devices, discovery_info=None): + """Set up the TTN MQTT Sensor.""" + async_add_devices([MqttTtnSensor( + config.get(CONF_NAME), config.get(CONF_STATE_TOPIC), + config.get(CONF_UNIT_OF_MEASUREMENT)) + ]) + + +class MqttTtnSensor(Entity): + """Representation of a sensor.""" + + def __init__(self, name, state_topic, unit_of_measurement): + """Initialize the sensor.""" + self._state = None + self._name = name + self._unit_of_measurement = unit_of_measurement + self._attributes = {} + self._state_topic = state_topic + + def async_added_to_hass(self): + """Subscribe to MQTT events.""" + @callback + def message_received(topic, payload, qos): + """Handle new MQTT messages.""" + + try: + data = json.loads(payload) + except json.JSONDecodeError: + _LOGGER.error("Invalid JSON data received: %s", data) + + self._state = data['payload_fields'][next( + iter(data['payload_fields']))] + self._attributes = data + del self._attributes['payload_fields'] + del self._attributes['metadata'] + self.async_schedule_update_ha_state() + + return mqtt.async_subscribe( + self.hass, self._state_topic, message_received, 0) + + @property + def should_poll(self): + """No polling needed.""" + return False + + @property + def name(self): + """Return the name of the sensor.""" + return self._name + + @property + def unit_of_measurement(self): + """Return the unit this state is expressed in.""" + return self._unit_of_measurement + + @property + def state_attributes(self): + """Return the attributes of the entity.""" + return self._attributes + + @property + def state(self): + """Return the state of the entity.""" + return self._state +``` + +Store it in `/custom_components/sensor/mqtt_ttn.py` and it will handle the messages. + +## The configuration + +Now create the [`mqtt_ttn` sensor](/components/sensor.mqtt/) entry for your device. + +``` +sensor: + - platform: mqtt_ttn + name: TTN Sensor + state_topic: "home/ttn/garden_temp" +``` + +This solution is not production-ready, scalable or stable but it could fill the gape till Home Assistant is able to connect to multiple MQTT brokers. If you have multiple devices relay all messages to your local broker and add an configuration variable to `mqtt_ttn` sensor which allows you to select the device. +]]> + + <![CDATA[Home Assistant and SSH]]> @@ -311,135 +504,6 @@ More information: [addon-duckdns]: /addons/duckdns/ [duckdns]: http://www.duckdns.org/ [le]: https://letsencrypt.org/ -]]> - - - - <![CDATA[Home Assistant on an Orange Pi Zero]]> - - 2017-05-13T09:00:00+00:00 - https://home-assistant.io/blog/2017/05/13/home-assistant-on-orange-pi-zero - - -

      - - - -Download the [Armbian](https://www.armbian.com/orange-pi-zero/) and create the SD card with [Etcher](https://etcher.io/). There is no possibility to connect a display to the Orange Pi Zero. This means that you need a wired network setup with DHCP server. After your Orange Pi Zero is running, give it some time, and look for its IP address. The hostname is `orangepizero`. - -If you found the IP address then use your SSH client to connect to the Orange Pi Zero. The default password is `1234`. - -```bash -$ ssh root@192.168.0.151 -[...] -root@192.168.0.151's password: -You are required to change your password immediately (root enforced) - ___ ____ _ _____ - / _ \ _ __ __ _ _ __ __ _ ___ | _ \(_) |__ /___ _ __ ___ -| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | | / // _ \ '__/ _ \ -| |_| | | | (_| | | | | (_| | __/ | __/| | / /| __/ | | (_) | - \___/|_| \__,_|_| |_|\__, |\___| |_| |_| /____\___|_| \___/ - |___/ - -Welcome to ARMBIAN 5.27.170514 nightly Ubuntu 16.04.2 LTS 4.11.0-sun8i -System load: 0.86 0.35 0.13 Up time: 9 min -Memory usage: 5 % of 496MB IP: 192.168.0.151 -CPU temp: 39°C -Usage of /: 16% of 7.1G - -[ General system configuration: armbian-config ] -New to Armbian? Check the documentation first: https://docs.armbian.com - -Changing password for root. -(current) UNIX password: -Enter new UNIX password: -Retype new UNIX password: - -You are using Armbian nightly build. - -It is provided AS IS with NO WARRANTY and NO END USER SUPPORT. - -Creating a new user account. Press to abort - -Please provide a username (eg. your forename): ha -Trying to add user ha -perl: warning: Setting locale failed. -perl: warning: Please check that your locale settings: - LANGUAGE = "en_US.UTF-8", - LC_ALL = (unset), - LC_PAPER = "de_CH.UTF-8", - LC_MONETARY = "de_CH.UTF-8", - LC_NUMERIC = "de_CH.UTF-8", - LC_MESSAGES = "en_US.UTF-8", - LC_MEASUREMENT = "de_CH.UTF-8", - LC_TIME = "de_CH.UTF-8", - LANG = "en_US.UTF-8" - are supported and installed on your system. -perl: warning: Falling back to a fallback locale ("en_US.UTF-8"). -Adding user `ha' ... -Adding new group `ha' (1000) ... -Adding new user `ha' (1000) with group `ha' ... -Creating home directory `/home/ha' ... -Copying files from `/etc/skel' ... -Enter new UNIX password: -Retype new UNIX password: -passwd: password updated successfully -Changing the user information for ha -Enter the new value, or press ENTER for the default - Full Name []: homeassistant - Room Number []: - Work Phone []: - Home Phone []: - Other []: -Is the information correct? [Y/n] y - -Dear homeassistant, your account ha has been created and is sudo enabled. -Please use this account for your daily work from now on. - -root@orangepizero:~# -``` -Get the latest details about the packages. - -```bash -root@orangepizero:~# apt-get update -Hit:1 http://ports.ubuntu.com xenial InRelease -Get:2 http://ports.ubuntu.com xenial-security InRelease [102 kB] -Hit:3 http://beta.armbian.com xenial InRelease -Get:4 http://ports.ubuntu.com xenial-updates InRelease [102 kB] -Get:5 http://ports.ubuntu.com xenial-backports InRelease [102 kB] -Get:6 http://ports.ubuntu.com xenial-updates/main armhf Packages [479 kB] -Get:7 http://ports.ubuntu.com xenial-updates/universe armhf Packages [419 kB] -Fetched 1205 kB in 7s (158 kB/s) -Reading package lists... Done -``` -Let's run an upgrade to make sure that all available packages are up-to-date. - -```bash -root@orangepizero:~# apt-get upgrade -``` -Now, we are installing the requirements for Home Assistant. - -```bash -root@orangepizero:~# apt-get install python3-dev python3-pip python3-venv -``` - -Those steps to install Home Assistant are described in the [documentation](/docs/installation/armbian/) and the guide for [`venv`](/docs/installation/virtualenv/) as well. Switch to the create user `ha` and perform the remaining installation steps which are reduced to the minimum below: - -```bash -ha@orangepizero:~$ pyvenv-3.5 homeassistant -ha@orangepizero:~$ cd homeassistant && source bin/activate -(homeassistant) ha@orangepizero:~/homeassistant$ pip3 install --upgrade pip -(homeassistant) ha@orangepizero:~/homeassistant$ pip3 install homeassistant -(homeassistant) ha@orangepizero:~/homeassistant$ hass -``` - -

      - -

      - -To make it ready for daily usage, don't forget to enable [autostart](/docs/autostart/). ]]>
      diff --git a/blog/categories/how-to/index.html b/blog/categories/how-to/index.html index 7823df2529..a4f4abb4d4 100644 --- a/blog/categories/how-to/index.html +++ b/blog/categories/how-to/index.html @@ -79,6 +79,27 @@

      2017

      +
      +
      diff --git a/blog/categories/ibeacons/atom.xml b/blog/categories/ibeacons/atom.xml index f4520937a8..5337ffbaa7 100644 --- a/blog/categories/ibeacons/atom.xml +++ b/blog/categories/ibeacons/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: iBeacons | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/ibeacons/index.html b/blog/categories/ibeacons/index.html index 02da1dc179..0ee4108f41 100644 --- a/blog/categories/ibeacons/index.html +++ b/blog/categories/ibeacons/index.html @@ -161,6 +161,9 @@

      Recent Posts

      diff --git a/blog/categories/internet-of-things/atom.xml b/blog/categories/internet-of-things/atom.xml index 7a82820112..07bbd0f662 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]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+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 13b8cc2cb9..c014e85eff 100644 --- a/blog/categories/internet-of-things/index.html +++ b/blog/categories/internet-of-things/index.html @@ -222,6 +222,9 @@

      Recent Posts

      diff --git a/blog/categories/iot-data/atom.xml b/blog/categories/iot-data/atom.xml index d91c391bfa..9232f4245c 100644 --- a/blog/categories/iot-data/atom.xml +++ b/blog/categories/iot-data/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: IoT-Data | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/iot-data/index.html b/blog/categories/iot-data/index.html index 1bb5e96658..a63e5fb4ab 100644 --- a/blog/categories/iot-data/index.html +++ b/blog/categories/iot-data/index.html @@ -181,6 +181,9 @@

      Recent Posts

      diff --git a/blog/categories/media/atom.xml b/blog/categories/media/atom.xml index e71a72c3fa..8a83dfc3ba 100644 --- a/blog/categories/media/atom.xml +++ b/blog/categories/media/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Media | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/media/index.html b/blog/categories/media/index.html index f3074962e6..37a1da8b20 100644 --- a/blog/categories/media/index.html +++ b/blog/categories/media/index.html @@ -325,6 +325,9 @@

      Recent Posts

      diff --git a/blog/categories/merchandise/atom.xml b/blog/categories/merchandise/atom.xml index 87b402be43..92a5da3846 100644 --- a/blog/categories/merchandise/atom.xml +++ b/blog/categories/merchandise/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Merchandise | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/merchandise/index.html b/blog/categories/merchandise/index.html index ddc11c4831..9470f9d5c3 100644 --- a/blog/categories/merchandise/index.html +++ b/blog/categories/merchandise/index.html @@ -136,6 +136,9 @@

      Recent Posts

      diff --git a/blog/categories/micropython/atom.xml b/blog/categories/micropython/atom.xml index b34d0e4820..925a04a9d3 100644 --- a/blog/categories/micropython/atom.xml +++ b/blog/categories/micropython/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Micropython | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/micropython/index.html b/blog/categories/micropython/index.html index fca69d3806..3dc25ea05e 100644 --- a/blog/categories/micropython/index.html +++ b/blog/categories/micropython/index.html @@ -185,6 +185,9 @@

      Recent Posts

      diff --git a/blog/categories/mqtt/atom.xml b/blog/categories/mqtt/atom.xml index 77811ce816..2e49b9a797 100644 --- a/blog/categories/mqtt/atom.xml +++ b/blog/categories/mqtt/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: MQTT | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/mqtt/index.html b/blog/categories/mqtt/index.html index 17943a4147..f54a32f432 100644 --- a/blog/categories/mqtt/index.html +++ b/blog/categories/mqtt/index.html @@ -207,6 +207,9 @@

      Recent Posts

      diff --git a/blog/categories/organisation/atom.xml b/blog/categories/organisation/atom.xml index ab56e28277..2de4453542 100644 --- a/blog/categories/organisation/atom.xml +++ b/blog/categories/organisation/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Organisation | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/organisation/index.html b/blog/categories/organisation/index.html index 27678e3fbd..aba889e065 100644 --- a/blog/categories/organisation/index.html +++ b/blog/categories/organisation/index.html @@ -201,6 +201,9 @@

      Recent Posts

      diff --git a/blog/categories/owntracks/atom.xml b/blog/categories/owntracks/atom.xml index 95798bb899..8155e5682e 100644 --- a/blog/categories/owntracks/atom.xml +++ b/blog/categories/owntracks/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: OwnTracks | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/owntracks/index.html b/blog/categories/owntracks/index.html index 4484534ab8..bf85d65a4b 100644 --- a/blog/categories/owntracks/index.html +++ b/blog/categories/owntracks/index.html @@ -161,6 +161,9 @@

      Recent Posts

      diff --git a/blog/categories/presence-detection/atom.xml b/blog/categories/presence-detection/atom.xml index 8a978a1f07..4803a794dc 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]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/presence-detection/index.html b/blog/categories/presence-detection/index.html index 0160981807..571a7c93d5 100644 --- a/blog/categories/presence-detection/index.html +++ b/blog/categories/presence-detection/index.html @@ -138,6 +138,9 @@

      Recent Posts

      diff --git a/blog/categories/public-service-announcement/atom.xml b/blog/categories/public-service-announcement/atom.xml index 1d1afb5df0..d4d1efaabd 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]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+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 a385460c5d..1638239b0f 100644 --- a/blog/categories/public-service-announcement/index.html +++ b/blog/categories/public-service-announcement/index.html @@ -158,6 +158,9 @@

      Recent Posts

      diff --git a/blog/categories/release-notes/atom.xml b/blog/categories/release-notes/atom.xml index d25efa3d61..d638960ccf 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]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/release-notes/index.html b/blog/categories/release-notes/index.html index 61b99da7d1..68294235a6 100644 --- a/blog/categories/release-notes/index.html +++ b/blog/categories/release-notes/index.html @@ -1651,6 +1651,9 @@

      Recent Posts

      diff --git a/blog/categories/survey/atom.xml b/blog/categories/survey/atom.xml index 89a40ab86b..35a341da78 100644 --- a/blog/categories/survey/atom.xml +++ b/blog/categories/survey/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Survey | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/survey/index.html b/blog/categories/survey/index.html index 580b596528..22b84c52f4 100644 --- a/blog/categories/survey/index.html +++ b/blog/categories/survey/index.html @@ -136,6 +136,9 @@

      Recent Posts

      diff --git a/blog/categories/talks/atom.xml b/blog/categories/talks/atom.xml index 16885eb687..3bf6cb2996 100644 --- a/blog/categories/talks/atom.xml +++ b/blog/categories/talks/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Talks | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/talks/index.html b/blog/categories/talks/index.html index 5b19dfb4a0..18730f8fca 100644 --- a/blog/categories/talks/index.html +++ b/blog/categories/talks/index.html @@ -137,6 +137,9 @@

      Recent Posts

      diff --git a/blog/categories/technology/atom.xml b/blog/categories/technology/atom.xml index 4e6e54c3d3..df413b08f2 100644 --- a/blog/categories/technology/atom.xml +++ b/blog/categories/technology/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Technology | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/technology/index.html b/blog/categories/technology/index.html index 6d5f3cb971..718e906a0d 100644 --- a/blog/categories/technology/index.html +++ b/blog/categories/technology/index.html @@ -305,6 +305,9 @@

      Recent Posts

      diff --git a/blog/categories/user-stories/atom.xml b/blog/categories/user-stories/atom.xml index a1661fbb20..7de42d3ea9 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]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/user-stories/index.html b/blog/categories/user-stories/index.html index 66632a3f7a..3d542c5435 100644 --- a/blog/categories/user-stories/index.html +++ b/blog/categories/user-stories/index.html @@ -158,6 +158,9 @@

      Recent Posts

      diff --git a/blog/categories/video/atom.xml b/blog/categories/video/atom.xml index 5fed5346f8..c7fa2aa5e4 100644 --- a/blog/categories/video/atom.xml +++ b/blog/categories/video/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Video | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/video/index.html b/blog/categories/video/index.html index 544ae6badc..d4fad75a00 100644 --- a/blog/categories/video/index.html +++ b/blog/categories/video/index.html @@ -267,6 +267,9 @@

      Recent Posts

      diff --git a/blog/categories/website/atom.xml b/blog/categories/website/atom.xml index 3890376c2c..aef1178dbc 100644 --- a/blog/categories/website/atom.xml +++ b/blog/categories/website/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Website | Home Assistant]]> - 2017-11-10T20:03:45+00:00 + 2017-11-11T08:35:37+00:00 https://home-assistant.io/ diff --git a/blog/categories/website/index.html b/blog/categories/website/index.html index 86e33f933b..3e13dc5917 100644 --- a/blog/categories/website/index.html +++ b/blog/categories/website/index.html @@ -158,6 +158,9 @@

      Recent Posts

      diff --git a/blog/index.html b/blog/index.html index 0b3e09419c..3da0131d4e 100644 --- a/blog/index.html +++ b/blog/index.html @@ -67,6 +67,33 @@
      +
      +
      +

      + Home Assistant and The Things Network (TTN) +

      +
      + + + six minutes reading time + + +
        +
      • How-To
      • +
      +
      + Comments +
      +
      +
      +

      The Home Assistant integration for The Things Network (TTN) uses their Storage feature to get the sensor data. The easiest way to observe TTN sensors would be MQTT as it doesn’t requires any additional configuration.

      +

      At the moment Home Assistant only supports one MQTT broker. This means that you can’t subscribe to topics which are located on different brokers.

      + Read on → +
      +
      +

      @@ -473,41 +500,6 @@ The Home Assistant sidebar in 12 different languages.


      -
      -
      -

      - Deprecating Python 3.4 support -

      -
      - - - 1 minute reading time - - -
        -
      • Technology
      • -
      -
      - Comments -
      -
      -
      -

      Starting with our next release, 0.55, we will deprecate Python 3.4 support. The current plan is to remove support for Python 3.4 at the beginning of 2018.

      -

      Python 3.5 was released on September 13th, 2015. It has since then become the default Python installation on the stable releases of Debian, Ubuntu, Raspbian and Hassbian. Our other own operating system, Hass.io, is more advanced and is already running the greatly improved Python 3.6.

      -

      The jump to Python 3.5 as a minimum version is driven by the Home Assistant core, which is based on asyncio. Starting with Python 3.5, asyncio got improved support in the language with dedicated keywords async and await. As this is the proper way of doing async in Python, we’re seeing a move by async libraries to either only support the new syntax from the beginning or dropping support for the Python 3.4 approach. Not moving along means an increased maintenance burden as we cannot use the latest releases of our libraries. Next to that it will prevent our users from being able to leverage the bug fixes and performance improvements that come with Python 3.5.

      -

      Hass.io

      -

      If you’re running Hass.io, you don’t have to do anything. Your system will always stay up to date.

      -

      Hassbian

      -

      If you’re running Hassbian it’s recommended that you make a backup of your configuration files and restore them on a fresh install. Upgrading an existing installation isn’t recommended.

      -

      Windows

      -

      If you’re on Windows, you’re fine as our minimum version for Windows has been 3.5 for a while now.

      -

      Other Debian based systems

      -

      If you’re running a Debian based system, follow these instructions to upgrade.

      -
      -
      -
      diff --git a/blog/posts/10/index.html b/blog/posts/10/index.html index 33df3d61f2..82f0ba85b2 100644 --- a/blog/posts/10/index.html +++ b/blog/posts/10/index.html @@ -67,6 +67,33 @@
      +
      +
      +

      + PocketCHIP running Home Assistant +

      +
      + + + two minutes reading time + + +
        +
      • How-To
      • +
      +
      + Comments +
      +
      +
      +

      +Over a year ago I participated in the kickstarter campaign for “CHIP - The World’s First Nine Dollar Computer” by Next Thing Co.. I went for the PocketCHIP because of the idea. Display, built-in storage (thus no need for SD cards), battery-powered, and a keyboard are pretty nice features. Last week a package arrives…

      + Read on → +
      +
      +

      @@ -509,35 +536,6 @@ In the past month I was thinking about ways to integrate USB webcams into Home A


      -
      -
      -

      - Why we use web components and Polymer -

      -
      - - - three minutes reading time - - -
        -
      • Technology
      • -
      -
      - Comments -
      -
      -
      -

      I’ve been planning to write this post for a while now as we get questions like this a lot: “Why does Home Assistant use Polymer? Why not React, Redux and what not?”

      -

      It’s understandable, Polymer is quite the underdog in the world of web frameworks. A corporate backer does not guarantee popularity or an active community and this shows in the number of projects using Polymer.

      -

      Still, we use Polymer and it’s awesome. To explain why, I’ll be referencing the React workflow quite a bit, as they do a lot of things right, and show how it is done in Polymer.

      -

      Polymer gives us components for the web, just like React, but based on web standards: web components, CSS variables. These standards don’t have wide browser support yet but it’s being implemented by every major browser: It’s the future. For now they are being polyfilled and that works just fine but in the future the Home Assistant web app will be able to run native in the browsers == fast.

      - Read on → -
      -
      -

    Reporting issues

    Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

    - - -
    -
    -
    -

    - 0.32: Hacktoberfest, InfluxDB sensor, Error reporting, and Weather -

    -
    - - - six minutes reading time - - -
      -
    • Release-Notes
    • -
    -
    - Comments -
    -
    -
    -

    Another two weeks have passed and we are pleased to present Home Assistant 0.32.

    -

    Hacktoberfest

    -

    The Hacktoberfest is over now. Home Assistant made the 2nd and the 3rd place out of almost 30’000 participating repositories with a total of 528 pull requests closed - that’s an average of 17 pull requests a day! Thanks to all the contributors but also to the team of reviewers. This wouldn’t been possible without you 👏 .

    -

    Improved error reporting

    -

    This release has improved the reporting when a config validation error occurs. Thanks to @kellerza you will now get a persistent notification added to your UI when this happens.

    -

    Asynchronous

    -

    This release contains the first asynchronous sensor and camera platforms. @pvizeli and @fabaff ported most of the “internal” sensors to async programming. We hope that you will enjoy the new speed.

    -

    @balloob and @pvizeli worked a lot on the improvement of the core itself.

    -

    Weather component

    -

    For a long time we have had a bunch of weather sensors but it’s getting better: There is now a Weather component. Sorry, not much more to tell right now. The plans are to create a weather UI element and to improve the initial implementation.

    -

    All changes

    -

    - -

    Release 0.32.1 - November 6

    -

    We’ve added a warning to 0.32 to catch platforms accidentally slowing down Home Assistant. Our aim is to fix these quickly when reported, so here is 0.32.1 with all reported platforms fixed.

    -
      -
    • Fix Sonos doing I/O inside the event loop (@pvizeli)
    • -
    • Fix Radiotherm doing I/O inside the event loop (@balloob)
    • -
    • Fix camera MJPEG streams when using HTTP 1.0 (@balloob)
    • -
    -

    Release 0.32.2 - November 7

    -
      -
    • Move Honeywell I/O out of the event loop (@balloob)
    • -
    • Use sequential updates for non-async entities to prevent race conditions (@pvizeli)
    • -
    • Fix setting temperature in Celsius on Radiotherm CT50 thermostats (@andyat)
    • -
    • Fix PiLight config validation (@DavidLP)
    • -
    -

    Release 0.32.3 - November 11

    -
      -
    • Fix OpenWeather weather platform doing I/O in event loop (@lwis)
    • -
    • Fix Alarm.com doing I/O in event loop (@jnewland)
    • -
    • Fix Tellstick doing I/O in event loop (@balloob)
    • -
    • Fix KNX doing I/O in event loop (@balloob)
    • -
    • Increase warning threshold for catching platforms that do I/O (@balloob)
    • -
    • Change pilight systemcode validation (@janLo)
    • -
    • Fix Yamaha discovering already configured receivers (@sdague)
    • -
    • Fix Sonos from installing dependency each time HA was started (@pvizeli)
    • -
    • Fix Synology camera SSL and error handling (@pvizeli)
    • -
    • Fix Panasonic Viera doing I/O in event loop (@balloob)
    • -
    • Improve generic camera error handling (@kellerza)
    • -
    • Light - Flux Led Lights: allow specifying mode if light does not support white mode (@DanielHiversen)
    • -
    • Fix Rest switch default template (@pvizeli)
    • -
    -

    Release 0.32.4 - November 15

    -
      -
    • Fix device tracker from crashing HASS when a new device was discovered (@balloob)
    • -
    • HTTP: Fix X-Forwarded-For feature (@mweinelt)
    • -
    -

    Misc

    -

    Our website has now an additional category called “Ecosystem”. This will become the place where tools, apps, and other helper for the Home Assistant ecosystem can store their documentation or guides.

    - -

    Breaking changes

    -
      -
    • The Yahoo Finance platform supports now multiple stock. Please adjust your configuration.
    • -
    • Deprecated components garage_door, rollershutter, thermostat, and hvac have been removed.
    • -
    • The minimum Python version on Windows has been bumped to Python 3.5.
    • -
    • The Insteon Hub integration has been disabled due to a request from Insteon.
    • -
    -

    If you need help…

    -

    …don’t hesitate to use our Forum or join us for a little chat. The release notes have comments enabled but it’s preferred if you the former communication channels. Thanks.


    diff --git a/blog/posts/8/index.html b/blog/posts/8/index.html index 86acc19a46..7b0d059a84 100644 --- a/blog/posts/8/index.html +++ b/blog/posts/8/index.html @@ -67,6 +67,126 @@
    +
    +
    +

    + 0.32: Hacktoberfest, InfluxDB sensor, Error reporting, and Weather +

    +
    + + + six minutes reading time + + +
      +
    • Release-Notes
    • +
    +
    + Comments +
    +
    +
    +

    Another two weeks have passed and we are pleased to present Home Assistant 0.32.

    +

    Hacktoberfest

    +

    The Hacktoberfest is over now. Home Assistant made the 2nd and the 3rd place out of almost 30’000 participating repositories with a total of 528 pull requests closed - that’s an average of 17 pull requests a day! Thanks to all the contributors but also to the team of reviewers. This wouldn’t been possible without you 👏 .

    +

    Improved error reporting

    +

    This release has improved the reporting when a config validation error occurs. Thanks to @kellerza you will now get a persistent notification added to your UI when this happens.

    +

    Asynchronous

    +

    This release contains the first asynchronous sensor and camera platforms. @pvizeli and @fabaff ported most of the “internal” sensors to async programming. We hope that you will enjoy the new speed.

    +

    @balloob and @pvizeli worked a lot on the improvement of the core itself.

    +

    Weather component

    +

    For a long time we have had a bunch of weather sensors but it’s getting better: There is now a Weather component. Sorry, not much more to tell right now. The plans are to create a weather UI element and to improve the initial implementation.

    +

    All changes

    +

    + +

    Release 0.32.1 - November 6

    +

    We’ve added a warning to 0.32 to catch platforms accidentally slowing down Home Assistant. Our aim is to fix these quickly when reported, so here is 0.32.1 with all reported platforms fixed.

    +
      +
    • Fix Sonos doing I/O inside the event loop (@pvizeli)
    • +
    • Fix Radiotherm doing I/O inside the event loop (@balloob)
    • +
    • Fix camera MJPEG streams when using HTTP 1.0 (@balloob)
    • +
    +

    Release 0.32.2 - November 7

    +
      +
    • Move Honeywell I/O out of the event loop (@balloob)
    • +
    • Use sequential updates for non-async entities to prevent race conditions (@pvizeli)
    • +
    • Fix setting temperature in Celsius on Radiotherm CT50 thermostats (@andyat)
    • +
    • Fix PiLight config validation (@DavidLP)
    • +
    +

    Release 0.32.3 - November 11

    +
      +
    • Fix OpenWeather weather platform doing I/O in event loop (@lwis)
    • +
    • Fix Alarm.com doing I/O in event loop (@jnewland)
    • +
    • Fix Tellstick doing I/O in event loop (@balloob)
    • +
    • Fix KNX doing I/O in event loop (@balloob)
    • +
    • Increase warning threshold for catching platforms that do I/O (@balloob)
    • +
    • Change pilight systemcode validation (@janLo)
    • +
    • Fix Yamaha discovering already configured receivers (@sdague)
    • +
    • Fix Sonos from installing dependency each time HA was started (@pvizeli)
    • +
    • Fix Synology camera SSL and error handling (@pvizeli)
    • +
    • Fix Panasonic Viera doing I/O in event loop (@balloob)
    • +
    • Improve generic camera error handling (@kellerza)
    • +
    • Light - Flux Led Lights: allow specifying mode if light does not support white mode (@DanielHiversen)
    • +
    • Fix Rest switch default template (@pvizeli)
    • +
    +

    Release 0.32.4 - November 15

    +
      +
    • Fix device tracker from crashing HASS when a new device was discovered (@balloob)
    • +
    • HTTP: Fix X-Forwarded-For feature (@mweinelt)
    • +
    +

    Misc

    +

    Our website has now an additional category called “Ecosystem”. This will become the place where tools, apps, and other helper for the Home Assistant ecosystem can store their documentation or guides.

    + +

    Breaking changes

    +
      +
    • The Yahoo Finance platform supports now multiple stock. Please adjust your configuration.
    • +
    • Deprecated components garage_door, rollershutter, thermostat, and hvac have been removed.
    • +
    • The minimum Python version on Windows has been bumped to Python 3.5.
    • +
    • The Insteon Hub integration has been disabled due to a request from Insteon.
    • +
    +

    If you need help…

    +

    …don’t hesitate to use our Forum or join us for a little chat. The release notes have comments enabled but it’s preferred if you the former communication channels. Thanks.

    +
    +
    +
    - -
    -
    -
    -

    - Github-style calendar heatmap of device data -

    -
    - - - Less than one minute reading time - - -
      -
    • How-To
    • -
    • IoT-Data
    • -
    -
    - Comments -
    -
    -
    -

    Thanks to Anton Kireyeu we are able to present another awesome Jupyter notebook. I guess that you all know the graph which Github is using to visualize your commits per day over a time-line. It’s a so-called heatmap. If there are more commits, it’s getting hotter. The latest notebook is capable to do the same thing for your devices. To be more precise, for the hours your devices are home.

    -

    - -Heatmap -


    diff --git a/blog/posts/9/index.html b/blog/posts/9/index.html index ee56158856..b2a39fd6bc 100644 --- a/blog/posts/9/index.html +++ b/blog/posts/9/index.html @@ -67,6 +67,36 @@
    +
    +
    +

    + Github-style calendar heatmap of device data +

    +
    + + + Less than one minute reading time + + +
      +
    • How-To
    • +
    • IoT-Data
    • +
    +
    + Comments +
    +
    +
    +

    Thanks to Anton Kireyeu we are able to present another awesome Jupyter notebook. I guess that you all know the graph which Github is using to visualize your commits per day over a time-line. It’s a so-called heatmap. If there are more commits, it’s getting hotter. The latest notebook is capable to do the same thing for your devices. To be more precise, for the hours your devices are home.

    +

    + +Heatmap +

    +
    +
    +

    @@ -487,33 +517,6 @@ One of the graphs created with this tutorial.


    -
    -
    -

    - PocketCHIP running Home Assistant -

    -
    - - - two minutes reading time - - -
      -
    • How-To
    • -
    -
    - Comments -
    -
    -
    -

    -Over a year ago I participated in the kickstarter campaign for “CHIP - The World’s First Nine Dollar Computer” by Next Thing Co.. I went for the PocketCHIP because of the idea. Display, built-in storage (thus no need for SD cards), battery-powered, and a keyboard are pretty nice features. Last week a package arrives…

    - Read on → -
    -
    -