Building blueprints or sharing codes?
In december 2020, Home Assistant 2020.12 was released. A big step as it comes to sharing automations and ideas. Not long before that, it became possible to share your automations in yaml right from the user interface, but since the end of 2020, we have a much better method to share our work using Blueprints. I had mixed feelings about Blueprints, which I will explain below. But when I started to make my own last month, I got very excited. So the question that lies on the table: Blueprints or codes? Or both?
I started building this website to share some of the code I use to inspire and help others with their automations. Coding is part of the fun I experience while making a smarter home. So when I learned about Blueprints for the first time, I had mixed feelings about sharing codes and the way Blueprints would change that. On the other hand, I completely understand why this is an amazing feature for people who are looking for out of the box solutions for their smart home.
What are blueprints
Blueprints are automations with variables which make them easy to share with other Home Assistant users. For example, I create an automation in which the light turns off when a door opens. In a blueprint, I can make the light and door variable so the person who I am sending the blueprint to, only has to enter the light that needs to be turned off and the door which triggers the automation. No coding skills are required.
When I started using Home Assistant in May 2020, I found all the codes really difficult to understand. It took me a while to understand how yaml works or what to do with the developer tools, what a template is and how it is written, ext. But eventually I did learn all these things and that gave me the tools to build my own automation ideas from scratch en troubleshoot issues that occur.
That’s the very reason I started this site. To share my codes and inspire and help other people with their automation ideas. But to do that, there must be a code to share, to understand and to play around with. So, while blueprints are very interesting, they will take the necessity to write, understand and have fun with the code away.
I completely understand that the blueprints-feature helps to get people on board the Home Assistant platform which are not interested in writing code, but still want to make their homes smart. I would like to help those people with the same enthusiasm as I did last year, so I decided to gave blueprints a try.
Blueprints is a new feature which I am not familiar with. So I took it as a challenge to convert one of my more complicated automations into a blueprint. After some tries and errors, I got my blueprint working within half an hour.
I learned a couple of things while building this blueprint. On the plus side, it solves a major problem I have on this site with replacing entity ID’s manually. For someone new to Home Assistant, that can be really overwhelming. I am also forced to rethink the way I built my automations in the past. For blueprints, it is best to put all the things you need into one file. This is not possible every time, but I was dumbfounded when I discovered how inefficient my old automations were.
On the downside, I really missed the possibility to add conditions to an automation after adding it as a blueprint. You can still add conditions, but you have to do this with code in the automation.yaml file, after which they are not visible from the user interface. This could be a challenge for someone with little or no experience in yaml. This may be a feature which will show up in the short future. I hope so. 😉
Lastly, I noticed how easy it was to convert an existing automation into a blueprint. It is fun to do and very satisfying to see that a blueprint is doing exactly how I planned it to work.
Building blueprints or sharing codes? The short version is: both. I am going to publish blueprints on Github through this site and on the community forum to help inexperienced smart home builders to get the most out of Home Assistant. I will keep sharing my automations, scripts, sensors, ext. next to these blueprints for those who wants to make more complex automations for their own situation. After the mixed feelings I had at first, I really believe that this feature will help more people getting more out of their smart home gear and that is a really goed thing in my opinion.
If there are automation ideas on this site from which you would like a blueprint, let me know in the comments. 😄