Blog
0.29: 🎈 Async, SleepIQ, OpenALPR, EmonCMS, stocks, and plants
Two weeks ago, September 17 marked our 3 year anniversary. In this time Home Assistant managed to grow from a simple script that turned on my lights when the sun set to a kick ass open source project with the best community an open-source project could wish for. This release contains features, bug fixes and performance tweaks by a total of 50 different people! We have also managed to cross the 1000 forks on GitHub. Talking about momentum!
This is a big release as we’ve completely overhauled the internals of Home Assistant. When I initially wrote Home Assistant, still figuring out the ins and outs of Python, I went for an approach that I was familiar with for an application with many moving parts: threads and locks. This approach has served us well over the years but it was slower than it needed to be, especially on limited hardware.
This all changed when @bbangert
SleepIQ and OpenALPR
There now is support for two new super cool things: Beds and license plates. @technicalpickles
Configuration validation
On the voluptuous front we have also made great progress. We were able to fully remove the legacy config helpers and have migrated 323 of the 346 components and platforms that needed migrating! This does mean that for some components the configuration has slightly changed, make sure to check out the backward-incompatible changes section at the bottom for more info. Thanks everybody for reviewing the Pull requests, testing the changes, and reporting issues.
Delayed Release
As you might have noticed, this release has been delayed by 5 days. This was due to a rare, difficult to reproduce problem with the Python interpreter. A huuuuge thanks to all the people that have helped countless hours in researching, debugging and fixing this issue: @bbangert
Hide automation rules
Since 0.28 automation rules can be reloaded directly from the frontend.
All changes
- Convert core from thread-based to be async-based (@bbangert
, @balloob ) - New SleepIQ support (@technicalpickles
) - Cover: Vera is now supported (@pavoni
) - Climate: Vera climate devices are now supported (@robjohnson189
) - Climate: MySensors is now supported (@kaustubhphatak
) - Control Home Assistant with keyboard shortcuts (@deisi
) - More voluptuous config validations (@fabaff
, @kellerza , @balloob ) - New Nuimo controller support added (@gross1989
) - Sensor: BOM Weather component (@tinglis1
) - Automation: Option added to hide entity (@milaq
) - Sensor: Emoncms feeds now supported (@joyrider
) - Sensor: Mi Flora plant sensor now supported (@open-homeautomation
) - Logbook: Allow filtering entities and hide hidden entities (@wokar
) - Notify: Kodi support added (@chrom3
) - Notify: Support for Simplepush added (@fabaff
) - Sensor: KNX sensors now supported (@daBONDi
) -
Wink improvements (@w1ll1am23
) -
ISY improvements (@Teagan42
) - Link to relevant docs in config validation error messages (@fabaff
) - Greatly improve the performance of templates (@balloob
, @pvizeli ) - Notify - Slack: Support for username/icon (@Khabi
) - MQTT room detection: Away timeout now supported (@mKeRix
) - Climate: Nest can now control the fan (@jawilson
) - Modbus: Major cleanup for Modbus switches and sensors (@persandstrom
) - HTTP: Allow passwordless logins from whitelisted IP addresses (@Danielhiversen
) - Sensor: Yahoo! Finance stocks now supported (@tchellomello
) - Sensor: Set value based on incoming email (@sam-io
) - Light: White value now supported (@mxtra, @MartinHjelmare
) -
InfluxDB now allows attaching extra data (@lwis
) -
OpenALPR support (@pvizeli
) - Minor features and bug fixes by @fabaff
, @w1ll1am23 , @turbokongen , @clach04 , @mKeRix , @pvizeli , @DavidLP , @nvella , @Teagan42 , @ericwclymer , @wokar , @kellerza , @nkgilley , @jawilson , @Danielhiversen , @ej81 , @danieljkemp , @balloob , @philhawthorne , @LinuxChristian , @milas , @simonszu , @Cinntax , @irvingwa , @sytone , @kk7ds , @robbiet480 .
Hotfix 0.29.1 - September 29
- Fix typo in Nest climate platform. We are still experiencing issues with Nest.
(@tchellomello )
Hotfix 0.29.2 - September 29
Hotfix 0.29.3 - September 29
- Hue config fix (@pvizeli
)
Hotfix 0.29.4 - September 30
- Alexa config fix (@balloob
, reported by @lwis ) - Envisalink discovery fix (@cinntax
) - Acer Projector config fix (@pvizeli
)
Hotfix 0.29.5 - September 30
- Fix Climate Nest platform (@tchellomello
, @jawilson )
Hotfix 0.29.6 - October 1
- Fix segmentation fault (@bbangert
) 🎉 - Fix nested templates in
data_template
would incorrectly get cached (@balloob)
Hotfix 0.29.7 - October 5
- Fix handling SIGTERM and SIGHUP signals (fixes Systemd restart issues) (@pvizeli
)
Backward-incompatible changes
- The template methods
now
andutcnow
have been changed from variables to methods. To get the current time replacenow
withnow()
. -
yahooweather
default name is nowyweather
. Also min and max temperature are now correctly calledTemperature Min
andTemperature Max
. -
ffmpeg
is now a component for manage some things central. Allffmpeg_bin
options have moved to this compoment from platforms. - Config has changed for X10 lights.
- For Wink, make sure your config only contains the access token as in the docs.
- Nest sensor ‘mode’ has been renamed to ‘operation_mode’
If you need help…
…don’t hesitate to use our Forum or join us for a little chat
0.28: Reload automation and groups, API documentation, car tracking, Pi-Hole stats
It’s already time for 0.28 thanks to our super short release cycles. Now, it’ official…we hit 4000 stars on Github. That’s amazing. Sorry, not as amazing as all the stuff that was going on for 0.27 but still pretty awesome.
Reload automation rules
This release brings you a huge improvement of the automation and group handling. Both can be reloaded without a Home Assistant restart by calling their new reload services. The automations can be controlled directly from the frontend.
Raspberry Pi installation guide
Singleboard computers are very popular to run Home Assistant. To support this fact, the installation documentation for the Raspberry Pi devices was re-written to get users started as quickly as possible. @Landrash
Climate and cover
There are countless bugfixes included in this release which will make your experience with the climate
and the cover
platforms better. Two week ago was the biggest merger of implementations released that ever happened in the history of Home Assistant. Thanks to @turbokongen
API documentation
The Home Assistant API Documentation
Configuration validation
The validation of the configuration is still on-going. Approximately 80 % is done. This means that we will propably talk about this topic in the next release notes again. To align the configuration of components and platforms we needed to break some. Please refer to the Backward-incompatible changes section to check if you need to update your configuration or simple check your log for configuration validation errors. Thanks to @kellerza
All changes
- Light: Added bitfield to Flux LED since we are supporting effects (@tchellomello
) - Device tracker: Owntracks waypoint import (@pavoni
) - Climate: A lot of bugfix (@turbokongen
, @pvizeli , @djbanks ) - Notify: Improvement of the title handling (@lwis
) - RFXtrx: Sensor cleanup (@turbokongen
) - Device tracker: Fix for BLE device tracker (@open-homeautomation
) - Device tracker: Allow ‘None’ MAC addresses to be loaded from
known_devices
file (@kellerza) - Cover: Bugfixes (@turbokongen
, @danielperna84 ) - Sensor: Support for displaying details about crypto currencies (@fabaff
) - Device tracker: Support for automatic to track your vehicles (@Teagan42
) - Devie tracker: Add exclude option to Nmap device tracker (@danieljkemp
) - Device tracker: Improved login errors for Asus device tracker (@kellerza
) - Sensor: Support for displaying the status of Xbox Live accounts (@mKerix
) - Notify: Adding
link_names
for sending Slack message (@salt-lick) - Binary sensor: Add the occupancy sensor class (@robbiet480
) - Fan: Add supoort for MQTT fans (@robbiet480
) - Docs: Add Sphinx API doc generation (@bbangert
) - Core: Allow reloading automation without restart (@balloob
) - Sensor: Added scale and offset to the Temper sensor (@mKerix
) - Sensor: New support for [Trend] sensor (@pavoni
) - Device tracker: Keep looking for new BLE devices (@Bart274
) - Switch: Added device state attributes and support for legacy firmware for D-Link switches (@LinuxChristian
) - Sensor: Improve 1-Wire device family detection (@Ardetus
) - Modbus: Update to be thread safe (@persandstrom
) - Camera: FFMpeg is abale to get the images (@pvizeli
) - Core: Reload groups without restart (@balloob
) - Core: Fix remove listener (@balloob
) - Sensor: Support for monitoring your battery on a Linux host (@fabaff
) - Core: Add support for complex template structures to
data_template
(@pvizeli) -
check_config
: Improve yaml fault tolerance and handle border cases (@kellerza) - Core: Add additional template for custom date formats (@lwis
) - Sensor: Support for getting stats from Pi-Hole systems (@fabaff
) - Modbus: New
write_registers
Modbus service (@persandstrom) - Device tracker: Fix TP-Link Archer C7 long passwords (@snikch
)
Hotfix 0.28.1 - September 12
- Fix: Simplisafe alarm control panels accept any string for code (@tchellomello
) - Fix: Z-Wave would sometimes not detect all thermostats (@turbokongen
) - Fix: Automatic device tracker when 2 or more cars are tracked (@teagan42
) - Fix: Group ordering is now based on config again (@balloob
, @kellerza )
Hotfix 0.28.2 - September 13
- Light - pilight: Fix send RF code (@DavidLP
) - Recorder: Fix specifying SQLite (@pvizeli
) - Wink: Fix garage door detection (@turbokongen
) - Climate - Ecobee: Fix inverted high and low temperatures (@turbokongen
) - Allow changing covers using scenes (@nvella
) - Device tracker - Automatic: Fix polling (@teagan42
)
Backward-incompatible changes
-
OpenweatherMap entity IDs are now like
sensor.owm_temperature
. Previously they were likesensor.weather_temperature
. Apologies for this change, but we needed to make OpenWeatherMap more generic now that we have many weather platforms. - Updates of configuration variables due to configuration check or alignment with other platforms. Please update your configuration entries according to the documentation:
- Custom components extending
BaseNotificationService
need to be aware thatkwargs.get(ATTR_TITLE)
will now returnNone
if a title has not been set, and will need to specifykwargs.get(ATTR_TITLE, ATTR_TITLE_DEFAULT)
if they always require a title.
If you need help…
…don’t hesitate to use our Forum or join us for a little chat
ESP8266 and MicroPython - Part 2
0.27 is here to break eggs and take names: notifications, Hue fakery, safety and unification come to Home Assistant
This week’s blog post could only be possibly described by exactly one hashtag:
#Amazing
or maybe#supersized
Keep reading to see what #Amazing things we have in store for you this week 😄! And make sure you read all the way to the end, because I left a present down there for those committed few among you :)
But first…
Some general housekeeping
Paulus (@balloob
Special thanks to my awesome helpers for this week’s release who are looking over my shoulder to make sure I’m crossing my t’s and dotting my i’s: @Teagan42
For my next trick, let’s hand out some…
Trophies
I felt that I had to 1-up Paulus (@balloob
-
10,000
builds on Travis (congrats to @BluGeni ) -
3,000
issues and pull requests (thanks @kellerza !) -
2,000
pull requests alone (awesome @fabaff !!) - 900 forks on Github!
In addition,
- We are very close to 4,000 stars on Github!
-
I’m now #5 contributor by most commits!!!
Hey wait, how’d this get in here 😳…
Now that we have that great news out of the way, onto this week’s release which is going to keep the #Amazing gravy train rolling right along and get to the stuff you all really are here for.
0.27
While this release is #Amazing, we had to break a few eggs (now you understand the title reference!) to make a beautiful omelette (using home automation obviously) so some platforms and components have needed to introduce backward-incompatible changes. Please make sure to read the Backward-incompatible changes section below.
Hue Bridge Emulation
Thanks to @mgbowenemulated_hue
component, you can have local control of entities through Amazon Echo.
Notification improvements
We have some excellent upgrades to the notification system coming to you in 0.27, courtesy of me, @robbiet480
HTML5 Push Notifications
This release adds support for HTML5 push notifications on Chrome/Firefox/Opera on both desktop and Android devices. This means that you can send a notification to your phone even when your Home Assistant is not open in your mobile browser. When using Chrome you can even include 2 action buttons so that you can control your Home Assistant from your phone’s lock screen, allowing you to do things like sound alarms or unlock your front door, all without leaving the notification. Thanks again to me (@robbiet480
Notification Groups
Using the new notify group
platform allows you to cut down a lot of duplicate automation logic by combining multiple notification platforms and target
s into a single notify service. Check out the documentation for more info.
target is no longer needed
For platforms that support it, starting with the new HTML5 platform, any target
s that are available will be exposed as individual services, so no more having to remember which target
s to use. Please note that the existing services also still exist so you can keep using target
if you wish.
Validate configuration before restarting Home Assistant
Ever restarted Home Assistant to test a configuration change just to find out there is a validation error? Well, not anymore! @kellerza
hass --script check_config
Configuration validation
This release includes a big push on making sure all platforms contain proper configuration validation. This should help in getting your configuration right. Thanks to @fabaff
FFMpeg motion/noise sensing
It’s now possible to use FFMpeg to monitor a video stream and detect motion thanks to a new binary sensor platform by @pvizeli
Component clean up - Thermostat & HVAC -> Climate. Rollershutter & Garage Door -> Cover
Due to our wild growth we ended up with a few components that had a lot of overlapping functionality. @turbokongenthermostat
with climate
. The old components have been deprecated and will be removed in the near future.
A new fan component
Along with the new climate
component, @Teagan42
All changes
- Merge thermostat and HVAC components into new climate component (@turbokongen
) - Merge rollershutter and garage door components into new cover component (@turbokongen
) - Alarm Control Panel - Manual: Allow returning to previous state after trigger (@tobiebooth
) - Sensor - DHT: Allow range checking (@open-homeautomation
) - Light entities will now expose their features (@shmuelzon
) - Sensor: Monitor HP ILO sensors on HP servers (@Juggels
) - Sensor: Monitor Fritzbox Calls (@DavidMStraub
) - Notify: LlamaLab Automate is now supported (@danielperna84
) - Sensor: Serial CO2 sensors now supported (@open-homeautomation
) - Sensor: MQTT room presence detection (@mKerix
) - Notify: New group platform allows grouping notify targets across platforms (@robbiet480
) -
HTML5 push notifications (@robbiet480
, @balloob ) - Weather: Wunderground now supported (@arsaboo
, @Teagan42 ) - New check config script to test validity before restarting HA (@kellerza
) - Binary Sensor: Allow monitoring a camera feed using FFMpeg (@pvizeli
) - Cover: Z-Wave platform now supports positions (@nunofgs
) - Device tracker: allow using Gravatar for entity picture (@robbiet480
) - Notify: platforms with known targets will expose them as standalone services (@robbiet480
) - Camera: MJPEG and Generic camera’s can now authenticate using digest auth (@meatz
) - Weather: Forecast.io now can show daily temp/precip forecast values (@DavidMStraub
) - Media Player: WebOS TV now allows customizing the sources (@roidayan
) - Device tracker: Allow tracking devices using Bluetooth Low-Energy (@open-homeautomation
) - Notify: Ensure Slack messages appear as correct user (@technicalpickles
) - YAML: Secrets will look for values in all parents folders up to the config root folder (@Teagan42
) - Camera: Generic camera now supports template support (@balloob
) - Slack: Allow sending attachments (@technicalpickles
) - Device Tracking: TP-Link Archer C7 5 GHz devices will now also be found (@dpford
) - Z-Wave: New rename node service added (@jnewland
) - Wink: Bug fixes (@w1ll1am23
) - Homematic: new device and controller variable support (@danielperna84
, @pvizeli , @mcdeck ) - Allow emulating a Hue bridge to control entities (@mgbowen
) - New Fan component (@Teagan42
, @robbiet480 )
Backward-incompatible changes
- Ecobee3 occupancy sensors have moved from sensor platform to binary sensor platform.
- Forecast.io entity IDs are now like
sensor.forecastio_temperature
. Previously they were likesensor.weather_temperature
. Apologies for this change, but we needed to make Forecast.io more generic now that we have many weather platforms. - The Loop Energy sensor configuration format changed slightly, please reformat based on the revised documentation.
- The configuration for the SABnzbd sensor has slightly changed. The prefix
type:
is no longer required for monitored variables. - The IMAP sensor now uses
username
instead ofuser
. - The NZBGet sensor has had so many changes I can’t list them all. Please refer to the documentation for more info.
Deprecations
- Using the
thermostat
andhvac
components has been deprecated. Please migrate to the newclimate
component. (just change the component name, the configurations are compatible) - Using the
rollershutter
andgarage_door
components have also been deprecated. Please migrate to the newcover
component. (just change the component name, the configurations are compatible)
Finishing up
Thanks all for sticking with me to the end. I’ll be taking over a lot of Paulus’s (@balloob
Also, thanks as always to our developer contributors, documentation contributors, but most of all our users! This would’ve just been a script that Paulus (@balloob) used to control his lights at home if we didn’t have your enthusiasm.
Feel free to let me know what you thought of this blog post and release on Discord
I almost forgot about your 🎁 for reading all the way to here: a 🍪! Hope you enjoy it in good health 😄.
Talk to you soon on Discord and in your pull request comments!
– Robbie
(p.s. To those of you that scrolled directly to the bottom to get your present, just know that you didn’t earn it like the others did. 😄)
Hotfix 0.27.1 - August 30
- Migrate APCUPSd to voluptuous (@fabaff
) - Ecobee operation mode fix (@turbokongen
) - update ha-ffmpeg version to 0.9 (@pvizeli
) - Device tracker component & platform validation. No more home_range. (@kellerza
) - Added option to use effect:random for Flux Led light bulbs (@tchellomello
) - Use voluptuous for smtp (@pvizeli
) - Upgrade sendgrid to 3.2.10 (@fabaff
) - Upgrade TwitterAPI to 2.4.2 (@fabaff
) - Fix bug in wemo discovery caused by voluptuous addition. (@pavoni
) - Bug fix for asuswrt device_tracker. (@Danielhiversen
) - Remove units for humidity in Wundeground sensor (@arsaboo
) - Fix media_player descriptions and select_source (@MartinHjelmare
) - Allow user to configure server id to perform speed test against (@Teagan42
) - Bug fix for asuswrt device_tracker. (@Danielhiversen
) - More Ecobee operation mode fixes (@turbokongen
) - Map Modes to setpoint indexes (@turbokongen
) - fix voluptuous and cover autodiscovery (@pvizeli
) - Fixes wrong statevalue and problem with zwave setpoint (@turbokongen
)
Hotfix 0.27.2 - September 3
home-assistant
- Ble fix (#3019
) - (@open-homeautomation ) - Reset insteon hub (#3062
) - (@Teagan42 ) - Host should be optional for apcupsd component (#3072
) - (@Danielhiversen ) - Zwave climate Bugfix: if some setpoints have different units, we should fetch the o… (#3078
) - (@turbokongen ) - Bugfix unit fix (#3083
) - (@turbokongen ) - Ecobee humidity slider (#3088
) - (@turbokongen ) - Zwave Climate Bugfix: If device was off target temp was null. Default to Heating setpoint (#3091
) - (@turbokongen ) - Climate and cover bugfix (#3097
) - (@turbokongen ) - Add missing docstrings (fix PEP257 issues) (#3098
) - (@fabaff ) - Allow None MAC to be loaded from known_devices (#3102
) - (@kellerza ) - fix homematic climate implementation (#3114
) - (@pvizeli ) - Fixed Homematic cover (#3116
) - (@danielperna84 ) - Bugfix. climate and covermqt (#3130
) - (@turbokongen )
home-assistant-polymer
- Fix missing attributes on the climate and HVAC more info cards (7e455e2
) - (@robbiet480 ) - Add a default icon for the fan component (#101
) - (@robbiet480 )
Github-style calendar heatmap of device data
Thanks to Anton Kireyeu
Heatmap
We Have Apps Now
I have been working on a new subsystem to complement Home Assistant’s Automation and Scripting components. AppDaemon
is a python daemon that consumes events from Home Assistant and feeds them to snippets of python code called “Apps”. An App is a Python class that is instantiated possibly multiple times from AppDaemon
and registers callbacks for various system events. It is also able to inspect and set state and call services. The API provides a rich environment suited to home automation tasks that can also leverage all the power of Python.
0.26: Foursquare, Fast.com, FFMPEG and GPSD
It’s time for 0.26 and it’s again full of new features and fixes. First I want to highlight that we are now having 500 000 monthly pageviews on the website. A big milestone for us! It’s been an amazing journey. Big thanks to the Home Assistant community for being such a delightful bunch.
This release includes code contributed by 31 different people. The biggest change in this release is a new unit system. Instead of picking Celsius or Fahrenheit you’ll have to pick imperial or metric now. This influences the units for your temperature, distance, and weight. This will simplify any platform or component that needs to know this information. Big thanks to @Teagan42
- Core: Introduce notion of unit system (deprecates temperature unit option) (@Teagan42
) - Front end: Speed improvements (@balloob
) - Front end: Improve layout of state dev tool (@balloob
) -
Proximity: Allow definition of unit of measurement (@Teagan42
) -
Flux: Add mired and kelvin mode (@HBDK
) - Thermostat - Proliphix: Support for cooling (@sdague
) - Media Player - LG Netcast TV: Show screenshot of what is currently playing (@shmuelzon
) - Z-Wave improvements (@jnewland
, @turbokongen ) - Thermostat - heat control: now also able to control an AC (@mtreinish
) - Thermostat - heat control: allow specifying a minimum duration before switching (@mtreinish
) -
InfluxDB: Whitelist entities option added (@tchellomello
) - Sensor: Serial particulate matters sensors now supported (@open-homeautomation
) - Sensor - Fitbit: Fix unit system (@tchellomello
) - Light - Flux LED: Add support for [color and brightness][color] (@Danielhiversen
) - Media Player - Plex: Now able to report on music (@abcminiuser
) - Alarm Control Panel - Verisure: Now able to see who changed the alarm (@persandtrom)
- Thermostat - Honeywell: Add option to read and control HVAC mode (@Teagan42
) -
Foursquare component to receive instant notifications of checkins (@robbiet480
) - Camera: New FFMPEG platform allows to stream anything through front end (@pvizeli
) - Manage secrets with new command line script (@kellerza
) - Notify - SMTP: Allow embedding of images (@partofthething
) - Sensor: OhmConnect is now supported (@robbiet480
) -
panel_custom component allows the registering of new panels (@balloob
) - Light: New mqtt_json platform for working with JSON payload (@corbanmailloux
) - Sensor: New Fast.com platform to measure network bandwidth performance (@nkgilley
) - New pilight component to control 433 Mz devices (@DavidLP
) - Sensor: GPSD now supported (@fabaff
)
Hotfix 0.26.1 - August 14
- Fix serial_pm config validation (@open-homeautomation
) - Check for existence of system mode on Honeywell thermostats (@mKeRix
) - Fix unknown unit of measurement for hvac and thermostat component (@turbokongen
)
Hotfix 0.26.2 - August 15
- Fix Wemo: have PyWemo play nicely with the latest Requests (@pavoni
)
Hotfix 0.26.3 - August 19
- Media Player cover art would not work when an API password was set. Thanks to @maddox
for reporting it and @balloob for the fix.
Backward-incompatible changes
- A new unit system has superseded the temperature unit option in the core configuration. For now it is backwards compatible, but you should update soon:
# Configuration.yaml example
homeassistant:
# 'metric' for the metric system, 'imperial' for the imperial system
unit_system: metric
Optimizing the Home Assistant mobile web app
This blog post will go into detail about the recent performance optimizations that went into the Home Assistant front end. For people not familiar with the app, check out the demo and the source
TL; DR: Don’t hack the framework, separate responsibilities, ship less, use service workers, use (future) web standards.
This year at Google I/O I saw Monica from the Polymer team talk about web components and performance. In her talk she mentions a mantra
Do less and be lazy. It sounds so obvious and it took a while before it started to dawn on me. I think most of the code I write is pretty fast, but I don’t often stop to take a harder look at how and when it runs in practice. When do we need the result, can it be postponed?
And thus started my journey to take a critical look at how the Home Assistant app was working and how to make things faster. Below is the list of the different things that I did to make it fast.
I hope this list can be useful to other people, as a guide for optimizing their own apps or for avoiding pitfalls when building a new one.
The first thing to do is to measure. The Home Assistant front end is a mobile web app, so we shouldn’t measure this on a machine with 8 cores and gigabytes of ram but instead measure on devices you expect a mobile web app to run: phones. Below are two timelines recorded with Home Assistant 0.18.2 (pre-optimizations) and Google Chrome 53. On my Mac the app starts in 1400 milliseconds and on my Nexus 5x in ~6500 milliseconds (~4.5 times slower!).
Although the app takes 6500 milliseconds to load on my phone, it would perform well afterwards. Still, that initial load is unacceptable. You expect to open an app on your phone and be able to use it, quickly. After I applied all the changes described below, I managed to reduce startup time to 900 milliseconds (-35%) on my Mac and 2400 milliseconds (-63%) on my Nexus 5x. Check out the demo here.
Read on →
Laundry Sensors with NodeMCU and Home Assistant
This is a guest post by Home Assistant user and contributor Nolan Gilley
Today I’ll show you how I used Home Assistant, a NodeMCU (ESP8266), and a couple of accelerometers to automate our laundry room. This is a rewrite of an old post where I did the same thing using a Moteino & Raspberry Pi. This version only requires a NodeMCU.
We have an older washer and dryer which doesn’t have any form of notification when cycles complete. Home Assistant was the obvious solution, I just needed to create sensors for the washer and dryer. I tried using sound sensors but found them unreliable. I ended up using an accelerometer attached to the back of each appliance. I also added magnetic reed switches on the doors of the washer and dryer to detect whether they’re open or closed. I connected the accelerometers and reed switches to an NodeMCU which will relay the data to my MQTT broker.
Block diagram of schematic
Read on →0.25: Custom frontend panels, Jupyter notebooks, DirecTV.
When Home Assistant started the focus has always been on making a great developer experience. Allowing anyone to add support for their favorite devices to Home Assistant easily. This focus has been a great success since we now have 339 components and platforms!
Starting with this release, we are extending our extensibility to the frontend. Starting this release, any component can add its own page to the frontend. Examples of this today are the map, logbook and history. We are looking forward to all the crazy panels you’ll come up with!
We have also seen an exciting trend of people starting to visualize their Internet of Things data using Jupyter
This release also includes a bunch of new integrations, among others three new media player platforms. This means that today Home Assistant can talk to 26 different media players!
The brand-new iFrame panel component allows you to add other websites as pages in the Home Assistant frontend. They will show up in the sidebar and can be used the same way as you open the frontend in your browser but all within one view.
I would like to do a shoutout to @fabianhjr
- Frontend: Support for iFrame panels to adding other sites to sidebar (@balloob
) - Allow components to register custom frontend panels (@balloob
) - Add example custom_component react_panel showing custom panels (@balloob
) - Light: MagicLight/Flux WiFi Color LED Light support (@Danielhiversen
) - Script: Specify a delay using templates (@Teagan42
) - Media player: Russound RNET integration (@laf
) - Remote: Option specifying custom timeout when calling Home Assistant API (@n8henrie
) - Thermostat: Integration of KNX thermostats (@open-homeautomation
) - Thermostat: Support for HVAC mode of Nest devices (@vladonemo
) - InfluxDB: Option to specify additional tags (@open-homeautomation
) - Input slider: Support for float value (@ngraziano
) - Template: New filters (
timestamp_local
andtimestamp_utc
) (@fabaff) - Binary sensor - Wink: Water leak sensor support added (@w1ll1am23
) - Sensor - Tellduslive: Support for luminance of Fibaro Motion Sensor (@PetitCircuitLab
) - Switch - RPi GPIO: Fix when inverted logic (@zeroDenial)
- Z-Wave: Rollershutter update (@turbokongen
) - RFXtrx: Fire events when receiving signals from sensors and tests added (@Danielhiversen
) - Core: Add type
checking using mypy to the core (@fabianhjr ) - Remote: Support for getting the Configuration through the Python API (@fabaff
) - Media player: Support for DirecTV (@cbulock
) - Use browser timezone for frontend logbook and history dates (@armills
) - Light: New support for X10 lights (@fotoetienne
) - Sensor: Support for observing IMAP accounts (@danieljkemp
) - Media Player: Integration for MPC-HC (Media Player Classic - Home Cinema) mediaplayer (@abcminiuser
) - Notify:
location
extension for Telegram and photo bug fixed (@keatontaylorand @pvizeli ) - Groups: Lock states will now be properly grouped (@jwl17330536
) - Media Player: Added tests for Sonos to improve code quality (@americanwookie
) - Device Tracker: iCloud stability fixes (@kellerza
) - Sensor: Speedtest with improved error handling and state restoring (@nkgilley
) - Recorder: Stability fixes (@kellerza
) - Qwikswitch: Stability fixes (@kellerza
) - Light: Hyperion keeps now track of active color (@schneefux
)
Hotfix 0.25.1 - August 1
- Light - Z-Wave: Bring back delayed value update behavior (@jnewland
) - Recorder: Properly close session after execute (@kellerza
) - Media Player - Kodi: No longer block startup if connecting to wrong port (@shoekstra
) - Downgrade voluptuous to 0.8.9 as it blocked the upgrade for some (@balloob
)
Hotfix 0.25.2 - August 2
- Hotfix to make sure Z-Wave locks work again. Thanks to @tobiebooth for the quick fix.
Backward-incompatible changes
- Google Voice SMS notification support was removed.