Skip to content

### Problem with hassfest: Translations schema only allows "title"/"description" for Custom Components #2783

@melmager

Description

@melmager

Hello Home Assistant Team,

I maintain a custom integration (ha_ostrom) that has been running stably and used by many users for months.
In recent versions of Home Assistant and hassfest, however, I can no longer validate the integration because the translation files (en.json, de.json) are suddenly marked as "invalid".

Error messages from hassfest:

Invalid translations/en.json: extra keys not allowed @ data['step']
Invalid translations/en.json: extra keys not allowed @ data['error']
Invalid translations/en.json: extra keys not allowed @ data['option']
Invalid translations/en.json: extra keys not allowed @ data['success']

My translations/en.json and de.json contain keys like "step", "error", "option", "success" – as is common in many older custom components and core integrations.

The problem:

  • The detailed schema including "step", "error", "option", etc. was previously permitted for custom components.
  • Now hassfest only allows "title" and "description" – everything else triggers an error.
  • This is not documented or contradicts previous behavior.
  • Many custom components in the community use the detailed schema and technically still work, but hassfest now blocks releases/PRs.

Request / Suggestion:

  • Either revert the schema validation for custom components to allow the "full" schema as before.
  • Or: Please provide clear, visible documentation for the translations schema for custom components.
  • Ideally: Allow custom components to use the full schema for better translation of setup forms and error messages.

Why is this important?

  • Many developers and users rely on detailed translations, and the integration itself still works perfectly (except for hassfest validation).
  • It doesn't make sense to limit translations for custom components, especially when the UI and setup process benefit from them.

Thank you & best regards,
melmager

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions