Home Assistant Podcast #3

Less than one minute reading time
  • Media
Comments

The third episode of the Home Assistant Podcast is out. Paulus joins to talk about some stats and the release of 0.47 and Petar tells all about his Floorplan project for Home Assistant.

Listen online


Home Assistant is moving to Discord

four minutes reading time
  • Community
Comments

Communities grow, things change. We understand that some people don’t like change, and that is why we are trying to make our chat transition from Gitter to Discord as smooth as possible for everyone. Join us now with just a click!

Click Read on → to find out more about why we’re moving.

Read on →

0.48: Snips.ai, Shiftr.io and a massive History query speed up

14 minutes reading time
  • Release-Notes
Comments

It’s time for a great new release!

We’ve started the process of upgrading our frontend technology. If you notice something not working that did work before, please open an issue.

Pascal has added a new option to Home Assistant core to set a list of whitelisted folders that Home Assistant can read from. When a component allows to send files (like Telegram), it will only be allowed to send files from those directories. The only default whitelisted folder is the public <config>/www directory.

Z-Wave will, as announced in the last release, be defaulting to generate the new entity ids. More info in the blog post. You can still opt-in for the old style.

zwave:
  new_entity_ids: false

Big speed up in querying the history

Thanks to the work by @cmsimike in #8255 you’ll see a significant speed up when using the history view. In his local tests queries went from 1 minute to 90ms! ⚡️

Snips.ai component

Snips has contributed a component to integrate with their Snips.ai local voice assistant. This will allow you to hook a speaker and a microphone into your Raspberry Pi and make your own local Amazon Echo quickly. See the docs for further instructions.

Also a shoutout to @michaelarnauts for keeping an eye on our Docker build and once again reducing the file size 👍

Release 0.48.1 - July 5

New Platforms

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.47: Python Scripts, Sesame Smart Lock, Gitter, Onvif cameras

16 minutes reading time
  • Release-Notes
Comments

In this release a ton of new stuff! And who doesn’t like new stuff? This release we’re passing the 700 integrations for Home Assistant. As of today we’re 1369 days old, which means that roughly every two days a new integration gets added!

Python Scripts

The biggest change is a new type of script component: Python scripts. This new component will allow you to write scripts to manipulate Home Assistant: call services, set states and fire events. Each Python script is made available as a service. Head over to the docs to see how to get started.

Updater

The updater has received a new opt-in option to let us know which components you use. This will allow us to focus development efforts on the components that are popular.

updater:
  include_used_components: true

And as a reminder. We will never share gathered data in a manner that can be used to identify anyone. We do plan on making aggregate data public soon. This will include total number of users and which hardware/software platform people use to run Home Assistant.

Z-Wave

Z-Wave is also getting a big update in this release. The confusing entity_ids will be on their way out. There is a zwave blog post that gives more detail, but the upgrade steps will be as follows:

  1. Run Home Assistant as normal and the old IDs will still be used.
  2. The new entity IDs will be shown in the more-info dialog for each entity. Check to make sure none of them will have conflicts once the new names are applied.
  3. Rename entities using the ui card as described in the blog post to avoid conflicts. Restart Home Assistant to observe the changes.
  4. Update all places mentioning IDs (groups, automation, customization, etc.) in configuration.yaml.
  5. Add new_entity_ids: true to your zwave config.
  6. Restart Home Assistant to run with new IDs.
  7. The old entity IDs will be available in the more info dialog to trace down any remaining errors.

Monkey Patching Python 3.6

Some people have noticed that running Home Assistant under Python 3.6 can lead to segfaults. It seems to be related to the earlier segfault issues that we experienced when we released the asyncio-based core. We thought that those issues would have been fixed when Python bug 26617 was resolved. Although we see less reports compared to the old bug, there are still users experiencing them (gdb stacktrace points at PyObject_GC_Del()).

Since Python 3.6, the Task and Future classes have been moved to C. This gives a nice speed boost but also prevents us from monkey patching the Task class to avoid the segfault. Ben Bangert managed to brew up another monkey patch to stop Python 3.6 from using the C classes, falling back to the Python versions instead. This allows us to apply the original monkey patch again.

Both monkey patches are now active by default starting version 0.47 to avoid our users experiencing segfaults. This comes at a cost of not being able to benefit from all optimizations that were introduced in Python 3.6.

To run without the monkey patch, start Home Assistant with HASS_NO_MONKEY=1 hass. We will further investigate this issue and try to fix it in a future version of Python.

Release 0.47.1 - June 21

New platforms

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 →

ZWave Entity IDs

two minutes reading time
  • Technology
Comments

ZWave entity_ids have long been a source of frustration in Home Assistant. The first problem we faced was that depending on the order of node discovery, entity_ids could be discovered with different names on each run. To solve this we added the node id as a suffix to the entity_id. This ensured that entity_ids were generated deterministically on each run, but additional suffixes had to be added to handle edge cases where there would otherwise be a conflict. The resulting entity_ids worked, but have been difficult to work with and makes ZWave a strange exception among other Home Assistant components.

Thanks to the awesome work of @turbokongen, a growing number of ZWave configuration options are now available from the new ZWave panel in the Home Assistant frontend. Among these new features is support for renaming of ZWave nodes and their underlying values. (These renames are persisted in zwcfg_*.xml) This is important, because these items are combined to form the Home Assistant entity name, which is used to generate the entity_id. Now that these options are available, ZWave users can rename nodes and values, influencing the entity_ids that are generated by Home Assistant.

Now that users are able to control these names, we will be making changes to how the entity_ids are generated for ZWave entities. The ZWave entity_ids are going to switch back to using the standard entity_id generation from Home Assistant core, based on the entity names. Moving forward, if there is a conflict when generating entity_ids, a suffix will be added, and it will be the responsibility of the user to rename their nodes and values to avoid the conflict. This is the same as any other platform in Home Assistant where two devices are discovered with the same name.

With the release of 0.47, this feature will be opt-in. Setting new_entity_ids: true under zwave: in your configuration.yaml will enable the new generation. After 0.48 this feature will become opt-out. From 0.48 onward, unless you’ve declared new_entity_ids: false you will switch to the new entity_id generation. At an undecided point in the future, the old entity_id generation will be removed completely.

I’m sure all ZWave users understand that the current entity_ids aren’t easy to use. They’re annoying to type in configuration.yaml, and break if a node needs to be re-included to the network. We know that breaking changes are painful, and so we’re doing what we can to roll this change out as smoothly as possible. The end result should be a dramatic simplification of most ZWave configurations. We hope that this change will ultimately make ZWave much easier to work with, and bring ZWave configuration just a little closer to the rest of the Home Assistant platforms.



0.46: Rachio sprinklers, Netgear Arlo cameras and Z-Wave fans

10 minutes reading time
  • Release-Notes
Comments

It’s time for 0.46! This release does not have too many new integrations, instead it focussed on bug fixes.

New platforms

Release 0.46.1 - June 9

Breaking changes

  • The USPS sensor entity names have changed as there are now two. One for packages and one for mail. Config will now also use scan_interval instead of update_interval (@happyleavesaoc - #7655) (sensor.usps docs) (breaking change)
  • Automation state trigger: From/to checks will now ignore state changes that are just attribute changess (@amelchio - #7651) (automation.state docs) (breaking change)
  • Redesign monitored variables for hp_ilo sensor. monitored_variables is now a list of name and sensor_type values (@Juggels - #7534) (sensor.hp_ilo docs) (breaking change)
sensor:
  - platform: hp_ilo
    host: IP_ADDRESS or HOSTNAME
    username: USERNAME
    password: PASSWORD
    monitored_variables:
      - name: SENSOR NAME
        sensor_type: SENSOR TYPE
  • Automation - time: The after keyword for time triggers (not conditions) has been deprecated in favor of the at keyword. This resembles better what it does (old one still works, gives a warning) (@armills - #7846) (automation.time docs) (breaking change)
  • Automation - numeric_state: above and below will no longer trigger if it is equal. (@armills - #7857) (breaking change)
  • Broadlink switches: Entity ids will change for switches that don’t have a default name set. In this case the object_id is now used. (@abmantis - #7845) (switch.broadlink docs) (breaking change)
  • Disallow ambiguous color descriptors in the light.turn_on schema. This means that you can no longer specify both xy_color and rgb_color. (@amelchio - #7765) (breaking change)

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 →


Home Assistant 0.45: Automation editor, Z-Wave panel, OCR

12 minutes reading time
  • Release-Notes
Comments

Welcome to another great release of Home Assistant! While some of contributors and users are gathering at PyCon US 2017, we still managed to get a great release together!

First thing for this release is a feature that has been requested a lot: an automation editor! It’s still experimental - and many things are still in progress - but it works! You can create new automations and edit existing ones. If you start a new config, you’re all good to go. Otherwise check these instructions to get your automations ready for editing in the UI.

Check this video by Ben from BRUHautomation to see the new release in action.

As the editor is experimental, there are some limitations. These include that Chrome/Chromium is the only supported browser, we don’t support all triggers and actions and there is no support for conditions yet. But the foundation is there and so if you want to contribute to this, come help!

On the Z-Wave front a lot has happened. The biggest one is that we have a major extension of the Z-Wave panel thanks to @turbokongen! You will now be able to change config parameters and manage your devices.

Thanks to the work by the Python Open Z-Wave team we are now able to install it on demand from PyPi! There is no longer a need to pre-compile it yourself. This should give us the guarantee that we work with the Python Open Z-Wave version that the code expects.

If you have a security key set in your Open Z-Wave options.xml, copy options.xml to your Home Assistant configuration directory. This is the only place where options will get persisted.

Next to that @armills has lead the charge and managed to get full test coverage for Z-Wave! Thanks for all the hard work!

This release also contains two integrations which could help you to make non-smart devices a little smarter. The file sensor and the seven_segments OCR image processing platform. The first simply reads a plain-text file which was created by a logger or alike. The latter one extracts the value from a captured image that shows a seven-segments display.

And last, but not least, our Docker image is now based off Python 3.6. This version is faster and uses less memory than Python 3.5. Win!

If you are using our experimental Hass.io image, we made a breaking change in how the panel is served. If you have an existing installation, make sure you update your supervisor to the latest version before updating Home Assistant. If you are going to flash a new Hass.io image, make sure to only flash the new 0.8 image as linked on the installation page.

New integrations

Release 0.45.1 - May 22

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.

Breaking changes

Read on →