I think the long and short of it is that this new arrangement won’t please everyone. What I hope will happen is that those who are short-changed by it will ask for improvements (and hope the development team adopts them). I won’t be part of that effort, because the new way satisfies my needs, but I encourage others to voice their suggestions for improvement.
Way back, when entity_id was eliminated from Template Sensor, we adamantly defended its need. Although it was never restored, bdraco heard us and did refine the new system to be even more efficient. It was still not as fine-grained as what entity_id allowed but pretty darn close (with a few notable exceptions). Fast forward several months and now the Trigger-based Template Sensor gives us even more fine-grained control than entity_id ever did.
Then stop perpetuating things by saying things like:
You’re welcome to be upset at me all you want. But my comments are a direct response to your actions which brought another individual saying the exact same thing. All of which, is untrue. Do you want these responses from me to stop? Then stop all this what-if-isms.
Damn. This has now really put a damper on the whole release for me. Template sensors are probably a majority of my YAML config so lack of support for their modern config in packages is a real problem. Now I have these crappy choices:
Move them all to modern config and don’t use trigger template sensors at all. This is where I am now but its not great, I wanted to make some trigger template sensors
Leave all my packages using the legacy config for sensors and binary sensors. Remove the ones that should be trigger template sensors out of their corresponding packages and put them somewhere else. This will work but it will frustrate me when I can’t find them where they are supposed to be later.
Refactor my entire config to stop using packages and figure out a new organization system.
#3 is not what I was planning to do this weekend but I guess here we are. Packages don’t serve much purpose if they can’t encapsulate functionality. Bummer that it looks like they’re becoming legacy config too.
Yea I know, just put the same on the feature request. I mean that’s fine it just means I have to re-organize. Packages provided a nice mechanism of encapsulating the config for specific functionality. That made it easy for me to find what I’m looking for when I needed to change something. But all of my packages have numerous template sensors so if those get ripped out then the whole thing becomes kind of pointless and I’ll need to re-organize.
Also I raised this on the feature request but this makes sharing functionality a lot tougher. I mean yea blueprints are nice but you can only blueprint up one automation or one script. A package could include multiple automations/scripts as well as any supporting infrastructure required (like template, commandline or utility sensors). Now there’s a huge chunk of functionality that can’t be put into packages and easily shared as one self-contained bit of config.
Thanks! Yea I mean there’s fine alternatives. I’m not like mad or anything just a little bummed.
Honestly I was actually really hoping someday there’d be blueprints of packages. So you could make some complete functionality, package up the entire thing (automations and all the supporting infrastructure) and users could use it by just filling in a few pre-defined inputs. But now it seems like packages might be on their way out instead
I’m probably reading too much into it though. I’ll continue to hold out hope
Can’t speak for @CentralCommand but my package files are organized like this. Everything is in packages. Everything related to say my alarm clock is in the alarm clock package including customizations, helpers, template sensors etc. etc.
Then within each one of those folders is a file per component type like sensor.yaml, binary_sensor.yaml, alert.yaml, etc. which contains definitions of that type of thing for that particular named set of functionality.
@CentralCommand Thanks, that’s an interesting way to split it. Gives me another idea how to set this up.
@jazzyisj That’s the way I’m doing it right now, but the files get bigger and bigger. In three files I have more than 1000 lines, it get’s confusing more and more… So I’m looking for a way to declutter it. Seems the new template “feature” doesn’t make it any easier…
EDIT: should add, that I’m currently have to write some kind of documentation, as my wife rightly points out, what if I’m not around… So clear and easily readable packages would be very welcome…
I guess I left out the fact that my automations and scripts both live within their own directories with subdirectories that match the packages to keep them organized. I like to keep separate files for each automation and script (or group of small automations/script). Makes them easier to find. Most of my actual package files are quiet manageable since I’ve organized it this way.
I was going to try that myself but then I realized the attribute wouldn’t display where the name usually would.
I think Thomas’s template entity row plugin is a good method replace the friendly_name functionality. I only have a couple of places in my front end that are impacted though so it’s an easy fix for me.
Nvm. I’m dumb. The name attribute is still a template. All my template sensors works with the new format.
apparently it can be done. It bewilders me though why such a core configuration variables for almost any integration in HA should be moved to hand made attributes on this new template: integration.
More flexibility ? No, because it has always be an optional variable? Confusing? yes, because by default the new default variable name: creates the object_id, which is very counter intuitive, coming from the legacy friendly_name, and which was there to do just the opposite, allow the user a friendly_name different from name/object_id…
That’s how name works in every other integration. This is nothing new, just new to templates.
It won’t. Balloob has been against it even in the old integrations, that’s why some template integrations do not have a friendly_name_template. Just use the method I listed. Friendly name is an attribute, so list it in attributes.
I don’t understand why you’re still upset. You have the ability to do what you want but you still don’t like it. Common man, it’s the same thing just configured differently.