Blog

Android Companion 2022.2: Local Push Notifications!

Screenshot of Companion

Hey Everyone! It’s time for the next Android release and we are really excited to get this one out. Lots of changes for all versions of the app, including Wear OS and Quest devices.

Backward-incompatible changes

We have a pretty big release this month with a lot of changes going on. Some of these changes are noticeable as soon as you update the app, so let’s cover those first.

Local Push Notifications

The first major change that we want to cover is for Local Push Notifications. Before this release, all notifications were routed via Google. Now notifications can be delivered directly from your Home Assistant server if you have remote access set up. These notifications do not count towards the rate limit and are shown on the device immediately, every time.

Read on →

New Add-on for HomeMatic/homematicIP support - Action Required

If you are using HomeMatic/homematicIP smart home products with Home Assistant, the future will now be even brighter.

The team around RaspberryMatic has been hard working during the last months to make their alternative “HomeMatic CCU“ operating system a full fledged Home Assistant add-on with no compromises. Because of the much more advanced functionality of this third-party add-on compared to our own “HomeMatic CCU” add-on, this is now the recommended add-on to use your Home Assistant also as a HomeMatic CCU smart home central. The old “HomeMatic CCU” add-on from the official repository has now been deprecated.

To make migration as smooth as possible, our latest add-on release gained a final functionality: create and exporting backups. Go to the WebUI and click on “Create Backup” to generate a .sbk system backup file. Stop our “HomeMatic CCU” add-on, install the “RaspberryMatic CCU add-on” and import the backup file to have all your HomeMatic/homematicIP devices available right away. A big shout-out to Jens Maus specifically to make all this happen!

In addition, starting from Home Assistant OS 7.3 onwards HAOS supports dual HomeMatic+homematicIP communication when using the HmIP-RFUSB RF USB stick with the “RaspberryMatic CCU” add-on. This change will, however, also introduce a device rename for older installations still using the old HomeMatic CCU add-on: With a HmIP-RFUSB, you will need to manually update the “hmip” device setting to /dev/raw-uart after the OS 7.3 upgrade. Or even better: migrate to the RaspberryMatic CCU add-on right away to gain the full cloud-free smart home central functionality like the vendor-provided “CCU3”.

Last, not least, work has just been started to completely rework the HomeMatic/homematicIP device integration layer within Home Assistant itself. While still in an early development phase this complete re-design will come with great new features and a way easier setup and a more complete device integration of all your HomeMatic/homematicIP devices.

So the future of using HomeMatic/homematicIP devices in Home Assistant was never brighter, be part of it!


2022.2: Let's start streamlining!

I’m not sure if this is really fitting; it is February already… but since this is the first release of the year, I’m going to say it anyway:

Happy New Year 🥂

And, since we have skipped the January release, this release became a big one. Over 2,500 contributions make this release the largest one we have ever shipped! Including 15 brand-new integrations and 13 existing integrations, which are now available to set up via the user interface.

Now don’t be scared when you look at the backward-incompatible changes section. It is a lot, however, most of those are cleanup of old deprecations, or caused by things moving to the UI. No better way to start a fresh year, than by cleaning up 🧹

By the way, in case you’ve missed it, @balloob published a blog post last week about the focus for Home Assistant in 2022: Streamlining Experiences. I’m stoked about it, and am really looking forward to what this year will do for Home Assistant! Go 2022!

What is your new years’ resolution for your smart home this year?

Enjoy the release!

../Frenck

Read on →

Streamlining Experiences

With Home Assistant the last few years we’ve been focusing on making things easier, stable, and faster. More things can be managed via the UI, most YAML-based integrations can be reloaded without restarting and if something breaks, safe mode and built-in backups have your back.

We have amazing contributors who work on making Home Assistant better every single day. However, you can’t keep growing by adding new things in the same structure. An interface made for 4 items will become confusing once the 10th item is added (like our profile page). A veteran Home Assistant user might be fine because they have seen the growth feature by feature and know exactly where to find what. For new users it is overwhelming.

For 2022 the motto will be “streamlining experiences”. We want to better organize and integrate all the different features that make up Home Assistant.

For example, there should be a built-in way, for both YAML and the UI, to easily send a notification with a camera snapshot to your phone, pick a song to play for an automation, or use text-to-speech to notify you when something is happening. All these things are possible today but require too much knowledge of how the various parts work.

We’ll have 11 releases this year and each release should streamline more things.

Have a good and healthy 2022 and see you at our first release on February 2!

Paulus


Oculus Quest Meet the Smart Home!

Screenshot of the Android app

Hey Everyone! We hope you all had a great new years and holidays spent with the family! This past holiday season had some pretty cool toys going around. Cool toys to us mean more things to tinker with. One of the most popular gifts this year was no doubt the Oculus Quest and to be honest, how could it not be right?

Naturally, working on the Android app some of us wondered how does the app perform on such a device? Well, it actually works pretty well and you can start building automations based on your usage today!

Get it on SideQuest

Oculus Quest data in Home Assistant

Home Assistant Companion for Quest gives you access in Home Assistant to over 40 data points about your headset. For example, our interactive sensor updates as soon as the screen comes on, which means you’re wearing the headset. This allows you to make sure your lights are bright enough to play VR.

Ever play on your headset until it dies and then sits around waiting for it to charge up? Using the battery sensors you can get notified when your headset is fully charged and ready to play that next round.

Keep the music on in the background while you are playing? Automate your media player volume level based on whether your Quest microphone is muted.

It is not all about automations either. You can open the Home Assistant interface on your Quest (in 2D) and see who rang the doorbell. You can even talk back if your doorbell supports it!

We are just getting started with things. As usual our users are really good at finding more unique use cases that we didn’t even consider. So get your device set up with Sidequest, install the app and start automating today!

Screenshot of App on Quest

Read on →

Energy management research using Home Assistant

Two weeks ago we hosted the State of the Open Home. It included a presentation by Prof. Michael Kane and Maharsi Pathak from the department of Civil and Environmental Engineering at Northeastern University.

They presented about their research into lowering grid demand by reducing thermostat temperatures. They want to learn when and why a reduced temperature is too uncomfortable causing tenants to become thermally frustrated and reverting the reduction.

With Home Assistant we want every home to be about privacy, choice and sustainability and it’s how we built Home Assistant. Because we believe in choice, all data in Home Assistant is accessible and one can extend or built on top of our platform.

This architecture made it possible for Prof. Kane to create a custom version of Home Assistant for his research that gathers data about all devices, surveys users based on changes to devices and exports all this data back to their research lab. For this they leverage device integrations, added a custom survey feature to the UI and push notifications from the Home Assistant companion app to draw the user’s attention to the surveys.

But what makes me extra happy is that their research is focusing on home energy management. This has been a feature we added to Home Assistant in 2020 as our way to help tackle the climate crisis. It makes me proud to see that we are able to help researchers do their work and we hope to see more of this. We’re also looking forward to collaborating with Prof. Kane on using his research to improve Home Assistant.

Overview of their deployment


The Open Home

The Open Home is our vision for the smart home. It defines the values that we put at the heart of every decision we make at Home Assistant. It’s woven into our architecture, licensing, community and everything else.

The Open Home is about privacy, choice and sustainability.

The original vision used “durability” instead of “sustainability”. This value was changed as part of our 10 year anniversary.

If you prefer video, skip to the end.

Privacy

Your home should be your safe space. A place where you can be your true self without having to bother about what the world thinks of you. A place where you don’t need to act differently to avoid an algorithm categorizing your behavior.

Privacy for the Open Home means that devices need to work locally. No one else needs to know if you turn on a light bulb or change the thermostat.

It is okay for a product to offer a cloud connection, but it should be extra and opt-in.

Choice

Devices in your home gather data about itself and their surroundings. Your data. Vendors shouldn’t be able to limit your access to your data or limit the interoperability of your devices with the rest of your smart home.

Choice for the Open Home means that devices need to make the gathered data available through local APIs. This avoids vendor lock-in and allows users to create their own smart home with devices from different manufacturers.

Sustainability

Humans emit CO2 into the atmosphere, causing the climate to change and the world to heat up. One way we can all help with this is to ensure that our individual energy and waste footprint is as small as possible. Our homes represent a substantial part of this.

For the Open Home, longevity of a device should not be an afterthought. If there is one thing that technology firms are very good at, it is launching new products. However, maintaining the products and making sure they keep working is an afterthought for most. The result is that vendors can decide to no longer support your device, crippling it’s features or even prevent it from working at all.

As we install more and more devices in our home, sustainability is becoming more and more important. We shouldn’t have to buy everything new every couple of years because the manufacturer decided to move on.

Sustainability for the Open Home means that devices are designed and built to keep working and use as little energy as possible. Not just this year, but for the next decade. If they outlive their original purpose, they should be able to be reused or repurposed for something else.

State of the Open Home

At the State of the Open Home, we presented our vision and how we, together with our friends from open source and academia, are working towards achieving it.


Demo: Genie, privacy-preserving virtual assistant by Stanford

Last week we hosted the State of the Open Home and it included a demo of Genie.

Genie is an open, privacy-preserving virtual assistant by Stanford OVAL. During the impressive demo they showed it’s latest capabilities. The demos run on a Baidu speaker with custom firmware and on a Pi Zero. In both cases it connects to the Genie server running as an official Home Assistant add-on to do it’s magic.

Genie is the successor to the Almond project. With the help of various grants and sponsors Stanford is working on making Genie ready for general use.

If you want to learn more, check out the Genie website and the getting started guide on how to make your own. To get in touch with other Genie users and their dev team, check their Discord or community forums.

If you end up using Genie at home, don’t forget to share the love and share your demo’s and tutorials.

Genie logo


Android 2021.12: Wear OS Beta!

Screenshot of the Android app

Hey Everyone! It’s time for the December 2021 Android release. It has been a while since the last Android release as the team has been very busy working on many new and exciting features. To kick things off we would like to announce that there is now a Wear OS app that you can find in the Play Store alongside todays phone app release!

Get it on Google Play

Wear OS Beta

For the past couple of months the Android repo has been seeing a lot new contributors coming and bringing in some amazing work. There is now a Wear OS Beta app released in the Play Store! A big thank you to leroyboerefijn, dshokouhi, JBassett, Kisty, apo-mak, SkechyWolf and HunterX86 for all your hard work! A lot of work has been done to share the codebase between the phone and the watch because we wanted the watch to also have a standalone experience in case you are not near your phone. The app will remain as a Beta for several months but we feel in its current state it is ready for you to enjoy. The reason we have decided to keep it with a beta label for now is because there is more work to be done and some of the underlying libraries being used have not received a stable release yet.

Screenshot of Wear OS on wrist

As of today you can login to the app using either the watch or you can open up the phone app and head over to App Configuration and login using the new Wear OS settings section! Once you are logged in you will see a brief loading screen while we get your entities ready. To avoid some of the loading delays we have a Favorites feature that will allow you to add your most used entities to appear at the top of the app for quick and easy access. You can add/remove these entities using the Settings screen in the watch app or you can add/remove and change the order using the phone app. We highly recommend setting up your favorite entities as they will be available during the loading process.

Screenshot of Wear OS Home Screen Screenshot of Wear OS Home Screen

The Wear OS app also offers a tile for even faster access to execute or toggle your devices without needing to open the app. You can select up to 7 entities to toggle or execute inside the settings portion of the app. We recommend using custom MDI icons to easily distinguish between your entities as the default will make it hard to tell apart when you have 2 lights side by side.

Screenshot of Wear OS Tile Screenshot of Wear OS Tile

Initial support for sensors has also been added! Upon logging in the default battery sensors will be registered in your Home Assistant server. The app will wait for a network connection to provide an update so you won’t have to worry about it constantly maintaining a connection. Soon we will be looking into adding a UI to enable/disable sensors as well as evaluating all current phone sensors and adding whichever ones we can!

One thing to keep in mind is that its important to ensure both the phone and watch are on the same version in order for some of the features to work as expected. Feel free to join the beta and help development by finding bugs and submitting feature requests! Be on the look out for future updates to the Wear OS app!

Screenshot of Wear OS Settings in Phone app Screenshot of Wear OS Settings in Phone app

Websockets and Instant Widget Updates

A very big internal feature was also added to both apps this release and that is the introduction of websockets! Websockets is one of the many APIs that Home Assistant offers. With this new API the app can now do cool things like register for entity updates to have instant widgets! Previous versions of the app relied on the Home Assistant REST API to do things like get an entity state or execute a service call. Now with websockets the app will no longer need to poll the server requesting for entity updates as needed, instead we now get a constant stream of entity updates. This allows us to keep your widgets up to date with the latest state or template and also allows us to keep the Android Power Menu up to date. The Wear OS app also benefits by having instant updates on the home screen.

GIF of instant updates GIF of instant updates

There is still a lot more to be done with respect to websockets but the good news is that foundation is there for more developers to come and consume the API. We have already seen some interest and PRs so I would expect this feature to improve even further over time! Big thank you to JBassett for getting this done!

Theme and UI Updates

In this release we had a lot of changes being done to the overall theme of the app to better fit with the design of the Home Assistant frontend theme. The status and navigation bar will now match your theme of choice. The overall loading experience has also had some improvements to align more closely to the browser loading experience. Thank you to LasseRosenow for all your hard work here!

With the release of Jetpack Compose we have decided to start migrating all UI elements to Compose. If you are familiar with Android Development then you will remember that the UI is always built with XML and then referenced in your activities/fragments. Now with Compose, XML is no longer needed and bulding robust UI’s becomes a breeze. We find these new libraries to be very easy to use and it has allowed us to improve upon our internal architecture to make things easier for new and upcoming features.

In the phone app the entire onboarding experience has been rewritten in Compose, including a brand new welcome screen to help first time users understand what Home Assistant is all about. The notification detail page found in notification history has also received a compose update. The Wear OS home screen is actually built using compose including the new settings screens found in the phone app.

Screenshot of welcome screen Screenshot of welcome screen

Other Changes

With so many changes since the last update its impossible to list all of the other cool new features but here is a list of some welcomed improvements:

Screenshot of Media Player Widget Screenshot of Media Player Widget

  • Support for cookie based authentication by duncf
  • Setting to always try the internal URL first. This is helpful to those who like to leave location off by dshokouhi
  • Support for entity category and state class in sensors by dshokouhi

Big thank you to everyone involved. Please keep those bug reports and feature requests coming! Be sure to watch the State of the Open Home address for what to expect in 2022 and a live demo of some of the features above!

Changelog


Multi-server support in iOS 2021.12

Screenshot of the settings screen showing multiple servers

Today we’re releasing Home Assistant companion app for iOS 2021.12. The big new feature: multiple server support. Find it in the app settings on iOS and Mac. Pro-tip: Swipe with three fingers left, right, or up to quickly switch between servers. Full release notes.

Download on the App Store

At the State of the Open Home I gave a quick demo, which I have embedded below: