Blog

Using Fedora Atomic with Home Assistant

The Hackerspace Eastermundigen is often my real-world playground for Home Assistant-related topics which sometimes more belong in the industrial automation area than in a home. Also, it gives me access to devices which I don’t have like 3D printers, laser cutters, connected power strips and a like. In the past the local Home Assistant instance there was running on an old CubieBoard2 with Fedora ARM. It was one of several systems which were running 24/7. To reduce the electricity costs we decided to consolidate the physical systems to only two. One for storage and one for all other services.

Read on →

Updated release schedule

So this weekend we’re going to shake things a little up. Instead of releasing a new version today, we’ve released a beta version of the new version: 0.66.0.beta0. After a week of being in beta, the version will be promoted to be the new stable release. While the beta is live, we will accept contributions on the dev branch for the next version as usual.

Diagram showing the updates release cycle containing a week extra time before release. Diagram of the new release schedule

The goal is to create a more stable first release without the need for a quick follow up hot fix. So if you want to be able to access the new features faster but don’t mind the risk of running into the occasional bug, get yourself on the beta channel today:

  • Hass.io users will be able to enable the dev channel in the system settings.
  • For Docker users, the beta’s will be published under the rc tag.
  • Beta’s are also published to PyPi. Because it is a beta release, it will not be installed by Pip unless explictely specified in the install command: pip3 install --pre --upgrade homeassistant.

The documentation for the beta version can be found at https://rc.home-assistant.io/.

If you find issues with either the code or the docs of the pre-release, please open an issue in the appropriate place or, even better, submit a pull request to fix it.


0.65: Rename entities, new filter sensor, UpCloud and Channels

Release 0.65 has arrived and oh boy, is it awesome. First off, in case you have missed the previous release notes and announcements: Starting with this release, Home Assistant has dropped support for Python 3.4. The minimum supported version is now Python 3.5.3. If you are on Hass.io or Docker, you’ll automatically be running the latest and greatest. If you’re on an older Hassbian installation or did your own Linux setup you’ll need to upgrade to at least Python 3.5.3.

Naming entities

With the introduction of the entity registry in 0.63, Home Assistant is making sure that the same devices always receive the same entity IDs. This release is taking it a step further by allowing users to change the name of a device from the frontend. Changing the name will be instantly applied and overrides whatever name the device is given by the integration. If you want to switch back to the name from the integration, set the name to blank.

This feature is, just like the entity registry, only available for integrations that provide unique IDs for their entities. Adding this to each integration is still a work in progress.

Screencap of interaction with the UI to override the name of a light. The new entity registry settings page in action.

Filter sensor

The filter sensor is a new 2nd order sensor by @dgomes: it will consume data from a sensor entity and apply filters to it. For the initial implementation it comes with Low-pass, Outlier and Throttle filters. Expect more to be added in the future.

sensor:
  - platform: filter
    name: "filtered realistic humidity"
    entity_id: sensor.realistic_humidity
    filters:
      - filter: outlier
        window_size: 4
        radius: 4.0
      - filter: lowpass
        time_constant: 10
        precision: 2

Chart showing a humidity sensor with a lot of spikes and a smooth graph produced by the new filter sensor. Graph showing both the input sensor and the output of the filter sensor.

Light Group

We have had some discussion lately and realized that our current group component is very limiting. Extending it would probably lead to more confusion so we’ve decided to take a new approach: groups that are designed to be part of a specific component. The first one in this series comes at the hand of @OttoWinter: the group light (docs).

The group light creates a single light inside Home Assistant that is representing a group of lights. All commands will be forwarded and the state is a combination of all the lights.

light:
  - platform: group
    name: Cool Light Group
    entities:
      - light.amazing_light
      - light.foobar
      - light.sun

HomeKit

HomeKit got some more upgrades. We’ve added support for temperature sensors in Fahrenheit, alarm systems, switches and thermostats. Just a few releases more and we should be able to cover it all.

Optional words for the Conversation component

The conversation component has always been a great introduction to controlling your house by voice. There is no hotword detection or powerful language engine behind it, but it gives a great intro to what is possible. Starting with this release, it will get a little bit more powerful with the introduction of optional words. To mark a word optional, wrap it in square brackets: Change the light to [the color] {color}.

# Example configuration.yaml entry
conversation:
  intents:
    LivingRoomTemperature:
     - What is the temperature in the living room
     - What is [the] living room temperature

intent_script:
  LivingRoomTemperature:
    speech:
      text: It is currently  degrees in the living room.

Screenshot of the frontend with the conversation panel open. Have conversations with Home Assistant via the conversation component.

New Platforms

Release 0.65.1 - March 10

Release 0.65.2 - March 10

Release 0.65.3 - March 11

Release 0.65.4 - March 12

Release 0.65.5 - March 14

Release 0.65.6 - March 21

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.

Read on →

0.64: Over 1000 integrations! New: HomeKit, BMW, August.

🎉 1000 integrations, 1000 integrations, 1000 integrations! 🎉

That’s right, Home Assistant 0.64 is here! In case you have missed our latest Cloud update, the Home Assistant Alexa skill is now live in all regions and we’re working with Google in getting the Smart Home skill for Google Assistant approved. Exciting times!

In the meanwhile, some great new integrations have landed, including yet another car 🚗 This time it’s BMW.

This is going to be the last release that supports Python 3.4. Starting with the next release, the minimum version required will be Python 3.5.3. Learn more here.

HomeKit

Native HomeKit support has arrived! Thanks to @cdce8p It is now possible to expose some devices over HomeKit to allow control via Siri and other things speaking the HomeKit protocol. Initial support has been added for temperature sensors and cover devices. Expect more devices to be added soon.

Check the HomeKit docs

Hass.io UI update

Some of you already noticed that your Hass.io panel looks a bit different since this morning: @pvizeli pressed the red green button and the new UI got live. The Hass.io team (@frenck @pvizeli @ryanm101) is doing a great job in adding new features (like partial or encrypted snapshots) to the Hass.io backend and fixing bugs. However, those features where only added to the command line tools but not to the frontend.

That’s where @c727 and @ciotlosm jumped in. They made new features accessible via the frontend and improved the overall navigation.

We know that some features are still missing or broken, we are fixing this right now! Check this issue first before you report any issues related to the Hass.io panel, please.

Chart.js

The frontend is now rendering the graphs and charts using Chart.js thanks to the hard work by @fanthos. This means that you can now render all the charts without being connected to the internet!

August integration

Major new integration by @snjoetw: August locks and door bells! Lock and unlock from Home Assistant and detect when your doorbell is rung or senses motion. Awesome!

Cast bug fixes

@OttoWinter has crushed a bunch of bugs for our ChromeCast integration. Including that nasy Cast group discovery issue! He is working on some more improvements that should arrive soon, stay tuned. Awesome work Otto!

New Platforms

Release 0.64.1 - February 27

Release 0.64.2 - March 1

Release 0.64.3 - March 2

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.

Read on →

Cloud Update

We’re happy to announce that the Home Assistant skill is now available in Canada, UK, Germany, India and Australia! Check it out in the Amazon Alexa Skill store.

In the meanwhile, we have also been working on the Google Assistant integration. We passed the first verification and are now working with Google to do the final verification. Stay tuned!

In less than 2 weeks the open beta is about to expire. We’re still working on setting up the company and payment system so we can start accepting payments. Until we do, Home Assistant Cloud will remain free.


0.63: Entity Registry, SQL Sensor, Mercedes cars

Date set for dropping Python 3.4 support

As announced in October, we’re going to drop Python 3.4 support in 2018. We’ve now decided that in two releases, 0.65, the minimum Python version that will be supported is bumped to 3.5.3. This won’t impact most users. You are already fine if you’re using Hass.io, the latest Debian stable (Stretch) or a derivative of that (Raspbian, Ubuntu).

Entity Registry

This release introduces the entity registry. The entity registry allows integrations to reserve entity IDs. This means that we’ll automatically grant an entity ID to a device. It’s reserved so that no other device will ever get that entity ID. It also means that as a user, you will be able to customize the entity IDs for these devices.

For an integration to leverage the entity registry, it needs to define a unique ID for each of their entities. A unique ID is something that we can uniquely identify the device and that is not configurable. So a serial number and mac address are ok, IP addresses or names are not.

Examples of integrations that have unique IDs defined in this release are Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV.

To update the entity ID that will be assigned to your device, update <config>/entity_registry.yaml and restart Home Assistant (reloading on the fly is planned for a future release).

The entity registry will assign an entity ID the first time that a device is seen. This should be the same entity ID as it always was before. If this is not the case, update the registration entity to change it back to the old entity ID.

We’re planning a lot of cool stuff around the entity registry. Stay tuned!

New Platforms

Release 0.63.1 - February 12

Release 0.63.2 - February 14

Release 0.63.3 - February 17

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.

Read on →

Disabling Disqus comments

Last week, starting with the release of Home Assistant 0.62, we switched to using our community forums for comments on our blog posts. By doing so, people are able to use their existing Home Assistant community accounts to comment on our blog posts and engage with one another. It has been easier for our users to stay in the loop with one less channel to keep track off.

Previously, we were using the free version of Disqus to power comments on our blog. After the switch, to preserve the old comments, we decided to keep Disqus active on the older blog post pages. However, today we decided to turn them off.

Today Disqus changed their advertisement strategy and turned on irrelevant graphical advertisement above and below the comment thread (screenshot). On a phone, it took so much screen real estate that it filled the whole page with an advertisement for weight loss milk. Previously, Disqus had advertisements in an unobtrusive way: showing suggested content a visitor might also be interesed in.

Today we have switched all blog posts to the new commenting system and are no longer serving Disqus comments. We are exploring ways to restore the old comments.


0.62: MyChevy, Iota and Venstar Thermostat

Second release of the year and it’s buzzing on GitHub. This release we had 70 people contribute code. We’ve also managed to finally get our PR count below a 100 open PRs again. A lot of cool stuff still waiting to make it to a future Home Assistant release.

I want to give a shout out to @martinhjelmare and @frenck. Martin is doing an amazing job at code reviews and Franck has been kicking ass with Hass.io add-ons and keeping track of our documentation PRs. Thanks for this amazing work!

MyChevy

With this new integration by @sdague you are able to keep an eye on your Chevy Bolt EV. Keep track if your car is plugged in, the battery stats and the range it is currently capable of driving. Hip!

New Platforms

Release 0.62.1 - January 30

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.

Read on →

Clarification about Emulated Hue

There are some misconceptions floating around about the future of the Emulated Hue component and I would like to set the record straight. The Emulated Hue component is not going to be removed nor will we ever remove any functionality from Home Assistant to push you to support the Home Assistant project by subscribing to the Community Support Package.

The reason people are concerned about the future of the Emulated Hue component is because of a poor choice of words in a deprecation message. This message was introduced a year ago when we deprecated the config option type: alexa for the Emulated Hue component:

Alexa type is deprecated and will be removed in a future version

That config option should never have been called type: alexa but instead have been called mode: legacy. If you think about it, why would emulating something even have different modes it emulates based on the consumer? That means that one of the two emulation modes is incorrect.

The old implementation was not 100% correct. It was correct enough to work with Alexa (the original target) but not with Google Home. When fixing Emulated Hue we added type: alexa to re-enable the old implementation so that people did not have to go through the trouble to re-add their Alexa devices. The option was deprecated to indicate that we would remove the incorrect emulation in the future. However, we forgot about actually following through with that.

The mistake we made was calling the correct mode google_home although it had nothing to do with Google Home. It confused people and they kept adding type: alexa to their configuration, triggering the deprecation warning.

The warning will be updated starting Home Assistant 0.62 and will also include a link to this blog post.

More info:


0.61: Coinbase, Discogs, iGlo, Sochain

Almost a 100 contributors to this release 🎉 That’s what you get when you skip a release. It’s a little late but “Happy New Year” and welcome to 0.61 the first release 2018.

This release contain some backward-incompatible changes. Please make sure that you check the section below if you are running into trouble.

Assistant configs

We made a mistake in the foundation of both the Google Assistant and Alexa integrations: they were storing their config inside customize. This is not the right place and we moved them to be under the components itself. See the backward-incompatible changes section on how to migrate.

Hass.io updates

@pvizeli has made it easier to create and restore snapshots for Hass.io by calling the new services. This way it will be easy to automate the creation of a snapshot at night. The updater has also been fixed and will now report on new versions of Hass.io that are available.

Improved loading speed

@amelchio has made startup of Home Assistant even faster. All service descriptions are now loaded only when needed by the frontend instead of during startup. This did mean that we had to enforce our service convention. We found a few platforms that didn’t follow this and they have been updated:

todoist.new_task -> calendar.todoist_new_task

snapcast.snapcast_snapshot -> media_player.snapcast_snapshot
snapcast.snapcast_restore -> media_player.snapcast_restore

mopar.remote_command -> sensor.mopar_remote_command

broadlink.learn_command_192_168_0_107 -> switch.broadlink_learn_command_192_168_0_107
broadlink.send_packet_192_168_0_107 -> switch.broadlink_send_packet_192_168_0_107

New Platforms

Release 0.61.1 - January 16

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.

Read on →