Beyond Blueprints and Packages: Managed Systems?

Good morning everyone,

I recently spent more time playing around with Home Assistant and exploring the different integrations and customizations (including those within HACS). It is so wonderful seing so many engaged members of this community.

This journey started with me doing some research on how to better manage the humidity levels in my basement and how to better tell when to ventilate or rather keep the windows closed. At first I played around with Templated Helpers to calculate the Absolute Humidity indoors and outdoors, later I discovered the Custom Integration “Thermal Comfort” and decided to stick to it for the time being. I also looked briefly into some of the climate related Blueprints from the community, but these did more than I needed for the time being.

Despite having a technical background, I found the following aspects challenging and keep asking myself, whether there could be a better approach to all of this:

  1. Blueprints are hard to customize, especially if they are large. Having a bunch of features packed into one single text file makes it difficult for the user to tweak the blueprint to his taste. On top of that, they can only be installed, but not modified from the UI.
  2. Large Blueprints could fare better if they were turned into Packages, but these cannot be either installed or configured from the UI.

Thinking about this I came up with two ideas: Managed Devices and Managed Systems (for the lack of a more appropiate term for them).

Managed Devices: The whole concept is based on the development concepts of composition and decoration. A device may contain a series of entities (controls or sensors) and the user may want to expand the capabilities of such device, without the need of adding new virtual devices or having to create a bunch of Helpers by hand. Example:

My TRVs do not have a sensor for Absolute Humidity. The easiest two options to proceed are:

  1. Create a Helper of type “Templated Sensor” that performs the calculations and link it with the existing Device.
    1.1 Pros: This Sensor becomes part of the Device and the user can easily select it from other components, such a Automations.
    1.2 Cons: The user needs to repeat the same procedure for each device of this class. Updates become tedious tasks.
  2. Add a “Virtual Device” using the custom integration “Thermal Comfort”.
    2.1 Pros: The user does not need to worry about changes and updates are easy.
    2.2 Cons: It requires adding a new device per TRV.

Ideally, the user starts a configuration flow for this customization, select the Devices that he wants to “augment” and once completed, the new entities are will be provisioned with the new entities (controls, sensors, automations…)

Managed Systems: This concept goes one step further. We need to understand a System, as a group of interconnected parts that work together to achieve a common purpose. Some of the which I can think of within HA are: Climate, Security and Lighting. Currently there are large Blueprints managing some of these systems, some with very complex and long setup processes.

This customization type will not only turn the associated devices into “Managed Devices” and thus providing them capabilities that may be required by the “Managed System”, but it will also orchestrate all the devices configured within this system on behalf of the user, with minimal intervention.

The goal of these “Managed Systems” is to have a simplifed and opinionated way on how to better coordinate a collection of Devices, so that the user can configure it once and leave it unattended. More advanced users would still be able to exert more control over these systems. Example:

Until now, I haven’t mentioned that my TRVs are managed by tado. Eventually, I would like to switch away from the cloud integration and have them linked to my HA via the HomeKit integration. Doing that right now would mean losing a lot of the comfort features that it offers, such as geofencing. Having a “Managed System” for climate (which is not a Blueprint) within HA would allow me to make the switch much more easily. It would provide the user these comfort features out of the box, powercharge the devices and make a better usage of the whole ecosystem.

On top of that, I would expect such integration to be able to deliver curated dashboards and card components, that leverage the system as a whole.

As far as I know, this is not something that can fully be done by using Blueprints nor Packages and it goes beyond their purpose. This is

Maybe there is already a way of achieving all of this already (albeit with configuration files), but it remains unbeknownst to me how. Am I onto something or is this just crazy?

Anyway, thanks for reading and have a nice weekend!

P.S.: I didn’t know what the most appropiate sub-forum would be. If an admin or a mod believed that there is a better location for this discussion, I’d be thankful if you moved it under the right section.

P.S.S: I have spent 2 hours drafting this post, sorry if I come across as repetitive.