Blog

Effortless encryption with Let's Encrypt and DuckDNS

When Let’s Encrypt launched we were estatic: finally an easy and free way for our users to securely access their homes remotely. Let’s Encrypt signifianctly lowered the bar to get and renew SSL certificates. However, this process could still be quite an obstacle for our users. It required opening ports on the router and remembering to renew the certificate every so often.

Thanks to a blog post by Andreas Gohr I realized that DuckDNS supports setting TXT records, making it compatible with the DNS-01 challenge of Let’s Encrypt. The DNS-01 challenge is using the DNS record of the domain instead of interacting with the server. This means that it’s not needed for the user to open any ports!

I have worked together with Pascal Vizeli on updating the DuckDNS add-on for Hass.io and today we’re proud to announce it now includes automatic generation and updating of Let’s Encrypt certificates for your DuckDNS domain. The only thing that you have to add to your DuckDNS configuration is that you accept the Let’s Encrypt terms of service and point Home Assistant at the generated certificates and you’re good to go. No other work is required.

To get started today, start with making sure that you have Hass.io installed. After that, go to the Hass.io panel in Home Assistant, open the add-on store, scroll down to DuckDNS and install it. In the DuckDNS settings change “accept_terms” to true and start it.

Next up is to configure Home Assistant with the config below and restart it. You’re now good to go! Make sure to use the right protocol when browsing to your instance: https://<your_domain>.duckdns.org. Happy secure controlling your house!

# Example configuration.yaml entry for the HTTP component
http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

If you’re not using Hass.io, check out the blog post by Andreas for instructions.

If you enjoy the free service provided by DuckDNS and Let’s Encrypt, consider donating to their cause:

More information:


Improved Hass.io build system

Note

This is going to be a technical post for Hass.io add-on developers and people that run locally build add-ons (not the default).

Two months ago we introduced Hass.io, allowing our users to easily install, update and manage their Home Assistant installation. In this short time we’ve seen great adoption from the community. Around 20% of our users are choosing Hass.io as their method of running Home Assistant today. We’ve also seen many add-ons being made available on the forums. There are currently 14 reposities full of add-ons being shared!

Hass.io is built on top of Docker, a container runtime. One thing that Docker did not support was dynamic build environements. That was annoying for Hass.io because by supporting multiple CPU architectures, that was exactly what we needed! Luckily this feature has been added in Docker 17.05. By moving to Docker 17.05 as the minimum supported version we will be able to replace our templated Dockerfile approach with standard Dockerfiles that work out of the box. Thanks to Frenck for notifying us of this new build feature.

This change only impacts people that build add-ons or use add-ons that are built locally. You can check if your add-on is building locally on the detail page of add-ons.

Tip

If you are an add-on developer, read the documentation on how to publish your add-ons to Docker Hub. This will greatly improve the user experience.

Template changes

As an add-on developer, you will only have to change one line in your template to make it compatible with the new system. If you wish, you can also change the default build options for your image using the new build.json file.

Old:

FROM %%BASE_IMAGE%%

New:

ARG BUILD_FROM
FROM $BUILD_FROM

When

The new system will become active with Hass.io 0.64 and Host OS 1.1. Host OS 1.1 is available today. Navigate to Advanced Settings in the Hass.io panel to start the OTA update.

We have also updated our build scripts and replaced it with a builder docker engine. This builder makes deploying Hass.io components very easy. All basic functionality is supported. If you want more functionality, check out the builder by the Community Hass.io Add-ons project.


0.54: Todoist, DoorBird, Abode cameras

We’re approaching the end of September and that means that it was our birthday! We are now officially 4 years old and are getting more amazing with every release. This release too will include some great new stuff and tons of bugfixes. Included is a bug fix by @fanthos that should fix the frontend in some browsers. If you had issues with your browser before, make sure to check out this release.

This release we’ve started the work to make our Xiaomi integrations more robust. This meant that we’ve had to rename the components to make it more clear which of the Xiaomi protocols are being used. We have some developers working on making this very affordable home automation solution a first class citizen in the Home Assistant ecosystem, stay tuned for more integrations!

Another cool thing in this release is the new mqtt_statestream component to export state changes to MQTT. Each entity will be exported on their own topic which makes it very easy to subscribe to individual entity updates.

New Platforms

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.

Reporting Issues

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Read on →

Hassbian 1.3 - A bit of a stretch

This new release finally brings us the release of Hassbian based on the release of Raspbian Stretch. The most significant change with this is that we now run Home Assistant on Python 3.5. Other than that the changes are mostly to our tool hassbian-config.

Hassbian-config

To allow you to customize your installation further, we have made a few additions to our tool called hassbian-config. Majority of these changes where contributed by @Ludeeus.

Upgrade scripts

@Ludeeus contributed the possibility to run upgrade scripts to the hassbian-config tool.

  • Upgrade Hassbian: Upgrades packages of the base operating system. Contributed by @Landrash.
  • Upgrade Hassbian-script: Downloads and upgrades the latest release of Hassbian-scripts. Contributed by @Ludeeus.
  • Upgrade Home-assistant: Upgrades the Home Assistant installation to the latest release. Contributed by @Ludeeus.

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 on the installing Hassbian page.


0.53: Tesla, Customize editor, and super fast KNX rewrite

The Home Assistant community has been super busy in the last two weeks to bring you this amazing release. 60 different contributors have done over a 100 PRs filled with new features, bug fixes and performance improvements.

9 days away from our 4th birthday, we’ve just accomplished a couple of great milestones that I would love to share with you. We’ve hit over 8000 stars 🌟 on GitHub and starting this release we now ship over 800 platforms and components!

Customize editor

Another step in making Home Assistant configurable via the frontend has been contributed by @andrey-git: a customization editor! You are now able to inspect all (possible) customizations of an entity and update them with just a few taps. Want to change the name or icon of an entity? All possible in mere seconds.

Screenshot of the new customize editor.

New Home Assistant configurations will be created correctly automatically. If you are an existing user, make sure you have the config screen enabled and that you include customizations from customize.yaml.

# Example configuration.yaml entry
homeassistant:
  # Include the customizations.
  customize: !include customize.yaml

# Enable the config screen
config:

Tesla

Thanks to the contribution by @zabuldon, you will now be able to control your Tesla car from Home Assistant. You’re able to check the temperature inside and outside your car, control your AC and unlock the car.

Input text

This release introduces a new input component: input_text contributed by @BioSehnsucht. With this component you will be able to set free form from the UI and then let that be used by your automations or templates.

KNX

This release ships a new KNX implementation thanks to @Julius2342. It will instantly show all changed states of KNX devices within Home Assistant. Additionally it brings support for HVAC devices and notification services. It also adds a service for direct communication with the KNX bus. You can connect to KNX/IP routing and tunneling devices. In the background it uses asyncio communication. Check the climate integration in action here and see the lights in action below:

New Platforms

Release 0.53.1 - September 12

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.

Reporting Issues

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Read on →

0.52: Scripts editor, Nello.io locks, HipChat and Abode Home Security

Although the summer is in full progress, the development hasn’t stalled. This release brings bug fixes, clean ups and another 8 new integrations. On top of that we are also introducing a new script editor!

To use the scripts editor, create a new file in your config directory named scripts.yaml and copy your existing scripts over:

# scripts.yaml
turn_on_some_lights:
  alias: "Turn on the lights"
  sequence:
  - data: {}
    service: light.turn_on

Than update your configuration.yaml to look like this:

# Configuration.yaml example
script: !include scripts.yaml

New Platforms

Release 0.52.1 - August 28

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.

Reporting Issues

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Read on →

0.51: Massive history speed up, finished automation editor and official vacuum cleaner support

Important

This release has to do a one time database migration which can take a long time on big databases (20 minutes). During this time the frontend will not work. Do not stop Home Assistant while it is in progress.

Release 0.51 is around the corner and it contains some really great updates.

Database speed up

The first one is more amazing database updates #8748 by @OverloadUT. Every query that has been tested executes in well under 1 second, even on a RPi using MySQL with 6 million rows and around 300 entities. This is true even when you’re getting an unrealistically huge date range!

Updating the database will take some time when you start Home Assistant. During that time, the Home Assistant frontend is not accessible. Please let it complete and do not turn Home Assistant off.

Frontend update

We have finished the migration of our frontend to be powered by Polymer 2. This has given us a big speed boost on Safari/iOS devices and has fixed a wide range of bugs.

We have also finished the automation editor. All triggers and actions are now implemented and so are most conditions (missing are and, or). The automation editor is also no longer Chrome only, it can now also be used in Safari.

Another change to the frontend is that we have reorganized the panels. The Z-Wave and automation configuration panels have been merged into the configuration panel.

Vacuum cleaners

As we have seen more vacuum cleaners land in Home Assistant, it was time to create an official component for them. That’s why @azogue introduced the new vacuum cleaner component in #8623. This allows first class integration of vacuum cleaners in Home Assistant. Out of the box we will have Dyson, Xiamo and Roomba as supported platforms.

New Platforms

Release 0.51.1 - August 12

  • Fixed a bug in the automation editor that would break if no conditions available in the config file. (@balloob)

Release 0.51.2 - August 14

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.

Reporting Issues

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Read on →


0.50: Voice control, History improvements, and Xiaomi

Last Wednesday we released Hass.io, an operating system to take care of all the updating hassles that come with running home automation at home and so much more. This is a major milestone for Home Assistant as it is our first step to offering a fully integrated solution using a bring your own hardware approach.

The launch has been crazy successful. The 20 minute introduction video by BRUHAutomation already has 12.5k views in just 4 days with no less than 150 comments.

Hass.io will be a great foundation for bigger and better integrated features. Stay tuned.

Adding the power of voice to integrations

But enough about Hass.io, let’s not forget about Home Assistant. This release has completely revamped the way how we deal with voice integrations. We turned Home Assistant into a platform to write voice apps, no matter where the processing of the voice happens. This can be done by Alexa, Google Assistant or in the Home Assistant user interface.

We are super excited about the new functionality and hope that it will trigger a new type of applications and systems to be built on top of Home Assistant. This release includes a shopping list to show the new functionality. As a user you can add any item to the shopping list with your voice and also ask what is on your shopping list.

# Example configuration.yaml entry
shopping_list:

To make testing these applications easier, we’ve updated the conversation component. The component will now allow sentences to be configured that hook directly into the new voice functionality. Combined with the new interface it will allow for some great interactions! Check out the developer docs for more information.

History improvements

@OverloadUT has been recently spending a lot of time on optimizing the history database queries. This release includes PR #8632, the first in a list of improvements that he is working on. This PR greatly improves requests for single entities by using an optimized query for this use case.

The performance change in some of his tests shows this change to be about 300x faster (30 seconds to 0.1 seconds!) (There is no theoretical upper limit due to the issue with multi-entity queries getting worse the longer the current recorder run has been going.)

Xiaomi integration

Yes, it has happened! After being in beta for a while, the Xiaomi support is now available to all. @danielhiversen did an amazing job and we now support sensors, switches, lights and covers.

Velbus integration

Another awesome integration is that of the Velbus home automation system which has been contributed by @thomasdelaet. It integrates their sensors, covers, fans, lights and switches.

Manual alarm with MQTT control

A new version of the manual alarm component is now available with full MQTT control thanks to @colinodell. Using this you can build your own control panel to remotely arm/disarm the alarm. For example, using a Raspberry Pi to create an alarm.

New Platforms

Release 0.50.2 - July 31

Straight to 0.50.2. We released 0.50 as 0.50.1 due to an upload error to PyPi.

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.

Reporting Issues

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Read on →