A sensor to list unavailable devices

If you are talking about my version then it is a YAML file, not JSON. I put it in /config/templates.yaml (create it if you don’t have it already) .

In /config/configuration.yaml include the line

template: !include templates.yaml

You then need to reload the configuration to activate it. Clear the log file first and if it does not work check the log file afterwards.

To use macro 's one needs to import them:

{% for ‘tools.jinja’ import unavailable_devices %}
{{ unavailable_devices()}}

Sorry, I have not used macros in HA and don’t know anything about them. Why do you want to?

This allows to use the same template code on multiple places in you cards and template sensors

1 Like

Thanks for responding! Your solution with the auto-entities card and custom-template-entity-row was exactly what I was trying to achieve: getting only the device (no repeat entities) that was unavailable into a dynamic dashboard card and have the tap action go to that device page. I was able to get everything working.
Firstly, I was getting errors initially because I was accidentally commenting out a necessary line when editing the ignore_list portion of the macro. After figuring that out, I just needed to edit your macro call in the developer tools area to this:

{% from 'tools.jinja' import unavailable_devices %}
{{ unavailable_devices()|from_json }}
{{ unavailable_devices()|from_json|count }}

to make the code give me any results. I’ve now got the template working in an auto-entities card. Thanks again!

2 Likes

I have a question, can you have a group of entities that you use as an exclusion group to this sensor?

You can do it with a filter like this where exclusions is a list (e.g. an expanded group):

| rejectattr('entity_id', 'in', exclusions)

I like this solution.

Unfortunately I do not get the expected result from integration_entities.
For example HACS creates an update sensor for each custom integration, which has the value “unavailable” when no updates are available. Yet,

{{ integration_entities(‘hacs’) }}

returns just [‘sensor.hacs’] despite the UI showing more entities under HACS. All unavailable except the single one returned.

Same with UniFi.

If integration_entities does not report unavailable entities, it may not not be a good method of excluding devices.

@Jan4 You are right, integration_entities() is not returning all entities. I created an issue a while ago for that