Skip to content

PQA014 — Missing required category field

A device type declares no category, so nothing knows what kind of thing it is.

Every device type names a category — door, reader, panel, module, input, output, and the rest of the schema's set. The category is what the UI picks an icon from, and it is the anchor of the structural conventions: the category implies the type's canonical function (MODEL-001) and decides whether the type is an access point (MODEL-002).

- type_id: EntranceDoor
  category: door
  functions:
    - Door

Why the build refuses this

An uncategorised Thing is unreadable on screen. It reaches the operator with no icon and no kind — a nameless row in the device tree, indistinguishable from every other uncategorised type.

The conventions have nothing to check against. Category is the input to the modelling rules; a type without one passes every structural check by having nothing to check, which is not the same as being right.

How to fix it

Add category: with the schema value that matches the hardware. Take the accepted set from reference/adapter-registration.schema.json; using a value from that set is MODEL-005 in the modelling conventions.

What is not reported

A derived type. A type declaring extends: inherits its base type's category, so it may omit its own.

If you disagree with a report

Do not suppress it. A wrong report is a bug in the check — report it with the YAML that triggered it.