Welcome to the release notes of yet another wonderful release! No, we’re not going for 1.0, we’re doing 0.100! We feel like we’re not ready yet with our goals for 1.0, but we’re making progress every day. For a sneak peak of what we’re thinking about, check our blog Simple mode in Home Assistant 1.0.
It is Hacktoberfest. This means that we’re spending the month celebrating contributing to open source. If you make 4 pull requests this month, you get a free Hacktoberfest t-shirt! More info and what to work on, check our Hacktoberfest blog post.
Average contributions per day have doubled for the month of October. There are now on average 40 contributions coming in each day. Breakdown is ~50% Home Assistant backend, ~37% documentation and ~13% the frontend. Most of these contributions you’ll see in the next release!
Last 14 days of pull pequest throughput in the Home Assistant organization. (source)
We’re going to have another State of the Union! It will be held at November 13, in Amsterdam. Like last year, it will be hosted by our friends at ING. I’m looking forward to talk about all the great things that are happening in Home Assistant land. We had 150 tickets available when we announced it on social media, and they were all gone in less than 24 hours!
We’re going to make sure that there will be a live stream available. We’ll announce that in time via the blog and social media. Some people are talking about hosting viewing parties across the globe. Keep an eye out on the social category on the forums for announcements. This would also be the place to announce if you are planning on hosting one.
@jjlawren has been on fire with the Plex integration. You will now be able to link your account via the official Plex account link feature.
Screenshot of the Plex user interface asking the user if they want to link with Home Assistant.
- There are a lot more option for state filtering
- We have a bunch of new UI editors
- A new action
urlto link to external sites
- Config panel: Disabled entities are now hidden by default.
@emontnemery has been hard at work at further expanding device automations aided by @dmulcahey and [@Kane610]. This release includes improved support for Zigbee (ZHA) devices, sensors, binary sensor, switch and Deconz. One neat new improvement is the addition of a “for” option. This allows you to specify triggers for when a certain device has been on for a period of time.
Screenshot of a device trigger for a temperature sensor.
@emontnemery has added a bunch of functions to the automation editor, you can now use
or conditions, and give your automation a description so you know why you did what you did.
Screenshot of an and-condition in the automation editor.
Device automations are now available on the experimental device page that we introduced in the last release. You can now see all the triggers, conditions and actions the device supports. Clicking on it will open the automation editor with the automation filled in, ready to edit.
We also added the entity registry, so you can change all the settings of the devices entities in one place.
And, bonus, when you rename a device on the device page, it will now also rename the entities of that device if they contain the device name. When you are in advanced mode, it can also rename the entity id’s for you.
On the backend we have been using YAML for a long time, but on the frontend, we still used JSON for a lot of things. JSON is harder to write than YAML so we have aligned that. All data inputs on the frontend now accept YAML. You can still use JSON, as JSON is valid YAML.
- The automation editor
- The script editor
- Services data in dev tools
- States in dev tools
- Events in dev tools
Screenshot of a service action in the automation editor using YAML.
Core developer @amelchio is taking a break from working on Home Assistant. Amelchio has been a contributing member of the Home Assistant community for 2.5 years in which he made a grand total of 275 pull requests! Amelchio has worked on improving database performance and under his wing the Sonos, LIFX and Netgear LTE integrations flourished. He is an example community member, always available in the chat to help other people contribute to Home Assistant.
Thanks Anders, we’re going to miss you! ❤️
Hans Oischinger showcased how he can steer his vacuum cleaner to specific rooms in his house via his floorplan. Besides this tweet, he also wrote a great blog about it.
Freed my vacuum robot from the cloud with https://t.co/tirC2vcsqK— Hans Oischinger (@oischinger) September 29, 2019
This unlocked some new functionality for my vacuum:
Configure and start zoned cleanup in @home_assistant with live map overlayed on the floorplan pic.twitter.com/jtPZHk2xeT
As always, this release of Home Assistant is accompanied with a new release of the Home Assistant Podcast:
Time for another #smarthome #Podcast— Phil Hawthorne (@philhawthorne) October 9, 2019
This week we're talking @home_assistant version 1...hundred, @hacktoberfest and catch up with 🇦🇺 Tony about his #homeautomation journey with Home Assistant, or maybe it should just be @NodeRED 🤷♂️https://t.co/DUtNZTHOAA
- Add support for DOODS Image Processing (@snowzach - #26208) (doods docs) (new-integration)
- Izone component ([@Swamp-Ig] - #24550) (izone docs) (new-integration)
- Add transport data from maps.yandex.ru api (@rishatik92 - #26252) (yandex_transport docs) (new-integration)
- Add Kaiterra integration ([@Michsior14] - #26661) (kaiterra docs) (new-integration)
- Add Ombi integration (@larssont - #26755) (ombi docs) (new-integration)
- Add here_travel_time (@eifinger - #24603) (here_travel_time docs) (new-integration)
- Add support for SOMA Smartshades devices (@ratsept - #26226) (soma docs) (new-integration)
- Add saj component (@fredericvl - #26902) (saj docs) (new-integration)
- Add iaqualink binary sensor and unique_id (@flz - #26616) (iaqualink docs) (new-platform)
- Add basic support for IKEA Fyrtur blinds (@ggravlingen - #26659) (tradfri docs) (new-platform)
- Centralize rainbird config and add binary sensor platform (@konikvranik - #26393) (rainbird docs) (breaking change) (new-platform)
- Fix build not succeeding @bramkragten
- Vangorra withings fix (@vangorra - #27404) (withings docs)
- Bump python-songpal (@rytilahti - #27398) (songpal docs)
- bump songpal to fix attrs usage when using its most recent version (@rytilahti - #27410) (songpal docs)
- iaqualink: set 5s timeout, use cookiejar defaults (@flz - #27426) (iaqualink docs)
- Add mobile_app dependency on cloud (@uSpike - #27470) (mobile_app docs)
- Fix for unknown sensor state (@marthoc - #27542) (ecobee docs)
- Google: catch query not supported (@balloob - #27559) (google_assistant docs)
- Fixing nzbget units display (@chriscla - #27521) (nzbget docs)
- Use URI provided by Plex for local connections (@jjlawren - #27515) (plex docs)
- Update pymyq to 2.0.0 (@bachya - #28069) (myq docs)
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.Read on →
Happy 6th birthday to us! Yep, it’s been 6 years since the first commit, 6 years since we started our quest for a local and privacy foucsed home automation hub. And I think that we’re doing a pretty ok job 😏
It’s time for Home Assistant release 99. And this release is adding a bunch of new great features all over the place.
Nabu Casa has hired Bram Kragten. Bram has been active in the Home Assistant community for a while and is one of the driving forces behind the Lovelace UI. He will work on the Home Assistant frontend full-time. He will focus on making it easier to manage your Home Assistant installation, make sure all of the frontend is translatable and drive our efforts on making the frontend accessible for visually impaired people.
This is possible thanks to all the people who subscribe to Home Assistant Cloud ❤️
We took a step back, looked at Home Assistant, and thought about how we could make it easier for users to create automations. We realized that there was room for improvement. We identified the following issues:
- To write automations, users need to learn Home Assistant concepts like events, entities and services.
- It’s difficult to discover what can be automated. For example, if you’re automating a long press on the “turn on” button on a Zigbee remote, you need to know to listen to the event “zha_event” and match against the Zigbee device identifier of your remote and the long press type.
So we put our inventor hat on and have come up with a solution that allows users to create automations in the concepts that they already know: devices. Now when a user starts configuring an automation trigger, it can pick device automation as a new type.
Screenshot of defining a device trigger in the UI.
The user starts by picking one of their devices that is integrated into Home Assistant. A second dropdown will now appear that contains all the possible triggers for this device. This list is populated based on the integrations that are linked to this device (ie. Hue & Light).
Device automations are available for triggers, conditions and actions. Today’s release supports lights, switches and Deconz. More to come in future releases as integration developers adopt it.
Big thanks to @emontnemery for driving this effort. He added initial support for device automations as a YAML-only feature in Home Assistant 0.97 and has worked hard to extend it in this release with UI support and support for conditions, actions and more integrations. Also a big thanks to @kane610 who added added support for device automations to Deconz which helped squash bugs and improve the design.
There is a lot to talk here. Buckle up.
@thomasloven has built a brand new round slider from scratch for use in Home Assistant. It is using modern technologies to create a great experience. This component was so useful standalone that he has decided to release it as a standalone web component that anyone can use in their websites.
Shout out to @iantrich who has been on fire in recent weeks squashing a ton of bugs and adding some nice features to improve the Lovelace experience. And a shout out to @SeanPM5 who has been bringing UX bugs and improvements to our attention. Our frontend team is seriously awesome.
Unused entities has been moved into the configure UI section and completely revamped by @bramkragten. It’s now a table, you can see a lot more info, you can sort it. If you are using Lovelace storage mode, you can select entities and add them to your UI directly from that screen.
Screenshot of the new unused entities page.
Now that we have a data table component, Bram also went ahead and used it in a new devices page. This page, still experimental, will allow users to see a list of all their devices and sort them by manufacturer, area or battery %. The goal is to create a one stop shop for device management.
Screenshot of the new devices page.
And there is a ton more, here are some of the other highlights:
- Allow subscribing to an MQTT topic inside the MQTT dev tools @bramkragten
- Option to display last changed in glance-card @iantrich
- Add image option to glance card entities @iantrich
- Allow controlling timer entities from the more info dialog @iantrich
- Fill example data in dev tools @bramkragten
- Stop effect in more-info-light @iantrich
- Add vibration on mobile when controlling entities @bramkragten
- Update Home Assistant logs when activating the info developer tool tab @bramkragten
Home Assistant now supports opening Home Assistant Cast from the backend. It is available as the service
cast.show_lovelace_view. This allows you to open a view on your Chromecast as part of an automation. For example, show the frontdoor and who is home when your doorbell rings.
Note that Home Assistant Cast requires your Home Assistant installation to be accessible via
https://. If you’re using Home Assistant Cloud, you don’t need to do anything. Otherwise you must make sure that you have configured the
base_url for the
Hass.io is now able to work with your secrets stored in Home Assistant. So now you are able to use
!secret my_value inside add-on options like you can do inside
configuration.yaml. For more info about how to define secrets, check the docs.
We have published a release candidate of HassOS that is compatible with the new Raspberry Pi 4. Download it here.
Home Assistant had a booth this year at the CEDIA home tech trade show. We spend a lot of time talking to manufacturers about local APIs, official integrations and better support for open source systems.
@timmo has released version 2.0 of his Home Panel. This is an alternative user interface for Home Assistant.
It's finally here. 🎉— Timmo (@timmo001) September 14, 2019
Home Panel v2.0.0 is now released and has been completely rewritten in #React with #TypeScript
⚠️Please read the release notes before upgrading as are breaking changes to know about before upgrading!https://t.co/NMDQu4zZW8#HomePanel #HomeAssistant pic.twitter.com/ucA1HxwurB
- Add Withings support (@vangorra - #25154) (withings docs) (new-integration)
- Add NWS weather ([@MatthewFlamm] - #23647) (nws docs) (new-integration)
- Add BeeWi SmartClim BLE sensors (@alemuro - #26174) (beewi_smartclim docs) (new-integration)
- Add support Slide cover (@ualex73 - #25913) (slide docs) (new-integration)
- Add atome sensor platform ([@BaQs] - #26197) (atome docs) (new-integration)
- Add Viessmann ViCare Climate platform (@oischinger - #26151) (vicare docs) (new-integration)
- Add new integration for Jandy iAqualink pool control (@flz - #26034) (iaqualink docs) (new-integration)
- Add vivotek camera component ([@HarlemSquirrel] - #26071) (vivotek docs) (new-integration)
- Add growatt server integration (@indykoning - #25635) (growatt_server docs) (new-integration)
- Add Obihai integration (@dshokouhi - #26537) (obihai docs) (new-integration)
- Add support for Supla switches ([@Rocik] - #26188) (supla docs) (new-platform)
- GeoNet NZ Quakes Sensor (@exxamalte - #26078) (geonetnz_quakes docs) (new-platform)
- Jewish calendar binary sensor (@tsvi - #26200) (jewish_calendar docs) (breaking change) (new-platform)
- Add light platform to iaqualink integration (@flz - #26484) (iaqualink docs) (new-platform)
- Add sensor platform to iaqualink component (@flz - #26544) (iaqualink docs) (new-platform)
- Add switch platform to iaqualink integration (@flz - #26545) (iaqualink docs) (new-platform)
- Encode prometheus metric names per the prom spec (@growse - #26639) (prometheus docs)
- Bump TRADFRI (@balloob - #26731) (tradfri docs)
- Bump pyobihai to fix issue with user account (@dshokouhi - #26736) (obihai docs)
Forgot to include frontend update 99.1.
- fix continue integration flow (#3766) @bramkragten
- Show toast on success save entity settings (#3763) @bramkragten
- Align behaviour state badge (#3767) @bramkragten
- Bump zigpy-zigate to 0.3.1 (@doudz - #26600) (zha docs)
- HM-CC-TC was not recognized (@MajestyIV - #26623) (homematic docs)
- Bring back babel for ES5 builds @bramkragten
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.Read on →
Thanks to all the people working on the core of Home Assistant.
Thanks to all the people working on the Home Assistant frontend.
Thanks to all the people working on Hass.io.
Thanks to all the people workin on the mobile apps.
Thanks to all the people working on Hass.io add-ons.
Thanks to all the people who help with design and user stories.
Thanks to all the people who make the documentation possible.
Thanks to all the people active on the forums.
Thanks to all the people active in the chat rooms.
Thanks to all the people active on social media.
Thanks to all the people making videos helping people use Home Assistant.
Thanks to all the people making videos sharing their achievements using Home Assistant.
Thanks to all the people writing blog posts about Home Assistant.
Thanks to all the people invovled in making the Home Asssistant Podcast.
Thanks to all the people moderating our community, maintaining its high quality.
Thanks to all the people working on running our infrastructure.
Thanks to all the people who help out with code reviews and maintaining our code quality.
Thanks to all the people building and sharing cool frontends build with Lovelace.
Thanks to all the people creating and sharing custom Lovelace cards.
Thanks to all the people creating and sharing custom components.
Thanks to all the manufacturers that work on integrating with Home Assistant.
Thanks to all the companies providing the Home Assistant project with resources: Nabu Casa, GitHub/Azure/Microsoft, CloudFlare, Netlify, Lokalise.co, CARTO.
Thanks to the Material Design Icons team for beautiful icons.
Thanks to all the people who support Home Assistant by subscribing to Home Assistant Cloud.
Thanks to all the people who share the Home Assistant love.
It’s time for the 0.98 release. As Home Assistant grows, some features will sometimes be left partially implemented, leaving things to be desired. In this release we’ve been focusing on tieing up these loose ends, sometimes with new features. Getting better all the time!
One of the things that we’ve been improving in this release is entity management. Historically we’ve let this up to integrations, but that caused users to learn multiple ways and more work for integration developers.
Generally entity management is not that important, you want all the entities created by your integrations! However this was less the case when we started migrating over device trackers. This became clear when we migrated over Unifi.
So in this release we’re introducing a couple of new features that are available for all entities in the entity registry and integrations that are set up via config entries.
The first feature is that it’s now possible to disable entities. If an entity is disabled, it will not be added to Home Assistant when an integration adds it. So now it will be easy to manage which entities will show up. This option is accessible from the entity registry
The second feature is a new option to automatically disable any new entities that an integration discovers. In the case of a device tracker, newly connected devices to the network won’t be added anymore. This option is accessible from the integration details page via a button on the toolbar at the top.
With these two features we are now at feature parity with the filtering features that are available in the device tracker integration. Next step will be polishing of the person integration to get all those shiny new device tracker entities under one roof.
Screenshot of integration system options
We introduced config entries last year as our way as a generic way for integrations to store authentication and configuration. By allowing integrations to define the storage format, there are no more breaking changes for anything stored inside config entries!
Config entries also work great with people who prefer configuration.yaml. At startup a config entry is created/updated with the configuration.
With this release @kane610 added a new possibility for integrations to offer options in the UI. Options that previously required you to edit configuration.yaml can now be offered via the interface.
Screenshot of Unifi config options
Devices and services can receive updates that can cause integrations to break. This is frustrating and sometimes the cause can be hard to track down. Usually the users on forums/chat are aware and can help redirect people in the right direction, but that’s not a scalable solution!
So to combat this, we’re launching Home Assistant Alerts. Home Assistant Alerts is a website that will track known issues and explains in user friendly language what is going on. Alerts can be tagged with applicable Home Assistant versions, integrations and Python packages.
In the future we’re planning on integrating this directly in Home Assistant, so that users can be pro-actively notified of issue related to their configuration.
If you run Home Assistant via Docker (not Hass.io) and are using the
homeassistant/home-assistant container, the images are now using the same images as hass.io, which are using Alpine Linux instead of Debian.
The hass.io images are a third of the size of the old images and are heavily optimized thanks to the hard work by @pvizeli.
This change will only impact you if you were extending or customizing the image with Debian packages. If you want to continue to use the Debian based images, you can find the Dockerfile for the old images here.
For more background on this decision, see ADR-006.
With this release we have deprecated integrations that rely on webscraping. These will be removed from Home Assistant in a future release. Our scrape integration will remain part of Home Assistant.
Webscraping is fragile, breaks often requires frequent updates and there have been occasions where websites have banned our users.
Users that rely on these integrations can continue using them as custom components.
For more background on this decision, see ADR-004.
Mason Made created a great video walking through her Lovelace UI with a fancy custom sidebar. Check it out:
- Add Plugwise component (@CoMPaTech - #25533) (plugwise docs) (new-integration)
- GeoNet NZ Quakes feed integration (@exxamalte - #25736) (geonetnz_quakes docs) (new-integration)
- Add Keba charging station/wallbox as component (@dannerph - #24484) (keba docs) (new-integration)
- Add Minio component (@tkislan - #23567) (minio docs) (new-integration)
- Add ring switch platform (@rossdargan - #25612) (ring docs) (new-platform)
- Add ring light platform (@rossdargan - #25733) (ring docs) (new-platform)
- Expose Lutron RA2 occupancy sensors (@achatham - #25854) (lutron docs) (new-platform)
- Update sensor.py (@eliseomartelli - #26209) (qbittorrent docs)
- Fix for 0.98: Don’t update disabled entities (Homematic IP Cloud) (@SukramJ - #26236) (homematicip_cloud docs)
- Fix ZHA state restore by always restoring last seen on devices (@dmulcahey - #26271) (zha docs)
- Fix missing DarkSky mdi icon (@mbo18 - #26274) (darksky docs)
- Fix partly cloudy (@balloob - #26277) (buienradar docs) (mysensors docs)
- UniFi - dont schedule updates on disabled entities (@Kane610 - #26278) (unifi docs)
- Expose current direction properly on state machine (@balloob - #26298) (demo docs) (fan docs)
- bump tuyaha 0.0.4 (@PaulAnnekov - #26303) (tuya docs)
- Fix Alexa Report State (@balloob - #26305) (alexa docs) (cloud docs)
- Fix alexa bad temp sensors (@balloob - #26307) (alexa docs)
- Fix google_maps scan interval (@tyjtyj - #26328) (google_maps docs)
- Upgrade pyhaversion to 3.1.0 (@fabaff - #26232) (version docs)
- String has nothing to do with class method naming (@Kane610 - #26368) (deconz docs)
- Fix race during initial Sonos group construction (@amelchio - #26371) (sonos docs)
- Allow core config updated (@balloob - #26398) (websocket_api docs)
- Met, check for existing location (@Danielhiversen - #26400) (met docs)
- Update Harmony to 0.1.13 (@ehendrix23 - #26402) (harmony docs)
- Fix state report (@balloob - #26406) (alexa docs)
- Bump ISY994’s PyISY dependency to 1.1.2 (@OverloadUT - #26413) (isy994 docs)
- Fix Tuya switches (@balloob)
We have been notified by Gregor Godbersen that our markdown renderer was vulnerable for an XSS attack if exposed to specially crafted markdown. This was introduced in the Home Assistant 0.98 release. We have verified that Home Assistant 0.98.0 does not render unsafe markdown, yet still wanted to make sure to issue an update as soon as possible.
More information in this frontend pull request.
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.Read on →
It’s time for Home Assistant 0.97! It has been a very busy release cycle as we have been fine-tuning our development process, which makes it easier to maintain and contribute to Home Assistant in the future.
As per previous announcements, this is the first release that requires at least Python 3.6. If you are on Hassbian and are planning to upgrade Python, please take note of the known issues with the default wheel server.
This is the last release that bases our Home Assistant Docker image (
homeassistant/home-assistant) on Debian. As decided in Architecture Decision Record 0006: Docker Images, the image will be based on Alpine Linux starting with the 0.98 release. These new Docker images will be running same the Home Assistant Docker image that powers Hass.io. You don’t need to change anything unless you have installed Debian packages manually or made any other changes to the running container. However, if that is the case, you’ll need to find the Alpine equivalent of whatever you were doing.
The main driver behind this change is that by re-using images, maintenance becomes easier, and users of the
homeassistant/home-assistant image can benefit from the many optimizations that went into the Hass.io images.
Thanks to @balloob it is now possible to reload scenes from
configuration.yaml without restarting Home Assistant. This is part of an effort for Home Assistant 1.0 to make scenes a first-class citizen of Home Assistant, including creating/restoring scenes on the fly in the future. To track this effort, follow this page.
In case you missed the announcement, we released Home Assistant Cast yesterday. It allows you to transform any Cast interface into a display for Home Assistant. Read the announcement for more information..
Home Assistant Cast opens a whole new world of possibilities for using Lovelace, and we are really excited to learn what cool things you will do with it! If you created something, feel free to share it on social media using the
#homeassistantcast hash-tag. We are looking forward to your pictures!
This release contains a couple of notable UI changes:
- New Cast row available in the Lovelace entities card to start Home Assistant Cast.
- Improved accessibility for visually impaired users. This is an ongoing effort on making the frontend accessible.
- Split out
configuration.yamlactions from the core configuration into a new server control config panel. Thanks @IcyPalm
- Markdown card now has a size + 1, if it has a header defined. Some layouts might be moved around due to this.
We wrote about how we use Azure DevOps to automate the development of Home Assistant. Interested to see how Home Assistant is automatically build? Check the developer blog.
- Add support for recording history to Apache Kafka (@bachya - #25085) (apache_kafka docs) (new-integration)
- Rename RitAssist to FleetGO (@depl0y - #25093) (fleetgo docs) (ritassist docs) (breaking change) (new-integration)
- Add Twente Milieu integration (@frenck - #25129) (twentemilieu docs) (new-integration)
- Add Fortigate integration (@kifeo - #24908) (new-integration)
- Add support for Rainforest Eagle-200 (@gtdiehl - #24919) (rainforest_eagle docs) (new-integration)
- Add Elgato Avea integration (@pattyland - #24281) (avea docs) (new-integration) (new-platform)
- Suez water (@ooii - #23844) (suez_water docs) (new-integration)
- Add new device tracker supporting Fortinet FortiGate (@kimfrellsen - #23078) (fortios docs) (new-integration) (new-platform)
- Add De Lijn (Flemish Public Transport) component (@bollewolle - #24265) (delijn docs) (new-integration) (new-platform)
- Add Support for VeSync Devices - Outlets and Switches (@webdjoe - #24953) (vesync docs) (new-platform)
A new breaking change was introduced with 0.97.1 to accommodate for the HaveIBeenPwned shutting down v2 of their API on August 18. The integration has been migrated to using v3.
- Update HIBP sensor to use API v3 and API Key (@aetaric - #25699) (haveibeenpwned docs) (breaking change)
- Update Cisco Mobility Express module version (@fbradyirl - #25770) (cisco_mobility_express docs)
- Don’t track unstable attributes (@jjlawren - #25787) (unifi docs) (breaking change)
- Fix deconz allow_clip_sensor and allow_deconz_groups options (@Anonym-tsk - #25811) (deconz docs)
- Fix eco preset for Wink Air Conditioner (@cameronrmorris - #25763) (wink docs)
- Update pyvera to 0.3.3 (@brandond - #25820) (vera docs)
- Fix Netatmo climate issue (@cgtobi - #25830) (netatmo docs)
- Fix KNX Climate mode change callback (@tombbo - #25851) (knx docs)
- Always populate hvac_modes in SmartThings climate platform (@andrewsayre - #25859) (smartthings docs)
- UniFi - Use state to know if device is online (@Kane610 - #25876) (unifi docs)
- Fix issue with nuki new available state (@pvizeli - #25881) (nuki docs)
Home automation itself has never been a goal of Home Assistant. Instead, it’s a tool that allows us to have technology improve our life, and that of the people around us. I wrote about this 3,5 years ago, and it’s been our guiding principle in building out Home Assistant.
Today we’re introducing Home Assistant Cast to help with this. With Home Assistant Cast, people in your house can have quick access to see the state of your house and it’s residents, and quickly adjust the most important settings. This is achieved by running on Chromecast powered screens that you already have throughout your house: your Google Nest Hubs and TVs.
You can launch Home Assistant Cast by going to the Home Assistant Cast launcher website. It works with any version of Home Assistant released in the last year. Home Assistant Cast can show any Lovelace view, including support for custom cards and themes. Got no Lovelace configuration? Don’t worry, we’ll generate a view and show that instead.
You need to authorize Home Assistant Cast to access your Home Assistant instance. Once it’s authorized, you can start Home Assistant Cast on your Chromecast device. Next, your Chromecast device will set up a direct connection to your Home Assistant instance and give you the option to pick a view to display.
Home Assistant Cast can:
- Render Lovelace views, including custom cards.
- Stream real-time data to make sure that the UI always shows the latest state of your house.
- Navigate between views using navigate actions inside an entities card or using weblinks.
- Instantly update the casted Lovelace UI when you update your Lovelace configuration.
We have been able to get touch controls working on the Google Nest Hub and other Google Assistant devices with a screen. The available configuration options to indicate that we’re a touch-optimized app did not work. We were still able to achieve touch controls by manipulating code that is injected into the Home Assistant Cast website when the Chromecast runs our receiver application.
There is no guarantee that touch controls will keep working, it might be blocked. It might stop this week, next month, next year, or it keeps working forever.
I hope that by releasing it with touch controls enabled, we can show Google that this is something that people want, and are willing to invest in for just this reason.
To make sure everyone sees it, I encourage people to share photos and videos of Home Assistant Cast in action on Twitter, Facebook, YouTube and other social media with the hashtag
#homeassistantcast. Let’s share the love!
On August 7, Home Assistant 0.97 will be released. This release will allow launching Home Assistant Cast from the Home Assistant frontend. You can do this by including a new
cast row that can be placed inside an entities card.
# Example entities card configuration type: entities entities: - type: cast name: Lights # The path of the view (or number) view: lights hide_if_unavailable: true
This is the first release of Home Assistant Cast, and so we focused on the minimum that was worthy of a release. We still have some more things planned:
After upgrading to Home Assistant version 0.96.0, some users started seeing errors like this:
ImportError: /usr/lib/arm-linux-gnueabihf/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /srv/homeassistant/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so
And all integrations that communicated with SSL (https) stopped working.
This applies if you have one of these installations with a manual installation or with Hassbian:
- Raspbian Jessie
- Raspbian Stretch
The reason for this, is the way piwheels determines the OS version you have by looking at the Python version that is in use.
There are two potential solutions for this issue, where option 1 are considered the best of them.
Upgrade your distribution to Debian Buster.
NB!: This option will upgrade your entire system and might negatively affect other things you might have running.
Before you continue with this, you should make sure that you have a recent backup of your system.
busterin these files:
sudo apt-get update
sudo apt-get -y dist-upgrade
Disable piwheels prebuilt packages.
This option is a faster method initially, but it has the huge drawback of having to compile the packages locally. You should only use this option if you run other things on your system that will not work if you use the first option.
/etc/pip.confand comment out the line containing piwheels, like this:
[global] # extra-index-url=https://www.piwheels.org/simple
pip uninstall cryptography
pip install --no-cache cryptography==2.7
It’s time for Home Assistant 0.96. It’s a great release, but we also made some changes, so please pay attention.
This will be the last release that supports Python 3.5. Home Assistant 0.97 will require at least Python 3.6. If you are using Hass.io or Docker, you will not have to do anything. If you are running Hassbian, upgrade instructions are here. If you run Home Assistant inside a virtual environment, please follow the instructions for your OS to update.
Home Assistant has adopted a new Python support strategy. Starting August 1, we will now support the last two minor stable releases of Python. This is currently Python 3.6 and Python 3.7. Python 3.8 is expected to be released near the end of the year. Once that is released, Python 3.6 support is deprecated and removed 2 months later.
The sidebar has gotten an improved look! Idea started with a mockup by @JuanMTech on Twitter and grew into a full blown implementation. When visiting Home Assistant on devices with big screens (tablets, laptops, desktops), the sidebar will now always be visible in a minimized mode with the ability to fully hide it via the profile page. The developer tool buttons have been collapsed into a single menu item. The dev tools will now store it’s exact state when you navigate away, included the dev tool that is open. We’ve also taken the opportunity to make notifications accessible from the sidebar, instead of only via the Lovelace UI.
On mobile devices the sidebar will behave like it previously did. Check the demo for a preview.
This release includes a major clean up of our climate integration, correcting some architectural flaws from the past. The goal of this clean up was to a better job at providing an abstraction layer that fits many devices. This will improve compatibility with services that interact with Home Assistant (like Alexa/Google) and will allow us to make sure the UI works for everyone. We’ve done a lot of testing during the beta, but there might still be things that don’t work as expected. If you notice anything, please report by opening a bug report.
For a breakdown of what was driving the change, check our blog post on the dev blog.
The following things have been changed:
operation_modehas been renamed to
hvac_modeto emphasize what the mode is for.
- We split HVAC mode
heat_cool. If it’s
heat_cool, the user has set a temperature range the device has to use heating and cooling to stay within. Auto mode is now limited to devices that are running on a schedule or AI.
- The state of a climate entity is now always equal to the HVAC mode.
hvac_actionis introduced for integrations that know the current action: heating, cooling, idle.
set_hold_modehave been merged into
set_preset_mode. So instead of
turn_away_mode_on(), we will now call
is_onproperty has been removed. If a device is able to turn off, it should include the HVAC mode
- Property names have been aligned, anything ending with “_list” is now named “_modes”.
- Integrations are only allowed to represent functionality that is present in the API. It is not allowed to add your own fake away mode.
Huge thanks to @pvizeli who drove the core implementation and to the following people for helping getting it past the finish line:
As part of Home Assistant 1.0 effort, we’re simplifying the default user interface. We’re doing this by hiding certain configuration options like the customize panel behind a new “advanced mode” toggle. You can find this toggle on your profile page.
Advanced mode is only available to admin users and is a per-user setting. Enabling it for yourself won’t enable it for other admins.
Raspberry Pi 4 support has arrived in beta. @pvizeli has been hard at work and the first beta release is available. If you flash this image, you will be able to update to a stable release later from within the UI.
Big shout out to @frenck who has been doing a lot of clean up on the website. Like, a lot lot. He has removed over 20.000 unused lines of code, and has simplified how we render code blocks, pages and headers. It takes Jekyll now a mere 14 seconds to generate the whole website! It used to be 6 minutes! 😲
The Home Assistant code repository on GitHub has hit 25.000 stars! 🤩
The Home Assistant Podcast has published episode 53 to discuss all the ins and outs of this new release.
@isabellaalstrom has redone her Lovelace UI and it is looking fabulous!
- Add Trafikverket train component (@endor-force - #23470) (trafikverket_train docs) (new-integration)
- Add integration for Vallox Ventilation Units (@andre-richter - #24660) (vallox docs) (new-integration)
- Add support for aurora ABB Powerone solar photovoltaic inverter (@davet2001 - #24809) (aurora_abb_powerone docs) (new-integration)
- Add support for arcam fmj receivers (@elupus - #24621) (arcam_fmj docs) (new-integration)
- Add support for Notion Home Monitoring (@bachya - #24634) (notion docs) (new-integration)
- Add support for World Wide Lightning Location Network (@bachya - #25001) (new-integration)
- Add template vacuum support (@luukd - #22904) (template docs) (new-platform)
- Fronius (solar energy and inverter) component (@nielstron - #22316) (sensor docs) (new-platform)
- New scanner device tracker and ZHA device tracker support (@dmulcahey - #24584) (device_tracker docs) (zha docs) (new-platform)
- [climate] Bugfix honeywell misleading error message (@zxdavb - #25048) (evohome docs) (honeywell docs) (new-platform)
- [climate] Add water_heater to evohome (@zxdavb - #25035) (evohome docs) (beta fix) (new-platform)
- [Climate] Hive Add water heater Component post the refresh of the climate component. (@KJonline - #25148) (hive docs) (beta fix) (new-platform)
- Show off value (@pvizeli - #25236)
- Fix eq3btsmart (@pvizeli - #25238) (eq3btsmart docs)
- Make presets prettier (@cgtobi - #25245) (netatmo docs)
- Fix the unit of measurement for ecobee climate (@cgtobi - #25246) (ecobee docs)
- ecobee Preset Fix (@geekofweek - #25256) (ecobee docs)
- Update CT80 Humidity call (@zombielinux - #25258) (radiotherm docs)
- Restore SmartThings A/C on/off services (@andrewsayre - #25259) (smartthings docs)
- Add hvac modes back to opentherm (@balloob - #25268) (opentherm_gw docs)
- Added states and modes for zwave climate (@stboch - #25274) (zwave docs)
- Fix fritzbox climate HVAC mode / temperature (@cgtobi - #25275) (fritzbox docs)
- Fixed python-wink method names (@w1ll1am23 - #25285) (wink docs)
- [climate] Correct honeywell supported_features (@zxdavb - #25292) (honeywell docs)
- Fix HM with use wrong datapoint for off (@pvizeli - #25298) (homematic docs)
- Fix plant error when adding new value (@cgtobi - #25302) (plant docs)
- temporary patch to fix KNX climate devices (@farmio - #25356) (knx docs)
- Restore sensiobo turn on/off methods (@balloob - #25321) (sensibo docs)
- Update zwave climate mappings (@eyager1 - #25327) (zwave docs)
- Restore Daikin A/C on/off services (@fredrike - #25332) (daikin docs)
- Fix for hvac_modes list being null (@schmic - #25347) (zwave docs)
- add available to device info (@dmulcahey - #25349) (zha docs)
- Fix preset service call (@cgtobi - #25358) (netatmo docs)
- Improve geniushub logging and bump client (@zxdavb - #25359) (geniushub docs)
- Introduce PRESET_NONE for climate (@balloob - #25360)
- bump quirks version (@dmulcahey - #25362) (zha docs)
- Fix ESPHome climate migration (@OttoWinter - #25366) (esphome docs)
- fix remove and re-add scenario (@dmulcahey - #25370) (zha docs)
- change and condition to or condition (@dmulcahey - #25374)
- Add Netatmo climate battery level (@cgtobi - #25143) (netatmo docs)
- Fix Netatmo climate battery level (@cgtobi - #25165) (netatmo docs)
- Tweak evohome migration (@zxdavb - #25281) (evohome docs)
- Bump pyatmo version to 2.1.2 (@cgtobi - #25296) (netatmo docs)
- [climate] Bugfix/Tweak honeywell migration (@zxdavb - #25369) (honeywell docs)
- Update Daikin preset modes (@fredrike - #25395) (daikin docs)
- Update pysonos to 0.0.22 (@amelchio - #25399) (sonos docs)
- [climate] Correct evohome hvac_action (@zxdavb - #25407) (evohome docs)
- Bump geniushub client (@zxdavb - #25458) (geniushub docs)
- Allow cors for static files (@balloob - #25468) (http docs)
- Fix Nest turning off eco (@balloob - #25472) (nest docs)
Today is my birthday. I’m turning 33. And to celebrate, I want to share a preview of a project that I have been working on: Home Assistant Cast. It’s the Home Assistant Lovelace interface, but for Cast-enabled devices like Chromecasts or Google Assistant devices with screens.
Photo of the Google Nest Hub running the Home Assistant Cast interface.
It will work with any Cast enabled device, and if available, will allow the user to use the touch screen to interact with the interface. The interface is built with Lovelace, so it’s the same powerful features and real-time interaction that you are used to today.
Chromecast apps are usually launched from a browser or a mobile app on Android or iOS. But we wouldn’t be Home Assistant if we had just one solution. Home Assistant has been integrated with Chromecasts for over 5 years. This means that you will be able to launch Home Assistant Cast as part of your automations. For example, you will be able to show information on your TV if a visitor has been detected at the frontdoor. Nice!
For a full demo walkthrough of how it works, check the video below:
It is time for release 0.95, and guess what? It’s good! First things first, did you see the new Raspberry Pi 4? 3x as fast as the model 3, gigabit ethernet port actually supports gigabit speeds now, faster memory read/write, oh well, faster everything! The benchmarks are impressive. Best of all? The base price stayed the same. However, you can now also pay more for upgraded models with more memory, which is great if you like to install all the hass.io add-ons.
Talking about Hass.io support, we’ve received ours and work to add support will start shortly 🚀. Since we’re discussing Raspberry Pi’s, can we talk SD cards really quick? Quality matters. When you buy SD Cards get the pro variants, preferably the ones that are class A1 or, even better, class A2. The A stands for application and they are optimized for running apps, like Home Assistant.
LOOK WHAT WE HAVE HERE 😍 pic.twitter.com/HrEu1a272Y— Pascal Vizeli (@pvizeli) June 26, 2019
With this release, we’re making integrating Home Assistant into moving vehicles so much easier. In the last release, we introduced support for the core config to be updated without restarting Home Assistant. This release brings it a step further and introduces a new service
homeassistant.set_location. With this service, you can automatically change the location that Home Assistant is located. Once updated, it automatically updates all the things that rely on the location, like your sunset triggers and your current weather (only Met supported now).
Here at Home Assistant, we’re big fans of privacy and we’re always working on improving it. So this brings us to AdGuard. AdGuard Home is a local DNS server that automatically blocks any device looking up a domain that is used to serve ads, spreads malware, or isn’t appropriate for your kids. Thanks to @frenck, starting release 0.95, it has a top-notch integration with Home Assistant:
- One-click install the AdGuard add-on from the Community Hass.io Add-ons.
- Home Assistant automatically detects the Hass.io add-on and offers to set it up. (It works with standalone installs too, see the AdGuard integration documentation on how to configure it.)
One cool new feature: because parental control is now available as a switch, you can control AdGuard via Alexa and Google: “Hey Google, turn on parental control” 😲.
Frenck shows a demo of the AdGuard integration during his stream. See the demo.
More goodies. Keep paying attention as we’re not done yet. Also new in 0.95 is the Life360 integration thanks to the hard work by @pnbruckner. This integration started its life a little over 360 days ago on the forums as a custom integration and has now become part of Home Assistant. Life360 is an app to allow friends or family members to share location with each other.
If you are migrating from the custom integration, please read the instructions.
One more thing… This release improves the Home Assistant Cloud Alexa integration. Just like Google Assistant, it is now possible to manage which entities are exposed to Amazon via the user interface. Alexa actually offers some cool features around this. Any change you make is instantly reflected inside Alexa. Add an entity? Control it instantly via Alexa.
However, we didn’t stop there. The manual installations of Alexa has had optional proactive state reporting since earlier this year, and this is now available for Home Assistant Cloud users too. If you choose to opt-in to this, every state change of your exposed entities is sent to Amazon as soon as they happen. It allows Amazon Echos with displays, to instantly reflect the state and allows you to create routines inside Amazon powered by your Home Assistant entities.
Austin Andrews, the lead designer of Material Design Icons, informed us that Material Design Icons 3.7.95 has been released. It includes a handful of the top requested Home Assistant icons (and a total of 100 new icons!).
For the last couple of releases, we’ve been printing warnings if your configuration contained invalid slugs or extra keys. Starting with this release, these warnings are now errors. No procrastination anymore, you’ll need to fix it now.
We have also realized that the default database clean up task never automatically ran as intended. Instead of running every night, cleaning up your history so that it only contains the last 10 days, it never ran. Oopsie. We’ve fixed it in this release, so now the defaults kick in. Want to adjust how much history you want to retain? Check the docs.
- Adds AdGuard Home integration (@frenck - #24219) (adguard docs) (new-integration)
- SolarEdge Local Component (@drobtravels - #23996) (solaredge_local docs) (new-integration)
- Google Cloud Platform component (TTS) (@lufton - #23629) (google_cloud docs) (new-integration)
- Life360 integration (@pnbruckner - #24227) (life360 docs) (new-integration)
- Adds integration for Plaato Airlock (@JohNan - #23727) (plaato docs) (new-integration)
- Queensland bushfire alert feed platform (@exxamalte - #24473) (qld_bushfire docs) (new-integration)
- Vlc telnet (@rodripf - #24290) (vlc_telnet docs) (beta fix) (new-integration)
- Add LCN scene platform (@alengwenus - #24242) (lcn docs) (new-platform)
- Add Environment Canada weather, sensor, and camera platforms (@michaeldavie - #21110) (environment_canada docs) (new-platform)
- Support for Salda Smarty XV/XP Ventilation Unit (@z0mbieprocess - #21491) (smarty docs) (new-platform)
- Add support for ZHA door locks #2 (@presslab-us - #24344) (zha docs) (new-platform)
- Somfy open api (@tetienne - #19548) (somfy docs) (new-platform)
- Add APRS device tracker component (@PhilRW - #22469) (aprs docs) (new-platform)
- Camera platform for buienradar imagery (@ties - #23358) (buienradar docs) (new-platform)
- Add incomfort sensor and binary_sensor (@zxdavb - #23812) (incomfort docs) (new-platform)
- Added ELV PCA 301 smart emeter switch (@majuss - #23300) (elv docs) (new-platform)
- Fix life360 exception when no location provided (@pnbruckner - #24777) (life360 docs)
- Pubnub to 1.0.8 (@w1ll1am23 - #24781) (wink docs)
- Catch uncaught Alexa error (@balloob - #24785) (cloud docs)
- Fix netatmo weatherstation setup error (@cgtobi - #24788) (netatmo docs)
- Update azure-pipelines-release.yml for Azure Pipelines (@pvizeli - #24800)
- Make sure entity config is never none (@balloob - #24801) (google_assistant docs)
- Bump ZHA quirks module (@dmulcahey - #24802) (zha docs)
- Fix another Life360 bug (@pnbruckner - #24805) (life360 docs)
- Fix calling empty script turn off (@balloob - #24827) (script docs)
- Improve autodiscovered yeelights model detection (@zewelor - #24671) (yeelight docs)
- Guard for None entity config (@balloob - #24838) (alexa docs) (cloud docs)