Hassfest: custom icons result in error

Situation

My custom integration GitHub - kongo09/philips-airpurifier-coap: 💨 Philips AirPurifier custom component for Home Assistant. Supports local CoAP protocol. brings its own custom icons. To differentiate them from the Material Design Icons they start with pap: instead of mdi:. Home Assistant works well with that.

Complication

Unfortunately, hassfest is throwing an error:

[validate](https://github.com/kongo09/philips-airpurifier-coap/actions/runs/12108058528/job/33755630630#step:3:79)
[ICONS] Invalid icons.json: The icon needs to be a valid icon from Material Design Icons and start with `mdi:` for dictionary value @ data['entity']['binary_sensor']['humidification']['state']['off']. Got 'pap:purification_only_mode'

The error only shows since I migrated to icon translation. Before, I used the custom icons via icon properties of the entities, which did not result in an error.

This is due to icon_value_validator testing hard for mdi: in the icons

    if not value.startswith("mdi:"):

In theory, there is a separate SCHEMA for custom integrations so it could use a different icon_value_validator but it does not.

Expectation

I would expect custom icons with a custom integration to be accepted and at best generate a warning or info.

Sounds like you should open a bug with hassfest. Also when you file it there are at least one integration that provide custom icons - such as simple icons that provide thier own name space… (simple icons is si:) Sounds like this integration would barf there too… And if hassfest is behaving as described they’re at fault.

I did that in the actions repository, where I didn’t get any reaction. Then in the main HA core repository, where in the end the bot closed the issue without any reaction. I’m surprised that others don’t run into the same problem.

It’s not a core issue. Of course core closed it. There’s nothing to do. It’s a custom integration. You need to open it in the hassfest repo.

Its purely a hassfest issue. It’s thierissue to fix.

The actual code where I also submitted a PR is in the core repository. But the issue there got ignored. I don’t know what to do.

You prevent the issue from going stale by commenting. I’ve had to wait years for an issue to be addressed.