Blog
IKEA Trådfri: Internet of Things done right
Last month IKEA released a new home automation lineup called Trådfri
- Works out of the box. You can get started by just buying the already paired light and remote. You only need to buy the gateway if you want to set time-based rules for your lights or use your phone as a remote.
- Local only hub. No cloud that gathers data about how you live your life and it will keep working even if IKEA stops supporting it.
- Based on open standards. It uses Zigbee between devices and CoAP/dTLS to talk to the gateway. This means that you are not locked into a single vendor. You can pair it with Philips Hue bulbs and other compatible vendors.
- Affordable. Lights start at $12 standalone and $20 if bundled with a remote (USA prices).
- Useful design. The gateway has built-in space to hide excess cables and remotes come with magnetic holders for on the wall.
- Able to subscribe to changes (local push). Automations will be able to instantly respond to changes to device states by subscribing to the gateway for changes.
-
Full integration in Home Assistant 0.43 (scheduled for release April 22). Our community built a standalone library pytradfri
and we use it in Home Assistant. Home Assistant will automatically discover gateways on your network and guide the user to set them up. - Downside: no integration with other systems yet. There are rumors that Homekit support will land in October and I expect both Google Home and Amazon Echo to eventually add support. Use Home Assistant to connect them all in the meanwhile.
- Semi-downside: you can’t control your lights remotely. Because it’s local only, you won’t be able to control your lights remotely unless via a third-party integration.
Full breakdown available after clicking read more.
(Note: we are not affiliated with IKEA nor do we receive commission for sales. We are just big fans of their new line up!)
Read on →1 year and 22 days ago I had an idea...
1 year and 22 days ago, or 387 days ago, on March 25th, 2016, I started a project to bring Home Assistant to the iPhone.
I thought the existing notification and location solutions were lacking in one way or another and had wanted for years to have a project I could call my own which would allow me to learn iOS development. What better way then implementing an extremely complex application like Home Assistant?
I started with a lot of steam. I remember cranking out the initial work that night and showing Paulus who was astounded at how fast the UI was coming together.
Little would I know how many problems I would create and uncover throughout the process. Writing a mobile app for a project that moves as fast as Home Assistant is… tricky, to say the least. In the time since I started writing the app, Home Assistant had 90 releases. I started writing the day before 0.16 was released. Now we are at 0.42.3. Time flies…
I couldn’t have completed the app without help and input from the community. By the end I had 700 beta testers, of which about 500 were very active in testing the app.
I received emails and forum posts almost every day, even when the app would go without an update for weeks and sometimes months at a time as my life got busier and busier.
I wanted this app to be done 9 months ago, at least, but my drive to add more and more features killed that idea. This really taught me the value of the MVP over the kitchen sink.
It may not look the way that I wanted it to initially, with beautiful native UI components, but that’s okay. What I really cared about is there. The notification and location engines are some of the most customizable and powerful available in an iOS app if I do say so myself. I made them this way to keep with the spirit of infinite flexibility that is enshrined in Home Assistant.
Just because the app is released doesn’t mean we are at the end of the road. It’s only the beginning. There’s plenty of bugs to fix still, improvements to make, features to add. Beta testing will continue, and if anything, be expanded. I do want to have a native UI someday, but that’s pretty hard with how fast the project moves.
The biggest request I have is for more developers on the project. As many of you know, I have my hands in many different parts of Home Assistant, from governance and organization to managing the forums to writing this app, managing the Homebridge plugin and even sometimes writing code for the actual core codebase! I can’t do it all, and I’m still a new iOS developer who doesn’t know all the best practices.
The app is open source
1 year and 22 days ago, on March 25th, 2016 I began work on Home Assistant for iOS.
Today, April 16th, 2017, I am extremely excited to announce that Home Assistant for iOS has been approved by Apple and is now available to download for a monthly subscription starting at $9.99 free! (had to get a joke in here somewhere!) on the iOS App Store in every country.
Please note, you must have Home Assistant 0.42.4 or later installed for the app to function properly.
Thanks for everything so far, I’m looking forward to the road that lies ahead for Home Assistant on iOS!
Home Assistant 0.42: Eddystone Beacons, Lockitron locks and Total Connect alarm systems
It’s time for Home Assistant 0.42. This release has been focused on refining the system and fixing a lot of bugs. We have also upgraded to the latest version of our HTTP library which should give us a significant boost serving files and API.
On our social media front, we have crossed the 1000 likes on our Facebook page
Also want to take a moment to thank Austin Andrews aka Templarian
New integrations
- Lockitron locks (@aarya123
- #6805 ) - Met Office weather and sensor components (@jacobtomlinson
- #6742 ) - Total Connect alarm systems (@craigjmidwinter
- #6887 ) - Eddystone Beacon Temperature Sensor (@citruz
- #6789 ) - CrimeReports.com integration shows crimes around a location in the US (@happyleavesaoc
- #6966 ) - The Ring doorbell has been integrated further with the inclusion of binary sensors (@tchellomello
- #6520 )
Thomas Krenn award 2017
You may already know from our social media channels and the release blog post for 0.41: We are now an award-winning Open source project. The jury of the Thomas-Krenn-Award
I would like to thanks all contributors. Your endless effort made this possible.
The prize beside the very nice trophy contains hardware and we want to give that hardware partically away. We won four Low Energy Server v2 (LES)
As a raffle would be to easy, we make a contest out of it. This means that we are looking for your application. Of course, we would like to see those systems goes to active or future developers who can justify their need for one of the systems to run CI, UI tests, public accessible Home Assistant demo instances, etc. At the other hand we would like to keep it open, to see with what people are coming up. Please participate as well if you are planning to automate the public school of your kids with 1000 switches or light, need a server to run it, and want to provide regular feedback about the user experience.
Create an entry in our Forum. Be creative and use your imagination.
The details
- Jury: The Home Assistant community
- Dead line: April, 23 2017 - 23.59 UTC
- Voting period: April, 24th till April, 30 2017 - 23.59 UTC
The decision of the jury will be final. If there will be a dispute then the Top-5 committer of the Home Assistant organization on Github will decide. Also, we reserve us the right to ban applications if we suspect cheating or unfair methods. Updates will be available in the Forum and on Twitter
Keep in mind that you may have to pay the fee for customs handling and the import duty by yourself. The plan is to ship the hardware from Germany. If you are located in a country with import/export regulations, we may not be able to ship the hardware to you.
HTTP to MQTT bridge
The idea of creating HTTP to MQTT bridge
The HTTP to MQTT bridge should fill that gap. The idea is to receive messages using HTTP requests and transfer them to your MQTT broker, which can be contacted by Home Assistant. The HTTP to MQTT bridge is written using Node.js with Express
Home Assistant 0.41: Tado, Volumio, Workday, improved Plex
Welcome to 0.41. There was a lot going on in the last two weeks. Not only from the code side but also from the social one of Home Assistant. Paulus
Plex
@JesseWebDotCom
Component overview
The Components overview is now powered by search/filtering feature. This will make it faster to get the component/platform you are looking for more quickly. Thanks again, @bdurrer
Changelog
The new format of the changelog which was introduced with 0.40 will provide a link to the related pull request. We are not covering everything in our release notes but we think that this addition will make it easier to find details about the change.
New platforms/components
- Support for Tado climate devices (@wmalgadey
) -
Volumio media player added (@jslove
) -
Workday sensor (@BastianPoe
)
Backward-incompatible changes
- The Kodi notifier platform was migrated to async and the configuration synced with the Kodi media player platform (#6497
). - For the Music Player Daemon (MPD) platform was
location
replaced withname
(#6553). - Event decorators were removed (#6634
). - The Emby mediaplayer platform was changed to avoid name clashes (#6664
). - In a lot of places were the power and energy units update. This change mostly affects the
switch
platforms (#6212). - If set to
auto
then the MQTT implementation will use the bundled certificates automatically (#6707). - Autodiscovery of Android IP Webcam was removed (#6528
). - The frontend is now using Shadow DOM
and this could break your custom panels (#228 ).
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
OpenSourceCraft interviews our founder Paulus Schoutsen
Last month Gregg Pollack from OpenSourceCraft
0.40.2 and broken dependencies
TL; DR: We have just released version 0.40.2 that includes a fix related to the installation of dependencies.
Some users in the last few days have been reporting that their Home Assistant installation fails to start with an error in the http component:
ImportError: No module named 'aiohttp.file_sender'
The problem is that Home Assistant did not handle the case where a dependency would want to install a core dependency of Home Assistant that is newer than what Home Assistant works with. For now, we have identified the following two components that can cause this issue:
- AppleTV (0.38+)
- Android IP Webcam (0.40+)
This issue has been resolved by 0.40.2. If you are on an impacted version and cannot upgrade to the latest version just yet, a temporary workaround will be to remove the <config dir>/deps
directory and stop using the above mentioned integrations. In the case of AppleTV, you will also have to disable the discovery component to prevent it from being auto-detected.
Home Assistant 0.40: Turn any Android phone into an IP Webcam
It’s time for version 0.40 already! For this version, the main focus was on performance and bug fixes. Big thanks to @pvizeli
Some people have interpreted our recent added warnings as if 0.39 introduced the issues that caused the warning. This is not the case, the platforms and components have been misbehaving for a while but now we are adding warnings so we are able to track down the culprits.
Before we continue talking about all the improvements in this release I want to take a moment to thank a few people from the Home Assistant community that are fundamental to the success of Home Assistant. Big thanks to @dale3h
And that our community kicks ass is also shown in the numbers. We have already raised together over $700 for the EFF
Z-Wave is now threadsafe
@andrey-git
Update on the MQTT Out of Memory errors in 0.39
MQTT started causing “Out of Memory” errors for some people on a Raspberry Pi. We have been able to track this down to Raspberry Pis that are using an older firmware. If you are experiencing this issue, please upgrade your firmware using rpi-update
Turn any Android phone into an IP Camera
With the new support for IP Webcam added by @robbiet480
- Integrate the Android device camera
- Binary sensor when motion is detected
- Sensors to expose the device sensors, including pressure, sound, battery, light
- Control device features like the GPS, night vision and camera flash
Screenshot of all the different functionality the IP webcam integration offers.
Other Highlights
- Support added for Austrian weather using Zamg weather data (@Zac-HD
) - Ring.com video doorbell integration added (@tchellomello
) - Blink Home Security Camera support added (@fronzbot
) - AppleTV has been converted to push data to Home Assistant instead of us having to poll (@postlund
)
Backward-incompatible changes
- Vera entity ids have changed. This is a one time change to migrate to a model that will prevent future conflicts.
- The Twilio notify platforms now have to be configured via the twilio component.
twilio:
account_sid: "abc"
auth_token: "xyz"
- If you are using async custom components, the passed in
async_add_devices
method is now a callback instead of a coroutine function.
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
Release 0.40.1 - March 16
- Fix wake_on_lan ping with None as host (@iamtpage
- #6532 ) - Don’t start the push updater if the Apple TV is ‘off’ (@jnewland
- #6552 ) - Fix for the case of zwave value used in several devices. (@andrey-git
- #6577 ) - Fix hydroquebec (@titilambert
- #6574 ) - Update pyecobee version to 0.0.7 (@dale3h
- #6593 ) - Update SMA solar sensor to work with the new add_devices callback (@kellerza
- #6602 ) - since knx_2_float can’t handle 0, bypass converting 0 value from knx to float (@goofz
- #6626 ) - Fix Osram Lightify colors (@deisi
- #6598 ) - Bugfix RFLINK remove group (@pvizeli
- #6580 )
Release 0.40.2 - March 22
Hot fix release to fix dependency issues. More detailed information about the issue in this blog post.
- Prevent dependencies that are installed on demand from installing different versions of core dependencies (@balloob
- #6738 ) - Upgrade PyChromecast to silent some benign errors (@balloob
- #6702 )
0.39: Configuration panel, state restoration and improved docs
It’s time for 0.39 and this release has some amazing new features!
T-Shirts
First off, in case you haven’t seen it yet: we have t-shirts now and they are beautiful. All proceeds from the shirts will be donated to the Electronic Frontier Foundation. The first three days all of you have already raised $400! Still waiting for Teespring to get back to me so stay tuned for the EU store.
Configuration panel
Yep, you read that right. We have a configuration panel. It’s just the first of many small steps. Putting in a foundation is important and gives us something to iterate on.
To start, we have three simple configuration panels:
- Core: allows you to validate config, reload core/group/automation config and restart/stop Home Assistant
- Group: allows you to rename groups, change type between group/view and reorder entities.
- Z-Wave: allows you to set device specific configuration settings
Screenshot of our new configuration panel.
As a security measure, the configuration panel will need to be activated in the config file to be activated. This can be done by adding the following to your configuration.yaml
:
config:
Using our configuration panels will require you to structure your groups and Z-Wave device config according to how the configuration panel expects it. This is on purpose as it we will not be aiming to build a system that supports both our extended set of configuration extend hooks and our configuration panels. It’s one or the other.
To activate them in your config, create empty files groups.yaml
and zwave_device_config.yaml
in your config dir and add the following entries to your config:
group: !include groups.yaml
zwave:
device_config: !include zwave_device_config.yaml
Note that this is the first release. Things will be missing, things might be broken.
Reorganized documentation
Thanks to Fabian
State restoration
Ever have some input components or integrations and get annoyed with the fact that their state is lost after a restart? Don’t worry any longer. Johanninput_select
and input_boolean
components. We will be adding this to more integrations in the future.
Backward-incompatible changes to customize and Z-Wave “customize”
A couple of releases ago we introduced a new way of doing customize
. It became a list that allowed different ways of matching the config to the entity.
We realized that this was leading into a rabbit hole that we had to get out off. Besides making it unnecessarily complicated it also blocked the road to config panels. And who doesn’t like config panels?
So starting this release, we had to make some backward-incompatible changes to right the wrong. We will be releasing an online tool to help you convert your config to the new format later today.
Update: the online tool can be found here.
Customize has been reverted to its original config
The old customize is back. The options to match by domain or using glob have been moved to its own options. It will now look like this:
homeassistant:
customize:
light.kitchen:
hidden: true
customize_domain:
light:
icon: mdi:home
customize_glob:
"light.kitchen_*":
icon: mid:description
Z-Wave customize is now device config
Ever wondered why the Z-Wave customize was called customize? Yeah, so did we. So when migrating this to the new config format, we decided to upgrade the name too:
zwave:
device_config:
light.kitchen:
ignored: true
device_config_domain:
light:
polling_intensity: 2
device_config_glob:
"light.kitchen_*":
polling_intensity: 0
Speed improvements
And a final shout out to Pascal