dummylabs / thewatchman

Home Assistant custom integration to keep track of missing entities and actions in your config files
MIT License
475 stars 20 forks source link

Support for Repairs section of HA #80

Open filmgarage opened 1 year ago

filmgarage commented 1 year ago

As mentioned in issue #40 it would be great if the watchman would be integrated into the Repairs section of HA.

Probably a big job, if at all possible.

I thought it would be nice to add it as a feature request.

dummylabs commented 1 year ago

Creating a Repair issue in HA seems to be well documented in developers documentation and should not be that difficult. The question is what is the practical benefit: should Watchman create one Repairs entry for the summary of all report findings or multiple entries for each problem entity (there can easily be 100+ missing entities for a system)? Having 100+ repair entries may be frustrating since you should open each and click Ignore button to hide it.

This feature can be made configurable, e.g. user can decide whether Repair section should be spammed by Watchman or not. Another problem I faced is that there are already too many settings in the configuration which barely fit the settings dialog :) This can be solved either by splitting configuration flow into two or more steps or by creating a custom configuration screen à la HACS. But this is another story.

filmgarage commented 1 year ago

It would be great if the single update messages could have a direct link to automations/scripts/scenes that contain the orphaned entities. In that case all individual update messages make sense...

dummylabs commented 1 year ago

It sounds reasonable. However, this requires a different parsing approach with better understanding of YAML and JSON structure. So far automations/scripts/dashboard configs and other stuff are not distinguished by Watchman, only file name and line number matters. Another (fragile) approach could be to interact with Home Assistant internal objects which represent automations, scripts, dashboards etc., but they are not publicitly documented and may be changed without notice. Let's keep it in the backlog for now.

filmgarage commented 1 year ago

Cool! Maybe it is a good idea to add only a single update entity for now just to let the user know the Watchman integration has found new orphaned entities. You can simply ignore this warning if you don't feel like fixing it.

BTW please take a look at issue #74 to see if you like the logo And maybe it is worthwhile to add the line number in the Lovelace report view to avoid the need to hover the filename in order to know the line number of a culprit. Issue #66