Celebrate the holidays with open standards
It’s been a busy week with a lot of announcements around IoT standards, so I thought I would do a quick round up of them, and how it might impact Home Assistant users.
New IoT standard announced
As it’s been a while, the industry has announced yet a new effort to create a new IoT standard called Project Matter (formally called: ‘Connected Home over IP’). I think that there are a few interesting bits to this standard:
The standard will be royalty-free. This is big, as it means that it will be easy for companies to build products. Take, for example, Homekit, which is a great IP-based local standard. Homekit has strict licensing and royalties, which prevented it from widespread adoption.
The new standard specification will be written in conjunction with building an open source implementation of the standard. Once it’s all finished, we’ll be able to integrate this implementation into Home Assistant.
Finally, Apple, Google and Amazon are seriously involved, even contributing their own IoT standards to help bootstrap this specification. This significantly increases the odds of them also integrating it into their products. Since their products are everywhere, it means that more companies might incorporate the standard and it can get widespread adoption.
But don’t hold your breath. Developing a standard takes time. They aim for a draft to be released at the end of 2020. And that’s just the specification. Not any of the devices built with it. If (and that’s a big IF) everything works out, expect this standard to get into your home in 2022.
Read on →HassOS 3 released! Raspberry Pi 4 support
A bit behind the original timeline, but we happy to announce, we’ve released version 3 of Hass.io Operating System: HassOS. Just in time for Christmas!
TL;DR; A quick summary of the changes:
- Official RPi4 support
- Linux LT 4.19
- Buildroot LT 2019
- USB-boot capabilities for the RPi3
- SMS integrations with USB/GSM modem
- Qemu Agent support
- Optimized kernel for virtual appliances
- Improved automatic disk expansion
- Initial foundation for offloading the data partition
Raspberry Pi
We now officially support the Raspberry Pi 4 on this stable version of HassOS! The Raspberry Pi 4 is a great and powerful device to get you started on Hass.io and Home Assistant.
@rbray89 worked hard on this release to add the very often requested USB boot support! Please note, this is currently limited to RPi3 devices. Carefully read how the USB boot works and be aware of the limited supported hardware.
Hypervisors / Running HassOS on a Virtual Machine
The HassOS image for virtual appliances did get some useful updates as well. We have optimized the Linux kernel to support more virtual hardware.
We have now included the QEMU Agent in HassOS. So if you are running on a Hypervisor that is QEMU based (e.g., Proxmox or Libvirt), you now have a lot more information in your Hypervisor control panel, proper shutdown support and improved support for backing up/snapshotting your virtual machine.
Finally, the automated disk expansion got some updates. So if you need more disk space in your virtual appliance, add it in your Hypervisor and HassOS automatically pick it up at the next boot.
We want to emphasize that running Hass.io as a virtual machine is the only supported method to run Hass.io on a virtualized system. We’ve lately seen some funky tutorials on how to run Hass.io inside a container like Docker or LXC, which we DO NOT recommend, you will end up having issues.
How to update to HassOS 3
If you are already running HassOS, you have the full flavor of Hass.io, and thus, all the comfort it has to offer, making this upgrade a breeze!
To update via the user interface, go to the Home Assistant frontend, click on Hass.io in the sidebar to go into the Hass.io panel. Next, click on the System tab and press the UPDATE button in the “Host system” panel. In case the update isn’t showing up yet, push the RELOAD button on the “Hass.io supervisor” box first, which makes your system look for updates instantly.
Another option is to use our powerful CLI, that is shipped with the SSH add-on. Run the following command to trigger the upgrade: hassio os update --version 3.7
.
Update 2019-12-18
After some confusion about the statement of supporting virtual environments and running Hass.io on top of a custom Linux; so let’s clarify it.
The supported ways to run Hass.io are documented here
This also includes running Hass.io on Linux using the Generic Linux installer, which is a supported method.
Hass.io runs partly on your local machine, but for most parts inside multiple containers. All installation types we list, respect this.
If you run VMWare, ProxMox or other virtualization environments, you can use the HassOS OVA/VMDK to run a virtual machine with. Or, if you like to use a Ubuntu VM, that will work with the supported generic Linux installer.
We DO NOT support any kind of LXC hacks like listed here: https://github.com/whiskerz007/proxmox_hassio_lxc. These setups try to put everything inside a single container, which will cause you issues. Hass.io is not designed to run fully inside a containerized system, like LXC.
We hope this clarifies our earlier statement.
0.103: Happy Holidays, Service calls, StarLine, GeoNet NZ and Proxmox
Here it is! Home Assistant 0.103 is released, which is the last major release for this year. For the final stretch of this year, we’ve focussed on cleaning things up. This release contains many things that were still in progress (e.g., due to Hacktoberfest), lots of bugfixes; mainly things that help to improve the stability and experience of Home Assistant.
We wish you happy holidays! As always, we skip a release cycle at the end of the year, making this the final, major release of 2019. This gives all of us time to enjoy the holidays with our families as well. The first release of 2020, will be on 15 January.
Furthermore, we’d like to take the opportunity to thank all of our contributors, no matter how small or big the contribution; code, documentation, issue reporting, beta testing, supporters in our forum and chat. We salute and thank you and wish you the best for the new decade, as we are entering 2020! ❤️
Cheers!
Service’s have been moved to their respective integration namespaces
For 0.103, an extensive cleanup has been taken place around the names of the services. We realize this affects many users; therefore, we made sure all these changes are in this release. This change was driven by @raman325, who did an excellent job of completing this in time for 0.103.
We used to have services that were placed inside other domains,
which wasn’t always the case, and therefore inconsistent.
So, for example, the service to add an item to Todoist was actually a service
call under the calendar
domain: calendar.todoist_new_task
.
This release, all services that were not placed correctly, are moved into their
respective integration domain. So, for the above example of
calendar.todoist_new_task
, has been renamed to todoist.new_task
.
We hope this brings a more streamlined experience to the use of services, for now, and in the future. For a complete list of old vs. new service names, a table as been added to the release notes, below.
Moving imports of Python packages
Internally, Home Assistant uses a lot of Python packages, that our integrations are using. In the past weeks, the locations where all those imports take place, was changed. This does not directly resonate with your system and is mainly an internal cleanup.
A big shout out to the following contributors that together are responsible for making hundreds of contributions the past weeks to help us out:
[@Bouni], @briglx, @djpremier, @exxamalte, @javicalle, @Michsior14, [@Misiu], @mnigbur, [@Quentame], @springstan, @thaohtp, @tulindo
Thank you so much!
Python 3.6 support is deprecated
Since version 0.101, support for Python 3.6 has been deprecated. We are currently working on Python 3.8 support, which is expected soon.
Therefore, this release marks the last release, which supports Python 3.6.
If you haven’t upgraded your system to Python 3.7 yet, it is recommended to do so, to ensure you can keep using Home Assistant in the future.
If you are using Docker or Hass.io, you don’t have to worry about this, since we provide a matching and working Python version for you.
Frenck Joins Nabu Casa
As announced during the State of the Union 2019, Frenck has joined Nabu Casa.
Today marks the first day of my full time open-source adventure! 🥳 Heading into my office this morning, full of energy and lots thankfulness for this opportunity! I feel blessed to be able to work on @home_assistant for @NabuCasa 🙏 pic.twitter.com/mjkMYeCNaz
— Franck Nijhof (@Frenck) December 2, 2019
Frontend
We gave some love and attention to the automation editor, fixing some bugs and adding some useful features.
Natural language improvements
We add area support for automations that you create with natural language, and we try to pick the right area or device for you if you mentioned the name.
So you can now say: “Turn the lights on in the living room”, and it adds all
the light devices of your living room to the automation.
By clicking Choose individual devices
, you can add or remove devices.
Screenshot of the result of the above query.
YAML support
You can now edit every individual trigger, condition or action as YAML. This makes it possible even to do very complicated automations in the automation editor and allows you to copy parts of your automation quickly.
Screenshot of the automation YAML editor.
Rearrange actions
We also added the ability to rearrange your actions, so you don’t have to start all over when you want to add a delay between 2 service calls. Talking about the service call action, that has now an entity picker to help you search for the right one.
Screenshot of automation actions.
In other news
Looking for a present for the holidays? T-shirts with our rainbow logo are now available in our online store. 🌈
— Home Assistant (@home_assistant) December 5, 2019
EU: https://t.co/KiTDuOFgG2
US: https://t.co/OdtILXBoDh pic.twitter.com/BG5mDWhwYN
.@home_assistant for iOS version 2019.1/2.0 is now (finally) available in an App Store near you! Also releasing today: beautiful new documentation for the app! Check it out at https://t.co/4RhY8tOand. pic.twitter.com/YkuhhdRjwu
— Robbie Trencheny (@Robbie) November 26, 2019
Home Assistant: Controlling Addressable LEDs like any other light! (WLED integration) https://t.co/bJJMkZbdn9 @home_assistant @Frenck #homeassistant #wled #ws2812b #tutorial #howto
— Intermit.Tech (@IntermitTech) November 25, 2019
New Integrations
The following integrations are added in this release:
- Add support for Hisense AEH-W4A1 wifi module (AC remote control) (@bannhead - #28641) (hisense_aehw4a1 docs) (new-integration)
- GeoNet NZ Volcanic Alert Level sensor (@exxamalte - #26901) (geonetnz_volcano docs) (new-integration)
- Add component VersaSense (@flamm3blemuff1n - #24619) (versasense docs) (new-integration)
- Add Proxmox VE integration ([@K4ds3] - #27315) (proxmoxve docs) (new-integration)
- Add flume support (@ChrisMandich - #27235) (flume docs) (new-integration)
- StarLine integration ([@Anonym-tsk] - #27197) (starline docs) (new-integration)
- Add intent integration to expose intent handle API (@balloob - #29124) (conversation docs) (new-integration)
- Dsmr reader (@depl0y - #28701) (dsmr_reader docs) (fleetgo docs) (openhardwaremonitor docs) (new-integration)
- Add ATEN PE component for ATEN eco PDUs (@mtdcr - #27960) (aten_pe docs) (new-integration)
New Platforms
The following platforms have been added to existing integrations:
- Add support for SimpliSafe locks (@bachya - #28672) (simplisafe docs) (new-platform)
- Add fan support to lutron_caseta (@djj211 - #29033) (lutron_caseta docs) (new-platform)
- Add support for Somfy Camera Shutter (@tetienne - #29057) (somfy docs) (new-platform)
- Add Huawei LTE binary sensor support, mobile connection sensor (@scop - #28226) (huawei_lte docs) (new-platform)
- Broadlink remote (@felipediel - #26528) (broadlink docs) (new-platform)
Backward-incompatible changes
If you are an existing user, make sure to read the this section before upgrading, this helps you understand the changes and avoids having issues during an upgrade.
Updated Service Names
All services for use in Home Assistant are moved to their integration naming space.
The list below shows service calls and platforms which have been moved to their own integrations - @raman325
-
Local File:
camera.local_file_update_file_path
->local_file.update_file_path
(#28890) -
Elk-M1 Controller:
alarm_control_panel.elkm1_*
->elkm1.*
(#29128) -
Neato:
vacuum.neato_custom_cleaning
->neato.custom_cleaning
(#29148) -
Envisalink:
alarm_control_panel.envisalink_alarm_keypress
->envisalink.alarm_keypress
(#29126) -
IFTTT:
alarm_control_panel.ifttt_push_alarm_state
->ifttt.push_alarm_state
(#29129) -
AlarmDecoder Alarm:
alarm_control_panel.alarmdecoder_alarm_toggle_chime
->alarmdecoder.alarm_toggle_chime
(#29127) -
Econet:
water_heater.econet_*
->econet.*
(#29149) -
APNS:
notify.apns_*
->apns.apns_*
(#29165) -
Facebox:
image_processing.facebox_teach_face
->facebox.teach_face
(#29151) -
HTML5:
notify.html5_dismiss
->html5.dismiss
(#29145) -
Lifx:
light.lifx_*
->lifx.*
(#29136) -
Mill:
climate.mill_set_room_temperature
->mill.set_room_temperature
(#29132) -
Todoist:
calendar.todoist_new_task
->todoist.new_task
(#29131) -
Wink:
lock.wink_*
->wink.*
(#29137) -
Wemo:
fan.wemo_*
->wemo.*
(#29135) -
Bluetooth:
device_tracker.update
->bluetooth_tracker.update
(#29161) -
Demo:
device_tracker.randomize_device_tracker_data
->demo.randomize_device_tracker_data
(#29164) -
iCloud:
device_tracker.icloud_*
->icloud.*
(#29144) -
Blackbird:
media_player.blackbird_set_all_zones
->blackbird.set_all_zones
(#29112) -
Bluesound:
media_player.bluesound_*
->bluesound.*
(#29111) -
Channels:
media_player.channels_*
->channels.*
(#29139) -
Epson:
media_player.epson_select_cmode
->epson.select_cmode
(#29113) -
Monoprice:
media_player.monoprice_*
->monoprice.*
(#29099) -
Songpal:
media_player.songpal_set_sound_setting
->songpal.set_sound_setting
(#29143) -
Soundtouch:
media_player.soundtouch_*
->soundtouch.*
(#29140) -
Squeezebox:
media_player.squeezebox_call_method
->squeezebox.call_method
(#29141) -
Xiaomi Miio:
*.xiaomi_miio_*
->xiaomi_miio.*
(#29134) -
Xiaomi Miio:
*.xiaomi_*
->xiaomi_miio.*
(#29134) -
Yamaha:
media_player.yamaha_*
->yamaha.*
(#29142)
Other backward-incompatible changes
-
Mobile App - Loading the Mobile App no longer causes the Cloud integration to be loaded. If you relied on this, add
cloud:
to your configuration.yaml. - (@balloob - #29373) (mobile_app docs) -
Samsung TV - The behavior for next and previous track commands for Samsung TVs has changed. Before the change, the Samsung TV integration reacted to the two above commands sending the KEY_FF and KEY_REWIND commands. While watching TV programs, those two commands do nothing. After the change, the entity sends the KEY_CHUP and KEY_CHDOWN commands instead, thus allowing the user to change the channel using the media player standard Lovelace interface. The user doesn’t need to change anything in the configuration. - (@tulindo - #28213) (samsungtv docs)
-
Wake on LAN - The configuration key
mac_address:
was renamed tomac:
to be in sync with the service. (@fabaff - #28830) (wake_on_lan docs) -
PulseAudio Loopback Switch - The default port was incorrectly set to 4712, however, the official documentation states that the default port is 4713. Therefore, the port has been changed and all previously configured switches now need to listen to port 4713. - (@springstan - #28857) (pulseaudio_loopback docs)
-
Z-Wave - This changes the primary command class for z-wave thermostats in discovery schemas from
COMMAND_CLASS_THERMOSTAT_SETPOINT
toCOMMAND_CLASS_THERMOSTAT_MODE
. This will cause a typical dual setpoint thermostat to be correctly represented as a single entity. - (@oandrew - #27040) (zwave docs) -
Transmission - Added host field to
add_torrent
service in order to support multiple Transmission instances. (@engrbm87 - #28653) (transmission docs) -
Opentherm Gateway - Adds device support. This change breaks enabled
sensor
andbinary_sensor
entities, which are now disabled by default and can be re-enabled through the Devices panel. It also breaksentity_id
of the climate entity in some configurations. Theentity_id
is now based on thegateway_id
rather than the configuredname
to guarantee uniqueness. - (@mvn23 - #28722) (opentherm_gw docs) -
Intent - If you use the built-in intents for shopping list, cover or light, you need to add
intent:
to yourconfiguration.yaml
. - (@balloob - #29280) (conversation docs) (cover docs) (light docs) (shopping_list docs) -
Emulated Hue - As previous
entityid
were not Hue compliant,emulated_hue_ids.json
will need to be cleared out and devices re-discovered and configured in Alexa / Google Home. This is a necessary growing pain to move the integration forward in a Hue-compliant fashion. - ([@NobleKangaroo] - #28317) (emulated_hue docs) -
Miflora - Values for an unresponsive device aren’t reported any more as if they were valid, so it’s possible to send an alert. - (@ferbar - #29276) (miflora docs)
Example configuration YAML:
- id: plant_unreachable alias: "plant unreachable" trigger: - entity_id: sensor.plant_moisture for: 01:00:00 platform: state to: unavailable action:
-
Entity ID - It is no longer possible to target all entities by not passing both
entity_id
andarea_id
to your service data. This feature was previously deprecated and has been printing warnings. The correct way to target all entities is to setentity_id: all
- (@balloob - #29178) -
Heatmiser Thermostat - The Heatmiser integration has been updated to the latest version of the heatmiserV3 library, meaning less code inside HA, and more leverage on the library. The current version of the Heatmiser integration went out of date with the introduction of voluptuous. This has now been fixed, but it breaks the old config syntax slightly. See the updated docs for the new config format. - (@andylockran - #29006) (heatmiser docs)
Release 0.103.1 - December 18
- Install requirements of after_dependencies when loading integrations (@balloob - #29491)
- Bump aioambient to 1.0.2 (@bachya - #29850) (ambient_station docs)
- Fix setup for tank_utility component (@springstan - #29902) (tank_utility docs)
- Fix setup error for logbook (@springstan - #29908)
- Support entity_id: all in lifx.set_state (@amelchio - #29919) (lifx docs)
- Fix mobile app device identifiers (@JBassett - #29920) (mobile_app docs)
- Fix loading flume integration (@ChrisMandich - #29926) (flume docs)
- Fix support for legacy Z-Wave thermostats (@oandrew - #29955) (zwave docs)
- Bump simplisafe-python to 5.3.6 (@bachya - #30055) (simplisafe docs)
Release 0.103.2 - December 19
- Fix dependency installation recursinog (@balloob)
Release 0.103.3 - December 20
- Fix update port and api key on deconz discovery config entry u… (@frenck - #30088) (deconz docs)
- Patch rachio (@omriasta - #30031) (rachio docs)
- Fix failure in transform method (@depl0y - #30023) (dsmr_reader docs)
- Fix homekit handling of 0 light brightness and fan speed (@fuzzie360 - #29962) (homekit docs)
- Bump starlingbank to 3.2 (@springstan - #30098) (starlingbank docs)
- Bump ring to 0.2.5 (@balloob - #30103) (ring docs)
Release 0.103.4 - December 22
- Remove requirement from entity integration (@balloob - #30113) (doods docs) (image_processing docs) (seven_segments docs) (tensorflow docs)
- Move imports into setup function in homekit init.py (@springstan - #30137) (homekit docs)
- Fix deconz SSDP updating Hassio discovery (@frenck - #30153) (deconz docs)
- Allow battery value of 0 as well as make sure to not create a battery tracker if one already exist (@Kane610 - #30155) (deconz docs)
Release 0.103.5 - December 28
- Bump ring to 0.2.8 to fix Oauth issues (@tchellomello - #30245) (ring docs)
Release 0.103.6 - January 6
- Handle wired bug on restart (@Kane610 - #30276) (unifi docs)
- Bump pysmartthings 0.7.0 (@andrewsayre - #30302) (smartthings docs)
- Bump env_canada to 0.0.31 (@michaeldavie - #30409) (environment_canada docs)
- Fix google sync (@balloob - #30524) (cloud docs) (google_assistant docs)
If you need help…
…don’t hesitate to use our very active forums or join us for a little chat.
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 →Sonos shutting down local voice option Snips
It’s that time of the year. The time when it’s cold outside, it’s cozy and warm inside, we’re spending time with friends and family, and time for big companies to drop local accessible technology (2015, 2018).
On November 20, 2019, Sonos announced that they had acquired Snips earlier that month. Snips was a popular option for people to get local voice control in their homes.
In the same month of the acquisition, Snips has announced that they are shutting down their console for users. The console allows users to train their system with custom sentences and intents. By shutting this down, it is no longer possible to make any changes to your local Snips system.
Announcement on the Snips forums.
What is actually worse, is that it looks like they are not shutting down their console completely, they are just shutting down public access. They could support users, but actively decide not to do so. It seems like they don’t want us to know this, as they have edited their announcement on the forums.
Edit history of the announcement shows they removed the words "public access to".
Voice control, powered by Snips, might show up in future Sonos devices. However, Sonos is not accessible to many people out there. The customizations will also be lost according to Patrick Spence, the CEO of Sonos, in an interview with Variety:
“We are not building an ask-anything assistant,” Spence said. Instead, the goal of the acquisition was to build something a lot more music-specific.
Bad move by Sonos
A very bad move by Sonos. This is not a world in which it’s Sonos vs. Google vs. Amazon. It is not even a fight just about smart speakers, it is a fight about if the audio system in our house is local and private, or not.
By taking Snips off the table, there is one less option for local voice control. These users will now look for alternatives, which will include cloud options.
Technology often ends up with a winner takes all. Sonos has just made a better case for its competitors, again.
What the local home needs
Audio is an essential part of our homes. We want to play music, be notified of events (i.e., doorbell) and we want to be able to use our voice to control our devices. A system that provides this, needs to run locally and be accessible via an open API.
Sonos could be this system, they have great hardware that works together nicely. However, they are keeping their API tightly controlled, making it impossible for a user to build on top of it.
It is a choice. They could keep the Snips console open to the public, open up their modern local API and embrace the community that cares about local control. Nevertheless, they choose to work against it.
So Sonos, why are you?
Home Assistant for everyone
With Home Assistant, we want to help people live their life, while helping out in the background. I wrote about this in 2016 when I detailed my view on the perfect home automation. We’ve been working towards this ever since.
In 2019 we focused on “Make It Easier” (see State of the Union for details). We made Home Assistant easier to use, configure and to contribute to. Every time we make it easier, we become accessible to more people. There is still a ton we can make easier, and that’s great because 2020 is around the corner and we need things to do :-)
During Thanksgiving, Home Assistant made it to #1 on Hacker News, a social news website focusing on computer science and entrepreneurship. The comments had lots of users chiming in with their positive experiences. One comment stood out to me and I wanted to share it:
Just wanted to say that my life as a quadriplegic would be 13.4 million percent more crap without Home Assistant. Being quadriplegic and having something as open as Home Assistant is absolutely amazing, I have automated absolutely everything in the house and home assistant has not choked once.
Couple that with one of the friendliest communities for newbies I have come across in a long time and you have something really awesome.
I've been using it for a couple of years, I have tried all the other open source alternatives but nothing really comes close for me. I'm actually fiddling with my installation right now as it were.
I cannot plug my phone in to charge it up myself obviously, so I am writing a little automation that will check who is in the house and announce through the speakers my phone needs charging up or send them a text message if I have their phone number when my mobile phone charge gets below 20%.
Totally cool beanz and I am totally serious about how much easier this makes my life as a quadriplegic.
– escapologybb on Hacker News
This is just great. I love how this user can live a more comfortable life. It’s really motivating.
I also really like the first reply to the above comment. It highlights how we tend to judge things from our perspective and that our perspective might not paint the whole picture.
Thanks for your comment. I came to this discussion with my blinkers on, so to speak, pre -judging how I need less automation in my world, and you give concrete evidence how someone's "meh" can be balanced by untold advantages (13.4 million, in fact) of such a system.
Thanks for making me eat humble pie and broadening my views. Sometimes more tech is helpful indeed.
Ps: The way you're applying it is creative and awesome too!
– cmroanirgo on Hacker News
As Home Assistant grows and evolves, let’s make sure we don’t judge the additions and changes based on just our own perspective and needs. Think about how it can help other (potential) Home Assistant users. It’s our goal that a privacy-focused home automation platform is within everyone’s reach, regardless of background, location or income.
Paulus
State of the Union 2019: Recap
On November 13, 2019, 150 Home Assistant community members gathered at ING in Amsterdam for the Home Assistant State of the Union 2019.
That evening, Paulus Schoutsen (founder Home Assistant) and Pascal Vizeli (founder hass.io) presented what Home Assistant is up to, why we’re doing what we’re doing and what we got planned.
Video of the event is embedded below (it starts at 7:12):
Thanks
The State of the Union could not have been possible without the time and energy of the following people:
- ING for hosting us once again ❤️
- Erik-Jan Riemers for organizing – Rockstar ⭐️
- Frenck for managing the livestream
- Arjan Vroege for assisting the team
Announcements
We’re #10 open-source project in the world
GitHub posted their State of the Octoverse, listing Home Assistant as the tenth biggest project in the last year based on the number of contributors.
This is especially impressive because all the other things on the list are related to, or maintained by billion dollar companies.
Top 10 biggest open-source projects.
Home Assistant around the world ❤️
Improved Scenes
In Home Assistant 0.102 we’re launching a new scene editor. We’re also adding two scene services scene.apply
and scene.create
. First one allows you to apply a scene without prior defining it, the second one allows you to create a scene on the fly.
iOS app
@robbiet480 has submitted the new and updated iOS app to the app store and it will be available soon.
Android app
We have released a new Android app! Download it here. It’s being developed by @CedrickFlocon and we’re already seeing a ton of other contributors jump in. Awesome!
OAuth2 Account Linking
We’ve made it easier in Home Assistant for integrations to use OAuth2 account linking. This is available starting Home Assistant 0.102. Somfy is the first partner to use it.
It works using a small cloud service provided by Home Assistant Cloud. It is available to all users for free, no cloud account necessary.
Check the updated developer documentation if you want to add OAuth2 account linking to an integration.
Teamed up with Almond: privacy-preserving virtual assistant
We’ve teamed up with the Stanford Open Virtual Assistant Lab to bring Almond to Home Assistant users. Almond has been upgraded with Home Assistant integration and users can now talk to Almond via the Lovelace UI.
You can run this standalone, as a hass.io add-on or via a version hosted in the cloud by Stanford.
Short description of what Almond is.
For more information, check the announcement blog.
Ada, voice assistant powered by Home Assistant
We have introduced a new project called Ada. Ada is a voice assistant that outsources all processing to the speech-to-text (new!), conversation and text-to-speech integrations in Home Assistant. You can pick your own providers for each integration.
You can run this standalone or as a hass.io add-on.
For more information, check the announcement blog.
Architectural overview of Ada.
Voice for Home Assistant Cloud
Nabu Casa has introduced a new beta service providing speech-to-text and text-to-speech services to Home Assistant Cloud subscribers powered by Azure Cognitive Services. This will make it easy to get started with Ada or use it to send spoken notifications to speakers in your house.
Z-Wave
We’ve been working with the Open Z-Wave developers on a new solution that will allow us to migrate to the new Open Z-Wave 1.6 relase and make it easier to stay up to date in the future.
We’re expecting to launch an MVP soon. This effort is driven by @cgarwood.
Frenck is joining Nabu Casa
Frenck will be joining Nabu Casa as the fourth employee working full-time on Home Assistant.
“If I could describe my dream job, it would be being a full-time open source developer; Helping the world to become a better place by dedicating my time & knowledge to create & innovate open source software solutions. Allowing everybody on this earth the privilege to enjoy those things for free.” – Franck Nijhof (Frenck) on frenck.dev
Create automations using your voice
We have been able to leverage Almond’s neural network to allow users to generate automations using natural language. This means that you can now create an automation by telling Home Assistant to “turn on the lights when I get home” and we’ll convert it to the appropriate automation in Home Assistant.
Screenshot of the create automation dialog.
Share the love ❤️
Home Assistant is the community and the community is Home Assistant. Help us spread the Home Assistant love, help others and share your knowledge on YouTube, blogs and other media.
Almond & Ada: privacy-focused voice assistant
TL;DR:
- Teamed up with Almond, available in Home Assistant 0.102.
- Introducing Ada, voice assistant powered by Home Assistant integrations. Available as Hass.io add-on.
- New beta speech-to-text and text-to-speech service for Home Assistant Cloud subscribers.
Voice assistants are a great way to interact with your house, ask a quick question, set a timer or control your devices. The more an assistant knows about you, your home and its other inhabitants, the better it is able to help you.
Today’s available virtual assistants work great, but they have a big problem: They store your data in the cloud, don’t provide APIs to allow other companies to build products on top and are run by companies whose core business is building profiles on their users to help serve ads and product suggestions.
The backbone to our homes needs to be one that keeps data local and has APIs allowing other companies to build on top. Innovation happens when many different people, with many different backgrounds, do many different experiments until we find something that sticks. This cannot be left to a single company.
Recently we got in touch with the Open Virtual Assistant Lab at Stanford University. In the last four years, they have been working on a virtual assistant named Almond. And it’s a perfect match for Home Assistant.
Read on →0.102: Official Android App, Almond, Scene editor
Home Assistant 0.102 is here ! It’s been quite the trip as we hosted our annual State of the Union last week, which took a lot of energy away from our release. This doesn’t mean that we don’t have anything to share, just that the notes might be a little less polished.
First, we had our State of the Union at the ING office in Amsterdam! It was great. You can watch it back on YouTube or keep an eye out for the blog post coming soon that will summarize all the announcements.
Alright, so what’s new? A lot.
Android App released!
At the State of the Union we announced that we have released the initial version of the official Home Assistant Android app. It’s still a work in progress, but the basic version already works.
It’s been developed by @CedrickFlocon and the source is available on GitHub. We’ve already seen some other developers step in, so that’s great! Keep it coming.
Read on →0.101: Airly, Apprise, Sinch, Solar-Log, Microsoft Teams
Hacktoberfest
It is almost the end of Hacktoberfest, and boy, it was a good one. We had a total of 1318 PRs merged in the last month. And most of them are in this release!
We had: 154 authors on home-assistant 184 authors on home-assistant.io 30 authors on home-assistant-polymer
A lot of thanks to all the contributors!
API Password and trusted networks
It is no longer possible to make authenticated requests using trusted networks or by appending ?api_password=X
to the URL. You will now first need to get an authentication token and use that token to make requests.
These features were deprecated in Home Assistant 0.90 and 0.91 (released around April 2019). It was initially planned to be dropped in Home Assistant 0.96 (released July 17, 2019).
The support of configuring the auth providers for API Password and Trusted Networks via the HTTP configuration is also removed. It now needs to be configured in the auth provider section (docs).
Direct authentication meant that you could make an authenticated request without a bearer token by making the request from a trusted network or appending ?api_password=X
to the URL.
These features are still available as authentication providers (docs).
You can use Long-Lived Access Tokens that can be created in the fronted on your profile page. These tokens will not expire and can be added in the header of the request. See the developer documentation for more info.
Screenshot of the Long-Lived Access Tokens interface in the profile page.
Or you can use a webhook-based-integration. A webhook is a unique hard to guess URL that can be used to send data to Home Assistant. Requests made to webhooks do not need authentication. Your webhook should be available from the internet, if you have a cloud subscription, the cloud will take care if this. You can find the cloud webhook URLs on your cloud configuration page.
Hassbian
As you may have already read, we’ll be sunsetting Hassbian.
Hassbian was a superset of Raspbian optimized for Home Assistant. With limited time from the developers and easier alternatives as Hass.io it is time to sunset Hassbian.
A big thank you to all those who worked on Hassbian - specifically @landrash, who was the primary driver of this for so long, and @ludeeus.
For more info, read the blogpost
Device automations
This release includes improved support for alarms, covers, locks and sensors. A “for” option was added in release 0.100 which allows you to specify triggers for when a certain device has been in a certain state for a period of time, in this release we added support for it in the automation editor.
Screenshot of a device trigger with duration.
Frontend
A lot has happened on the frontend; we had a ton of Hacktoberfest PRs that added localization to the frontend and made our user experience better. A special shout out to @springstan who did a lot of localization work, we now have the biggest part of our UI translatable!
Thanks a lot to all the contributors!
We now have our own confirmation dialogs thanks to @timmo001! No more ugly browser modals.
Screenshot of a confirm dialog when restarting Home Assistant.
In the last release, we changed all the JSON inputs to YAML inputs, this release we add a code editor to all the YAML and Jinja2 inputs. This makes it a lot easier to read and write YAML.
Screenshot of the service dev tools with YAML editor.
The entity registry is now also migrated to a datatable so you can easily search and sort your entities so it is easier to find the one you are looking for.
Screenshot of the entity registry data table.
We improved the device picker in automations, you can now search them and see in what area the device is.
Screenshot of the device picker.
mdonoughe added support the activate scene action in the automation editor.
Lovelace
Check the Lovelace changelog for all changes.
In other news
Proud to announce that the Visual Studio Code add-on for @home_assistant reached v1.0.0! 🎉
— Franck Nijhof (@Frenck) October 26, 2019
This version ships the second generation code-server, VSCode 1.39, HA extension 1.3, updates MDI ext and adds a rainbow indent function ❤️
Oh, and it is FAST 🚀 pic.twitter.com/eBe8CirZ4B
It is done! Making magic with #python #opencv #tensorflow #homeassistant. https://t.co/ZiN5AE7ixt
— Esther Makes Tech (@esthermakestech) October 19, 2019
Weekend IOT project: Weather info from the Cloud, literally. Details on github here:https://t.co/V9xpxqyRAv#homeassistant #arduino #mqtt #smarthome pic.twitter.com/YrkEBpa9Rw
— Gabe Scelta (@sfgabe) October 14, 2019
🎉Restriction Card for @home_assistant released 🎉
— Ian Richardson (@iantrich) October 17, 2019
Client-side security for your Lovelace cards
* Options to hide/block/lock/password-protect/confirm interactions with cards
* Set conditions for when to apply
* Set exemptions based on usershttps://t.co/psiVBf9U7N
New Integrations
- Add Airly integration (@bieniu - #26375) (airly docs) (new-integration)
- Add Apprise notification integration (@caronc - #26868) (apprise docs) (new-integration)
- New sensor platform integration for Orange and Rockland Utility smart energy meter (@bvlaicu - #27571) (oru docs) (new-integration)
- Add sinch integration (notify component) (@bendikrb - #26502) (sinch docs) (new-integration)
- Add Solar-Log platform ([@Ernst79] - #27036) (solarlog docs) (new-integration)
- New platform for Microsoft Teams (@peroyvind - #27981) (msteams docs) (new-integration)
New Platforms
- UniFi - Bandwidth sensors ([@Kane610] - #27229) (unifi docs) (breaking change) (new-platform)
- Neato battery sensor (@dshokouhi - #27286) (neato docs) (new-platform)
- Add sensor platform to Airly integration (@bieniu - #27717) (airly docs) (new-platform)
- Move imports in mqtt component (@exxamalte - #27835) (mqtt docs) (new-platform)
Release 0.101.1 - October 31
- Bump songpal to fix a regression (@rytilahti - #28115) (songpal docs)
- Bump pymyq to 2.0.1 (@bachya - #28348) (myq docs)
- Bump pysaj to v0.0.13 (fix for sensor date) (@fredericvl - #28351) (saj docs)
- Bump env_canada to fixed 0.0.29 version (@shmick - #28360) (environment_canada docs)
- Fix Airly asyncio timeout error (@bieniu - #28387) (airly docs)
- Fix hdate spamming homeassistant log (@tsvi - #28392) (jewish_calendar docs)
- Fix check config (@balloob - #28393)
- Check for import errors before validating config (@balloob - #28395)
Release 0.101.2 - November 1
- Prevent TypeError when KNX RGB(W) light value contains None (@phispi - #28358) (knx docs)
- Change Abode cache file path, add cache path to config flow (@MisterWil - #28389) (abode docs)
- SNMP switch fix integer support (@rfpronk - #28425) (snmp docs)
- Use server-specific unique_ids for Plex media_players (@jjlawren - #28447) (plex docs)
- Also install after_deps (@balloob - #28453)
Release 0.101.3 - November 5
- Fix missing import (@timmccor - #28460) (sonos docs)
- Fix Airly if more than one config entry (@bieniu - #28498) (airly docs)
- Add deprecated attributes to light.reproduce_state (@Santobert - #28557) (light docs)
If you need help…
…don’t hesitate to use our very active forums or join us for a little chat.
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 →R.I.P Hassbian
It’s time for what was once the simplest way to install Home Assistant to retire.
R.I.P Hassbian
Some of you will probably wonder why Hassbian is being retired and I’ll try to give a proper motivation. First of is the age-old factor of time. I as the lead developer of Hassbian haven’t been able to give it the time and attention it requires, and there have been few others that have pushed the project further. The one exception being @ludeeus who’s done most of the heavy lifting when the image was retooled to use a proper apt package and repository. Second is that it’s no longer the best option for most to use as an installation method. Hass.io has surpassed Hassbian in almost all ways I can imagine.
Next Step for Hassbian
Since Hassbian has been around for quite a while, there are quite a few users that don’t want Hassbian to go away. To make this as easy as possible for those users, here’s the plan.
- The repositories pi-gen and hassbian-scripts hosting the Hassbian projects files will be moved to a new organization.
- A last release will be done by me mid Q4 2019. This image will be hosted under the pi-gen repository.
- The pi-gen repository will be reworked to work with a standard raspbian image with minor modifications for anyone wanting to create their own “Hassbian like” image. This has always been possible, but the current repository is a bit out of date with the current layout of the Raspbian image.
- The hassbian-scripts package will get a final release and will continue to be hosted on Gitlab. Some minor changes will be made to reflect the changes to the project.
Next step for Hassbian users
The Hassbian image has always aimed to be the same as a manual Raspbian Lite installation with some packages added. There won’t really be any big changes for all of the users of Hassbian and for documentation, please refer to the Manual installation on a Raspberry PI method.
Alternatives
If you want to continue using something similar, have a look at the manual installation on a Raspberry Pi since it is the base Hassbian was created from. For everyone else, I would wholeheartedly recommend Hass.io since it is what I personally use now (It’s what I had hoped Hassbian could have been but better).
Last but not least
Last but not least, thank you to all of those who contributed, in any way, to the Hassbian project and image.