Workshop at CLT 2017

There will be a Home Assistant Workshop at the Chemnitzer Linux-Tage 2017. First I will cover the installation, the setup, and the configuration process. The second part will be all about automation. Last but not least, we will talk about the integration of a new platform/component.

Check the Workshop overview to get the details.

Reqistration is required as the places in the room are limited. The deadline for the registration is March, 8th 2017.

  • Location: Technische Universität Chemnitz, Reichenhainer Straße 90, 09126 Chemnitz, Germany
  • Date: March, 12th 2017
  • Time: 10:00, Room W2
  • Language: German

0.38: Alert, AppleTV, MQTT discovery, and Yeelight

Another Saturday, another release!

Core updates

  • Thanks to @pvizeli, all the core components are now written asynchronously. All entity components are now migrated from synchronously to asynchronously code!

  • Now when you restart Home Assistant using the homeassistant.restart service, your configuration is checked. If it appears to be invalid the restart will fail.

Rewritten frontend

The frontend has been completely been rewritten, optimizing for speed and lost connection recovery. Even on the slowest phones it should fly now. The frontend also now uses the new WebSockets API instead of the EventStream API.

Custom state card UI

A nice new feature is the possibility to create custom state cards in the frontend. Go ahead and write your own state card for lights, sensors, locks, etc.

MQTT discovery

MQTT now has discovery support which is different than our discovery component. Similar to the HTTP sensor and HTTP binary sensor, MQTT discovery removes the need for configuration by allowing devices to make their presence known to Home Assistant.

Alert component

If you left your front door open, then the new alert component can be used to remind you of this by sending you repeating notifications at a given interval.

Yeelight

The yeelight component has been ported to use a more stable and feature-complete python-yeelight backend, and supports now both white and RGB bulbs. The component also supports transitions and can be configured to save the settings to the bulb on changes. The users currently using custom components for Yeelight are encouraged to move back to use the included version and report any problems with it to our issue tracker.

Apple TV

Apple TV is now a supported media_player! It has support for just about every media player function, including a realtime display of playback status and artwork.

All changes

New platforms/components

Improvements

  • Switch - Pilight: Validation no longer rejects alphanumeric IDs (@DavidLP)
  • Device tracker - ASUSWrt: Fixes ip neigh regex to handle the possible IPv6 “router” flag (@kylehendricks)
  • Light - MySensors: Fix mysensors RGB and W light turn on (@MartinHjelmare)
  • Light - Yeelight: new yeelight backend lib, new features (@rytilahti)
  • Climate - Eq3btsmart: Cleanup modes & available, bump version requirement (@rytilahti)
  • Sensor - SMA: Handle units correctly (@kellerza)
  • MQTT eventstream: Prevent infinite loop in cross configured MQTT event streams (@aequitas)
  • Light - Hue: Fix lightgroups not syncing state ([@tboyce1])
  • Dvice tracker - Owntracks: Fix OwnTracks state names ([@tboyce1])
  • Wink: Wink AC and additional sensor support (@w1ll1am23)
  • Modbus: Modbus write_register accept list (@benvm)
  • Device tracker - Ping: Add devices detected by ping as SOURCE_TYPE_ROUTER instead of GPS (@michaelarnauts)
  • Climate - Ecobee: Cleanup climate and ecobee (@Duoxilian)
  • Sensor - Miflora: Allow specification of bluetooth adapter (@Danielhiversen)
  • Sensor - Systemmonitor: Add average load to systemmonitor (@eagleamon)
  • Sensor - Openweathermap: Add wind bearing (@fabaff)
  • Notify - Facebook: Allow to use data for enhanced messages (@adrianlzt)
  • Light - Hyperion: Change CONF_DEFAULT_COLOR CV type (@Joeboyc2)
  • Mysensors: Fix validation of serial port on windows (@MartinHjelmare)
  • Notify - Webostv: Store the key file in the configuration directory (@pschmitt)
  • TTS: TTS ID3 support (@robbiet480)
  • Switch - Broadlink: Add send packet service (@Yannic-HAW)
  • Wink: Add support for position on Wink cover (@albertoarias)
  • Light - Flux: Make brightness display work for RGB devices. (@aequitas)
  • Media player - Roku: Fix attribute error for media_player/roku (@tchellomello)
  • Light - MQTT template: Fix brightness slider for MQTT template lights (@ray0711)
  • Template: Add min and max Jinja2 filters (@sbidoul)
  • Device tracker - Skyhub: Improve Sky Hub error handling (@alexmogavero)
  • Notify - SMTP: Add error checking to the MIMEImage encoding (@stratosmacker)
  • Light - MQTT: Check for command topics when determining the capabilities of an MQTT light (@herm)
  • Core: Check config before restarting (@andrey-git)
  • Light - Hue: Fix groups with same names (@tboyce1)
  • Template: Add icon_template to template sensor (@tboyce1)
  • Recorder: Refactoring, scoping, and better handling of SQLAlchemy Sessions (@kellerza)
  • Light - Flux: Add support for fluxled discovery. (@aequitas)
  • Media player - AppleTV: Add discovery support to Apple TV (@postlund)
  • Sensor - Template: Improve warning message in template rendering (@Danielhiversen)
  • Light - Demo: Add available property and typing hints (@rytilahti)
  • Sensor - ARWN: Enhancements to ARWN platform (@sdague)
  • Fan - ISY994: Change medium state for filtering (@Teagan42)
  • Climate - Ecobee: Support away_mode as permanent hold and hold_mode as temporary hold. (@Duoxilian)
  • Tellduslive: Don’t throw exception if connection to server is lost (@molobrakos)
  • Zoneminder: Refactoring and JSON decode error handling (@pschmitt)
  • Image processing: Cleanup Base face class add support for microsoft face detect (@pvizeli)

Bugfixes: @balloob, @fabaff, @pvizeli, @mnoorenberghe @Danielhiversen, @armills, @tchellomello, @aequitas, @mathewpeterson, @molobrakos, @michaelarnauts, @jabesq, @turbokongen, @JshWright, @andriej, @jawilson, @andrey-git, @nodinosaur, @konikvranik, and you if you are missing here.

Release 0.38.1 - February 12

  • Fix logbook ordering (@balloob)
  • Fix AppleTV conflicting dependency breaking websockets (@balloob)

Release 0.38.2 - February 12

Release 0.38.3 - February 15

  • Sonos: fix losing favorite sources on disconnect (@pvizeli)
  • Google Calendar: fix timeMin losing events (@happyleavesaoc)
  • Fix Wink PubNub subscription (@w1ll1am23)
  • Z-Wave: getter not to ignore label (@andrey-git)
  • Moon: remove unit of measurement (@fabaff)
  • MySensors: add version requirement to notify and device tracker (@MartinHjelmare)

Release 0.38.4 - February 21

  • Discovery: flux_led discovery led to problems on systems and has been removed (@bazwilliams)
  • Hidden devices are no longer visible on views (@balloob)

Backward-incompatible changes

  • The support for LG webOS Smart TVs was improved. This requires you to move $HOME/.pylgtv to $HASS_CONFIG_DIR/webostv.conf or Home Assistant will need to be paired with the TV again.
  • Image processing events have been renamed: identify_face has become image_processing.detect_face, found_plate has become image_processing.found_plate
  • The FFmpeg binary sensor change the platform name from ffmpeg to ffmpeg_noise and ffmpeg_motion. Also all FFmpeg-related services are moved from a platform implementation to a the FFmpeg components and were rename from binary_sensor.ffmpeg_xy to ffmpeg.xy.
  • The frontend core changes have caused all custom panels to break. Docs have not been updated yet. The gist is that you have to use this.hass.entities, this.hass.callService and this.hass.callApi.

If you need help…

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

Reporting Issues

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


HASSbian 1.1 - The Toy-box

Tonight I’m happy to announce a new release of the our Raspberry Pi image, HASSbian 1.1 - The Toy-box.
Why Toy-box you wonder? Because it encompass the changes pretty well.

Changes from previous image are big and small but lets start with the interesting things.

Hassbian-scripts

A set of script written to add extra functionality to your Raspberry Pi installation. This scripts are run as the pi user and installs a set of tools or packages. Currently includes:

  • Install Libcec. Adds local HDMI-CEC support.
  • Install Mossquitto. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support.
  • Install OpenZWave. Installs OpenZWave and prepares for using a USB or GPIO ZWave controller.
  • Install Samba. Installs the Samba packages and shares your configuration over smb to be available to edit on any computer without the need for separate file transfer software. This share is unsecured and its usage is not recommended if your installation is publicly available.

All of these scripts are available in the directory /home/pi/hassbian-scripts/. This directory is actually a cloned git repository that’s cloned on first boot and can be updated to the latest release with ease after. To update the hassbian-scripts directory execute the following command as the pi user.

cd hassbian-scripts
git pull

To use any of the hassbian-scripts, execute the following command as the pi user. Here we use the libcec script as an example.

sudo ./hassbian-scripts/install_libcec.sh

For more information about these scripts have a look a the hassbian-scripts repository.

Spring cleaning

With this image there also quite a bit of cleaning of the base system and the script that generates our Raspberry Pi image.

  • Update pi-gen. Our build script has been upgraded to follow the Raspbian image closer. This image is basically a Raspbian lite image with Home Assistant, dependencies and a small set of changes to the base system.
  • Removed Mosquitto. Not as bad as it sounds since it’s installation has been move to one of our new hassbian-scripts.
  • Added rng-tools. Let’s your HASSbian installation use the hardware support in the Raspberry Pi for entropy generation.
  • Added avahi-daemon package. Your Raspberry Pi should now be available at hassbian.local.
  • Added htop. User friendly interactive process monitor.
  • Added tmux. A great terminal multiplexer that makes working with the command line over ssh easier.
  • Added the homeassistant user to the dialout group. Simplifies use of hardware such as ZWave USB controllers that requires this permission.

On the horizon

There’s of course more on the horizon and there’s even more plans and wishes for how this image will function in the future. On the close horizon from @Landrash there a few more script in the works and for tellstick, emulated_hue and for controlling Home Assistant.

To follow discussions about the development of the HASSbian image or to contribute join our Discord chat server.

To get started with the new image, check out the installation instructions in the getting started section.


Smart Baby Monitor

One of the hardest part of being a parent is keeping a constant eye on the baby to make sure that the baby is doing well. Thus, it is not surprising that baby monitors are one of the fastest growing baby product category. However, many of the baby monitors available on the market are rather dumb and expect the parents to keep looking at the video stream or listen to the audio. This how-to will help you create a smart baby monitor on a budget and integrate it with Home Assistant. Instead of relying on the poor quality baby monitor speakers, we use our existing speakers (eg. Sonos). We can also send notifications (with pictures) to avoid constant monitoring of the feed.

Obviously, you can use the setup as a general purpose surveillance system to monitor noise in the whole house.

Read on →

0.37: Face detection, Coffee, Wink

No stats, no numbers, and alike this time. Ok, just one number: 0.37. We are back on track with our bi-weekly release cycle. Beside some organizational changes is this release shipping again cool features and new integrations. Please keep an eye on the “Backward-incompatible changes” section because there are also massive improvements for some platforms and components.

Governance

As announced, the new Governance requires for developers to sign the CLA. Code of Conduct, Contributor License Agreement, and proper Licensing will to protect all involved parties in the Home Assistant eco-system from users and community members to contributors.

Face recognition using the Microsoft Face API

@pvizeli has been on a roll with the image processing integrations. This time it’s the Microsoft Face API. This means that now it will be possible to train the API with the people you want to recognize and send images from your camera to the API as another source of automation.

Want to play a personalized tune when someone enters the house? It is now possible 😎

Improved camera security

After a security audit by Stephen O’Conner, he found that our source for randomly generated access tokens for camera feeds were reasonable predictable and could be brute force attacked in 2.5 weeks. A fix has been included in this release that uses the system provided random number generator for maximum randomness and rotates the keys every 10 minutes to reduce the window in which a brute force attack can happen.

Although the old method is not insecure, the new method is a lot more secure. Upgrading to the latest version is encouraged.

New customization options

@Andrey-git has added some great new options to the customize functionality. It is now possible to specify customizations as a wildcard for entities or for a specific domain.

Major Wink and HDMI-CEC improvements

@w1ll1am23 did an amazing job fixing a ton of bugs and issues with the Wink integration. Biggest improvement is that it now is able to automatically refresh the authentication tokens. This means that if you have your email address and password in your configuration.yaml file, no client_id and client_secret are needed, and token which was generated with the generator located in the Wink documentation.

The new Wink support will cause renaming of all the binary sensors and will also create new sensors for devices that weren’t previously detected or supported in the older version.

Thanks to @konikvranik the HDMI-CEC integration got a huge update with a lot of improvements. This update should make it easier to work with HDMI-CEC and give you more control.

First Coffee Maker supported

@stu-gott has added support for the first coffee maker in Home Assistant: Mr. Coffee Smart Optimal Brew. Happy brewing!

All changes

New platforms/components

Improvements

  • Script: Fix script release (@balloob)
  • Camera - Amcrest: Add support for direct MJPEG streams from Amcrest cameras (@colinodell)
  • Sensor - Miflora: Removing throttle decorator (@freol35241)
  • Notify - Lannouncer: Fix get_service method (@mKeRix)
  • Sensor - WAQI: Add station parameter to waqi sensor (@whhsw)
  • Sensor - USPS: Absolute path to save cookie used by USPS sensor (@tchellomello)
  • Nest: Fix python-nest release number (@Danielhiversen)
  • Keyboard remote: Improve support (@MrMep)
  • Device tracker - VolvoOnCall: Fix timedelta (@pvizeli)
  • Climate - eq3btsmart: Expose away attribute (@rytilahti)
  • Remote: Reserve a test port for broken API to fix race (@armills)
  • Climate - Ecobee: Made target temperature sensitive to auto mode (@Duoxilian)
  • Configuration: Fix load_yaml default value (@balloob)
  • Notify - Facebook: Fix encoding error (@Danielhiversen)
  • Emulated_hue: Add upnp_bind_multicast option, default type to Google, and persist emulated hue IDs (@hoopty, @balloob)
  • Docker: Install phantomjs in Docker container (@jnewland)
  • Media player - MPD: Add listing and selection of available MPD playlists (@partofthething)
  • Media player - Denon AVR: Denon improvements (@glance-)
  • Light - x10.py: Improved x10 state monitoring (@martst)
  • Sensor - DSMR: TCP, reconnecting and V4 CRC support (@aequitas)
  • Media player - Yamaha.py: Fix Yamaha doing I/O in event loop (@balloob)
  • Device tracker UPC: Make upc more robust (@pvizeli)
  • Climate - Generic thermostat: Update (@MrMep)
  • Device tracker - Xiaomi.py: Xiaomi Mi Router token refresh (@RiRomain)
  • Camera - MJPEG: Support still image for thumbmail (@pvizeli)
  • Sensor - ZAMG: Updated valid station id list (@HerrHofrat)
  • Light - ISY994: Not overwrite state_attributes (@rmkraus)emul-hue
  • Light - Zwave: Use only supported features for devices (@turbokongen)
  • Media player - Kodi: Support for volume stepping (@armills)
  • Media player- roku: Use is_screensaver, update IDLE state, and use device name (@robbiet480, @xhostplus)
  • Switch - HDMI-CEC: Support for devices and commands (@konikvranik)
  • Lock - Zwave: Improvements to Zwave lock platform (@turbokongen)
  • TTS: Invalidate broken file cache entries (@stu-gott)
  • Light - Hue: Improvements (@robbiet480)
  • TTS - YandexTTS: Added speed and emotion to Yandex TTS (@lupin-de-mid)
  • Light - tellstick.py: Tellstick light fix (@stefan-jonasson)
  • Switch - insteon_local.py: only check for devices when not defined in config (@craigjmidwinter)
  • Notify - Twitter: Allow direct messaging to user (@fabaff)
  • Fan - MQTT: Don’t set a speed when fan turns on (@robbiet480)
  • Config: Allow easier customization of whole domain, entity lists, globs (@andrey-git)
  • Sensor - Homematic: Update device support (@danielperna84)
  • Binary sensor - ISS: Add location to attributes and option to show position on the map (@fabaff)
  • Media player - Kodi: Add SSL configuration option (@ecksun)
  • Sensor - WAQI: Add missing particle value (@fabaff)
  • Wink: Support for python-wink 1.0.0 (@w1ll1am23)
  • Binary sensor - RPi GPIO: Add a small sleep before reading the sensor (@snagytx)
  • Sensor - USPS: Add name to configuration (@happyleavesaoc)
  • Sensor - Miflora: Remove throttle decorator from miflora platform (@freol35241)
  • Device tracker - asuswrt.py: Add IPv6 support when parsing neighbors (@leppa)
  • iOS: Discover notify.ios when iOS component loads (@robbiet480)
  • Homematic: Add MAX shutter contact class (@jannau)
  • Sensor - Darksky: Added forecast support (@nordlead2005)
  • Switch - Pilight: Implement echo config option (@janLo)
  • Core: Support customize in packages (@kellerza)
  • Switch - Flux: Allow disabling setting the brightness (@rytilahti)
  • Media player - Sonos: Add is_coordinator, set coordinator after join/unjoin, and no empty image (@pvizeli, @andrey-git, @robbiet480)
  • Climate: Hold mode (@Duoxilian)
  • Switch - TPlink: No longer doing I/O in event bus (@balloob)
  • Light - Insteon local: Improve Insteon configuration (@craigjmidwinter)
  • Emulated Hue: Emulated Hue “host-ip” fails to bind when running in docker without --net=host (@jeremydk)
  • Climate - EQ3 BT smart: Add reporting for availability (@rytilahti)

Bugfix: @balloob, @fabaff, @freol35241, @pvizeli, @Danielhiversen, @tdickman, @armills, @rytilahti, @EarthlingRich, @asbach, @happyleavesaoc, @robbiet480, @colinodell, @joopert, @dale3h, @pavoni, @jaharkes, @MartinHjelmare, @mezz64, @jabesq, and you if you are missing in this list.

Release 0.37.1 - February 2

  • Do not reject alphanumeric IDs for PiLight (@DavidLP)
  • Fix broken Hue discovery (@DanielHiversen)
  • Fix Amcrest (@tchellomello)
  • Fix Telldus Live dim level error on startup (@molobrakos)
  • Fix Sonos group coordinators (@pvizeli)
  • UPC Connect: Parse XML outside event loop (@pvizeli)
  • Fix Netatmo SSL issue with VPN URL (@jabesq)
  • Homematic: Fix bug with UNREACH device state/restore and variables not updating (@pvizeli)
  • Sonos: Prevent duplicate entries in favorite list (@pvizeli)
  • Fix Schlage Connect deadbolt integration via Z-Wave (@turbokongen)
  • Prevent infinite loop in crossconfigured mqtt event streams (@aequitas)
  • Fix Hue lightgroups failing on startup (@tboyce1)

Backward-incompatible changes

  • A major breaking change in the emulated_hue component means that unless you set type: alexa before starting up the newer Home Assistant version you will lose all devices that Alexa has discovered and will need to re-add them as well as create new groups.
  • The platform of the ISS integration was change to binary_sensor. Please check the platform documentation.
  • The Roku media uses now a new format for the entity IDs.
  • OpenALPR is no longer a component. It’s now a platform for Image processing.
  • Due to massive improvements of the Wink integration, the names of your binary sensors will change and new devices can show up.
  • The MySensors component now requires all persistence file paths to be set if any is set by the user. This is to avoid name conflicts for the paths. If no path is set Home Assistant will set all paths for you.
  • The Sonos service sonos_group_players was removed. Use now sonos_join for this function.
  • TTS cache have change for the last time. Files use now also an option hash as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. HASH_LANG_PLATFORM.xxx -> HASH_LANG_OPTIONS_PLATFORM.xxx, replace OPTIONS with - on exiting platforms.

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 use the former communication channels. Thanks.

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.


Home Assistant Governance [updated]

UPDATE JAN 28, 2017

After feedback from the community we have updated the CLA and the license that Home Assistant is distributed under. For the CLA, instead of enforcing requirements on the grants and code, we now require contributions to be licensed under the Apache 2.0 license. Special thanks to Matthew Garrett for his feedback and advice.

Starting with release 0.37, Home Assistant will re-license the current code under the Apache 2.0 license. This is the license that will be used moving forward for all projects under our organization.


The Home Assistant project and community has seen enormous growth in the last three years. Many volunteers work tirelessly everyday to give you all the awesomeness that you see today. Much more work is involved than many people realize. Beyond simply coding Home Assistant, volunteers continually maintain related projects, update documentation, post examples, author blog posts, and moderate the forums and chat. This is something that we want to keep safe and functional, even as we grow.

Starting today we are announcing a few initiatives to help protect our users, contributors and community members.

Read on →

Numbers

It’s week 3 of 2017 and great things did already happen. This is just a little recap.

  • In the OSS Metrics leaderboard we are on place 30. Within three months we moved from our starting place which was 66 in September 2016 up to the current one.
  • We were listed on Github Trending. Also, was @balloob mentioned as trending developer.
  • @balloob’s talk at the OpenIoT Summit 2016 was rated as one of the Top 5 videos of the conference.
  • We now ship over 500 components and platforms.
  • We processed over 3500 Pull requests on the main repository so far.

You may ask yourself why this is amazing. It’s amazing because we are a community-only project driven by volunteers there is no financial support, no company in the background, and no paid developers who are working on Home Assistant. Here is another “Thank you” because you are the driving force behind Home Assistant.

What more numbers? Checkout the Trivia page

– Fabian


0.36: ISS, USPS, Image processing, Insteon

Welcome to 2017 and 0.36. We are proud to announce the first release for this year. While we are still migrating parts to async but 0.36 is focusing on new features and a lot of bug fixes.

Packages

Packages are providing a new way to organize different component’s configuration parts together. With packages we offer the option to include different components or parts of configuration using any of the !include directives.

InfluxDB export

The InfluxDB component was causing problems in a wide variety of use cases. @titilambert improved our InfluxDB exporter feature. It might be that you need to run the migration script to update your InfluxDB database.

$ hass --script influxdb_migrator \
    -H IP_INFLUXDB_HOST -u INFLUXDB_USERNAME -p INFLUXDB_PASSWORD \
    -d INFLUXDB_DB_NAME

International Space Station (ISS)

No, unfortunately we are not going to space. The iss sensor is tracking the position of the International Space Station and gives you some details.

Insteon local

The support for Insteon was removed due to issues a while ago. With the insteon_local component support for Insteon is back and let one work locally with an Insteon setup.

Image processing

The new image processing component currently works with number plates. But this could level the way to integrate feature like facial recognition, motion detection, or gestures control.

All changes

Release 0.36.1 - January 17

Backward-incompatible changes

  • APNS service was moved to the notify domain. Use notify.apns_NOTIFIER_NAME instead of apns.NOTIFIER_NAME.
  • InfluxDB component has a new schema to store values in the InfluxDB database. You may require to run the influxdb_migrator script. You have to note:
    • There will not be any tags/fields named time anymore.
    • All numeric fields (int/float/bool) will be stored as float inside influx db.
    • All string fields corresponding to state attributes will be renamed as FIELDNAME_str, where FIELDNAME is the state attribute, to avoid type conflicts.
    • All string fields corresponding to a state will be renamed as state (former value).
    • Fields named value will always be stored as float.
    • Fields named state will always be stored as string.
  • TTS cache files use now the language abbreviation as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. HASH_PLATFORM.xxx -> HASH_LANG_PLATFORM.xxx.

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 use the former communication channels. Thanks.

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.


Control My Christmas Tree Stats

Hello and Happy New Year!

I am not Paulus. My name is Ben. I’m the creator of the BRUH Automation YouTube channel. If you’ve ever seen any of my videos then you’ll know I love home automation and Home Assistant.

I wanted to share some exciting stats from one of my latest projects - Control My Christmas tree! For this project, I created a Home Assistant instance on a Raspberry Pi 2 that was publicly accessible via DuckDNS. Paulus was great in helping me disable several of the developer services that could have been exploited to disable the Home Assistant instance.

I added three devices to the Home Assistant instance - a Wemo Insight, Sonoff Switch (running MQTT firmware), and a DIY MQTT Digital LED strip. After adding a few 3D printed Star War decorations, the tree was ready to go!

The Christmas tree in action.

Read on →

Thank You

A year ago Home Assistant 0.10 landed. Last weekend we released 0.35. Doing 25 releases in a year is a big accomplishment by the community and each release has moved us forwards leaps and bounds. In this year alone we have seen 2800 pull requests on the main repo alone, that’s more than 7 a day!

One of the things that Jon Walker, the founder of the company I work for (AppFolio), has taught me is that the biggest advantage that you can create for yourself compared to your competitors is to release more often. Every time you release you are able to get the new features into the hands of the users and developers. The faster people start using it, the faster you get feedback on the good and bad parts and thus the faster can you evolve.

That’s why I structured Home Assistant around a two week release cycle. It makes sure that features get out fast and it also forces us to not accumulate a backlog of things to document or test properly. Every two weeks we can start fresh. This makes it easy for new people to start contributing because it’s clear when things go out and people are not afraid to miss a release.

However, being on a two week release cycle also means that the community has to rally each two weeks to make sure everything is ready to go. A lot of people are involved in making sure that all pieces are in place, to all of those: thank you! Thank you for all the time and effort you put in to make Home Assistant the best home automation software out there.

Another big thanks goes out to the developers of the Python language and all the open source libraries and tools that Home Assistant depends on. Making quality software is not a small feat and all of you can be proud of yourself.

Also a big thanks for the companies that offer their services for free to open source projects. Without these we would not be able to operate at our speed or scale. Thanks GitHub, TravisCI, CloudFlare and Discourse!

And finally thank you community for being so helpful and awesome 🙇.

We’re taking a well deserved break and we will be back again in 2017 with more awesomeness. Happy holidays!

– Paulus