On the internet a lot of examples (e.g. Read/Write Data to/from txt/csv file - #2 by CaptTom) can be found on how to create a file entity that can be used to send notifications to. They all look somewhat like this:
From what I understand this syntax no longer works since Home Assistant 2024.12.0 and more specifically this change: Cleanup yaml import and legacy file notify service by jbouwh · Pull Request #130219 · home-assistant/core · GitHub. In fact, as far as I am able to find, it is no longer possible to create a notify file entity at all in yaml, but only through the user interface.
I love it when less technical users can do everything in a well working User Interface. But I also like to be able to configure everything in code, since for me this is so much easier to maintain. And sending someone a (set of) config files is so much easier that trying to write step-by-step instructions on how to create things in the user interface.
So my questions are:
is the possiblity to create a notify file entity in yaml removed by mistake?
Or was this done on purpose?
And if so, why is that?
Is that part of an architectural plan?
Are more yaml configuration options scheduled to disappear?
Can I read more about that somewhere?
All other integrations that do not communicate with a device and/or service, are configured via YAML or via Storage Collections (these enable both YAML and UI capabilities used by, e.g., Lovelace and zones). Examples of these other integrations:
Integrations that integrate transports. These integrations allow users to define their own protocol, e.g., MQTT, serial, GPIO.
Integrations that process Home Assistant data and make this available to other integrations, e.g., template, stats, derivative, utility meter.
Integrations that provide automations, e.g., automation, device_sun_light_trigger, alert.
Integrations that help controlling devices and services, e.g., script, scene.
Integrations that expose Home Assistant data to other services, e.g., Google Assistant, HomeKit.
This ADR is set to remove confusion and questions for everybody, builds upon the goals that have been set out (as presented during the State of the Union), and sets the guidelines for our contributors to work with. This ADR brings clarity for us all.
I was quite angry about this when it was first proposed mainly due to confusion about what was being moved but I’m ok with it now.
It is not allowed without acception to access files in your config dir.
I suggest you try to create another folder and add it to allowlist_external_dirs
Ah I see. The integration moved to the UI. My bad.
I had a look at the code. A notify entry can only be set up via a config flow. Support to migrate it from YAML has been removed. This removal was planned 6 months after the integration was moved to the UI.
Hi Tom, thanks very much! This was exactly the answer I was looking for.
What I haven’t been able to find unfortunately in the documents you linked to is anything on what this should mean for the Home Assistant user documentation.
As I mentioned in my first message, there are a lot of examples out there of how to set up a notify file entity using yaml. But on File - Home Assistant nothing is mentioned about the fact that that method is no longer supported. It took me hours of browsing to find that that was removed in 2024.12.0.
So I would like to request that info on breaking changes is made available on the related user documentation pages.
If you can tell me where I could propose this, that would be much appreciated!
Or should I open a new topic for that?
This has been previously discussed (though I cant find it now). It won’t be added. The documentation is for the current version and maintaining documentation about previous versions is not a thing the project wants to do.
However FYI, at the bottom of every documentation page there are links provided for feedback:
I already was afraid you were going to say something like that
I understand that the current page shows information on the current version.
But imho it is an omision that info on older versions is not available at least somewhere. If the documentation pages where in a wiki that would automatically be solved. Maybe that would be something to consider.
Anyway, thanks again for your clear and helpfull responses!