Home Assistant MQTT discovery checker

Check a discovery topic and JSON payload before publishing. Findings identify field problems without connecting to your MQTT broker.

Check a topic with its payload

Enter the discovery prefix used by your installation, then paste the complete topic and its JSON object payload. The default prefix is homeassistant; this checker accepts a one-segment prefix.

Topics follow prefix/component/object_id/config or prefix/component/node_id/object_id/config. Topic IDs use letters, digits, underscores, or hyphens. A state topic is not a discovery topic: the configuration topic must end in config.

Use the component that the payload is meant to create. The sensor and binary sensor profiles require a state topic; the button profile requires a command topic. Common abbreviations such as uniq_id, stat_t, and dev are recognized. Other recognized components receive common-field checks, not a complete component-specific validation.

Correct the field or JSON path named in each finding, then check again. Malformed JSON, unsafe integer values, an invalid topic, or a missing required profile topic can block the check. Editing clears previous findings. The normalized JSON view is evidence of what was parsed, not a repaired payload, and copying it does not publish it.

The topic and payload stay in this tool's browser memory. They are not sent to a server or broker or saved in a URL or browser storage.

What the discovery status establishes

The status describes this checker's supported profile. It does not describe the state of your broker or a Home Assistant entity.

StatusMeaningNext check
ValidThe implemented profile found no blocking issueConfirm the exact component's requirements and test in your installation
PartialWarnings or common-field-only coverage leave questions openReview the named paths and component-specific documentation
InvalidThe supplied topic or payload has a blocking problemCorrect the indicated field and run a fresh check

When valid discovery still creates no entity

Discovery depends on more than the configuration text. This checker does not publish or subscribe, inspect retained messages or broker permissions, execute templates, or verify that Home Assistant receives the message. It cannot prove that an entity was created or that its state updates.

Use the Home Assistant MQTT discovery documentation and the page for your exact component to finish the check. Compare those requirements with your installed Home Assistant version. The local profiles do not implement every component schema or every release.