dummylabs / thewatchman

Home Assistant custom integration to keep track of missing entities and services in your config files
MIT License
462 stars 17 forks source link

Exclude description sections of automations.yaml (entities noted in comment sections) #71

Open bcutter opened 1 year ago

bcutter commented 1 year ago

Problem: Currently Watchman also finds and lists entities which are used in the comment sections of automations. This triggers false positives - and makes (based on the intensity of individual documentation/commenting) using this basically absolutely great integration a bit useless. 😞

Feature Request: Ignore all entites from the description: sections of automations.yaml

Example:

+--------------------------------------------------------------+-----------------+--------------------------------------------------------------+
| Entity ID                                                    | State           | Location                                                     |
+--------------------------------------------------------------+-----------------+--------------------------------------------------------------+
| group.anwesenheit_zuhause                                    | missing         | automations.yaml:1575,3896,4151,8725                         |

Actual automations.yaml snippet:

- id: 'XXXXXXXXXXXXXX'
  alias: Automation
  description: '...
    ...
    - Von "group.anwesenheit_zuhause" (state: home|not_home) auf "zone.home" (numeric_state:
    0|!0) umgestellt
    ...'

This should remove false positives massively. Looking at some (former) issues and reports, plenty of those findings for others too.

Manually setting those entities on the ignore list is only workaround - if at all.

bcutter commented 1 year ago

Plus (more improvement to reduce false positives):

Hiekkaharju commented 1 year ago

This part is pretty much same as https://github.com/dummylabs/thewatchman/issues/56

bcutter commented 1 year ago

You're right. So ignore that additional post for now and let's focus on the original one.

At the same time both share the same target - getting rid of unnecessary false positives.

bcutter commented 1 year ago

Meanwhile I discovered that the integration alreay ignores certain entities, usually when there's a # close or directly before the entity, e. g. this is a text and this is a #sensor.entity.

Unfortunately, that's not enough for the basic issue, as comment sections spread over a certain amount of text. But maybe this "comment section detection" can be extended to also address and solve this issue.

DataBitz commented 1 year ago

This also affects automation blueprints which are not deployed.

input: power_sensor_1_entity: name: Power Sensor 1 description: This is the main power sensor that will be used to measure load (e.g. sensor.main_meter_power) selector: entity: filter:

image