Blog

ZWave Entity IDs

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 backward-incompatible 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

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

Backward-incompatible 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) (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

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.

Warning

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.

Backward-incompatible changes

Read on →

Home Assistant at PyCon US 2017

In just 12 hours PyCon US 2017 starts. This is an exciting conference because there will be a bunch of Home Assistant developers and users there being able to meet in person.

Just like last year, we’ll be hosting a Home Assistant Open Space. Please stop by to ask any questions you have to the available developers. We haven’t reserved a slot yet but will do so tomorrow. We’ll update this post and announce it on social media as we know time and location. First open-space will be Friday at 4pm in room B112.

We will also be taken part in the development sprints from Monday-Wednesday. You only need to bring a laptop. We’ll help you get set up with a dev environment and you can be coding on top of Home Assistant in no time. Exact location inside the conference center to be announced. We are sitting in room A108.

On a final note, the Home Assistant community is very very active so don’t take it personal if we don’t remember your name, issue or contribution.


Home Assistant on an Orange Pi Zero

This blog post is about the setup of Home Assistant on an Orange Pi Zero. Like the setup on a Raspberry Pi Zero it will only take a couple of minutes to get a fully functional super cheap (less than 18 Euro incl. casing and power supply) Home Assistant hub. The reasons to use an Orange Pi Zero beside the prize are the built-in Ethernet port and the availability.

Read on →

Grazer Linuxtage 2017: Python Everywhere

I like Python. It’s a clean easy to read, easy to learn language. Yet when you use it for some time you still find more features to improve your coding. What I probably like most about Python is the community and the great libraries that already exist. Often solving a problem means including a pre-existing library and writing some glue code. That makes it quick to get things up and running.

I just gave a talk on how you can run Python to automate your home (yes with Home-Assistant) but also with MicroPython. Micropython allows you to run Python on your DIY sensors and switches around your home. Python everywhere - even on the chips that give Home-Assistant the data to be awesome.


Home Assistant 0.44: Zigbee, OpenCV and DLib

This release brings some great new integrations. The biggest one is the native Zigbee integration by Russell Cloran. This will allow Home Assistant to natively control Philips Hue lights without the need for a hub! (IKEA Tradfri lights not yet due to implementing a different profile)

Another great new addition is OpenCV by Teagan Glenn. So now you’ll be able to unlock all the cool stuff from OpenCV right in Home Assistant. And if OpenCV is not your style, you can try out the new DLib integration added by Pascal Vizeli in this release.

This release also includes a new component to dynamically generate RSS feeds based on a template. This means that any RSS widget on your phone, tablet or computer can now be used to show Home Assistant data!

And finally, for users of the config panel in the UI, we have fixed the issue with the group editor.

Enjoy!

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.

New integrations

Release 0.44.2 - May 8

  • Fix opening add-ons in Hass.io store that are not installed (@balloob)

Release 0.44.1 - May 7

Read on →