The idea of creating HTTP to MQTT bridge appeared when I was trying to integrate Google Assistant with my Home Assistant after watching BRUH Automation video. Right now there is no MQTT service available in IFTTT. Existing integration solution uses Maker Webhooks which requires that your Home Assistant instance is publicly accessible, which I think brings some security concerns or simply not always possible to set up.
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 for the server part and MQTT.js for the client.Read on →
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 did an interview with OpenSourceCraft, Fabian did a workshop at the Chemnitzer Linux Tage, and we are now an award-winning Open source project (I will cover that in a separate blog post).
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.
- Support for Tado climate devices (@wmalgadey)
- Volumio media player added (@jslove)
- Workday sensor (@BastianPoe)
- 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
- 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
- If set to
autothen 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).
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 →
Last month Gregg Pollack from OpenSourceCraft visited me in San Diego to talk about Home Assistant. We talked about the community and how all these awesome people make Home Assistant possible. The main interview is embedded below but make sure to check out the full article including extra video material.
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.
It’s time for version 0.40 already! For this version, the main focus was on performance and bug fixes. Big thanks to @pvizeli for driving this effort. Startup is now super fast. We have also continued with adding warnings for components and platforms that are slowing down Home Assistant.
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, @CCOSTAN, @skalavala, @rrubin0, @brahmafear, @bassclarinetl2, and @torn8o! These are all people that hang out in our main chat channel and help new users get started and help existing users when running into trouble. Home Assistant would not be there without all the effort you put in! 🙇
And that our community kicks ass is also shown in the numbers. We have already raised together over $700 for the EFF via the sale of our t-shirts! All of you rock! Another number worth mentioning is that this release brings us passed 600 integrations for Home Assistant. All of you rock, again!
@andrey-git has spend a lot of time to make Z-Wave perform better. It should no longer cause Home Assistant to run slower or raise warnings about the timer getting out of sync.
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
- 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.
- 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)
- 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_devicesmethod is now a callback instead of a coroutine function.
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.
- 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)
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)
It’s time for 0.39 and this release has some amazing new features!
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.
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
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
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.
Thanks to Fabian we have a great re-organized documentation. Is it perfect yet? No. But we are getting close. We put a lot of focus on making sure the Raspberry Pi is the main focus of our getting started. The other instructions are still available, just not as part of the main getting started.
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. Johann has added the foundation for state restoration to Home Assistant. For the initial release support has been added to
input_boolean components. We will be adding this to more integrations in the future.
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 breaking changes to right the wrong. We will be releasing an online tool to help you convert your config to the new format later today.
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
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
And a final shout out to Pascal. He keeps improving the performance of components and platforms all over Home Assistant.Read on →
Cool dude with beard and tattoo wearing [the new blue Home Assistant shirt][blue-us].
What time is it? Yep, t-shirt time. Today we’re launching the first two Home Assistant designs. We have a blue t-shirt as pictured above and a design for on black/gray shirts as pictured below.
Family of 4 on a bench wearing the new black Home Assistant shirt.
We are using Teespring.com to manage all the sales, production and distribution of the shirts. It’s also how we got all these amazing stockphotos.
More photos after the click.Read on →
There will be a Home Assistant Workshop at the Chemnitzer Linux-Tage 2017. First I will cover the installation, the setup, and the configuration process. The second part will be all about automation. Last but not least, we will talk about the integration of a new platform/component.
Check the Workshop overview to get the details.
Reqistration is required as the places in the room are limited. The deadline for the registration is March, 8th 2017.
- Location: Technische Universität Chemnitz, Reichenhainer Straße 90, 09126 Chemnitz, Germany
- Date: March, 12th 2017
- Time: 10:00, Room W2
- Language: German
Another Saturday, another release!
Thanks to @pvizeli, all the core components are now written asynchronously. All entity components are now migrated from synchronously to asynchronously code!
Now when you restart Home Assistant using the
homeassistant.restartservice, your configuration is checked. If it appears to be invalid the restart will fail.
The frontend has been completely been rewritten, optimizing for speed and lost connection recovery. Even on the slowest phones it should fly now. The frontend also now uses the new WebSockets API instead of the EventStream API.
A nice new feature is the possibility to create custom state cards in the frontend. Go ahead and write your own state card for lights, sensors, locks, etc.
MQTT now has discovery support which is different than our
discovery component. Similar to the HTTP sensor and HTTP binary sensor, MQTT discovery removes the need for configuration by allowing devices to make their presence known to Home Assistant.
If you left your front door open, then the new
alert component can be used to remind you of this by sending you repeating notifications at a given interval.
yeelight component has been ported to use a more stable and feature-complete python-yeelight backend, and supports now both white and RGB bulbs. The component also supports transitions and can be configured to save the settings to the bulb on changes. The users currently using custom components for Yeelight are encouraged to move back to use the included version and report any problems with it to our issue tracker.
- Sensor: Support for monitoring OpenEVSE chargers (@miniconfig)
- Voice command API.AI (@adrianlzt)
- Alert Component (@rmkraus)
- Rflink 433Mhz gateway platform and components (@aequitas)
- Lock: Support for Nuki.io smart locks (@pschmitt)
- Sensor: QNAP Sensor (@colinodell)
- Switch: Add support for FRITZ!DECT wireless switches based on fritzhome (@BastianPoe)
- Sensor: Add moon sensor (@fabaff)
- Media player: Support for the Orange Livebox Play TV appliance (@pschmitt)
- Media player: Apple TV support (@postlund)
- MQTT: MQTT discovery support (@balloob, @fabaff)
- Notify: Mailgun notify service (@pschmitt)
- Image Processing: Support Microsoft Face detection (@pvizeli)
- Switch - Pilight: Validation no longer rejects alphanumeric IDs (@DavidLP)
- Device tracker - ASUSWrt: Fixes
ip neighregex to handle the possible IPv6 “router” flag (@kylehendricks)
- Light - MySensors: Fix mysensors RGB and W light turn on (@MartinHjelmare)
- Light - Yeelight: new yeelight backend lib, new features (@rytilahti)
- Climate - Eq3btsmart: Cleanup modes & available, bump version requirement (@rytilahti)
- Sensor - SMA: Handle units correctly (@kellerza)
- MQTT eventstream: Prevent infinite loop in cross configured MQTT event streams (@aequitas)
- Light - Hue: Fix lightgroups not syncing state ([@tboyce1])
- Dvice tracker - Owntracks: Fix OwnTracks state names ([@tboyce1])
- Wink: Wink AC and additional sensor support (@w1ll1am23)
- Modbus: Modbus write_register accept list (@benvm)
- Device tracker - Ping: Add devices detected by ping as SOURCE_TYPE_ROUTER instead of GPS (@michaelarnauts)
- Climate - Ecobee: Cleanup climate and ecobee (@Duoxilian)
- Sensor - Miflora: Allow specification of bluetooth adapter (@Danielhiversen)
- Sensor - Systemmonitor: Add average load to systemmonitor (@eagleamon)
- Sensor - Openweathermap: Add wind bearing (@fabaff)
- Notify - Facebook: Allow to use data for enhanced messages (@adrianlzt)
- Light - Hyperion: Change CONF_DEFAULT_COLOR CV type (@Joeboyc2)
- Mysensors: Fix validation of serial port on windows (@MartinHjelmare)
- Notify - Webostv: Store the key file in the configuration directory (@pschmitt)
- TTS: TTS ID3 support (@robbiet480)
- Switch - Broadlink: Add send packet service (@Yannic-HAW)
- Wink: Add support for position on Wink cover (@albertoarias)
- Light - Flux: Make brightness display work for RGB devices. (@aequitas)
- Media player - Roku: Fix attribute error for media_player/roku (@tchellomello)
- Light - MQTT template: Fix brightness slider for MQTT template lights (@ray0711)
- Template: Add
maxJinja2 filters (@sbidoul)
- Device tracker - Skyhub: Improve Sky Hub error handling (@alexmogavero)
- Notify - SMTP: Add error checking to the MIMEImage encoding (@stratosmacker)
- Light - MQTT: Check for command topics when determining the capabilities of an MQTT light (@herm)
- Core: Check config before restarting (@andrey-git)
- Light - Hue: Fix groups with same names (@tboyce1)
- Template: Add icon_template to template sensor (@tboyce1)
- Recorder: Refactoring, scoping, and better handling of SQLAlchemy Sessions (@kellerza)
- Light - Flux: Add support for fluxled discovery. (@aequitas)
- Media player - AppleTV: Add discovery support to Apple TV (@postlund)
- Sensor - Template: Improve warning message in template rendering (@Danielhiversen)
- Light - Demo: Add available property and typing hints (@rytilahti)
- Sensor - ARWN: Enhancements to ARWN platform (@sdague)
- Fan - ISY994: Change medium state for filtering (@Teagan42)
- Climate - Ecobee: Support away_mode as permanent hold and hold_mode as temporary hold. (@Duoxilian)
- Tellduslive: Don’t throw exception if connection to server is lost (@molobrakos)
- Zoneminder: Refactoring and JSON decode error handling (@pschmitt)
- Image processing: Cleanup Base face class add support for microsoft face detect (@pvizeli)
Bugfixes: @balloob, @fabaff, @pvizeli, @mnoorenberghe @Danielhiversen, @armills, @tchellomello, @aequitas, @mathewpeterson, @molobrakos, @michaelarnauts, @jabesq, @turbokongen, @JshWright, @andriej, @jawilson, @andrey-git, @nodinosaur, @konikvranik, and you if you are missing here.
- Validate config will now respect custom config location (@balloob)
- Fix Nuki lock on Python 3.4 (@pschmitt)
- Fix login issues for myusps (@happyleavesaoc)
- Fix hdmi_cec with new customize (@andrey-git)
- Fix MQTT discovery (@fabaff)
- Fix Z-Wave thermostat units (@turbokongen)
- Sonos: fix losing favorite sources on disconnect (@pvizeli)
- Google Calendar: fix timeMin losing events (@happyleavesaoc)
- Fix Wink PubNub subscription (@w1ll1am23)
- Z-Wave: getter not to ignore label (@andrey-git)
- Moon: remove unit of measurement (@fabaff)
- MySensors: add version requirement to notify and device tracker (@MartinHjelmare)
- Discovery: flux_led discovery led to problems on systems and has been removed (@bazwilliams)
- Hidden devices are no longer visible on views (@balloob)
- The support for LG webOS Smart TVs was improved. This requires you to move
$HASS_CONFIG_DIR/webostv.confor Home Assistant will need to be paired with the TV again.
- Image processing events have been renamed:
- The FFmpeg binary sensor change the platform name from
ffmpeg_motion. Also all FFmpeg-related services are moved from a platform implementation to a the FFmpeg components and were rename from
- The frontend core changes have caused all custom panels to break. Docs have not been updated yet. The gist is that you have to use
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.
Tonight I’m happy to announce a new release of the our Raspberry Pi image, HASSbian 1.1 - The Toy-box.
Why Toy-box you wonder? Because it encompass the changes pretty well.
Changes from previous image are big and small but lets start with the interesting things.
A set of script written to add extra functionality to your Raspberry Pi installation.
This scripts are run as the
pi user and installs a set of tools or packages.
- Install Libcec. Adds local HDMI-CEC support.
- Install Mossquitto. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support.
- Install OpenZWave. Installs OpenZWave and prepares for using a USB or GPIO ZWave controller.
- Install Samba. Installs the Samba packages and shares your configuration over smb to be available to edit on any computer without the need for separate file transfer software. This share is unsecured and it’s usage is not recommended if your installation is publicly available.
All of these scripts are available in the directory
/home/pi/hassbian-scripts/. This directory is actually a cloned git repository that’s cloned on first boot and can be updated to the latest release with ease after.
To update the hassbian-scripts directory execute the following command as the
cd hassbian-scripts git pull
To use any of the hassbian-scripts, execute the following command as the
pi user. Here we use the libcec script as an example.
For more information about these scripts have a look a the hassbian-scripts repository.
With this image there also quite a bit of cleaning of the base system and the script that generates our Raspberry Pi image.
- Update pi-gen. Our build script has been upgraded to follow the Raspbian image closer. This image is basically a Raspbian lite image with Home Assistant, dependencies and a small set of changes to the base system.
- Removed Mosquitto. Not as bad as it sounds since it’s installation has been move to one of our new hassbian-scripts.
- Added rng-tools. Let’s your HASSbian installation use the hardware support in the Raspberry Pi for entropy generation.
- Added avahi-daemon package. Your Raspberry Pi should now be available at hassbian.local.
- Added htop. User friendly interactive process monitor.
- Added tmux. A great terminal multiplexer that makes working with the command line over ssh easier.
- Added the
homeassistantuser to the
dialoutgroup. Simplifies use of hardware such as ZWave USB controllers that requires this permission.
There’s of course more on the horizon and there’s even more plans and wishes for how this image will function in the future. On the close horizon from @Landrash there a few more script in the works and for tellstick, emulated_hue and for controlling Home Assistant.
To follow discussions about the development of the HASSbian image or to contribute join our Discord chat server.
To get started with the new image, check out the installation instructions in the getting started section.